From 37be39117ad0a02f67fbba2b5329dadbb87f2c6d Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 28 Jul 2019 01:50:50 +0800 Subject: port documentation of battle_anim_mon_movement from pokeem --- asm/battle_anim.s | 36 ++++++++--------- asm/battle_anim_effects_1.s | 66 +++++++++++++++--------------- asm/battle_anim_effects_2.s | 62 ++++++++++++++-------------- asm/battle_anim_effects_3.s | 68 +++++++++++++++---------------- asm/battle_anim_mons.s | 76 +++++++++++++++++------------------ asm/battle_anim_sound_tasks.s | 4 +- asm/battle_anim_special.s | 16 ++++---- asm/battle_anim_status_effects.s | 2 +- asm/battle_anim_utility_funcs.s | 40 +++++++++--------- asm/battle_controller_link_opponent.s | 8 ++-- asm/battle_controller_link_partner.s | 8 ++-- asm/battle_controller_oak.s | 8 ++-- asm/battle_controller_opponent.s | 8 ++-- asm/battle_controller_player.s | 10 ++--- asm/battle_controller_pokedude.s | 8 ++-- asm/bug.s | 10 ++--- asm/dark.s | 22 +++++----- asm/electric.s | 8 ++-- asm/fighting.s | 6 +-- asm/fire.s | 8 ++-- asm/flying.s | 14 +++---- asm/ghost.s | 14 +++---- asm/ground.s | 10 ++--- asm/ice.s | 22 +++++----- asm/normal.s | 2 +- asm/poison.s | 2 +- asm/psychic.s | 38 +++++++++--------- asm/rock.s | 12 +++--- asm/water.s | 14 +++---- 29 files changed, 301 insertions(+), 301 deletions(-) (limited to 'asm') diff --git a/asm/battle_anim.s b/asm/battle_anim.s index 9aa80db64..4a8c6d51c 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -23,9 +23,9 @@ ClearBattleAnimationVars: @ 80724C0 ldr r0, _08072564 @ =gAnimDisableStructPtr movs r1, 0 str r1, [r0] - ldr r0, _08072568 @ =gUnknown_2037EE8 + ldr r0, _08072568 @ =gAnimMoveDmg str r1, [r0] - ldr r0, _0807256C @ =gUnknown_2037EEC + ldr r0, _0807256C @ =gAnimMovePower movs r2, 0 strh r1, [r0] ldr r0, _08072570 @ =gUnknown_2037EFE @@ -89,8 +89,8 @@ _08072558: .4byte gUnknown_2037EE1 _0807255C: .4byte gUnknown_2037EE2 _08072560: .4byte gUnknown_2037EE3 _08072564: .4byte gAnimDisableStructPtr -_08072568: .4byte gUnknown_2037EE8 -_0807256C: .4byte gUnknown_2037EEC +_08072568: .4byte gAnimMoveDmg +_0807256C: .4byte gAnimMovePower _08072570: .4byte gUnknown_2037EFE _08072574: .4byte gUnknown_2037F14 _08072578: .4byte gAnimMoveTurn @@ -989,7 +989,7 @@ _08072C60: _08072C62: ldrb r5, [r0] adds r0, r5, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08072D12 @@ -1073,7 +1073,7 @@ _08072D12: cmp r6, 0x1 bls _08072DCE adds r0, r5, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08072DCE @@ -1169,8 +1169,8 @@ _08072DE8: .4byte gUnknown_2037F14 _08072DEC: .4byte gUnknown_2037ED4 thumb_func_end sub_8072C30 - thumb_func_start sub_8072DF0 -sub_8072DF0: @ 8072DF0 + thumb_func_start IsBattlerSpriteVisible +IsBattlerSpriteVisible: @ 8072DF0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -1215,7 +1215,7 @@ _08072E42: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8072DF0 + thumb_func_end IsBattlerSpriteVisible thumb_func_start sub_8072E48 sub_8072E48: @ 8072E48 @@ -1897,7 +1897,7 @@ _080733CC: _080733CE: ldrb r4, [r0] adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08073416 @@ -1935,7 +1935,7 @@ _08073416: cmp r5, 0x1 bls _08073464 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08073464 @@ -2016,7 +2016,7 @@ _080734B4: _080734B6: ldrb r6, [r0] adds r0, r6, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080734E0 @@ -2041,7 +2041,7 @@ _080734E0: adds r4, r6, 0 eors r4, r0 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08073520 @@ -2127,7 +2127,7 @@ sub_8073558: @ 8073558 movs r7, 0 _08073598: adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080735AA @@ -2141,7 +2141,7 @@ _080735AA: movs r0, 0x2 eors r6, r0 adds r0, r6, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080735CC @@ -2397,11 +2397,11 @@ ScriptCmd_jump: @ 8073764 _08073784: .4byte gUnknown_2037ED4 thumb_func_end ScriptCmd_jump - thumb_func_start sub_8073788 -sub_8073788: @ 8073788 + thumb_func_start IsContest +IsContest: @ 8073788 movs r0, 0 bx lr - thumb_func_end sub_8073788 + thumb_func_end IsContest thumb_func_start sub_807378C sub_807378C: @ 807378C diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s index 18289e193..0d12c15d0 100644 --- a/asm/battle_anim_effects_1.s +++ b/asm/battle_anim_effects_1.s @@ -756,7 +756,7 @@ sub_80A28C4: @ 80A28C4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A28DE @@ -1320,7 +1320,7 @@ _080A2D08: sub_80A2D10: @ 80A2D10 push {r4,lr} adds r4, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A2D3C @@ -1608,7 +1608,7 @@ _080A2F38: .4byte gSprites _080A2F3C: adds r0, r2, 0 movs r1, 0x1 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldr r1, _080A2F68 @ =gTasks lsls r0, r4, 2 adds r0, r4 @@ -1680,7 +1680,7 @@ _080A2FBE: adds r0, r6, 0 adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale adds r0, r6, 0 bl sub_8076440 ldrh r0, [r4, 0xA] @@ -1730,7 +1730,7 @@ sub_80A3004: @ 80A3004 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl sub_8075980 + bl ResetSpriteRotScale ldr r1, _080A305C @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -2512,7 +2512,7 @@ _080A3638: adds r0, r6, 0 adds r0, 0xA strh r0, [r5, 0x3C] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A3650 @@ -2712,7 +2712,7 @@ sub_80A37BC: @ 80A37BC ldrsh r0, [r4, r1] cmp r0, 0 bne _080A3850 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A37E4 @@ -2908,7 +2908,7 @@ _080A3910: movs r1, 0xFF ands r0, r1 strh r0, [r4, 0x30] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A395E @@ -4224,7 +4224,7 @@ _080A4318: bl sub_8075B30 lsls r0, 16 lsrs r4, r0, 16 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A437A @@ -4557,7 +4557,7 @@ _080A45C8: mov r8, r2 mov r1, r8 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A463E @@ -4959,7 +4959,7 @@ _080A48E8: sub_80A48F0: @ 80A48F0 push {r4-r6,lr} adds r5, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4906 @@ -4991,7 +4991,7 @@ _080A4906: lsls r0, 24 cmp r0, 0 beq _080A4944 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A496C @@ -5558,7 +5558,7 @@ _080A4D7A: movs r1, 0x2 adds r0, r6, 0 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A4DC4 @@ -6388,7 +6388,7 @@ _080A53B6: ldr r1, _080A53E0 @ =sub_80A53E8 adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A53E4 @ =sub_8074DC4 + ldr r0, _080A53E4 @ =TranslateMonSpriteLinear str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -6397,7 +6397,7 @@ _080A53B6: _080A53D8: .4byte gBattleAnimAttacker _080A53DC: .4byte gBattlerSpriteIds _080A53E0: .4byte sub_80A53E8 -_080A53E4: .4byte sub_8074DC4 +_080A53E4: .4byte TranslateMonSpriteLinear thumb_func_end sub_80A5398 thumb_func_start sub_80A53E8 @@ -6415,7 +6415,7 @@ sub_80A53E8: @ 80A53E8 ldrb r0, [r0] strh r0, [r5, 0x34] movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -6443,7 +6443,7 @@ _080A5424: lsls r2, 1 ldrh r3, [r5, 0x38] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r5, 0x34] lsls r0, 24 lsrs r0, 24 @@ -6498,7 +6498,7 @@ _080A5492: ldr r1, _080A54BC @ =sub_80A5584 adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A54C0 @ =sub_8074DC4 + ldr r0, _080A54C0 @ =TranslateMonSpriteLinear str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -6507,7 +6507,7 @@ _080A5492: _080A54B4: .4byte gBattleAnimAttacker _080A54B8: .4byte gBattlerSpriteIds _080A54BC: .4byte sub_80A5584 -_080A54C0: .4byte sub_8074DC4 +_080A54C0: .4byte TranslateMonSpriteLinear thumb_func_end sub_80A5474 thumb_func_start sub_80A54C4 @@ -6585,7 +6585,7 @@ _080A5538: lsls r2, 1 ldrh r3, [r5, 0x38] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r5, 0x34] lsls r0, 24 lsrs r0, 24 @@ -6600,7 +6600,7 @@ _080A5538: ldrh r0, [r5, 0x34] lsls r0, 24 lsrs r0, 24 - bl sub_8075980 + bl ResetSpriteRotScale ldr r0, _080A5580 @ =sub_80A5584 str r0, [r5, 0x1C] _080A5578: @@ -6674,7 +6674,7 @@ _080A55E4: lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldrh r0, [r4, 0x2E] adds r0, 0x1 strh r0, [r4, 0x2E] @@ -6690,7 +6690,7 @@ _080A55FA: lsls r2, 1 ldrh r3, [r4, 0x38] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x32] lsls r0, 24 lsrs r0, 24 @@ -6728,7 +6728,7 @@ _080A564C: lsls r2, 1 ldrh r3, [r4, 0x38] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x32] lsls r0, 24 lsrs r0, 24 @@ -6743,7 +6743,7 @@ _080A564C: ldrh r0, [r4, 0x32] lsls r0, 24 lsrs r0, 24 - bl sub_8075980 + bl ResetSpriteRotScale adds r0, r4, 0 bl DestroyAnimSprite _080A568E: @@ -6888,7 +6888,7 @@ _080A5792: strh r1, [r4, 0x12] ldrb r0, [r4, 0x8] movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale b _080A58A8 _080A579E: movs r3, 0xE @@ -6904,7 +6904,7 @@ _080A579E: lsls r2, 1 ldrh r3, [r4, 0x10] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrb r0, [r4, 0x8] bl sub_80759DC b _080A58D4 @@ -7095,7 +7095,7 @@ sub_80A58EC: @ 80A58EC lsls r2, 1 ldrh r3, [r4, 0x10] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrb r0, [r4, 0x8] bl sub_80759DC ldrh r0, [r4, 0xE] @@ -7106,7 +7106,7 @@ sub_80A58EC: @ 80A58EC _080A5928: .4byte gTasks _080A592C: ldrb r0, [r4, 0x8] - bl sub_8075980 + bl ResetSpriteRotScale adds r0, r5, 0 bl DestroyAnimVisualTask _080A5938: @@ -7559,7 +7559,7 @@ sub_80A5C68: @ 80A5C68 ldrh r5, [r5, 0x2] adds r0, r5 strh r0, [r6, 0x22] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A5CAC @@ -7863,7 +7863,7 @@ _080A5EDC: .4byte gBattlersCount sub_80A5EE0: @ 80A5EE0 push {r4,lr} adds r4, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A5EF6 @@ -8350,7 +8350,7 @@ _080A6262: ldrh r1, [r5, 0x20] strh r1, [r5, 0x3A] strh r0, [r5, 0x3C] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A62D4 @@ -8934,7 +8934,7 @@ _080A6710: strh r1, [r5, 0x32] ldrh r0, [r4, 0x4] strh r0, [r5, 0x34] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A6734 diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s index 34bb0db27..a2a1a6731 100644 --- a/asm/battle_anim_effects_2.s +++ b/asm/battle_anim_effects_2.s @@ -329,7 +329,7 @@ sub_80A70A0: @ 80A70A0 adds r0, r1 ldrb r0, [r0] movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldr r1, _080A70D4 @ =gTasks lsls r0, r4, 2 adds r0, r4 @@ -389,7 +389,7 @@ _080A7126: lsls r2, 1 adds r0, r4, 0 adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldr r1, _080A7158 @ =gTasks adds r0, r6, r5 lsls r0, 3 @@ -458,7 +458,7 @@ _080A71AA: cmp r0, 0x2 bne _080A71CC adds r0, r4, 0 - bl sub_8075980 + bl ResetSpriteRotScale adds r0, r5, 0 bl DestroyAnimVisualTask b _080A71D0 @@ -604,7 +604,7 @@ sub_80A72C8: @ 80A72C8 push {r7} sub sp, 0x4 adds r5, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A72EC @@ -677,7 +677,7 @@ _080A730E: lsls r1, 24 adds r0, r1 lsrs r4, r0, 16 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A7380 @@ -1158,7 +1158,7 @@ sub_80A76F0: @ 80A76F0 mov r4, sp adds r4, 0x2 strh r1, [r4] - bl sub_8073788 + bl IsContest lsls r0, 24 mov r10, r4 cmp r0, 0 @@ -1268,7 +1268,7 @@ _080A77B6: ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A7820 @@ -2258,12 +2258,12 @@ sub_80A7FB0: @ 80A7FB0 lsrs r4, 24 adds r0, r4, 0 movs r1, 0x1 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale adds r0, r4, 0 movs r1, 0xD0 movs r2, 0xD0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldr r1, _080A8008 @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -2317,7 +2317,7 @@ sub_80A8014: @ 80A8014 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl sub_8075980 + bl ResetSpriteRotScale ldr r1, _080A8070 @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -2356,7 +2356,7 @@ sub_80A8074: @ 80A8074 movs r5, 0 strh r0, [r4, 0x8] movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale strh r5, [r4, 0xA] strh r5, [r4, 0xC] strh r5, [r4, 0xE] @@ -2439,7 +2439,7 @@ _080A8128: ldrsh r2, [r4, r1] adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrb r0, [r4, 0x8] bl sub_8076440 movs r2, 0xC @@ -2471,7 +2471,7 @@ _080A816E: ldrb r0, [r4, 0x8] adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrb r0, [r4, 0x8] bl sub_8076440 movs r0, 0x2 @@ -2502,7 +2502,7 @@ _080A81A4: ldrsh r2, [r4, r1] adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrb r0, [r4, 0x8] bl sub_8076440 movs r2, 0xC @@ -2519,7 +2519,7 @@ _080A81D0: b _080A81F6 _080A81D8: ldrb r0, [r4, 0x8] - bl sub_8075980 + bl ResetSpriteRotScale ldr r2, _080A81FC @ =gSprites movs r0, 0x26 ldrsh r1, [r4, r0] @@ -2631,7 +2631,7 @@ _080A8244: ldrsh r2, [r7, r1] adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrb r0, [r4, 0x1] movs r3, 0x4 negs r3, r3 @@ -3856,7 +3856,7 @@ _080A8BF2: movs r1, 0x2 adds r0, r5, 0 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A8C6A @@ -4008,7 +4008,7 @@ _080A8D10: mov r4, r8 eors r4, r0 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A8D5C @@ -4040,7 +4040,7 @@ _080A8D6C: lsls r0, 16 lsrs r0, 16 mov r9, r0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A8DE4 @@ -4048,7 +4048,7 @@ _080A8D6C: adds r4, r7, 0 eors r4, r0 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A8DE4 @@ -4112,14 +4112,14 @@ _080A8DFA: adds r0, r1 lsls r0, 16 lsrs r6, r0, 16 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A8E4C movs r1, 0x2 mov r0, r8 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080A8E4C @@ -5509,7 +5509,7 @@ sub_80A98B0: @ 80A98B0 push {r4-r7,lr} lsls r0, 24 lsrs r7, r0, 24 - bl sub_8073788 + bl IsContest lsls r0, 24 movs r6, 0xF0 cmp r0, 0 @@ -6057,7 +6057,7 @@ sub_80A9CE8: @ 80A9CE8 movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A9D2A @@ -6095,7 +6095,7 @@ _080A9D2A: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A9D88 @@ -6265,7 +6265,7 @@ _080A9EAE: .align 2, 0 _080A9ED0: .4byte gTasks _080A9ED4: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A9EE8 @@ -6314,7 +6314,7 @@ sub_80A9F10: @ 80A9F10 movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A9F52 @@ -6336,7 +6336,7 @@ _080A9F52: bl SetGpuReg mov r0, sp bl sub_80752A0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A9F98 @@ -6383,7 +6383,7 @@ _080A9FC6: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A9FFA @@ -6548,7 +6548,7 @@ _080AA112: adds r0, 0x1 strh r0, [r1, 0x20] _080AA134: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AA148 @@ -7847,7 +7847,7 @@ sub_80AAAE4: @ 80AAAE4 ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080AAB30 diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s index 74f6ef9fc..de012070d 100644 --- a/asm/battle_anim_effects_3.s +++ b/asm/battle_anim_effects_3.s @@ -243,7 +243,7 @@ sub_80DE440: @ 80DE440 lsls r1, 23 adds r0, r1 lsrs r4, r0, 16 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080DE49E @@ -957,7 +957,7 @@ sub_80DE9D8: @ 80DE9D8 ldrsh r1, [r5, r2] adds r0, r4, 0 bl sub_8074FF8 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080DEA2C @@ -1093,7 +1093,7 @@ sub_80DEAF0: @ 80DEAF0 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080DEB04 @ =gUnknown_2037EE8 + ldr r0, _080DEB04 @ =gAnimMoveDmg ldr r0, [r0] cmp r0, 0 ble _080DEB0C @@ -1101,7 +1101,7 @@ sub_80DEAF0: @ 80DEAF0 movs r0, 0 b _080DEB10 .align 2, 0 -_080DEB04: .4byte gUnknown_2037EE8 +_080DEB04: .4byte gAnimMoveDmg _080DEB08: .4byte gBattleAnimArgs _080DEB0C: ldr r1, _080DEB1C @ =gBattleAnimArgs @@ -1474,7 +1474,7 @@ sub_80DEDD8: @ 80DEDD8 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080DEE2C @@ -1551,7 +1551,7 @@ sub_80DEE78: @ 80DEE78 strh r1, [r0] ldr r0, _080DEEB8 @ =gUnknown_202298A strh r1, [r0] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080DEEA4 @@ -2503,7 +2503,7 @@ _080DF5AA: strh r0, [r5, 0x22] adds r0, r6, 0 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale movs r0, 0x80 lsls r0, 1 strh r0, [r5, 0x30] @@ -2524,7 +2524,7 @@ _080DF5E0: ldrsh r2, [r5, r0] adds r0, r6, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r5, 0x34] adds r0, 0x1 strh r0, [r5, 0x34] @@ -2548,7 +2548,7 @@ _080DF610: ldrsh r2, [r5, r0] adds r0, r6, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r5, 0x34] adds r0, 0x1 strh r0, [r5, 0x34] @@ -2569,7 +2569,7 @@ _080DF610: orrs r1, r2 strb r1, [r0] adds r0, r6, 0 - bl sub_8075980 + bl ResetSpriteRotScale _080DF658: ldrh r0, [r5, 0x2E] adds r0, 0x1 @@ -3144,7 +3144,7 @@ _080DFA86: ldrb r1, [r6] mov r0, sp bl sub_8075300 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080DFABC @@ -3252,7 +3252,7 @@ _080DFB80: movs r2, 0 bl SetAnimBgAttribute _080DFB8A: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080DFBC8 @@ -3397,7 +3397,7 @@ _080DFC94: movs r1, 0x4 movs r2, 0x1 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080DFCCE @@ -3424,7 +3424,7 @@ _080DFCCE: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080DFD30 @@ -3616,7 +3616,7 @@ _080DFE7E: mov r0, sp ldrb r0, [r0, 0x9] bl sub_8075358 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080DFEA0 @@ -4039,7 +4039,7 @@ _080E01C4: movs r1, 0x4 movs r2, 0x1 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080E01FC @@ -4066,7 +4066,7 @@ _080E01FC: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080E0264 @@ -4319,7 +4319,7 @@ _080E042A: mov r0, sp ldrb r0, [r0, 0x9] bl sub_8075358 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080E044C @@ -4557,7 +4557,7 @@ _080E0608: lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldr r0, _080E0624 @ =sub_80E0628 str r0, [r4] _080E0618: @@ -4621,7 +4621,7 @@ _080E065C: lsls r2, 1 ldrh r3, [r4, 0xC] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 @@ -4662,7 +4662,7 @@ _080E06B0: lsls r2, 1 ldrh r3, [r4, 0xC] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 @@ -4706,7 +4706,7 @@ _080E0708: lsls r2, 1 ldrh r3, [r4, 0xC] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 @@ -4741,7 +4741,7 @@ _080E0778: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8075980 + bl ResetSpriteRotScale adds r0, r5, 0 bl DestroyAnimVisualTask _080E0788: @@ -4879,7 +4879,7 @@ sub_80E0850: @ 80E0850 lsrs r0, 24 strh r0, [r4, 0x26] movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldr r0, _080E08A0 @ =sub_80E08A4 str r0, [r4] pop {r4} @@ -5028,7 +5028,7 @@ _080E09A8: ldrh r0, [r7, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8075980 + bl ResetSpriteRotScale adds r0, r4, 0 bl DestroyAnimVisualTask b _080E0A30 @@ -5040,7 +5040,7 @@ _080E09BA: lsls r2, 1 ldrh r3, [r7, 0xC] adds r1, r2, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r7, 0x26] lsls r0, 24 lsrs r0, 24 @@ -5248,7 +5248,7 @@ _080E0B3E: strh r5, [r6, 0x1C] adds r0, r5, 0 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale mov r2, r8 movs r3, 0x2 ldrsh r0, [r2, r3] @@ -5274,7 +5274,7 @@ _080E0B88: adds r0, r5, 0 movs r1, 0xE0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale adds r0, r5, 0 bl sub_8076440 lsls r2, r5, 4 @@ -5293,10 +5293,10 @@ _080E0BAA: _080E0BB2: adds r0, r5, 0 movs r1, 0xD0 - bl obj_id_set_rotscale + bl SetSpriteRotScale adds r0, r5, 0 bl sub_8076440 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080E0BD8 @@ -5361,7 +5361,7 @@ _080E0C30: cmp r0, 0xD bne _080E0C58 adds r0, r5, 0 - bl sub_8075980 + bl ResetSpriteRotScale ldr r1, _080E0C64 @ =gSprites lsls r0, r5, 4 adds r0, r5 @@ -10378,7 +10378,7 @@ sub_80E3294: @ 80E3294 bne _080E32DC adds r0, r5, 0 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale movs r0, 0x80 lsls r0, 1 strh r0, [r4, 0xA] @@ -10401,7 +10401,7 @@ _080E32DC: ldrsh r2, [r4, r0] adds r0, r5, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0xE] adds r0, 0x1 strh r0, [r4, 0xE] @@ -10412,7 +10412,7 @@ _080E32DC: movs r0, 0 strh r0, [r4, 0xE] adds r0, r5, 0 - bl sub_8075980 + bl ResetSpriteRotScale ldr r1, _080E3330 @ =gSprites lsls r0, r5, 4 adds r0, r5 diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s index aded063d4..b971694e3 100644 --- a/asm/battle_anim_mons.s +++ b/asm/battle_anim_mons.s @@ -745,7 +745,7 @@ _08074A1C: ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08074A4A @@ -757,7 +757,7 @@ _08074A38: ldrb r0, [r5] movs r4, 0x2 eors r0, r4 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _08074A54 @@ -1265,8 +1265,8 @@ _08074DBC: .4byte gBattleAnimTarget _08074DC0: .4byte sub_8074C64 thumb_func_end sub_8074D80 - thumb_func_start sub_8074DC4 -sub_8074DC4: @ 8074DC4 + thumb_func_start TranslateMonSpriteLinear +TranslateMonSpriteLinear: @ 8074DC4 push {r4,lr} adds r3, r0, 0 ldrh r1, [r3, 0x2E] @@ -1307,10 +1307,10 @@ _08074E0E: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8074DC4 + thumb_func_end TranslateMonSpriteLinear - thumb_func_start sub_8074E14 -sub_8074E14: @ 8074E14 + thumb_func_start TranslateMonSpriteLinearFixedPoint +TranslateMonSpriteLinearFixedPoint: @ 8074E14 push {r4,lr} adds r4, r0, 0 ldrh r1, [r4, 0x2E] @@ -1358,7 +1358,7 @@ _08074E6A: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8074E14 + thumb_func_end TranslateMonSpriteLinearFixedPoint thumb_func_start sub_8074E70 sub_8074E70: @ 8074E70 @@ -2219,7 +2219,7 @@ sub_8075490: @ 8075490 ldrh r0, [r4, 0x22] strh r0, [r4, 0x34] adds r0, r4, 0 - bl sub_80754B8 + bl InitSpriteDataForLinearTranslation ldr r1, _080754B4 @ =sub_8074D3C str r1, [r4, 0x1C] adds r0, r4, 0 @@ -2231,8 +2231,8 @@ sub_8075490: @ 8075490 _080754B4: .4byte sub_8074D3C thumb_func_end sub_8075490 - thumb_func_start sub_80754B8 -sub_80754B8: @ 80754B8 + thumb_func_start InitSpriteDataForLinearTranslation +InitSpriteDataForLinearTranslation: @ 80754B8 push {r4-r6,lr} adds r5, r0, 0 ldrh r0, [r5, 0x32] @@ -2262,7 +2262,7 @@ sub_80754B8: @ 80754B8 pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_80754B8 + thumb_func_end InitSpriteDataForLinearTranslation thumb_func_start obj_translate_based_on_private_1_2_3_4 obj_translate_based_on_private_1_2_3_4: @ 80754F8 @@ -2745,8 +2745,8 @@ sub_8075830: @ 8075830 _08075854: .4byte sub_80757E8 thumb_func_end sub_8075830 - thumb_func_start obj_id_set_rotscale -obj_id_set_rotscale: @ 8075858 + thumb_func_start SetSpriteRotScale +SetSpriteRotScale: @ 8075858 push {r4,r5,lr} sub sp, 0x10 lsls r0, 24 @@ -2810,7 +2810,7 @@ _08075894: _080758D0: .4byte 0xffff0000 _080758D4: .4byte gSprites _080758D8: .4byte gOamMatrices - thumb_func_end obj_id_set_rotscale + thumb_func_end SetSpriteRotScale thumb_func_start sub_80758DC sub_80758DC: @ 80758DC @@ -2818,8 +2818,8 @@ sub_80758DC: @ 80758DC bx lr thumb_func_end sub_80758DC - thumb_func_start sub_80758E0 -sub_80758E0: @ 80758E0 + thumb_func_start PrepareBattlerSpriteForRotScale +PrepareBattlerSpriteForRotScale: @ 80758E0 push {r4-r7,lr} lsls r0, 24 lsrs r0, 24 @@ -2834,7 +2834,7 @@ sub_80758E0: @ 80758E0 lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08075914 @@ -2899,10 +2899,10 @@ _0807595C: .align 2, 0 _08075978: .4byte gSprites _0807597C: .4byte gUnknown_2024018 - thumb_func_end sub_80758E0 + thumb_func_end PrepareBattlerSpriteForRotScale - thumb_func_start sub_8075980 -sub_8075980: @ 8075980 + thumb_func_start ResetSpriteRotScale +ResetSpriteRotScale: @ 8075980 push {r4,lr} adds r4, r0, 0 lsls r4, 24 @@ -2912,7 +2912,7 @@ sub_8075980: @ 8075980 adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldr r1, _080759D8 @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -2946,7 +2946,7 @@ sub_8075980: @ 8075980 bx r0 .align 2, 0 _080759D8: .4byte gSprites - thumb_func_end sub_8075980 + thumb_func_end ResetSpriteRotScale thumb_func_start sub_80759DC sub_80759DC: @ 80759DC @@ -3276,7 +3276,7 @@ _08075C40: ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08075C64 @@ -3294,7 +3294,7 @@ _08075C64: ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08075C88 @@ -3349,7 +3349,7 @@ sub_8075CB8: @ 8075CB8 bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08075CF2 @@ -3367,7 +3367,7 @@ _08075CF2: bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08075D1E @@ -3387,7 +3387,7 @@ _08075D1E: bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08075D4A @@ -3407,7 +3407,7 @@ _08075D4A: bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08075D76 @@ -4155,7 +4155,7 @@ sub_80762D0: @ 80762D0 bl sub_80765C0 adds r0, r4, 0 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale pop {r4} pop {r0} bx r0 @@ -4223,7 +4223,7 @@ _08076356: movs r3, 0x1E ldrsh r2, [r4, r3] ldrh r3, [r4, 0x20] - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 @@ -4309,7 +4309,7 @@ _08076410: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8075980 + bl ResetSpriteRotScale movs r0, 0 b _08076438 .align 2, 0 @@ -4633,7 +4633,7 @@ _08076672: movs r3, 0x1C ldrsh r2, [r4, r3] movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale movs r0, 0x18 ldrsh r3, [r4, r0] cmp r3, 0 @@ -4701,7 +4701,7 @@ sub_80766EC: @ 80766EC adds r7, r4, 0 ldr r6, _080767E0 @ =gBattleAnimTarget ldrb r0, [r6] - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0807672C @@ -4728,7 +4728,7 @@ _0807672C: ldr r0, _080767EC @ =gBattleAnimAttacker mov r8, r0 ldrb r0, [r0] - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08076764 @@ -4756,7 +4756,7 @@ _08076764: ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _0807679C @@ -4784,7 +4784,7 @@ _0807679C: mov r1, r8 ldrb r0, [r1] eors r0, r5 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080767D4 @@ -4834,7 +4834,7 @@ _080767FE: lsls r0, r5, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _08076840 diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s index 954878daa..dc5517ca0 100644 --- a/asm/battle_anim_sound_tasks.s +++ b/asm/battle_anim_sound_tasks.s @@ -363,7 +363,7 @@ _080DD0BE: bne _080DD0E8 _080DD0CC: adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080DD0E8 @@ -475,7 +475,7 @@ _080DD19A: bne _080DD1C4 _080DD1A8: adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080DD1C4 diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s index 02a1216c6..8d5d5a6b4 100644 --- a/asm/battle_anim_special.s +++ b/asm/battle_anim_special.s @@ -347,7 +347,7 @@ _080EEE9C: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080EEF00 @@ -839,7 +839,7 @@ _080EF2D0: _080EF2D6: adds r0, r5, 0 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale movs r0, 0x80 lsls r0, 1 strh r0, [r4, 0x1C] @@ -853,7 +853,7 @@ _080EF2E6: adds r0, r5, 0 adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale adds r0, r5, 0 bl sub_8076440 movs r0, 0x1C @@ -870,7 +870,7 @@ _080EF30A: _080EF314: .4byte 0x000002cf _080EF318: adds r0, r5, 0 - bl sub_8075980 + bl ResetSpriteRotScale ldr r1, _080EF340 @ =gSprites lsls r0, r5, 4 adds r0, r5 @@ -1781,7 +1781,7 @@ _080EFA5C: _080EFA62: adds r0, r4, 0 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale movs r0, 0x80 lsls r0, 1 strh r0, [r5, 0x1C] @@ -1824,7 +1824,7 @@ _080EFAB4: adds r0, r4, 0 adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r5, 0xC] ldrh r1, [r5, 0xE] adds r0, r1 @@ -1850,7 +1850,7 @@ _080EFAF0: .4byte gSprites _080EFAF4: .4byte 0x0000047f _080EFAF8: adds r0, r4, 0 - bl sub_8075980 + bl ResetSpriteRotScale ldr r1, _080EFB1C @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -5487,7 +5487,7 @@ sub_80F1720: @ 80F1720 bl GetMonData adds r4, r0, 0 adds r0, r6, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080F17F8 diff --git a/asm/battle_anim_status_effects.s b/asm/battle_anim_status_effects.s index b1da74298..783b39a2e 100644 --- a/asm/battle_anim_status_effects.s +++ b/asm/battle_anim_status_effects.s @@ -358,7 +358,7 @@ sub_80783FC: @ 80783FC ldr r1, _080784B4 @ =0xffdc0000 adds r0, r1 lsrs r4, r0, 16 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0807843A diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s index d33f51842..48cde2fa8 100644 --- a/asm/battle_anim_utility_funcs.s +++ b/asm/battle_anim_utility_funcs.s @@ -137,7 +137,7 @@ _080BA8EA: cmp r4, r0 beq _080BA914 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080BA914 @@ -707,7 +707,7 @@ sub_80BACEC: @ 80BACEC ldrh r1, [r4] movs r0, 0xA bl SetGpuReg - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BAD7A @@ -726,7 +726,7 @@ _080BAD7A: lsls r0, 24 cmp r0, 0 beq _080BADFE - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BADFE @@ -746,7 +746,7 @@ _080BADAA: ldrb r0, [r5] movs r6, 0x2 eors r0, r6 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -844,7 +844,7 @@ _080BAE5C: ldrb r0, [r0, 0x9] ldr r1, _080BAF18 @ =gFile_graphics_battle_anims_masks_curse_tilemap bl sub_807543C - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080BAEAC @@ -967,7 +967,7 @@ sub_80BAF38: @ 80BAF38 movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BAFCA @@ -1134,7 +1134,7 @@ _080BB0FA: movs r1, 0x2 eors r0, r1 strb r0, [r2, 0x1] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BB12A @@ -1144,7 +1144,7 @@ _080BB0FA: cmp r0, 0 beq _080BB130 ldrb r0, [r1, 0x1] - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080BB130 @@ -1183,7 +1183,7 @@ _080BB130: movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BB18E @@ -1217,7 +1217,7 @@ _080BB18E: _080BB1C0: ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x1 @@ -1369,7 +1369,7 @@ _080BB30C: ldr r1, _080BB354 @ =gFile_graphics_battle_anims_masks_stat_tilemap_2_tilemap bl sub_807543C _080BB316: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080BB32E @@ -1692,7 +1692,7 @@ _080BB582: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BB5B2 @@ -2234,7 +2234,7 @@ _080BB9BA: beq _080BB9F8 lsls r0, r4, 24 lsrs r0, 24 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080BB9F8 @@ -2313,7 +2313,7 @@ sub_80BBA20: @ 80BBA20 movs r0, 0x2 adds r6, r7, 0 eors r6, r0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BBA82 @@ -2321,7 +2321,7 @@ sub_80BBA20: @ 80BBA20 cmp r1, 0 beq _080BBA86 adds r0, r6, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080BBA86 @@ -2370,7 +2370,7 @@ _080BBA86: movs r1, 0x20 orrs r0, r1 strb r0, [r2] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BBAFC @@ -2446,7 +2446,7 @@ _080BBB80: ldrb r0, [r0, 0x9] ldr r1, [sp, 0x58] bl sub_807543C - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080BBBA8 @@ -2669,7 +2669,7 @@ _080BBD00: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BBD7E @@ -3044,7 +3044,7 @@ sub_80BC02C: @ 80BC02C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8073788 + bl IsContest lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -3173,7 +3173,7 @@ sub_80BC12C: @ 80BC12C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080BC144 diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index 873fa088c..50d0b4caf 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -4639,7 +4639,7 @@ _0803CCA6: adds r2, r1 ldrb r1, [r2] strb r1, [r5] - ldr r4, _0803CD84 @ =gUnknown_2037EEC + ldr r4, _0803CD84 @ =gAnimMovePower ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4653,7 +4653,7 @@ _0803CCA6: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r4, _0803CD88 @ =gUnknown_2037EE8 + ldr r4, _0803CD88 @ =gAnimMoveDmg ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4726,8 +4726,8 @@ _0803CCA6: _0803CD78: .4byte gActiveBattler _0803CD7C: .4byte gUnknown_2022BC4 _0803CD80: .4byte gAnimMoveTurn -_0803CD84: .4byte gUnknown_2037EEC -_0803CD88: .4byte gUnknown_2037EE8 +_0803CD84: .4byte gAnimMovePower +_0803CD88: .4byte gAnimMoveDmg _0803CD8C: .4byte gUnknown_2037EFE _0803CD90: .4byte gUnknown_2037F00 _0803CD94: .4byte gAnimDisableStructPtr diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 8da94bdce..c0409ce57 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -4260,7 +4260,7 @@ _080D6522: adds r2, r1 ldrb r1, [r2] strb r1, [r5] - ldr r4, _080D6600 @ =gUnknown_2037EEC + ldr r4, _080D6600 @ =gAnimMovePower ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4274,7 +4274,7 @@ _080D6522: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r4, _080D6604 @ =gUnknown_2037EE8 + ldr r4, _080D6604 @ =gAnimMoveDmg ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4347,8 +4347,8 @@ _080D6522: _080D65F4: .4byte gActiveBattler _080D65F8: .4byte gUnknown_2022BC4 _080D65FC: .4byte gAnimMoveTurn -_080D6600: .4byte gUnknown_2037EEC -_080D6604: .4byte gUnknown_2037EE8 +_080D6600: .4byte gAnimMovePower +_080D6604: .4byte gAnimMoveDmg _080D6608: .4byte gUnknown_2037EFE _080D660C: .4byte gUnknown_2037F00 _080D6610: .4byte gAnimDisableStructPtr diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 9f878733e..df31ccd92 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -5489,7 +5489,7 @@ sub_80EA2B8: @ 80EA2B8 adds r2, r1 ldrb r1, [r2] strb r1, [r5] - ldr r4, _080EA398 @ =gUnknown_2037EEC + ldr r4, _080EA398 @ =gAnimMovePower ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -5503,7 +5503,7 @@ sub_80EA2B8: @ 80EA2B8 lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r4, _080EA39C @ =gUnknown_2037EE8 + ldr r4, _080EA39C @ =gAnimMoveDmg ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -5576,8 +5576,8 @@ sub_80EA2B8: @ 80EA2B8 _080EA38C: .4byte gUnknown_2022BC4 _080EA390: .4byte gActiveBattler _080EA394: .4byte gAnimMoveTurn -_080EA398: .4byte gUnknown_2037EEC -_080EA39C: .4byte gUnknown_2037EE8 +_080EA398: .4byte gAnimMovePower +_080EA39C: .4byte gAnimMoveDmg _080EA3A0: .4byte gUnknown_2037EFE _080EA3A4: .4byte gUnknown_2037F00 _080EA3A8: .4byte gAnimDisableStructPtr diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index 0c94035ee..0618be95f 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -4800,7 +4800,7 @@ _08038212: adds r2, r1 ldrb r1, [r2] strb r1, [r5] - ldr r4, _080382F0 @ =gUnknown_2037EEC + ldr r4, _080382F0 @ =gAnimMovePower ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4814,7 +4814,7 @@ _08038212: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r4, _080382F4 @ =gUnknown_2037EE8 + ldr r4, _080382F4 @ =gAnimMoveDmg ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4887,8 +4887,8 @@ _08038212: _080382E4: .4byte gActiveBattler _080382E8: .4byte gUnknown_2022BC4 _080382EC: .4byte gAnimMoveTurn -_080382F0: .4byte gUnknown_2037EEC -_080382F4: .4byte gUnknown_2037EE8 +_080382F0: .4byte gAnimMovePower +_080382F4: .4byte gAnimMoveDmg _080382F8: .4byte gUnknown_2037EFE _080382FC: .4byte gUnknown_2037F00 _08038300: .4byte gAnimDisableStructPtr diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index e3db6d88e..197816465 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -3956,7 +3956,7 @@ sub_8030350: @ 8030350 ldrsh r6, [r4, r0] lsls r0, r6, 24 lsrs r0, 24 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8434,7 +8434,7 @@ _08032852: adds r2, r1 ldrb r1, [r2] strb r1, [r5] - ldr r4, _08032930 @ =gUnknown_2037EEC + ldr r4, _08032930 @ =gAnimMovePower ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -8448,7 +8448,7 @@ _08032852: lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r4, _08032934 @ =gUnknown_2037EE8 + ldr r4, _08032934 @ =gAnimMoveDmg ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -8521,8 +8521,8 @@ _08032852: _08032924: .4byte gActiveBattler _08032928: .4byte gUnknown_2022BC4 _0803292C: .4byte gAnimMoveTurn -_08032930: .4byte gUnknown_2037EEC -_08032934: .4byte gUnknown_2037EE8 +_08032930: .4byte gAnimMovePower +_08032934: .4byte gAnimMoveDmg _08032938: .4byte gUnknown_2037EFE _0803293C: .4byte gUnknown_2037F00 _08032940: .4byte gAnimDisableStructPtr diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 23b4a23e8..8f42aa9eb 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -4768,7 +4768,7 @@ sub_8158814: @ 8158814 adds r2, r1 ldrb r1, [r2] strb r1, [r5] - ldr r4, _081588F4 @ =gUnknown_2037EEC + ldr r4, _081588F4 @ =gAnimMovePower ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4782,7 +4782,7 @@ sub_8158814: @ 8158814 lsls r1, 8 orrs r3, r1 strh r3, [r4] - ldr r4, _081588F8 @ =gUnknown_2037EE8 + ldr r4, _081588F8 @ =gAnimMoveDmg ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4855,8 +4855,8 @@ sub_8158814: @ 8158814 _081588E8: .4byte gUnknown_2022BC4 _081588EC: .4byte gActiveBattler _081588F0: .4byte gAnimMoveTurn -_081588F4: .4byte gUnknown_2037EEC -_081588F8: .4byte gUnknown_2037EE8 +_081588F4: .4byte gAnimMovePower +_081588F8: .4byte gAnimMoveDmg _081588FC: .4byte gUnknown_2037EFE _08158900: .4byte gUnknown_2037F00 _08158904: .4byte gAnimDisableStructPtr diff --git a/asm/bug.s b/asm/bug.s index 6970411d1..1bdc4095c 100644 --- a/asm/bug.s +++ b/asm/bug.s @@ -9,7 +9,7 @@ sub_80B3FAC: @ 80B3FAC push {r4-r6,lr} adds r6, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B3FD8 @@ -105,7 +105,7 @@ _080B4078: .4byte DestroyAnimSprite sub_80B407C: @ 80B407C push {r4-r6,lr} adds r6, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B40A0 @@ -185,7 +185,7 @@ _080B4124: .4byte DestroyAnimSprite sub_80B4128: @ 80B4128 push {r4,r5,lr} adds r5, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B4144 @@ -484,7 +484,7 @@ sub_80B4364: @ 80B4364 push {r4-r7,lr} sub sp, 0x4 adds r7, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B4384 @@ -513,7 +513,7 @@ _080B4384: negs r0, r0 strh r0, [r1, 0x6] _080B43A6: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B43F6 diff --git a/asm/dark.s b/asm/dark.s index a232c19ad..ad0ff597a 100644 --- a/asm/dark.s +++ b/asm/dark.s @@ -282,7 +282,7 @@ sub_80B7ACC: @ 80B7ACC movs r0, 0x7E strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_80754B8 + bl InitSpriteDataForLinearTranslation ldrh r0, [r4, 0x30] negs r0, r0 strh r0, [r4, 0x34] @@ -701,7 +701,7 @@ _080B7E16: ldr r0, _080B7E70 @ =0x04000016 str r0, [sp] movs r7, 0x2 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B7EA8 @@ -728,7 +728,7 @@ _080B7E78: ldr r0, _080B7F38 @ =0x0400001a str r0, [sp] movs r7, 0x4 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B7EA8 @@ -995,7 +995,7 @@ _080B80A0: .4byte _080B81E8 .4byte _080B8250 _080B80B4: - bl sub_8073788 + bl IsContest lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1685,7 +1685,7 @@ sub_80B85B8: @ 80B85B8 ldrb r0, [r6] movs r5, 0x2 eors r0, r5 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B8642 @@ -1744,7 +1744,7 @@ sub_80B8664: @ 80B8664 ldrb r1, [r4] movs r0, 0x2 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B86A0 @@ -1827,7 +1827,7 @@ sub_80B86EC: @ 80B86EC movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B8750 @@ -1840,7 +1840,7 @@ _080B8750: lsls r0, 24 cmp r0, 0 beq _080B87CA - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B87CA @@ -1860,7 +1860,7 @@ _080B8780: ldrb r0, [r4] movs r5, 0x2 eors r0, r5 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2155,7 +2155,7 @@ _080B89FC: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B8A2E @@ -2254,7 +2254,7 @@ _080B8AE0: lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B8B04 diff --git a/asm/electric.s b/asm/electric.s index 187e30b6d..ed9e1da1f 100644 --- a/asm/electric.s +++ b/asm/electric.s @@ -219,7 +219,7 @@ _080ADD7C: ldrb r0, [r4] movs r6, 0x2 eors r0, r6 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 bne _080ADD98 @@ -237,7 +237,7 @@ _080ADDA0: ldrb r0, [r0] movs r4, 0x2 eors r0, r4 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080ADDC4 @@ -536,7 +536,7 @@ _080ADFFA: sub_80AE000: @ 80AE000 push {r4-r6,lr} adds r6, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AE01C @@ -609,7 +609,7 @@ _080AE090: ldr r0, _080AE118 @ =gBattleAnimAttacker _080AE092: ldrb r6, [r0] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AE0AA diff --git a/asm/fighting.s b/asm/fighting.s index 518927a3c..78b60aac5 100644 --- a/asm/fighting.s +++ b/asm/fighting.s @@ -76,7 +76,7 @@ _080B0924: .4byte gBattleAnimAttacker sub_80B0928: @ 80B0928 push {r4,lr} adds r4, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B0944 @@ -1379,7 +1379,7 @@ _080B1332: ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B136C @@ -1555,7 +1555,7 @@ _080B14A0: movs r1, 0 bl sub_8075114 _080B14A8: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B14BC diff --git a/asm/fire.s b/asm/fire.s index f4b89300a..ecc1ce493 100644 --- a/asm/fire.s +++ b/asm/fire.s @@ -782,7 +782,7 @@ sub_80ACEA4: @ 80ACEA4 lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldr r0, _080ACF10 @ =sub_80ACF14 str r0, [r4] pop {r4,r5} @@ -1147,7 +1147,7 @@ _080AD1A8: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8075980 + bl ResetSpriteRotScale strh r5, [r4, 0xC] _080AD1D4: ldrh r0, [r4, 0x8] @@ -1877,7 +1877,7 @@ _080AD70C: movs r1, 0xFF ands r0, r1 strh r0, [r4, 0x30] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AD7A8 @@ -1999,7 +1999,7 @@ _080AD826: ldrb r1, [r0] movs r0, 0x2 eors r0, r1 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 lsrs r0, 24 adds r0, 0x1 diff --git a/asm/flying.s b/asm/flying.s index ada0296c8..697138bd8 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -302,7 +302,7 @@ sub_80B1AB8: @ 80B1AB8 negs r0, r0 strh r0, [r1, 0x6] _080B1AE4: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B1AFC @@ -720,7 +720,7 @@ _080B1DC8: lsrs r1, 16 cmp r1, 0x7F bhi _080B1EBE - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B1E64 @@ -1017,7 +1017,7 @@ _080B2028: ands r0, r1 cmp r0, 0 beq _080B20E6 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B20B6 @@ -1149,7 +1149,7 @@ _080B211C: ands r0, r1 cmp r0, 0 beq _080B21DA - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B21AA @@ -1281,7 +1281,7 @@ _080B2210: ands r0, r1 cmp r0, 0 beq _080B22CE - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B229E @@ -1422,7 +1422,7 @@ _080B2318: ands r0, r1 cmp r0, 0 beq _080B23D6 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B23A6 @@ -1659,7 +1659,7 @@ sub_80B2514: @ 80B2514 strh r0, [r4, 0x32] ldrh r0, [r5, 0x4] strh r0, [r4, 0x34] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B25C4 diff --git a/asm/ghost.s b/asm/ghost.s index 2d550e6f7..7ff96f41a 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -358,12 +358,12 @@ sub_80B54E8: @ 80B54E8 lsrs r4, 24 adds r0, r4, 0 movs r1, 0x1 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale adds r0, r4, 0 movs r1, 0x80 movs r2, 0x80 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldr r1, _080B5560 @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -485,11 +485,11 @@ _080B55F0: adds r0, r1, 0 adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale b _080B5634 _080B5618: adds r0, r1, 0 - bl sub_8075980 + bl ResetSpriteRotScale adds r0, r5, 0 bl DestroyAnimVisualTask movs r0, 0x50 @@ -1818,7 +1818,7 @@ sub_80B6020: @ 80B6020 lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B6090 @@ -1840,7 +1840,7 @@ _080B6092: lsls r0, r4, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B615E @@ -2253,7 +2253,7 @@ sub_80B63B4: @ 80B63B4 lsls r0, 24 cmp r0, 0 bne _080B63FC - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B6414 diff --git a/asm/ground.s b/asm/ground.s index 4009c7056..8bfa9d914 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -1224,7 +1224,7 @@ sub_80B94B4: @ 80B94B4 _080B94D8: .4byte gTasks _080B94DC: .4byte gBattleAnimArgs _080B94E0: - ldr r0, _080B950C @ =gUnknown_2037EEC + ldr r0, _080B950C @ =gAnimMovePower ldrh r0, [r0] movs r1, 0xA bl __udivsi3 @@ -1247,7 +1247,7 @@ _080B94EC: ldr r0, _080B9514 @ =sub_80B9584 b _080B9576 .align 2, 0 -_080B950C: .4byte gUnknown_2037EEC +_080B950C: .4byte gAnimMovePower _080B9510: .4byte gBattle_BG3_X _080B9514: .4byte sub_80B9584 _080B9518: @@ -1257,7 +1257,7 @@ _080B9518: _080B951E: lsls r0, r5, 24 lsrs r0, 24 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B9548 @@ -1641,7 +1641,7 @@ sub_80B97D8: @ 80B97D8 lsrs r1, r0, 24 ldr r3, _080B97F8 @ =gBattleAnimArgs movs r2, 0 - ldr r0, _080B97FC @ =gUnknown_2037EEC + ldr r0, _080B97FC @ =gAnimMovePower ldrh r0, [r0] cmp r0, 0x63 bls _080B97EC @@ -1654,7 +1654,7 @@ _080B97EC: bx r0 .align 2, 0 _080B97F8: .4byte gBattleAnimArgs -_080B97FC: .4byte gUnknown_2037EEC +_080B97FC: .4byte gAnimMovePower thumb_func_end sub_80B97D8 thumb_func_start sub_80B9800 diff --git a/asm/ice.s b/asm/ice.s index c04715b95..4cf6c714b 100644 --- a/asm/ice.s +++ b/asm/ice.s @@ -1393,7 +1393,7 @@ sub_80AFAE4: @ 80AFAE4 movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AFB26 @@ -1433,7 +1433,7 @@ _080AFB26: lsls r1, 4 movs r2, 0x20 bl LoadPalette - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080AFB88 @@ -1619,7 +1619,7 @@ _080AFCD6: adds r0, 0x1 strh r0, [r1, 0x20] _080AFCF8: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AFD0C @@ -1704,7 +1704,7 @@ sub_80AFD80: @ 80AFD80 movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AFDC2 @@ -1744,7 +1744,7 @@ _080AFDC2: lsls r1, 4 movs r2, 0x20 bl LoadPalette - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080AFE24 @@ -1920,7 +1920,7 @@ _080AFF5E: adds r0, 0x1 strh r0, [r1, 0x20] _080AFF80: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AFF94 @@ -2111,7 +2111,7 @@ _080B00F8: ldrh r1, [r5, 0x3C] orrs r0, r1 strh r0, [r5, 0x3C] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B012C @@ -2213,7 +2213,7 @@ _080B01AA: ldrh r0, [r4, 0x3C] adds r0, 0x1 strh r0, [r4, 0x3C] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B0200 @@ -2283,7 +2283,7 @@ _080B0230: ldrh r1, [r4, 0x26] adds r0, r1 strh r0, [r4, 0x26] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B02AE @@ -2361,7 +2361,7 @@ _080B02CE: strh r0, [r4, 0x34] adds r0, 0x4 strh r0, [r4, 0x36] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B0328 @@ -2583,7 +2583,7 @@ sub_80B0458: @ 80B0458 lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B0544 diff --git a/asm/normal.s b/asm/normal.s index 165fa150f..4a1e86a4e 100644 --- a/asm/normal.s +++ b/asm/normal.s @@ -1733,7 +1733,7 @@ sub_80BA5F8: @ 80BA5F8 lsls r0, 24 cmp r0, 0 beq _080BA61C - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080BA61C diff --git a/asm/poison.s b/asm/poison.s index adaa51dbd..1a244e136 100644 --- a/asm/poison.s +++ b/asm/poison.s @@ -166,7 +166,7 @@ sub_80B1744: @ 80B1744 adds r0, r1 strh r0, [r4, 0x36] adds r0, r4, 0 - bl sub_80754B8 + bl InitSpriteDataForLinearTranslation movs r1, 0x30 ldrsh r0, [r4, r1] movs r2, 0x4 diff --git a/asm/psychic.s b/asm/psychic.s index ef0fc1385..874a35948 100644 --- a/asm/psychic.s +++ b/asm/psychic.s @@ -15,7 +15,7 @@ sub_80B2ECC: @ 80B2ECC lsls r0, 24 cmp r0, 0 beq _080B2EE8 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B2EFE @@ -32,7 +32,7 @@ _080B2EE8: movs r0, 0xC8 strb r0, [r1] _080B2EFE: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B2F5A @@ -51,7 +51,7 @@ _080B2EFE: orrs r1, r0 lsrs r5, r1, 31 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B2F3C @@ -63,7 +63,7 @@ _080B2F3C: adds r4, r0, 0 eors r4, r7 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B2F5A @@ -73,7 +73,7 @@ _080B2F3C: adds r1, r5, 0 bl sub_8072E48 _080B2F5A: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B2F90 @@ -128,7 +128,7 @@ _080B2FA6: adds r0, r4 _080B2FCA: strh r0, [r6, 0x22] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B2FDC @@ -271,7 +271,7 @@ sub_80B30B0: @ 80B30B0 negs r1, r1 cmp r0, r1 bne _080B3156 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B3146 @@ -281,7 +281,7 @@ sub_80B30B0: @ 80B30B0 lsrs r4, r0, 24 adds r6, r4, 0 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B3118 @@ -304,7 +304,7 @@ _080B3118: adds r4, r0, 0 eors r4, r6 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B3146 @@ -345,7 +345,7 @@ _080B3164: .4byte sub_80B3168 sub_80B3168: @ 80B3168 push {r4-r6,lr} adds r6, r0, 0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B31C0 @@ -363,7 +363,7 @@ sub_80B3168: @ 80B3168 orrs r1, r0 lsrs r5, r1, 31 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B31A6 @@ -373,7 +373,7 @@ _080B31A6: movs r0, 0x2 eors r4, r0 adds r0, r4, 0 - bl sub_8072DF0 + bl IsBattlerSpriteVisible lsls r0, 24 cmp r0, 0 beq _080B31C0 @@ -407,7 +407,7 @@ sub_80B31D0: @ 80B31D0 bne _080B31EA movs r6, 0x1 _080B31EA: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B3232 @@ -860,7 +860,7 @@ _080B3544: lsls r1, 1 strh r1, [r0, 0x20] ldrb r0, [r4, 0x8] - bl sub_8075980 + bl ResetSpriteRotScale adds r0, r5, 0 bl DestroyAnimVisualTask _080B357A: @@ -1240,7 +1240,7 @@ sub_80B3834: @ 80B3834 lsls r1, 3 ldr r0, _080B3890 @ =gTasks adds r5, r1, r0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B38D8 @@ -1860,7 +1860,7 @@ _080B3CD8: lsls r2, 1 adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrb r3, [r4, 0x1] lsrs r1, r3, 6 ldrb r2, [r4, 0x3] @@ -1947,7 +1947,7 @@ _080B3DAA: ldrsh r2, [r4, r1] adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 @@ -1986,7 +1986,7 @@ _080B3DFC: ldrsh r2, [r4, r1] adds r1, r2, 0 movs r3, 0 - bl obj_id_set_rotscale + bl SetSpriteRotScale ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 @@ -2063,7 +2063,7 @@ _080B3EA4: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B3ED2 diff --git a/asm/rock.s b/asm/rock.s index 50687a86e..39f3c7780 100644 --- a/asm/rock.s +++ b/asm/rock.s @@ -143,7 +143,7 @@ _080B472E: adds r2, r0 strh r2, [r5, 0x36] adds r0, r5, 0 - bl sub_80754B8 + bl InitSpriteDataForLinearTranslation strh r4, [r5, 0x34] strh r4, [r5, 0x36] ldr r0, _080B4774 @ =sub_8074D00 @@ -262,7 +262,7 @@ do_boulder_dust: @ 80B4810 movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B4854 @@ -299,7 +299,7 @@ _080B4854: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080B48B0 @@ -512,7 +512,7 @@ _080B4A4C: .align 2, 0 _080B4A54: .4byte gTasks _080B4A58: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080B4A6C @@ -1413,7 +1413,7 @@ sub_80B5148: @ 80B5148 push {lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r2, _080B5180 @ =gUnknown_2037EE8 + ldr r2, _080B5180 @ =gAnimMoveDmg ldr r0, [r2] cmp r0, 0x20 bgt _080B515C @@ -1441,7 +1441,7 @@ _080B5176: pop {r0} bx r0 .align 2, 0 -_080B5180: .4byte gUnknown_2037EE8 +_080B5180: .4byte gAnimMoveDmg _080B5184: .4byte gBattleAnimArgs thumb_func_end sub_80B5148 diff --git a/asm/water.s b/asm/water.s index 5518dd33e..eac5fc3c1 100644 --- a/asm/water.s +++ b/asm/water.s @@ -753,7 +753,7 @@ sub_80AB168: @ 80AB168 bl sub_807685C lsls r0, 24 lsrs r5, r0, 24 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AB1C2 @@ -1036,7 +1036,7 @@ sub_80AB38C: @ 80AB38C bl SetAnimBgAttribute mov r0, sp bl sub_80752A0 - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AB418 @@ -1140,7 +1140,7 @@ _080AB476: lsls r0, 5 strh r0, [r7, 0xA] strh r0, [r7, 0xC] - bl sub_8073788 + bl IsContest lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -1461,7 +1461,7 @@ _080AB740: .4byte gBattle_BG1_X _080AB744: .4byte gBattle_BG1_Y _080AB748: .4byte gTasks _080AB74C: - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080AB760 @@ -2012,7 +2012,7 @@ sub_80ABB28: @ 80ABB28 lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80758E0 + bl PrepareBattlerSpriteForRotScale ldr r0, _080ABB80 @ =sub_80ABB84 str r0, [r4] pop {r4} @@ -2282,7 +2282,7 @@ _080ABD64: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8075980 + bl ResetSpriteRotScale movs r0, 0x26 ldrsh r1, [r4, r0] lsls r0, r1, 4 @@ -3047,7 +3047,7 @@ sub_80AC328: @ 80AC328 movs r1, 0x1 _080AC36C: strh r1, [r5, 0x16] - bl sub_8073788 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080AC380 -- cgit v1.2.3 From 935f93a0752604f1375c79e6225baa6774b60280 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 29 Jul 2019 02:39:41 +0800 Subject: ported battle_gfx_sfx_util from pokeem --- asm/battle_2.s | 50 +- asm/battle_anim.s | 62 +- asm/battle_anim_effects_1.s | 182 +- asm/battle_anim_effects_2.s | 98 +- asm/battle_anim_effects_3.s | 154 +- asm/battle_anim_mons.s | 192 +- asm/battle_anim_special.s | 112 +- asm/battle_anim_status_effects.s | 22 +- asm/battle_anim_utility_funcs.s | 28 +- asm/battle_controller_link_opponent.s | 200 +- asm/battle_controller_link_partner.s | 176 +- asm/battle_controller_oak.s | 142 +- asm/battle_controller_opponent.s | 208 +- asm/battle_controller_player.s | 216 +- asm/battle_controller_pokedude.s | 192 +- asm/battle_controller_safari.s | 36 +- asm/battle_controllers.s | 44 +- asm/battle_gfx_sfx_util.s | 3606 --------------------------------- asm/battle_interface.s | 112 +- asm/bug.s | 24 +- asm/dark.s | 18 +- asm/dragon.s | 20 +- asm/electric.s | 66 +- asm/fighting.s | 50 +- asm/fire.s | 12 +- asm/flying.s | 52 +- asm/ghost.s | 38 +- asm/ground.s | 28 +- asm/ice.s | 62 +- asm/normal.s | 4 +- asm/party_menu.s | 8 +- asm/poison.s | 4 +- asm/pokeball.s | 56 +- asm/pokemon_jump_2.s | 2 +- asm/pokemon_storage_system.s | 2 +- asm/psychic.s | 28 +- asm/reshow_battle_screen.s | 56 +- asm/rock.s | 12 +- asm/water.s | 38 +- 39 files changed, 1403 insertions(+), 5009 deletions(-) delete mode 100644 asm/battle_gfx_sfx_util.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index 3fdaeca33..6bd86b091 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -3920,7 +3920,7 @@ _08011D90: .4byte 0x00002108 sub_8011D94: @ 8011D94 push {lr} adds r2, r0, 0 - ldr r0, _08011DC0 @ =gUnknown_2023F4C + ldr r0, _08011DC0 @ =gIntroSlideFlags ldrh r1, [r0] movs r0, 0x1 ands r0, r1 @@ -3941,7 +3941,7 @@ _08011DBC: pop {r0} bx r0 .align 2, 0 -_08011DC0: .4byte gUnknown_2023F4C +_08011DC0: .4byte gIntroSlideFlags _08011DC4: .4byte sub_8011DC8 thumb_func_end sub_8011D94 @@ -3960,7 +3960,7 @@ sub_8011DC8: @ 8011DC8 lsls r0, 24 lsrs r0, 24 bl sub_804BD94 - ldr r1, _08011E18 @ =gUnknown_3004FF0 + ldr r1, _08011E18 @ =gHealthboxSpriteIds movs r2, 0x2E ldrsh r0, [r4, r2] adds r0, r1 @@ -3985,7 +3985,7 @@ _08011E10: pop {r0} bx r0 .align 2, 0 -_08011E18: .4byte gUnknown_3004FF0 +_08011E18: .4byte gHealthboxSpriteIds _08011E1C: .4byte nullsub_10 _08011E20: .4byte 0x00002108 thumb_func_end sub_8011DC8 @@ -4071,7 +4071,7 @@ sub_8011EA0: @ 8011EA0 ldrh r0, [r0, 0x2E] lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08011EC4 @ =gUnknown_2024018 + ldr r0, _08011EC4 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r6, 2 @@ -4082,7 +4082,7 @@ sub_8011EA0: @ 8011EA0 adds r4, r0, 0 b _08011ECC .align 2, 0 -_08011EC4: .4byte gUnknown_2024018 +_08011EC4: .4byte gBattleSpritesDataPtr _08011EC8: mov r0, r9 ldrh r4, [r0, 0x32] @@ -4364,7 +4364,7 @@ _080120CC: .4byte oac_poke_ally_ oac_poke_ally_: @ 80120D0 push {lr} adds r2, r0, 0 - ldr r0, _080120F8 @ =gUnknown_2023F4C + ldr r0, _080120F8 @ =gIntroSlideFlags ldrh r1, [r0] movs r0, 0x1 ands r0, r1 @@ -4384,7 +4384,7 @@ _080120F4: pop {r0} bx r0 .align 2, 0 -_080120F8: .4byte gUnknown_2023F4C +_080120F8: .4byte gIntroSlideFlags _080120FC: .4byte nullsub_11 thumb_func_end oac_poke_ally_ @@ -4406,7 +4406,7 @@ nullsub_11: @ 801210C sub_8012110: @ 8012110 push {lr} adds r2, r0, 0 - ldr r0, _08012134 @ =gUnknown_2023F4C + ldr r0, _08012134 @ =gIntroSlideFlags ldrh r1, [r0] movs r0, 0x1 ands r0, r1 @@ -4424,7 +4424,7 @@ _08012130: pop {r0} bx r0 .align 2, 0 -_08012134: .4byte gUnknown_2023F4C +_08012134: .4byte gIntroSlideFlags thumb_func_end sub_8012110 thumb_func_start dp11b_obj_instanciate @@ -4447,7 +4447,7 @@ dp11b_obj_instanciate: @ 8012138 mov r10, r3 cmp r1, 0 beq _08012174 - ldr r0, _08012170 @ =gUnknown_2024018 + ldr r0, _08012170 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r2, r4, 1 @@ -4458,9 +4458,9 @@ dp11b_obj_instanciate: @ 8012138 movs r0, 0x2 b _08012186 .align 2, 0 -_08012170: .4byte gUnknown_2024018 +_08012170: .4byte gBattleSpritesDataPtr _08012174: - ldr r0, _080121D0 @ =gUnknown_2024018 + ldr r0, _080121D0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r2, r4, 1 @@ -4481,10 +4481,10 @@ _08012186: mov r0, r8 cmp r0, 0x1 bne _080121E0 - ldr r0, _080121D8 @ =gUnknown_3004FF0 + ldr r0, _080121D8 @ =gHealthboxSpriteIds adds r0, r4, r0 ldrb r7, [r0] - ldr r2, _080121D0 @ =gUnknown_2024018 + ldr r2, _080121D0 @ =gBattleSpritesDataPtr ldr r0, [r2] ldr r0, [r0, 0x4] adds r1, r6, r4 @@ -4506,15 +4506,15 @@ _08012186: movs r1, 0x80 b _0801220E .align 2, 0 -_080121D0: .4byte gUnknown_2024018 +_080121D0: .4byte gBattleSpritesDataPtr _080121D4: .4byte SpriteCB_HealthBoxBounce -_080121D8: .4byte gUnknown_3004FF0 +_080121D8: .4byte gHealthboxSpriteIds _080121DC: .4byte gSprites _080121E0: ldr r0, _0801224C @ =gBattlerSpriteIds adds r0, r4, r0 ldrb r7, [r0] - ldr r2, _08012250 @ =gUnknown_2024018 + ldr r2, _08012250 @ =gBattleSpritesDataPtr ldr r0, [r2] ldr r0, [r0, 0x4] adds r1, r6, r4 @@ -4568,7 +4568,7 @@ _0801223C: bx r0 .align 2, 0 _0801224C: .4byte gBattlerSpriteIds -_08012250: .4byte gUnknown_2024018 +_08012250: .4byte gBattleSpritesDataPtr _08012254: .4byte gSprites thumb_func_end dp11b_obj_instanciate @@ -4581,7 +4581,7 @@ dp11b_obj_free: @ 8012258 lsrs r1, 24 cmp r1, 0x1 bne _080122AC - ldr r6, _080122A4 @ =gUnknown_2024018 + ldr r6, _080122A4 @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -4611,10 +4611,10 @@ dp11b_obj_free: @ 8012258 negs r0, r0 b _080122E6 .align 2, 0 -_080122A4: .4byte gUnknown_2024018 +_080122A4: .4byte gBattleSpritesDataPtr _080122A8: .4byte gSprites _080122AC: - ldr r6, _08012300 @ =gUnknown_2024018 + ldr r6, _08012300 @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -4658,7 +4658,7 @@ _080122FA: pop {r0} bx r0 .align 2, 0 -_08012300: .4byte gUnknown_2024018 +_08012300: .4byte gBattleSpritesDataPtr _08012304: .4byte gSprites thumb_func_end dp11b_obj_free @@ -4997,7 +4997,7 @@ _0801255C: movs r0, 0 ldr r1, _0801273C @ =gBattleMoveDamage str r0, [r1] - ldr r2, _08012740 @ =gUnknown_2023F4C + ldr r2, _08012740 @ =gIntroSlideFlags strh r0, [r2] mov r1, r9 ldr r0, _08012720 @ =gBattleScripting @@ -5200,7 +5200,7 @@ _08012730: .4byte gUnknown_2023E7E _08012734: .4byte gUnknown_2023E82 _08012738: .4byte gUnknown_2023E7C _0801273C: .4byte gBattleMoveDamage -_08012740: .4byte gUnknown_2023F4C +_08012740: .4byte gIntroSlideFlags _08012744: .4byte gUnknown_3004FD4 _08012748: .4byte gAbsentBattlerFlags _0801274C: .4byte gBattleStruct diff --git a/asm/battle_anim.s b/asm/battle_anim.s index 4a8c6d51c..8925effc6 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -14,7 +14,7 @@ ClearBattleAnimationVars: @ 80724C0 ldr r0, _08072554 @ =gUnknown_2037EE0 movs r1, 0 strb r1, [r0] - ldr r0, _08072558 @ =gUnknown_2037EE1 + ldr r0, _08072558 @ =gAnimScriptActive strb r1, [r0] ldr r0, _0807255C @ =gUnknown_2037EE2 strb r1, [r0] @@ -85,7 +85,7 @@ _08072520: bx r0 .align 2, 0 _08072554: .4byte gUnknown_2037EE0 -_08072558: .4byte gUnknown_2037EE1 +_08072558: .4byte gAnimScriptActive _0807255C: .4byte gUnknown_2037EE2 _08072560: .4byte gUnknown_2037EE3 _08072564: .4byte gAnimDisableStructPtr @@ -120,7 +120,7 @@ DoMoveAnim: @ 807259C strb r0, [r2] ldr r0, _080725D0 @ =gUnknown_81C68F4 movs r2, 0x1 - bl sub_80725D4 + bl LaunchBattleAnimation pop {r0} bx r0 .align 2, 0 @@ -131,8 +131,8 @@ _080725CC: .4byte gBattlerTarget _080725D0: .4byte gUnknown_81C68F4 thumb_func_end DoMoveAnim - thumb_func_start sub_80725D4 -sub_80725D4: @ 80725D4 + thumb_func_start LaunchBattleAnimation +LaunchBattleAnimation: @ 80725D4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -200,10 +200,10 @@ _08072658: ldr r5, _080726C8 @ =gUnknown_2037ED4 mov r0, r8 lsls r3, r0, 2 - ldr r6, _080726CC @ =gUnknown_2037EE1 + ldr r6, _080726CC @ =gAnimScriptActive ldr r1, _080726D0 @ =gUnknown_2037EE0 mov r12, r1 - ldr r0, _080726D4 @ =gUnknown_2037EDC + ldr r0, _080726D4 @ =gAnimScriptCallback mov r10, r0 ldr r7, _080726D8 @ =RunAnimScriptCommand ldr r1, _080726DC @ =gBattleAnimArgs @@ -253,9 +253,9 @@ _080726A6: _080726C0: .4byte gUnknown_2037F18 _080726C4: .4byte gUnknown_2037F14 _080726C8: .4byte gUnknown_2037ED4 -_080726CC: .4byte gUnknown_2037EE1 +_080726CC: .4byte gAnimScriptActive _080726D0: .4byte gUnknown_2037EE0 -_080726D4: .4byte gUnknown_2037EDC +_080726D4: .4byte gAnimScriptCallback _080726D8: .4byte RunAnimScriptCommand _080726DC: .4byte gBattleAnimArgs _080726E0: .4byte 0x0000ffff @@ -300,7 +300,7 @@ _08072730: .4byte gUnknown_2022984 _08072734: .4byte gUnknown_2022986 _08072738: .4byte gUnknown_2022988 _0807273C: .4byte gUnknown_202298A - thumb_func_end sub_80725D4 + thumb_func_end LaunchBattleAnimation thumb_func_start DestroyAnimSprite DestroyAnimSprite: @ 8072740 @@ -419,14 +419,14 @@ WaitAnimFrameCount: @ 80727FC ldrsb r0, [r2, r0] cmp r0, 0 bgt _08072820 - ldr r0, _08072818 @ =gUnknown_2037EDC + ldr r0, _08072818 @ =gAnimScriptCallback ldr r1, _0807281C @ =RunAnimScriptCommand str r1, [r0] movs r0, 0 b _08072822 .align 2, 0 _08072814: .4byte gUnknown_2037EE0 -_08072818: .4byte gUnknown_2037EDC +_08072818: .4byte gAnimScriptCallback _0807281C: .4byte RunAnimScriptCommand _08072820: subs r0, r1, 0x1 @@ -454,7 +454,7 @@ _0807282C: asrs r0, 24 cmp r0, 0 bne _08072850 - ldr r0, _08072864 @ =gUnknown_2037EE1 + ldr r0, _08072864 @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _0807282C @@ -466,7 +466,7 @@ _08072850: _08072858: .4byte gUnknown_83ADF5C _0807285C: .4byte gUnknown_2037ED4 _08072860: .4byte gUnknown_2037EE0 -_08072864: .4byte gUnknown_2037EE1 +_08072864: .4byte gAnimScriptActive thumb_func_end RunAnimScriptCommand thumb_func_start ScriptCmd_loadspritegfx @@ -500,7 +500,7 @@ ScriptCmd_loadspritegfx: @ 8072868 ldr r1, _080728C4 @ =gUnknown_2037EE0 movs r0, 0x1 strb r0, [r1] - ldr r1, _080728C8 @ =gUnknown_2037EDC + ldr r1, _080728C8 @ =gAnimScriptCallback ldr r0, _080728CC @ =WaitAnimFrameCount str r0, [r1] pop {r4-r6} @@ -512,7 +512,7 @@ _080728B8: .4byte gUnknown_8399388 _080728BC: .4byte gUnknown_8399C90 _080728C0: .4byte 0xffffd8f0 _080728C4: .4byte gUnknown_2037EE0 -_080728C8: .4byte gUnknown_2037EDC +_080728C8: .4byte gAnimScriptCallback _080728CC: .4byte WaitAnimFrameCount thumb_func_end ScriptCmd_loadspritegfx @@ -651,13 +651,13 @@ _080729CC: ldr r5, _08072A08 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -762,7 +762,7 @@ ScriptCmd_delay: @ 8072A8C _08072AAA: adds r0, r2, 0x1 str r0, [r1] - ldr r1, _08072AC4 @ =gUnknown_2037EDC + ldr r1, _08072AC4 @ =gAnimScriptCallback ldr r0, _08072AC8 @ =WaitAnimFrameCount str r0, [r1] pop {r4} @@ -771,7 +771,7 @@ _08072AAA: .align 2, 0 _08072ABC: .4byte gUnknown_2037ED4 _08072AC0: .4byte gUnknown_2037EE0 -_08072AC4: .4byte gUnknown_2037EDC +_08072AC4: .4byte gAnimScriptCallback _08072AC8: .4byte WaitAnimFrameCount thumb_func_end ScriptCmd_delay @@ -913,7 +913,7 @@ _08072BB2: bl sub_80767F0 movs r0, 0x1 bl UpdateOamPriorityInAllHealthboxes - ldr r0, _08072C04 @ =gUnknown_2037EE1 + ldr r0, _08072C04 @ =gAnimScriptActive mov r1, r8 strb r1, [r0] _08072BDC: @@ -930,7 +930,7 @@ _08072BF4: .4byte 0x0000ffff _08072BF8: .4byte gUnknown_83ACC08 _08072BFC: .4byte gUnknown_2037EEE _08072C00: .4byte gMPlayInfo_BGM -_08072C04: .4byte gUnknown_2037EE1 +_08072C04: .4byte gAnimScriptActive thumb_func_end sub_8072B08 thumb_func_start sub_8072C08 @@ -1175,11 +1175,11 @@ IsBattlerSpriteVisible: @ 8072DF0 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl sub_8075224 + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _08072E40 - ldr r0, _08072E34 @ =gUnknown_2024018 + ldr r0, _08072E34 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r4, 2 @@ -1206,7 +1206,7 @@ _08072E30: movs r0, 0x1 b _08072E42 .align 2, 0 -_08072E34: .4byte gUnknown_2024018 +_08072E34: .4byte gBattleSpritesDataPtr _08072E38: .4byte gSprites _08072E3C: .4byte gBattlerSpriteIds _08072E40: @@ -2772,7 +2772,7 @@ sub_8073A44: @ 8073A44 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08073A78 @ =gUnknown_2024018 + ldr r0, _08073A78 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _08073A7C @ =gBattleAnimAttacker ldrb r2, [r0] @@ -2795,7 +2795,7 @@ sub_8073A44: @ 8073A44 movs r4, 0x3F b _08073AE6 .align 2, 0 -_08073A78: .4byte gUnknown_2024018 +_08073A78: .4byte gBattleSpritesDataPtr _08073A7C: .4byte gBattleAnimAttacker _08073A80: adds r0, r2, 0 @@ -2874,7 +2874,7 @@ sub_8073B08: @ 8073B08 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08073B3C @ =gUnknown_2024018 + ldr r0, _08073B3C @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _08073B40 @ =gBattleAnimAttacker ldrb r2, [r0] @@ -2897,7 +2897,7 @@ sub_8073B08: @ 8073B08 movs r4, 0x3F b _08073B56 .align 2, 0 -_08073B3C: .4byte gUnknown_2024018 +_08073B3C: .4byte gBattleSpritesDataPtr _08073B40: .4byte gBattleAnimAttacker _08073B44: adds r0, r2, 0 @@ -3942,7 +3942,7 @@ sub_8074320: @ 8074320 ldrb r7, [r0, 0x1] adds r0, 0x2 str r0, [r1] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080743C2 @@ -4024,7 +4024,7 @@ sub_80743C8: @ 80743C8 ldrb r7, [r0, 0x1] adds r0, 0x2 str r0, [r1] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0807444C diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s index 0d12c15d0..c9cbfea7e 100644 --- a/asm/battle_anim_effects_1.s +++ b/asm/battle_anim_effects_1.s @@ -103,13 +103,13 @@ sub_80A2388: @ 80A2388 ldr r5, _080A23CC @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -143,13 +143,13 @@ sub_80A23D8: @ 80A23D8 ldr r5, _080A2424 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -182,7 +182,7 @@ sub_80A2430: @ 80A2430 ldr r5, _080A2484 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -190,7 +190,7 @@ sub_80A2430: @ 80A2430 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -345,13 +345,13 @@ sub_80A2580: @ 80A2580 ldr r5, _080A25C8 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -401,13 +401,13 @@ sub_80A25EC: @ 80A25EC ldr r4, _080A2634 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -438,7 +438,7 @@ _080A263C: ldr r4, _080A269C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -446,7 +446,7 @@ _080A263C: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -538,7 +538,7 @@ _080A2710: ldr r5, _080A2758 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -546,7 +546,7 @@ _080A2710: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -760,7 +760,7 @@ sub_80A28C4: @ 80A28C4 lsls r0, 24 cmp r0, 0 bne _080A28DE - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _080A28E6 @@ -814,7 +814,7 @@ sub_80A2920: @ 80A2920 ldr r0, _080A296C @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x4] @@ -916,7 +916,7 @@ sub_80A29EC: @ 80A29EC ldr r0, _080A2A38 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x4] @@ -1001,13 +1001,13 @@ sub_80A2AA4: @ 80A2AA4 ldr r5, _080A2AE0 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -1154,7 +1154,7 @@ _080A2BBC: ldr r4, _080A2BF8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -1162,7 +1162,7 @@ _080A2BBC: strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -1324,7 +1324,7 @@ sub_80A2D10: @ 80A2D10 lsls r0, 24 cmp r0, 0 bne _080A2D3C - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1805,7 +1805,7 @@ _080A30AA: _080A30C2: ldrb r0, [r6] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080A3100 @ =gBattleAnimArgs lsrs r0, 24 @@ -1814,7 +1814,7 @@ _080A30C2: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -1856,13 +1856,13 @@ _080A3104: ldr r4, _080A315C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -1892,13 +1892,13 @@ sub_80A3168: @ 80A3168 ldr r4, _080A31E0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1958,13 +1958,13 @@ sub_80A31EC: @ 80A31EC ldr r4, _080A32C8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord mov r8, r0 mov r0, r8 lsls r0, 24 @@ -1973,13 +1973,13 @@ sub_80A31EC: @ 80A31EC ldr r6, _080A32CC @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 subs r4, r5 @@ -2117,7 +2117,7 @@ sub_80A3334: @ 80A3334 ldr r5, _080A33B0 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080A33B4 @ =gBattleAnimArgs lsrs r0, 24 @@ -2126,7 +2126,7 @@ sub_80A3334: @ 80A3334 strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -2374,12 +2374,12 @@ sub_80A3518: @ 80A3518 ldr r4, _080A3560 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 ldr r0, _080A3564 @ =gBattleAnimAttacker @@ -2481,7 +2481,7 @@ sub_80A35F4: @ 80A35F4 ldr r4, _080A3630 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] @@ -2583,12 +2583,12 @@ sub_80A36B4: @ 80A36B4 ldr r4, _080A36FC @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 ldr r0, _080A3700 @ =gBattleAnimTarget @@ -3002,13 +3002,13 @@ sub_80A39C0: @ 80A39C0 strh r0, [r5, 0x10] ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x16] @@ -3894,7 +3894,7 @@ _080A40CE: _080A40D4: adds r0, r6, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5] @@ -3917,7 +3917,7 @@ _080A4100: ldr r0, _080A4144 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r7, [r7] @@ -4149,12 +4149,12 @@ _080A42C4: _080A42C6: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 ldr r0, _080A4304 @ =gBattleAnimArgs @@ -4428,13 +4428,13 @@ sub_80A44E0: @ 80A44E0 ldr r4, _080A4530 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -4531,7 +4531,7 @@ _080A45A8: movs r4, 0x2 eors r0, r4 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r5] @@ -4544,12 +4544,12 @@ _080A45C8: ldr r5, _080A4620 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 ldrb r0, [r5] @@ -4565,7 +4565,7 @@ _080A45C8: mov r2, r8 eors r0, r2 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 @@ -4574,7 +4574,7 @@ _080A45C8: mov r1, r8 eors r0, r1 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -4586,13 +4586,13 @@ _080A4624: ldr r4, _080A4670 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r4] _080A4634: movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 _080A463E: @@ -5202,14 +5202,14 @@ sub_80A4ACC: @ 80A4ACC ldr r6, _080A4B2C @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, _080A4B30 @ =0x0000ffe8 @@ -5551,7 +5551,7 @@ _080A4D78: ldr r0, _080A4DBC @ =gBattleAnimTarget _080A4D7A: ldrb r6, [r0] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080A4DC4 @@ -5590,7 +5590,7 @@ _080A4DC4: bne _080A4DE8 adds r0, r6, 0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -5602,14 +5602,14 @@ _080A4DE4: .4byte gBattleAnimArgs _080A4DE8: adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 _080A4DFA: - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -6036,14 +6036,14 @@ _080A5118: ldr r4, _080A5168 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -7134,7 +7134,7 @@ _080A595C: _080A595E: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -7142,7 +7142,7 @@ _080A595E: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7172,7 +7172,7 @@ sub_80A59A8: @ 80A59A8 ldr r5, _080A59E0 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, _080A59E4 @ =0x0000ffd0 @@ -7180,7 +7180,7 @@ sub_80A59A8: @ 80A59A8 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -7206,7 +7206,7 @@ sub_80A59F0: @ 80A59F0 ldr r5, _080A5A34 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, _080A5A38 @ =gBattleAnimArgs @@ -7218,7 +7218,7 @@ sub_80A59F0: @ 80A59F0 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -7343,7 +7343,7 @@ _080A5AF4: _080A5AF6: ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -7351,7 +7351,7 @@ _080A5AF6: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7417,14 +7417,14 @@ sub_80A5B7C: @ 80A5B7C ldr r6, _080A5BC4 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0xC @@ -7544,7 +7544,7 @@ sub_80A5C68: @ 80A5C68 ldr r4, _080A5CC8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r5, _080A5CCC @ =gBattleAnimArgs lsrs r0, 24 @@ -7553,7 +7553,7 @@ sub_80A5C68: @ 80A5C68 strh r0, [r6, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x2] @@ -7701,13 +7701,13 @@ _080A5D90: ldr r4, _080A5DD4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -7781,7 +7781,7 @@ sub_80A5E34: @ 80A5E34 cmp r4, r0 bcs _080A5E90 ldr r6, _080A5EA0 @ =gBattleAnimArgs - ldr r5, _080A5EA4 @ =gUnknown_3004FF0 + ldr r5, _080A5EA4 @ =gHealthboxSpriteIds _080A5E48: movs r1, 0 ldrsh r0, [r6, r1] @@ -7826,7 +7826,7 @@ _080A5E90: .align 2, 0 _080A5E9C: .4byte gBattlersCount _080A5EA0: .4byte gBattleAnimArgs -_080A5EA4: .4byte gUnknown_3004FF0 +_080A5EA4: .4byte gHealthboxSpriteIds thumb_func_end sub_80A5E34 thumb_func_start sub_80A5EA8 @@ -7837,7 +7837,7 @@ sub_80A5EA8: @ 80A5EA8 movs r4, 0 b _080A5EC2 _080A5EB2: - ldr r0, _080A5ED8 @ =gUnknown_3004FF0 + ldr r0, _080A5ED8 @ =gHealthboxSpriteIds adds r0, r4, r0 ldrb r0, [r0] bl SetHealthboxSpriteVisible @@ -7855,7 +7855,7 @@ _080A5EC2: pop {r0} bx r0 .align 2, 0 -_080A5ED8: .4byte gUnknown_3004FF0 +_080A5ED8: .4byte gHealthboxSpriteIds _080A5EDC: .4byte gBattlersCount thumb_func_end sub_80A5EA8 @@ -7920,7 +7920,7 @@ sub_80A5F40: @ 80A5F40 ldr r0, _080A5F78 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r2, _080A5F7C @ =gBattleAnimArgs lsrs r0, 24 @@ -8333,7 +8333,7 @@ _080A6262: ldr r4, _080A62CC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6] @@ -8341,7 +8341,7 @@ _080A6262: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x2] @@ -8948,12 +8948,12 @@ _080A6734: ldr r4, _080A6784 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 _080A674E: @@ -9161,7 +9161,7 @@ sub_80A68B0: @ 80A68B0 _080A68CE: ldrb r0, [r7] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080A6938 @ =gBattleAnimArgs lsrs r0, 24 @@ -9171,7 +9171,7 @@ _080A68CE: strh r0, [r6, 0x20] ldrb r0, [r7] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r4, 0x4] @@ -9300,14 +9300,14 @@ _080A69DE: ldr r4, _080A6A1C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x8 @@ -9470,7 +9470,7 @@ _080A6B36: strh r0, [r6, 0x20] adds r0, r5, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 adds r0, r5, 0 movs r1, 0 @@ -9654,7 +9654,7 @@ _080A6CA2: ldrb r5, [r0] adds r0, r5, 0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r6, 0 diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s index a2a1a6731..339ffcba9 100644 --- a/asm/battle_anim_effects_2.s +++ b/asm/battle_anim_effects_2.s @@ -185,13 +185,13 @@ sub_80A6F8C: @ 80A6F8C ldr r4, _080A6FD4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -639,7 +639,7 @@ _080A730E: ldr r4, _080A73BC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r6, _080A73B8 @ =gBattleAnimArgs lsrs r0, 24 @@ -650,7 +650,7 @@ _080A730E: mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x6] @@ -1194,7 +1194,7 @@ _080A7754: strh r0, [r3, 0x4] b _080A77B6 _080A775C: - ldr r1, _080A77A0 @ =gUnknown_2023BD6 + ldr r1, _080A77A0 @ =gBattlerPositions ldr r0, _080A77A4 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 @@ -1228,7 +1228,7 @@ _080A775C: ands r0, r1 b _080A77B4 .align 2, 0 -_080A77A0: .4byte gUnknown_2023BD6 +_080A77A0: .4byte gBattlerPositions _080A77A4: .4byte gBattleAnimTarget _080A77A8: .4byte gTasks _080A77AC: .4byte gBattleAnimArgs @@ -1241,7 +1241,7 @@ _080A77B6: ldr r5, _080A7810 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord ldr r1, _080A7814 @ =gTasks mov r3, r8 adds r4, r3, r7 @@ -1253,7 +1253,7 @@ _080A77B6: adds r6, r0, 0 ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] @@ -1288,13 +1288,13 @@ _080A7820: ldr r4, _080A787C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r1, r10 @@ -1596,12 +1596,12 @@ sub_80A7A88: @ 80A7A88 ldr r4, _080A7B28 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080A7B2C @ =gBattleAnimArgs lsrs r0, 24 @@ -1754,13 +1754,13 @@ sub_80A7BC4: @ 80A7BC4 ldr r5, _080A7C10 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1986,14 +1986,14 @@ _080A7D90: ldr r4, _080A7DEC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 add r0, r8 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -2079,7 +2079,7 @@ _080A7E48: ldr r4, _080A7EB4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 add r0, r9 @@ -2088,7 +2088,7 @@ _080A7E48: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -2959,7 +2959,7 @@ sub_80A851C: @ 80A851C bl StartSpriteAnim ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -2974,7 +2974,7 @@ _080A8550: bl StartSpriteAnim ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x20 @@ -2985,7 +2985,7 @@ _080A856A: ldr r0, _080A85A0 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -3042,7 +3042,7 @@ _080A85CA: _080A85E4: adds r0, r5, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080A862C @ =gBattleAnimArgs lsrs r0, 24 @@ -3051,7 +3051,7 @@ _080A85E4: strh r0, [r6, 0x20] adds r0, r5, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x4] @@ -3602,7 +3602,7 @@ sub_80A8A1C: @ 80A8A1C ldr r6, _080A8A70 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -3849,7 +3849,7 @@ _080A8BF2: movs r0, 0x1 adds r4, r0, 0 eors r4, r1 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080A8C6A @@ -3876,7 +3876,7 @@ _080A8C30: adds r0, r5, 0 movs r1, 0x2 _080A8C34: - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r4, r0, 24 adds r0, r5, 0 @@ -3995,7 +3995,7 @@ _080A8D10: beq _080A8D6C adds r0, r7, 0 mov r1, r10 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r1, _080A8D50 @ =gBattleAnimArgs lsrs r0, 24 @@ -4031,7 +4031,7 @@ _080A8D68: .4byte gBattlerSpriteIds _080A8D6C: adds r0, r7, 0 mov r1, r10 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r1, _080A8DD4 @ =gBattleAnimArgs @@ -4104,7 +4104,7 @@ _080A8DFA: strb r0, [r1] adds r0, r7, 0 ldr r1, [sp, 0x4] - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080A8E48 @ =gBattleAnimArgs lsrs r0, 24 @@ -4138,13 +4138,13 @@ _080A8E4C: mov r4, sp mov r0, r8 mov r1, r10 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4] mov r0, r8 ldr r1, [sp, 0x4] - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r2, sp @@ -5007,13 +5007,13 @@ sub_80A94AC: @ 80A94AC ldr r5, _080A9500 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x24] ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x26] @@ -5428,7 +5428,7 @@ _080A9808: strh r0, [r5, 0x2E] ldrb r0, [r6] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -5436,7 +5436,7 @@ _080A9808: strh r0, [r5, 0x32] ldrb r0, [r6] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -5830,7 +5830,7 @@ sub_80A9B40: @ 80A9B40 ldr r5, _080A9B84 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -5838,7 +5838,7 @@ sub_80A9B40: @ 80A9B40 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -6585,13 +6585,13 @@ sub_80AA174: @ 80AA174 ldr r5, _080AA1C8 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -6743,13 +6743,13 @@ sub_80AA2B0: @ 80AA2B0 ldr r4, _080AA2F8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -6851,13 +6851,13 @@ sub_80AA37C: @ 80AA37C ldr r4, _080AA3C8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -7345,13 +7345,13 @@ _080AA734: _080AA736: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -7508,7 +7508,7 @@ _080AA856: _080AA870: adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r7, _080AA8F0 @ =gBattleAnimArgs lsrs r0, 24 @@ -7518,7 +7518,7 @@ _080AA870: strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r7, 0x4] @@ -7872,13 +7872,13 @@ _080AAB30: ldr r4, _080AAB70 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x28 diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s index de012070d..cc002606a 100644 --- a/asm/battle_anim_effects_3.s +++ b/asm/battle_anim_effects_3.s @@ -92,7 +92,7 @@ sub_80DE34C: @ 80DE34C ldr r6, _080DE398 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 8 @@ -102,7 +102,7 @@ sub_80DE34C: @ 80DE34C asrs r4, 16 ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 lsrs r1, 8 @@ -216,13 +216,13 @@ sub_80DE440: @ 80DE440 ldr r4, _080DE4CC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r7, r0, 0 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r6, r0, 0 @@ -1311,13 +1311,13 @@ sub_80DEC90: @ 80DEC90 ldr r4, _080DED08 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1590,7 +1590,7 @@ _080DEED8: _080DEEDA: ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x2] @@ -1598,7 +1598,7 @@ _080DEEDA: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2005,13 +2005,13 @@ sub_80DF1DC: @ 80DF1DC ldr r6, _080DF234 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xC] ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xE] @@ -2394,13 +2394,13 @@ _080DF4C4: ldr r4, _080DF51C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -2491,13 +2491,13 @@ _080DF5AA: ldr r4, _080DF5DC @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2950,7 +2950,7 @@ _080DF90A: ldr r0, _080DF930 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -3140,7 +3140,7 @@ _080DFA86: lsls r2, 3 adds r2, r3 ldrb r2, [r2, 0x1C] - bl sub_8034BF4 + bl HandleSpeciesGfxDataChange ldrb r1, [r6] mov r0, sp bl sub_8075300 @@ -3273,13 +3273,13 @@ _080DFB8A: cmp r0, 0 bne _080DFBC8 ldrb r0, [r4] - ldr r1, _080DFBE0 @ =gUnknown_2024018 + ldr r1, _080DFBE0 @ =gBattleSpritesDataPtr ldr r1, [r1] ldr r2, [r1] lsls r1, r0, 2 adds r1, r2 ldrh r1, [r1, 0x2] - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback _080DFBC8: adds r0, r5, 0 bl DestroyAnimVisualTask @@ -3291,7 +3291,7 @@ _080DFBCE: .align 2, 0 _080DFBD8: .4byte gBattleAnimAttacker _080DFBDC: .4byte gTasks -_080DFBE0: .4byte gUnknown_2024018 +_080DFBE0: .4byte gBattleSpritesDataPtr thumb_func_end sub_80DF9BC thumb_func_start c3_80DFBE4 @@ -3337,7 +3337,7 @@ sub_80DFC24: @ 80DFC24 ldr r1, _080DFC4C @ =gBattleAnimTarget ldrb r1, [r1] movs r2, 0x1 - bl sub_8034BF4 + bl HandleSpeciesGfxDataChange adds r0, r4, 0 bl DestroyAnimVisualTask pop {r4} @@ -3678,14 +3678,14 @@ _080DFF06: ldr r4, _080E0000 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r5 strh r0, [r7, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -4094,7 +4094,7 @@ _080E0264: bl GetBattlerPosition lsls r0, 24 lsrs r4, r0, 24 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -5116,13 +5116,13 @@ sub_80E0A3C: @ 80E0A3C ldr r4, _080E0A98 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -5675,13 +5675,13 @@ sub_80E0E94: @ 80E0E94 ldr r5, _080E0ED0 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -5856,7 +5856,7 @@ sub_80E0FB8: @ 80E0FB8 movs r1, 0x1 bl GetMonData mov r9, r0 - ldr r0, _080E1050 @ =gUnknown_2024018 + ldr r0, _080E1050 @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -5882,7 +5882,7 @@ _080E1040: .4byte gBattleAnimAttacker _080E1044: .4byte gBattlerPartyIndexes _080E1048: .4byte gBattleAnimTarget _080E104C: .4byte gPlayerParty -_080E1050: .4byte gUnknown_2024018 +_080E1050: .4byte gBattleSpritesDataPtr _080E1054: ldrb r0, [r4] lsls r0, 1 @@ -5930,7 +5930,7 @@ _080E107C: movs r1, 0x1 bl GetMonData mov r9, r0 - ldr r0, _080E10EC @ =gUnknown_2024018 + ldr r0, _080E10EC @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -5956,7 +5956,7 @@ _080E107C: _080E10E0: .4byte gBattlerPartyIndexes _080E10E4: .4byte gBattleAnimTarget _080E10E8: .4byte gEnemyParty -_080E10EC: .4byte gUnknown_2024018 +_080E10EC: .4byte gBattleSpritesDataPtr _080E10F0: .4byte gPlayerParty _080E10F4: ldrb r0, [r4] @@ -5985,13 +5985,13 @@ _080E1112: ldr r5, _080E1200 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 mov r2, r8 lsls r1, r2, 16 @@ -7031,7 +7031,7 @@ _080E194E: ldr r4, _080E1988 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] @@ -7039,7 +7039,7 @@ _080E194E: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x4] @@ -7602,13 +7602,13 @@ _080E1DA2: ldrb r4, [r0] adds r0, r4, 0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] adds r0, r4, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] @@ -8031,7 +8031,7 @@ sub_80E20D4: @ 80E20D4 _080E20F0: ldrb r0, [r6] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080E2130 @ =gBattleAnimArgs lsrs r0, 24 @@ -8040,7 +8040,7 @@ _080E20F0: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -8164,7 +8164,7 @@ sub_80E21CC: @ 80E21CC bne _080E2224 ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -8186,7 +8186,7 @@ _080E2220: .4byte gBattleAnimAttacker _080E2224: ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -8206,7 +8206,7 @@ _080E2248: ldr r5, _080E229C @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 @@ -8225,13 +8225,13 @@ _080E226C: ldr r4, _080E22A0 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x24] @@ -8595,14 +8595,14 @@ sub_80E2518: @ 80E2518 mov r10, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x1E] mov r1, r10 ldrb r0, [r1] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x20] @@ -8610,14 +8610,14 @@ sub_80E2518: @ 80E2518 mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r7, 0x22] mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 mov r1, r8 ldrb r0, [r1] @@ -8918,7 +8918,7 @@ _080E27C0: strh r1, [r4, 0x3C] adds r0, r5, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -9225,7 +9225,7 @@ _080E2A0C: _080E2A0E: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -9617,7 +9617,7 @@ sub_80E2CE4: @ 80E2CE4 lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r7, r0, 24 cmp r7, 0x1 @@ -9625,7 +9625,7 @@ sub_80E2CE4: @ 80E2CE4 ldr r5, _080E2D38 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -9633,7 +9633,7 @@ sub_80E2CE4: @ 80E2CE4 movs r0, 0x2 eors r0, r1 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -10074,14 +10074,14 @@ _080E307C: lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r1, r0, 24 _080E309C: @@ -10298,10 +10298,10 @@ sub_80E321C: @ 80E321C ldr r4, _080E3250 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -10676,7 +10676,7 @@ _080E350C: ldr r0, _080E352C @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -10927,7 +10927,7 @@ _080E36B4: adds r0, r2 movs r1, 0x2 strh r1, [r0, 0x8] - ldr r0, _080E3750 @ =gUnknown_2024018 + ldr r0, _080E3750 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _080E3754 @ =gBattleAnimTarget ldrb r0, [r0] @@ -10960,7 +10960,7 @@ _080E36B4: _080E3744: .4byte gSprites _080E3748: .4byte 0x0000fff0 _080E374C: .4byte gTasks -_080E3750: .4byte gUnknown_2024018 +_080E3750: .4byte gBattleSpritesDataPtr _080E3754: .4byte gBattleAnimTarget _080E3758: adds r1, r5, 0 @@ -11063,7 +11063,7 @@ sub_80E37FC: @ 80E37FC ble _080E3846 movs r0, 0 strh r0, [r4, 0x30] - ldr r0, _080E3870 @ =gUnknown_2024018 + ldr r0, _080E3870 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _080E3874 @ =gBattleAnimTarget ldrb r0, [r0] @@ -11111,7 +11111,7 @@ _080E3846: beq _080E3890 b _080E38CE .align 2, 0 -_080E3870: .4byte gUnknown_2024018 +_080E3870: .4byte gBattleSpritesDataPtr _080E3874: .4byte gBattleAnimTarget _080E3878: ldrh r0, [r4, 0x32] @@ -11364,7 +11364,7 @@ _080E3A2C: movs r1, 0x1 bl GetMonData mov r9, r0 - ldr r0, _080E3A9C @ =gUnknown_2024018 + ldr r0, _080E3A9C @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -11387,7 +11387,7 @@ _080E3A2C: _080E3A90: .4byte gBattleAnimAttacker _080E3A94: .4byte gBattlerPartyIndexes _080E3A98: .4byte gPlayerParty -_080E3A9C: .4byte gUnknown_2024018 +_080E3A9C: .4byte gBattleSpritesDataPtr _080E3AA0: ldrh r5, [r1, 0x2] _080E3AA2: @@ -11433,7 +11433,7 @@ _080E3ACC: movs r1, 0x1 bl GetMonData mov r9, r0 - ldr r0, _080E3B2C @ =gUnknown_2024018 + ldr r0, _080E3B2C @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r2, [r4] ldr r1, [r0] @@ -11455,7 +11455,7 @@ _080E3ACC: .align 2, 0 _080E3B24: .4byte gBattlerPartyIndexes _080E3B28: .4byte gEnemyParty -_080E3B2C: .4byte gUnknown_2024018 +_080E3B2C: .4byte gBattleSpritesDataPtr _080E3B30: ldrh r5, [r1, 0x2] _080E3B32: @@ -11479,7 +11479,7 @@ _080E3B54: ldr r0, _080E3BD8 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 lsls r3, r6, 16 @@ -11501,7 +11501,7 @@ _080E3B54: bl sub_80768D0 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080E3BE0 @ =gUnknown_2024018 + ldr r0, _080E3BE0 @ =gBattleSpritesDataPtr ldr r1, [r0] ldrb r0, [r4] ldr r1, [r1] @@ -11540,7 +11540,7 @@ _080E3BD0: .4byte gSprites _080E3BD4: .4byte 0x0000ffe0 _080E3BD8: .4byte gBattleAnimTarget _080E3BDC: .4byte gBattleAnimAttacker -_080E3BE0: .4byte gUnknown_2024018 +_080E3BE0: .4byte gBattleSpritesDataPtr _080E3BE4: .4byte 0x00007fff _080E3BE8: .4byte gTasks _080E3BEC: @@ -11627,7 +11627,7 @@ _080E3C5A: ldr r0, _080E3CB4 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11644,7 +11644,7 @@ _080E3CB8: ldr r0, _080E3CFC @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -11790,7 +11790,7 @@ _080E3D90: mov r1, r10 ldrb r0, [r1] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -11823,7 +11823,7 @@ _080E3E10: mov r2, r10 ldrb r0, [r2] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r3, r5, 0 @@ -11892,7 +11892,7 @@ _080E3E96: ldr r0, _080E3F18 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -12054,14 +12054,14 @@ _080E4004: ldr r0, _080E4048 @ =gBattleAnimAttacker ldrb r0, [r0] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 ldr r0, _080E404C @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 @@ -12526,7 +12526,7 @@ sub_80E43A4: @ 80E43A4 ldr r4, _080E43E8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s index b971694e3..060a2af23 100644 --- a/asm/battle_anim_mons.s +++ b/asm/battle_anim_mons.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8074480 -sub_8074480: @ 8074480 + thumb_func_start GetBattlerSpriteCoord +GetBattlerSpriteCoord: @ 8074480 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 @@ -70,7 +70,7 @@ _08074500: lsls r0, 24 cmp r0, 0 beq _08074538 - ldr r0, _0807452C @ =gUnknown_2024018 + ldr r0, _0807452C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -87,11 +87,11 @@ _08074500: ldr r1, _08074534 @ =gEnemyParty b _08074556 .align 2, 0 -_0807452C: .4byte gUnknown_2024018 +_0807452C: .4byte gBattleSpritesDataPtr _08074530: .4byte gBattlerPartyIndexes _08074534: .4byte gEnemyParty _08074538: - ldr r0, _08074564 @ =gUnknown_2024018 + ldr r0, _08074564 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -114,7 +114,7 @@ _08074556: lsrs r1, r0, 16 b _08074572 .align 2, 0 -_08074564: .4byte gUnknown_2024018 +_08074564: .4byte gBattleSpritesDataPtr _08074568: .4byte gBattlerPartyIndexes _0807456C: .4byte gPlayerParty _08074570: @@ -136,7 +136,7 @@ _08074588: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_8074480 + thumb_func_end GetBattlerSpriteCoord thumb_func_start sub_8074590 sub_8074590: @ 8074590 @@ -154,7 +154,7 @@ sub_8074590: @ 8074590 bne _08074674 cmp r4, 0xC9 bne _08074638 - ldr r0, _080745D8 @ =gUnknown_2024018 + ldr r0, _080745D8 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] lsls r1, r5, 2 @@ -175,11 +175,11 @@ sub_8074590: @ 8074590 adds r2, r0, 0 b _080745EA .align 2, 0 -_080745D8: .4byte gUnknown_2024018 +_080745D8: .4byte gBattleSpritesDataPtr _080745DC: .4byte gBattlerPartyIndexes _080745E0: .4byte gPlayerParty _080745E4: - ldr r0, _08074620 @ =gUnknown_2024008 + ldr r0, _08074620 @ =gTransformedPersonalities adds r0, r1, r0 ldr r2, [r0] _080745EA: @@ -209,7 +209,7 @@ _080745EA: adds r0, r7, 0 b _0807462E .align 2, 0 -_08074620: .4byte gUnknown_2024008 +_08074620: .4byte gTransformedPersonalities _08074624: movs r1, 0xCE lsls r1, 1 @@ -255,7 +255,7 @@ _08074670: .4byte gUnknown_8235E6C _08074674: cmp r4, 0xC9 bne _08074704 - ldr r0, _080746A4 @ =gUnknown_2024018 + ldr r0, _080746A4 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] lsls r1, r5, 2 @@ -276,11 +276,11 @@ _08074674: adds r2, r0, 0 b _080746B6 .align 2, 0 -_080746A4: .4byte gUnknown_2024018 +_080746A4: .4byte gBattleSpritesDataPtr _080746A8: .4byte gBattlerPartyIndexes _080746AC: .4byte gEnemyParty _080746B0: - ldr r0, _080746EC @ =gUnknown_2024008 + ldr r0, _080746EC @ =gTransformedPersonalities adds r0, r1, r0 ldr r2, [r0] _080746B6: @@ -310,7 +310,7 @@ _080746B6: adds r0, r7, 0 b _080746FA .align 2, 0 -_080746EC: .4byte gUnknown_2024008 +_080746EC: .4byte gTransformedPersonalities _080746F0: movs r1, 0xCE lsls r1, 1 @@ -397,12 +397,12 @@ _08074788: lsls r0, 1 cmp r4, r0 bls _08074798 - ldr r0, _08074794 @ =gUnknown_823A004 + ldr r0, _08074794 @ =gEnemyMonElevation b _0807479C .align 2, 0 -_08074794: .4byte gUnknown_823A004 +_08074794: .4byte gEnemyMonElevation _08074798: - ldr r0, _080747A8 @ =gUnknown_823A004 + ldr r0, _080747A8 @ =gEnemyMonElevation adds r0, r7, r0 _0807479C: ldrb r5, [r0] @@ -412,7 +412,7 @@ _0807479E: pop {r1} bx r1 .align 2, 0 -_080747A8: .4byte gUnknown_823A004 +_080747A8: .4byte gEnemyMonElevation thumb_func_end sub_807474C thumb_func_start sub_80747AC @@ -504,7 +504,7 @@ sub_8074844: @ 8074844 lsrs r1, 24 cmp r1, 0x1 bhi _08074896 - ldr r0, _08074874 @ =gUnknown_2024018 + ldr r0, _08074874 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r2, 2 @@ -518,7 +518,7 @@ sub_8074844: @ 8074844 ldrh r1, [r0] b _0807487E .align 2, 0 -_08074874: .4byte gUnknown_2024018 +_08074874: .4byte gBattleSpritesDataPtr _08074878: .4byte gUnknown_2037F1C _0807487C: ldrh r1, [r1, 0x2] @@ -537,7 +537,7 @@ _0807488C: _08074896: adds r0, r2, 0 adds r1, r3, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord _0807489E: lsls r0, 24 lsrs r0, 24 @@ -545,18 +545,18 @@ _0807489E: bx r1 thumb_func_end sub_8074844 - thumb_func_start GetBankSpriteDefault_Y -GetBankSpriteDefault_Y: @ 80748A8 + thumb_func_start GetBattlerSpriteDefault_Y +GetBattlerSpriteDefault_Y: @ 80748A8 push {lr} lsls r0, 24 lsrs r0, 24 movs r1, 0x4 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end GetBankSpriteDefault_Y + thumb_func_end GetBattlerSpriteDefault_Y thumb_func_start GetSubstituteSpriteDefault_Y GetSubstituteSpriteDefault_Y: @ 80748BC @@ -570,7 +570,7 @@ GetSubstituteSpriteDefault_Y: @ 80748BC beq _080748E0 adds r0, r4, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0x80 @@ -579,7 +579,7 @@ GetSubstituteSpriteDefault_Y: @ 80748BC _080748E0: adds r0, r4, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0x88 @@ -612,7 +612,7 @@ _0807491A: adds r0, r4, 0 movs r1, 0x4 _0807491E: - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 pop {r4} @@ -627,7 +627,7 @@ sub_807492C: @ 807492C lsrs r5, r0, 24 adds r0, r5, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 adds r0, r5, 0 @@ -635,7 +635,7 @@ sub_807492C: @ 807492C lsls r0, 24 cmp r0, 0 beq _08074978 - ldr r0, _0807496C @ =gUnknown_2024018 + ldr r0, _0807496C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -652,11 +652,11 @@ sub_807492C: @ 807492C ldr r1, _08074974 @ =gEnemyParty b _08074996 .align 2, 0 -_0807496C: .4byte gUnknown_2024018 +_0807496C: .4byte gBattleSpritesDataPtr _08074970: .4byte gBattlerPartyIndexes _08074974: .4byte gEnemyParty _08074978: - ldr r0, _080749A4 @ =gUnknown_2024018 + ldr r0, _080749A4 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -679,7 +679,7 @@ _08074996: lsrs r4, r0, 16 b _080749B2 .align 2, 0 -_080749A4: .4byte gUnknown_2024018 +_080749A4: .4byte gBattleSpritesDataPtr _080749A8: .4byte gBattlerPartyIndexes _080749AC: .4byte gPlayerParty _080749B0: @@ -713,7 +713,7 @@ GetAnimBankSpriteId: @ 80749D4 bne _080749FC ldr r4, _080749F4 @ =gBattleAnimAttacker ldrb r0, [r4] - bl sub_8075224 + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _08074A4A @@ -728,7 +728,7 @@ _080749FC: bne _08074A1C ldr r4, _08074A14 @ =gBattleAnimTarget ldrb r0, [r4] - bl sub_8075224 + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _08074A4A @@ -1245,13 +1245,13 @@ sub_8074D80: @ 8074D80 ldr r5, _08074DBC @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1446,13 +1446,13 @@ sub_8074EF4: @ 8074EF4 ldr r5, _08074F30 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1556,13 +1556,13 @@ sub_8074FCC: @ 8074FCC ldr r4, _08074FF4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1585,13 +1585,13 @@ sub_8074FF8: @ 8074FF8 ldr r7, _08075030 @ =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldr r0, _08075034 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -1824,26 +1824,26 @@ _080751C0: .4byte gBattleAnimArgs GetBattlerSide: @ 80751C4 lsls r0, 24 lsrs r0, 24 - ldr r1, _080751D4 @ =gUnknown_2023BD6 + ldr r1, _080751D4 @ =gBattlerPositions adds r0, r1 ldrb r1, [r0] movs r0, 0x1 ands r0, r1 bx lr .align 2, 0 -_080751D4: .4byte gUnknown_2023BD6 +_080751D4: .4byte gBattlerPositions thumb_func_end GetBattlerSide thumb_func_start GetBattlerPosition GetBattlerPosition: @ 80751D8 lsls r0, 24 lsrs r0, 24 - ldr r1, _080751E4 @ =gUnknown_2023BD6 + ldr r1, _080751E4 @ =gBattlerPositions adds r0, r1 ldrb r0, [r0] bx lr .align 2, 0 -_080751E4: .4byte gUnknown_2023BD6 +_080751E4: .4byte gBattlerPositions thumb_func_end GetBattlerPosition thumb_func_start GetBattlerAtPosition @@ -1856,7 +1856,7 @@ GetBattlerAtPosition: @ 80751E8 ldrb r2, [r0] cmp r1, r2 bcs _08075212 - ldr r4, _08075220 @ =gUnknown_2023BD6 + ldr r4, _08075220 @ =gBattlerPositions ldrb r0, [r4] cmp r0, r3 beq _08075212 @@ -1877,16 +1877,16 @@ _08075212: bx r1 .align 2, 0 _0807521C: .4byte gBattlersCount -_08075220: .4byte gUnknown_2023BD6 +_08075220: .4byte gBattlerPositions thumb_func_end GetBattlerAtPosition - thumb_func_start sub_8075224 -sub_8075224: @ 8075224 + thumb_func_start IsBattlerSpritePresent +IsBattlerSpritePresent: @ 8075224 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - ldr r0, _08075254 @ =gUnknown_2023BD6 + ldr r0, _08075254 @ =gBattlerPositions adds r0, r4, r0 ldrb r0, [r0] cmp r0, 0xFF @@ -1905,7 +1905,7 @@ sub_8075224: @ 8075224 ldr r1, _0807525C @ =gEnemyParty b _0807526E .align 2, 0 -_08075254: .4byte gUnknown_2023BD6 +_08075254: .4byte gBattlerPositions _08075258: .4byte gBattlerPartyIndexes _0807525C: .4byte gEnemyParty _08075260: @@ -1933,10 +1933,10 @@ _0807528A: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_8075224 + thumb_func_end IsBattlerSpritePresent - thumb_func_start sub_8075290 -sub_8075290: @ 8075290 + thumb_func_start IsDoubleBattle +IsDoubleBattle: @ 8075290 ldr r0, _0807529C @ =gBattleTypeFlags ldr r0, [r0] movs r1, 0x1 @@ -1944,7 +1944,7 @@ sub_8075290: @ 8075290 bx lr .align 2, 0 _0807529C: .4byte gBattleTypeFlags - thumb_func_end sub_8075290 + thumb_func_end IsDoubleBattle thumb_func_start sub_80752A0 sub_80752A0: @ 80752A0 @@ -2865,7 +2865,7 @@ _08075914: lsls r0, 30 cmp r0, 0 bne _0807595C - ldr r0, _0807597C @ =gUnknown_2024018 + ldr r0, _0807597C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r6, 1 @@ -2898,7 +2898,7 @@ _0807595C: bx r0 .align 2, 0 _08075978: .4byte gSprites -_0807597C: .4byte gUnknown_2024018 +_0807597C: .4byte gBattleSpritesDataPtr thumb_func_end PrepareBattlerSpriteForRotScale thumb_func_start ResetSpriteRotScale @@ -3533,7 +3533,7 @@ _08075E30: ldr r4, _08075E74 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -3541,7 +3541,7 @@ _08075E30: strh r0, [r5, 0x32] ldrb r0, [r4] adds r1, r7, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -3586,7 +3586,7 @@ _08075EA0: ldr r5, _08075EE8 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -3594,7 +3594,7 @@ _08075EA0: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -3687,7 +3687,7 @@ _08075F62: strh r0, [r5, 0x2E] adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r4, 0x4] @@ -3695,7 +3695,7 @@ _08075F62: strh r0, [r5, 0x32] adds r0, r6, 0 adds r1, r7, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -4441,7 +4441,7 @@ _08076508: lsls r0, 24 cmp r0, 0 bne _08076568 - ldr r0, _08076554 @ =gUnknown_2024018 + ldr r0, _08076554 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -4465,7 +4465,7 @@ _08076508: _08076548: .4byte gSprites _0807654C: .4byte gBattlerSpriteIds _08076550: .4byte gBattlerPartyIndexes -_08076554: .4byte gUnknown_2024018 +_08076554: .4byte gBattleSpritesDataPtr _08076558: .4byte gPlayerParty _0807655C: ldrh r1, [r1, 0x2] @@ -4475,7 +4475,7 @@ _0807655E: .align 2, 0 _08076564: .4byte gUnknown_8235E6C _08076568: - ldr r0, _08076594 @ =gUnknown_2024018 + ldr r0, _08076594 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r5, 2 @@ -4496,7 +4496,7 @@ _08076568: lsrs r1, r0, 16 b _0807659E .align 2, 0 -_08076594: .4byte gUnknown_2024018 +_08076594: .4byte gBattleSpritesDataPtr _08076598: .4byte gEnemyParty _0807659C: ldrh r1, [r1, 0x2] @@ -5019,7 +5019,7 @@ _0807694E: adds r0, r6, 0 ldr r1, [sp, 0x3C] mov r2, r8 - bl GetFrontSpritePalFromSpeciesAndPersonality + bl GetMonSpritePalFromSpeciesAndPersonality lsls r1, r5, 20 movs r2, 0x80 lsls r2, 17 @@ -5039,7 +5039,7 @@ _0807694E: lsrs r0, 24 cmp r0, 0x1 beq _0807699A - ldr r0, _080769BC @ =gUnknown_2024018 + ldr r0, _080769BC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] ldr r2, [sp, 0x40] @@ -5064,7 +5064,7 @@ _0807699A: _080769B0: .4byte gUnknown_83AE084 _080769B4: .4byte gUnknown_83AE054 _080769B8: .4byte gMonSpritesGfxPtr -_080769BC: .4byte gUnknown_2024018 +_080769BC: .4byte gBattleSpritesDataPtr _080769C0: .4byte gMonFrontPicTable _080769C4: lsls r0, r6, 3 @@ -5089,7 +5089,7 @@ _080769EC: adds r0, r6, 0 ldr r1, [sp, 0x3C] mov r2, r8 - bl GetFrontSpritePalFromSpeciesAndPersonality + bl GetMonSpritePalFromSpeciesAndPersonality lsls r1, r5, 20 movs r3, 0x80 lsls r3, 17 @@ -5109,7 +5109,7 @@ _080769EC: lsrs r0, 24 cmp r0, 0x1 beq _08076A32 - ldr r0, _08076A54 @ =gUnknown_2024018 + ldr r0, _08076A54 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] ldr r3, [sp, 0x40] @@ -5136,7 +5136,7 @@ _08076A46: bl LoadSpecialPokePic_DontHandleDeoxys b _08076A7C .align 2, 0 -_08076A54: .4byte gUnknown_2024018 +_08076A54: .4byte gBattleSpritesDataPtr _08076A58: .4byte gMonBackPicTable _08076A5C: .4byte gMonSpritesGfxPtr _08076A60: @@ -5254,7 +5254,7 @@ sub_8076B2C: @ 8076B2C lsls r0, 24 cmp r0, 0 bne _08076C08 - ldr r0, _08076B88 @ =gUnknown_2024018 + ldr r0, _08076B88 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] mov r1, r8 @@ -5284,12 +5284,12 @@ sub_8076B2C: @ 8076B2C adds r2, r0, 0 b _08076B9C .align 2, 0 -_08076B88: .4byte gUnknown_2024018 +_08076B88: .4byte gBattleSpritesDataPtr _08076B8C: .4byte gBattlerPartyIndexes _08076B90: .4byte gPlayerParty _08076B94: ldrh r7, [r1, 0x2] - ldr r0, _08076BD4 @ =gUnknown_2024008 + ldr r0, _08076BD4 @ =gTransformedPersonalities adds r0, r2, r0 ldr r2, [r0] _08076B9C: @@ -5321,7 +5321,7 @@ _08076B9C: movs r0, 0xC9 b _08076BE2 .align 2, 0 -_08076BD4: .4byte gUnknown_2024008 +_08076BD4: .4byte gTransformedPersonalities _08076BD8: movs r1, 0xCE lsls r1, 1 @@ -5350,7 +5350,7 @@ _08076BFC: .align 2, 0 _08076C04: .4byte gUnknown_8235E6C _08076C08: - ldr r0, _08076C48 @ =gUnknown_2024018 + ldr r0, _08076C48 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] mov r1, r8 @@ -5380,12 +5380,12 @@ _08076C08: adds r2, r0, 0 b _08076C5C .align 2, 0 -_08076C48: .4byte gUnknown_2024018 +_08076C48: .4byte gBattleSpritesDataPtr _08076C4C: .4byte gBattlerPartyIndexes _08076C50: .4byte gEnemyParty _08076C54: ldrh r7, [r1, 0x2] - ldr r0, _08076C94 @ =gUnknown_2024008 + ldr r0, _08076C94 @ =gTransformedPersonalities adds r0, r2, r0 ldr r2, [r0] _08076C5C: @@ -5417,7 +5417,7 @@ _08076C5C: movs r0, 0xC9 b _08076CA2 .align 2, 0 -_08076C94: .4byte gUnknown_2024008 +_08076C94: .4byte gTransformedPersonalities _08076C98: movs r1, 0xCE lsls r1, 1 @@ -5492,7 +5492,7 @@ _08076D1E: _08076D26: mov r0, r8 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r1, [r4] @@ -5501,7 +5501,7 @@ _08076D26: _08076D38: mov r0, r8 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r1, [r4] @@ -5510,7 +5510,7 @@ _08076D38: _08076D4A: mov r0, r8 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r2, [r4] @@ -5523,7 +5523,7 @@ _08076D5C: _08076D62: mov r0, r8 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrb r2, [r4] @@ -5536,7 +5536,7 @@ _08076D74: _08076D7A: mov r0, r8 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -5577,16 +5577,16 @@ _08076DBA: _08076DBE: adds r0, r4, 0 adds r1, r5, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 adds r0, r4, 0 adds r1, r6, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _08076E06 @@ -5594,12 +5594,12 @@ _08076DBE: eors r4, r0 adds r0, r4, 0 adds r1, r5, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 adds r1, r6, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 mov r0, r8 @@ -6201,13 +6201,13 @@ sub_807729C: @ 807729C ldr r4, _080772D0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s index 8d5d5a6b4..f047db552 100644 --- a/asm/battle_anim_special.s +++ b/asm/battle_anim_special.s @@ -56,7 +56,7 @@ sub_80EEC0C: @ 80EEC0C movs r1, 0x3 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, _080EEDCC @ =gUnknown_3004FF0 + ldr r0, _080EEDCC @ =gHealthboxSpriteIds adds r4, r0 ldrb r0, [r4] ldr r1, _080EEDD0 @ =gSprites @@ -209,7 +209,7 @@ _080EEDBC: .4byte gUnknown_2022986 _080EEDC0: .4byte 0x00003f3f _080EEDC4: .4byte 0x00003f3d _080EEDC8: .4byte 0x00003f42 -_080EEDCC: .4byte gUnknown_3004FF0 +_080EEDCC: .4byte gHealthboxSpriteIds _080EEDD0: .4byte gSprites _080EEDD4: .4byte SpriteCallbackDummy _080EEDD8: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap @@ -392,7 +392,7 @@ _080EEF00: movs r1, 0x1 movs r2, 0 bl SetAnimBgAttribute - ldr r0, _080EEFC4 @ =gUnknown_3004FF0 + ldr r0, _080EEFC4 @ =gHealthboxSpriteIds add r0, r8 ldrb r0, [r0] lsls r1, r0, 4 @@ -443,7 +443,7 @@ _080EEFB4: .4byte gUnknown_2022984 _080EEFB8: .4byte gUnknown_2022986 _080EEFBC: .4byte 0x00003f3f _080EEFC0: .4byte gSprites -_080EEFC4: .4byte gUnknown_3004FF0 +_080EEFC4: .4byte gHealthboxSpriteIds thumb_func_end sub_80EEDF4 thumb_func_start sub_80EEFC8 @@ -458,7 +458,7 @@ sub_80EEFC8: @ 80EEFC8 adds r7, r1, 0 lsls r2, 24 lsrs r2, 24 - ldr r0, _080EF0A0 @ =gUnknown_3004FF0 + ldr r0, _080EF0A0 @ =gHealthboxSpriteIds adds r2, r0 ldrb r0, [r2] lsls r5, r0, 4 @@ -553,7 +553,7 @@ sub_80EEFC8: @ 80EEFC8 pop {r0} bx r0 .align 2, 0 -_080EF0A0: .4byte gUnknown_3004FF0 +_080EF0A0: .4byte gHealthboxSpriteIds _080EF0A4: .4byte gSprites _080EF0A8: .4byte 0x0000d709 _080EF0AC: .4byte 0x0000d70a @@ -591,7 +591,7 @@ sub_80EF0E0: @ 80EF0E0 push {r5,r6} lsls r0, 24 lsrs r0, 24 - ldr r1, _080EF168 @ =gUnknown_3004FF0 + ldr r1, _080EF168 @ =gHealthboxSpriteIds adds r0, r1 ldrb r0, [r0] ldr r1, _080EF16C @ =gSprites @@ -650,7 +650,7 @@ sub_80EF0E0: @ 80EF0E0 pop {r0} bx r0 .align 2, 0 -_080EF168: .4byte gUnknown_3004FF0 +_080EF168: .4byte gHealthboxSpriteIds _080EF16C: .4byte gSprites _080EF170: .4byte 0x0000d709 _080EF174: .4byte 0x0000d70a @@ -963,13 +963,13 @@ _080EF3D8: ldr r5, _080EF450 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 ldr r2, _080EF454 @ =gSprites @@ -1095,7 +1095,7 @@ sub_80EF4E0: @ 80EF4E0 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080EF4FC @ =gUnknown_2024018 + ldr r0, _080EF4FC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -1107,7 +1107,7 @@ sub_80EF4E0: @ 80EF4E0 movs r0, 0 b _080EF518 .align 2, 0 -_080EF4FC: .4byte gUnknown_2024018 +_080EF4FC: .4byte gBattleSpritesDataPtr _080EF500: .4byte gBattleAnimArgs _080EF504: ldr r1, _080EF50C @ =gBattleAnimArgs @@ -1240,14 +1240,14 @@ sub_80EF5AC: @ 80EF5AC mov r8, r2 ldrb r0, [r2] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1257,7 +1257,7 @@ sub_80EF5AC: @ 80EF5AC adds r4, r0 ldr r0, _080EF684 @ =sub_80EF8C0 str r0, [r4] - ldr r0, _080EF688 @ =gUnknown_2024018 + ldr r0, _080EF688 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, [r0, 0x8] ldr r1, _080EF68C @ =gBattlerSpriteIds @@ -1302,7 +1302,7 @@ _080EF678: .4byte gUnknown_82606F4 _080EF67C: .4byte gSprites _080EF680: .4byte gBattleAnimTarget _080EF684: .4byte sub_80EF8C0 -_080EF688: .4byte gUnknown_2024018 +_080EF688: .4byte gBattleSpritesDataPtr _080EF68C: .4byte gBattlerSpriteIds _080EF690: .4byte gTasks _080EF694: .4byte sub_80EF698 @@ -1411,14 +1411,14 @@ _080EF708: mov r8, r1 ldrb r0, [r1] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x30] mov r1, r8 ldrb r0, [r1] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1605,7 +1605,7 @@ sub_80EF8F0: @ 80EF8F0 lsls r0, 24 cmp r0, 0 beq _080EF99E - ldr r0, _080EF914 @ =gUnknown_2024018 + ldr r0, _080EF914 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -1615,7 +1615,7 @@ sub_80EF8F0: @ 80EF8F0 str r0, [r4, 0x1C] b _080EF99E .align 2, 0 -_080EF914: .4byte gUnknown_2024018 +_080EF914: .4byte gBattleSpritesDataPtr _080EF918: .4byte sub_80F0478 _080EF91C: cmp r0, 0x6 @@ -2040,7 +2040,7 @@ _080EFC52: adds r0, r1 strh r0, [r4, 0x22] strh r5, [r4, 0x26] - ldr r0, _080EFC84 @ =gUnknown_2024018 + ldr r0, _080EFC84 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -2052,7 +2052,7 @@ _080EFC52: b _080EFC96 .align 2, 0 _080EFC80: .4byte 0xffffff00 -_080EFC84: .4byte gUnknown_2024018 +_080EFC84: .4byte gBattleSpritesDataPtr _080EFC88: .4byte sub_80EFF80 _080EFC8C: ldr r0, _080EFC9C @ =sub_80EFCA0 @@ -2090,7 +2090,7 @@ sub_80EFCA0: @ 80EFCA0 adds r0, r4, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r0, _080EFCE4 @ =gUnknown_2024018 + ldr r0, _080EFCE4 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strh r5, [r0, 0xC] @@ -2103,7 +2103,7 @@ _080EFCDC: pop {r0} bx r0 .align 2, 0 -_080EFCE4: .4byte gUnknown_2024018 +_080EFCE4: .4byte gBattleSpritesDataPtr _080EFCE8: .4byte sub_80EFCEC thumb_func_end sub_80EFCA0 @@ -2135,7 +2135,7 @@ _080EFD0C: .4byte _080EFED4 .4byte _080EFF34 _080EFD28: - ldr r1, _080EFD4C @ =gUnknown_2024018 + ldr r1, _080EFD4C @ =gBattleSpritesDataPtr ldr r5, [r1] ldr r2, [r5, 0x8] ldrh r3, [r2, 0xC] @@ -2153,7 +2153,7 @@ _080EFD28: strh r0, [r1, 0xC] b _080EFD56 .align 2, 0 -_080EFD4C: .4byte gUnknown_2024018 +_080EFD4C: .4byte gBattleSpritesDataPtr _080EFD50: adds r0, r3, 0 adds r0, 0xB0 @@ -2214,7 +2214,7 @@ _080EFDB6: bl ChangeSpriteAffineAnim b _080EFF7A _080EFDC0: - ldr r1, _080EFDE4 @ =gUnknown_2024018 + ldr r1, _080EFDE4 @ =gBattleSpritesDataPtr ldr r5, [r1] ldr r2, [r5, 0x8] ldrh r3, [r2, 0xC] @@ -2232,7 +2232,7 @@ _080EFDC0: strh r0, [r1, 0xC] b _080EFDEE .align 2, 0 -_080EFDE4: .4byte gUnknown_2024018 +_080EFDE4: .4byte gBattleSpritesDataPtr _080EFDE8: adds r0, r3, 0 adds r0, 0xB0 @@ -2307,7 +2307,7 @@ _080EFE68: movs r1, 0x1 bl ChangeSpriteAffineAnim _080EFE70: - ldr r1, _080EFE94 @ =gUnknown_2024018 + ldr r1, _080EFE94 @ =gBattleSpritesDataPtr ldr r5, [r1] ldr r2, [r5, 0x8] ldrh r3, [r2, 0xC] @@ -2325,7 +2325,7 @@ _080EFE70: strh r0, [r1, 0xC] b _080EFE9E .align 2, 0 -_080EFE94: .4byte gUnknown_2024018 +_080EFE94: .4byte gBattleSpritesDataPtr _080EFE98: adds r0, r3, 0 adds r0, 0xB0 @@ -2367,7 +2367,7 @@ _080EFED4: strh r0, [r4, 0x34] lsls r0, 16 asrs r1, r0, 24 - ldr r0, _080EFF04 @ =gUnknown_2024018 + ldr r0, _080EFF04 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0x8] @@ -2383,7 +2383,7 @@ _080EFED4: str r0, [r4, 0x1C] b _080EFF7A .align 2, 0 -_080EFF04: .4byte gUnknown_2024018 +_080EFF04: .4byte gBattleSpritesDataPtr _080EFF08: .4byte sub_80EFF80 _080EFF0C: cmp r0, 0x4 @@ -3045,7 +3045,7 @@ _080F03F0: adds r2, r0 lsls r2, 2 adds r2, r4 - ldr r0, _080F046C @ =gUnknown_2024018 + ldr r0, _080F046C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -3075,7 +3075,7 @@ _080F045C: .4byte 0xfffffee0 _080F0460: .4byte gSprites _080F0464: .4byte gBattlerSpriteIds _080F0468: .4byte gBattleAnimTarget -_080F046C: .4byte gUnknown_2024018 +_080F046C: .4byte gBattleSpritesDataPtr _080F0470: .4byte sub_80F018C _080F0474: .4byte gUnknown_2024005 thumb_func_end sub_80F0378 @@ -3356,7 +3356,7 @@ sub_80F0674: @ 80F0674 ands r0, r1 cmp r0, 0 beq _080F0692 - ldr r0, _080F06A0 @ =gUnknown_2024018 + ldr r0, _080F06A0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] ldrb r0, [r1, 0xA] @@ -3368,7 +3368,7 @@ _080F0692: .align 2, 0 _080F0698: .4byte gMain _080F069C: .4byte 0x00000439 -_080F06A0: .4byte gUnknown_2024018 +_080F06A0: .4byte gBattleSpritesDataPtr thumb_func_end sub_80F0674 thumb_func_start sub_80F06A4 @@ -4771,7 +4771,7 @@ sub_80F1198: @ 80F1198 _080F11BC: .4byte gMain _080F11C0: .4byte 0x00000439 _080F11C4: - ldr r2, _080F1200 @ =gUnknown_2024018 + ldr r2, _080F1200 @ =gBattleSpritesDataPtr ldr r0, [r2] ldr r1, [r0, 0x8] ldrb r0, [r1, 0xA] @@ -4800,7 +4800,7 @@ _080F11F6: bl DestroySprite b _080F1212 .align 2, 0 -_080F1200: .4byte gUnknown_2024018 +_080F1200: .4byte gBattleSpritesDataPtr _080F1204: .4byte gUnknown_840BF48 _080F1208: .4byte gUnknown_840BFA8 _080F120C: @@ -5420,7 +5420,7 @@ sub_80F16CC: @ 80F16CC lsls r0, 24 lsrs r0, 24 ldr r3, _080F16F4 @ =gBattleAnimArgs - ldr r1, _080F16F8 @ =gUnknown_2024018 + ldr r1, _080F16F8 @ =gBattleSpritesDataPtr ldr r2, [r1] ldr r1, _080F16FC @ =gBattleAnimAttacker ldrb r1, [r1] @@ -5436,7 +5436,7 @@ sub_80F16CC: @ 80F16CC bx r0 .align 2, 0 _080F16F4: .4byte gBattleAnimArgs -_080F16F8: .4byte gUnknown_2024018 +_080F16F8: .4byte gBattleSpritesDataPtr _080F16FC: .4byte gBattleAnimAttacker thumb_func_end sub_80F16CC @@ -5467,7 +5467,7 @@ sub_80F1720: @ 80F1720 lsrs r6, r0, 24 movs r0, 0 mov r8, r0 - ldr r0, _080F17DC @ =gUnknown_2024018 + ldr r0, _080F17DC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r6, 1 @@ -5547,7 +5547,7 @@ _080F179E: strh r0, [r1, 0xA] b _080F180E .align 2, 0 -_080F17DC: .4byte gUnknown_2024018 +_080F17DC: .4byte gBattleSpritesDataPtr _080F17E0: .4byte 0x0000ffff _080F17E4: .4byte 0x000027f9 _080F17E8: .4byte gUnknown_83AD350 @@ -5555,7 +5555,7 @@ _080F17EC: .4byte gUnknown_83ADC58 _080F17F0: .4byte sub_80F181C _080F17F4: .4byte gTasks _080F17F8: - ldr r0, _080F1818 @ =gUnknown_2024018 + ldr r0, _080F1818 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r6, 1 @@ -5573,7 +5573,7 @@ _080F180E: pop {r0} bx r0 .align 2, 0 -_080F1818: .4byte gUnknown_2024018 +_080F1818: .4byte gBattleSpritesDataPtr thumb_func_end sub_80F1720 thumb_func_start sub_80F181C @@ -5600,7 +5600,7 @@ sub_80F181C: @ 80F181C .align 2, 0 _080F1844: .4byte gTasks _080F1848: - ldr r0, _080F189C @ =gUnknown_2024018 + ldr r0, _080F189C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r0, [r0, 0xA] @@ -5622,12 +5622,12 @@ _080F186A: ldrb r0, [r4, 0x8] mov r8, r0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r5, r0, 24 mov r0, r8 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r2, r0, 24 movs r1, 0x1E @@ -5642,7 +5642,7 @@ _080F186A: lsrs r5, r0, 24 b _080F1906 .align 2, 0 -_080F189C: .4byte gUnknown_2024018 +_080F189C: .4byte gBattleSpritesDataPtr _080F18A0: .4byte gUnknown_83FF168 _080F18A4: cmp r0, 0 @@ -5817,7 +5817,7 @@ sub_80F19E0: @ 80F19E0 cmp r0, 0x1 bne _080F1A1A ldrb r1, [r1, 0x8] - ldr r0, _080F1A28 @ =gUnknown_2024018 + ldr r0, _080F1A28 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x4] lsls r0, r1, 1 @@ -5836,7 +5836,7 @@ _080F1A20: bx r0 .align 2, 0 _080F1A24: .4byte gTasks -_080F1A28: .4byte gUnknown_2024018 +_080F1A28: .4byte gBattleSpritesDataPtr thumb_func_end sub_80F19E0 thumb_func_start sub_80F1A2C @@ -5990,7 +5990,7 @@ sub_80F1B3C: @ 80F1B3C lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r5, _080F1BB0 @ =gBattleAnimArgs lsrs r0, 24 @@ -6002,7 +6002,7 @@ sub_80F1B3C: @ 80F1B3C lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -6220,7 +6220,7 @@ sub_80F1D14: @ 80F1D14 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080F1D2C @ =gUnknown_2024018 + ldr r0, _080F1D2C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrh r1, [r0] @@ -6230,7 +6230,7 @@ sub_80F1D14: @ 80F1D14 movs r0, 0x1 b _080F1D6C .align 2, 0 -_080F1D2C: .4byte gUnknown_2024018 +_080F1D2C: .4byte gBattleSpritesDataPtr _080F1D30: .4byte gBattleAnimArgs _080F1D34: cmp r1, 0xFA @@ -6277,7 +6277,7 @@ sub_80F1D7C: @ 80F1D7C lsls r0, 24 lsrs r0, 24 ldr r3, _080F1DA0 @ =gBattleAnimAttacker - ldr r1, _080F1DA4 @ =gUnknown_2024018 + ldr r1, _080F1DA4 @ =gBattleSpritesDataPtr ldr r2, [r1] ldr r1, [r2, 0x8] ldrh r1, [r1] @@ -6292,7 +6292,7 @@ sub_80F1D7C: @ 80F1D7C bx r0 .align 2, 0 _080F1DA0: .4byte gBattleAnimAttacker -_080F1DA4: .4byte gUnknown_2024018 +_080F1DA4: .4byte gBattleSpritesDataPtr _080F1DA8: .4byte gBattleAnimTarget thumb_func_end sub_80F1D7C diff --git a/asm/battle_anim_status_effects.s b/asm/battle_anim_status_effects.s index 783b39a2e..c70d88cef 100644 --- a/asm/battle_anim_status_effects.s +++ b/asm/battle_anim_status_effects.s @@ -344,7 +344,7 @@ sub_80783FC: @ 80783FC ldr r4, _080784AC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 ldr r1, _080784B0 @ =0xffe00000 @@ -352,7 +352,7 @@ sub_80783FC: @ 80783FC lsrs r5, r0, 16 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 ldr r1, _080784B4 @ =0xffdc0000 @@ -662,7 +662,7 @@ sub_8078694: @ 8078694 lsls r0, 24 lsrs r4, r0, 24 movs r3, 0 - ldr r0, _080786B8 @ =gUnknown_2024018 + ldr r0, _080786B8 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrh r0, [r0] @@ -677,7 +677,7 @@ _080786AC: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080786B8: .4byte gUnknown_2024018 +_080786B8: .4byte gBattleSpritesDataPtr _080786BC: .4byte _080786C0 .align 2, 0 _080786C0: @@ -907,7 +907,7 @@ LaunchStatusAnimation: @ 807886C strb r4, [r0] ldr r0, _080788B0 @ =gUnknown_81C6E84 movs r2, 0 - bl sub_80725D4 + bl LaunchBattleAnimation ldr r0, _080788B4 @ =task0A_80788BC movs r1, 0xA bl CreateTask @@ -935,14 +935,14 @@ task0A_80788BC: @ 80788BC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08078904 @ =gUnknown_2037EDC + ldr r0, _08078904 @ =gAnimScriptCallback ldr r0, [r0] bl _call_via_r0 - ldr r0, _08078908 @ =gUnknown_2037EE1 + ldr r0, _08078908 @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _080788FE - ldr r0, _0807890C @ =gUnknown_2024018 + ldr r0, _0807890C @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r1, _08078910 @ =gTasks lsls r0, r4, 2 @@ -968,9 +968,9 @@ _080788FE: pop {r0} bx r0 .align 2, 0 -_08078904: .4byte gUnknown_2037EDC -_08078908: .4byte gUnknown_2037EE1 -_0807890C: .4byte gUnknown_2024018 +_08078904: .4byte gAnimScriptCallback +_08078908: .4byte gAnimScriptActive +_0807890C: .4byte gBattleSpritesDataPtr _08078910: .4byte gTasks thumb_func_end task0A_80788BC diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s index 48cde2fa8..a52931868 100644 --- a/asm/battle_anim_utility_funcs.s +++ b/asm/battle_anim_utility_funcs.s @@ -722,7 +722,7 @@ sub_80BACEC: @ 80BACEC movs r0, 0xA bl SetGpuReg _080BAD7A: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080BADFE @@ -1192,7 +1192,7 @@ _080BB130: movs r2, 0x1 bl SetAnimBgAttribute _080BB18E: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080BB20A @@ -3186,7 +3186,7 @@ _080BC144: adds r3, r4 lsls r3, 3 adds r3, r0 - ldr r0, _080BC18C @ =gUnknown_2024018 + ldr r0, _080BC18C @ =gBattleSpritesDataPtr ldr r4, [r0] ldr r2, _080BC190 @ =gBattleAnimAttacker ldrb r0, [r2] @@ -3217,7 +3217,7 @@ _080BC180: bx r0 .align 2, 0 _080BC188: .4byte gTasks -_080BC18C: .4byte gUnknown_2024018 +_080BC18C: .4byte gBattleSpritesDataPtr _080BC190: .4byte gBattleAnimAttacker _080BC194: .4byte sub_80BC19C _080BC198: .4byte gUnknown_2037EE2 @@ -3235,7 +3235,7 @@ sub_80BC19C: @ 80BC19C lsls r0, 5 cmp r1, r0 bne _080BC1E0 - ldr r0, _080BC1EC @ =gUnknown_2024018 + ldr r0, _080BC1EC @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _080BC1F0 @ =gBattleAnimAttacker ldrb r3, [r0] @@ -3264,7 +3264,7 @@ _080BC1E0: bx r0 .align 2, 0 _080BC1E8: .4byte gBattleAnimArgs -_080BC1EC: .4byte gUnknown_2024018 +_080BC1EC: .4byte gBattleSpritesDataPtr _080BC1F0: .4byte gBattleAnimAttacker _080BC1F4: .4byte gTasks thumb_func_end sub_80BC19C @@ -3707,7 +3707,7 @@ _080BC544: strh r0, [r1, 0xC] movs r0, 0x20 strh r0, [r1, 0xE] - ldr r2, _080BC56C @ =gUnknown_2023F4C + ldr r2, _080BC56C @ =gIntroSlideFlags ldrh r1, [r2] ldr r0, _080BC570 @ =0x0000fffe ands r0, r1 @@ -3715,7 +3715,7 @@ _080BC544: b _080BC6BA .align 2, 0 _080BC568: .4byte gUnknown_2022986 -_080BC56C: .4byte gUnknown_2023F4C +_080BC56C: .4byte gIntroSlideFlags _080BC570: .4byte 0x0000fffe _080BC574: lsls r0, r4, 2 @@ -4075,7 +4075,7 @@ _080BC820: strh r0, [r1, 0xE] movs r0, 0x1 strh r0, [r1, 0x12] - ldr r2, _080BC850 @ =gUnknown_2023F4C + ldr r2, _080BC850 @ =gIntroSlideFlags ldrh r1, [r2] ldr r0, _080BC854 @ =0x0000fffe ands r0, r1 @@ -4084,7 +4084,7 @@ _080BC820: .align 2, 0 _080BC848: .4byte gUnknown_2022986 _080BC84C: .4byte gTasks -_080BC850: .4byte gUnknown_2023F4C +_080BC850: .4byte gIntroSlideFlags _080BC854: .4byte 0x0000fffe _080BC858: ldr r0, _080BC890 @ =gTasks @@ -4398,7 +4398,7 @@ _080BCAC0: strh r0, [r1, 0xE] movs r0, 0x1 strh r0, [r1, 0x12] - ldr r2, _080BCAF0 @ =gUnknown_2023F4C + ldr r2, _080BCAF0 @ =gIntroSlideFlags ldrh r1, [r2] ldr r0, _080BCAF4 @ =0x0000fffe ands r0, r1 @@ -4407,7 +4407,7 @@ _080BCAC0: .align 2, 0 _080BCAE8: .4byte gUnknown_2022986 _080BCAEC: .4byte gTasks -_080BCAF0: .4byte gUnknown_2023F4C +_080BCAF0: .4byte gIntroSlideFlags _080BCAF4: .4byte 0x0000fffe _080BCAF8: lsls r0, r5, 2 @@ -4782,7 +4782,7 @@ _080BCDDC: strh r0, [r1, 0xC] movs r0, 0x20 strh r0, [r1, 0xE] - ldr r2, _080BCE00 @ =gUnknown_2023F4C + ldr r2, _080BCE00 @ =gIntroSlideFlags ldrh r1, [r2] ldr r0, _080BCE04 @ =0x0000fffe ands r0, r1 @@ -4790,7 +4790,7 @@ _080BCDDC: b _080BCEE6 .align 2, 0 _080BCDFC: .4byte gUnknown_2022986 -_080BCE00: .4byte gUnknown_2023F4C +_080BCE00: .4byte gIntroSlideFlags _080BCE04: .4byte 0x0000fffe _080BCE08: ldr r2, _080BCECC @ =gUnknown_2022986 diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index 50d0b4caf..86712cef4 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -116,7 +116,7 @@ sub_803A70C: @ 803A70C bne _0803A77C adds r0, r2, r4 ldrh r0, [r0, 0x6] - bl sub_803477C + bl FreeTrainerFrontPicPaletteAndTile ldrb r0, [r5] adds r0, r6 ldrb r0, [r0] @@ -165,7 +165,7 @@ _0803A798: .4byte 0xfffffc00 thumb_func_start sub_803A79C sub_803A79C: @ 803A79C push {r4,lr} - ldr r4, _0803A7DC @ =gUnknown_2024018 + ldr r4, _0803A7DC @ =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, _0803A7E0 @ =gActiveBattler ldrb r0, [r3] @@ -196,7 +196,7 @@ _0803A7D4: pop {r0} bx r0 .align 2, 0 -_0803A7DC: .4byte gUnknown_2024018 +_0803A7DC: .4byte gBattleSpritesDataPtr _0803A7E0: .4byte gActiveBattler thumb_func_end sub_803A79C @@ -206,11 +206,11 @@ sub_803A7E4: @ 803A7E4 mov r7, r8 push {r7} movs r6, 0 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0803A80C - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0803A840 @@ -222,7 +222,7 @@ sub_803A7E4: @ 803A7E4 beq _0803A840 _0803A80C: ldr r2, _0803A830 @ =gSprites - ldr r1, _0803A834 @ =gUnknown_3004FF0 + ldr r1, _0803A834 @ =gHealthboxSpriteIds ldr r0, _0803A838 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -240,12 +240,12 @@ _0803A80C: .align 2, 0 _0803A82C: .4byte gBattleTypeFlags _0803A830: .4byte gSprites -_0803A834: .4byte gUnknown_3004FF0 +_0803A834: .4byte gHealthboxSpriteIds _0803A838: .4byte gActiveBattler _0803A83C: .4byte SpriteCallbackDummy _0803A840: ldr r2, _0803A95C @ =gSprites - ldr r5, _0803A960 @ =gUnknown_3004FF0 + ldr r5, _0803A960 @ =gHealthboxSpriteIds ldr r0, _0803A964 @ =gActiveBattler ldrb r3, [r0] adds r0, r3, r5 @@ -291,7 +291,7 @@ _0803A888: lsrs r3, r0, 24 cmp r3, 0x1 bne _0803A936 - ldr r7, _0803A96C @ =gUnknown_2024018 + ldr r7, _0803A96C @ =gBattleSpritesDataPtr ldr r0, [r7] mov r1, r8 ldrb r2, [r1] @@ -386,10 +386,10 @@ _0803A936: b _0803A988 .align 2, 0 _0803A95C: .4byte gSprites -_0803A960: .4byte gUnknown_3004FF0 +_0803A960: .4byte gHealthboxSpriteIds _0803A964: .4byte gActiveBattler _0803A968: .4byte SpriteCallbackDummy -_0803A96C: .4byte gUnknown_2024018 +_0803A96C: .4byte gBattleSpritesDataPtr _0803A970: .4byte 0x000027f9 _0803A974: .4byte gBattleTypeFlags _0803A978: .4byte gMPlayInfo_BGM @@ -400,7 +400,7 @@ _0803A97C: lsls r2, 1 bl m4aMPlayVolumeControl _0803A988: - ldr r0, _0803A9BC @ =gUnknown_2024018 + ldr r0, _0803A9BC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, _0803A9C0 @ =gActiveBattler ldrb r1, [r3] @@ -426,7 +426,7 @@ _0803A9AA: .align 2, 0 _0803A9B4: .4byte gMPlayInfo_BGM _0803A9B8: .4byte 0x0000ffff -_0803A9BC: .4byte gUnknown_2024018 +_0803A9BC: .4byte gBattleSpritesDataPtr _0803A9C0: .4byte gActiveBattler _0803A9C4: .4byte gUnknown_3004FE0 _0803A9C8: .4byte sub_803A79C @@ -439,7 +439,7 @@ sub_803A9CC: @ 803A9CC mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _0803ABEC @ =gUnknown_2024018 + ldr r0, _0803ABEC @ =gBattleSpritesDataPtr mov r8, r0 ldr r0, [r0] ldr r7, _0803ABF0 @ =gActiveBattler @@ -556,7 +556,7 @@ _0803AAA6: mov r1, r10 strb r1, [r0, 0x9] _0803AABA: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0803AB50 @@ -579,7 +579,7 @@ _0803AABA: ldr r1, _0803AC04 @ =gSprites adds r0, r1 bl DestroySprite - ldr r2, _0803AC08 @ =gUnknown_3004FF0 + ldr r2, _0803AC08 @ =gHealthboxSpriteIds mov r8, r2 ldrb r0, [r5] adds r1, r4, 0 @@ -623,7 +623,7 @@ _0803AABA: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback _0803AB50: ldr r1, _0803AC00 @ =gUnknown_3004FFC ldr r5, _0803ABF0 @ =gActiveBattler @@ -636,7 +636,7 @@ _0803AB50: ldr r1, _0803AC04 @ =gSprites adds r0, r1 bl DestroySprite - ldr r4, _0803AC08 @ =gUnknown_3004FF0 + ldr r4, _0803AC08 @ =gHealthboxSpriteIds ldrb r1, [r5] adds r0, r1, r4 ldrb r0, [r0] @@ -674,8 +674,8 @@ _0803AB50: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback - ldr r0, _0803ABEC @ =gUnknown_2024018 + bl SetBattlerShadowSpriteCallback + ldr r0, _0803ABEC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -698,14 +698,14 @@ _0803ABDC: pop {r0} bx r0 .align 2, 0 -_0803ABEC: .4byte gUnknown_2024018 +_0803ABEC: .4byte gBattleSpritesDataPtr _0803ABF0: .4byte gActiveBattler _0803ABF4: .4byte gBattlerPartyIndexes _0803ABF8: .4byte gEnemyParty _0803ABFC: .4byte gBattleTypeFlags _0803AC00: .4byte gUnknown_3004FFC _0803AC04: .4byte gSprites -_0803AC08: .4byte gUnknown_3004FF0 +_0803AC08: .4byte gHealthboxSpriteIds _0803AC0C: .4byte gUnknown_3004FE0 _0803AC10: .4byte sub_803A7E4 thumb_func_end sub_803A9CC @@ -734,7 +734,7 @@ sub_803AC14: @ 803AC14 ldrsh r0, [r1, r4] cmp r0, 0 bne _0803ACC0 - ldr r6, _0803AC7C @ =gUnknown_2024018 + ldr r6, _0803AC7C @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r4, r3, 1 @@ -760,7 +760,7 @@ sub_803AC14: @ 803AC14 _0803AC70: .4byte gSprites _0803AC74: .4byte gBattlerSpriteIds _0803AC78: .4byte gActiveBattler -_0803AC7C: .4byte gUnknown_2024018 +_0803AC7C: .4byte gBattleSpritesDataPtr _0803AC80: .4byte gBattlerPartyIndexes _0803AC84: .4byte gEnemyParty _0803AC88: @@ -802,7 +802,7 @@ CompleteOnHealthbarDone_4: @ 803ACCC push {r4-r6,lr} ldr r6, _0803AD0C @ =gActiveBattler ldrb r0, [r6] - ldr r5, _0803AD10 @ =gUnknown_3004FF0 + ldr r5, _0803AD10 @ =gHealthboxSpriteIds adds r1, r0, r5 ldrb r1, [r1] movs r2, 0 @@ -829,7 +829,7 @@ CompleteOnHealthbarDone_4: @ 803ACCC b _0803AD18 .align 2, 0 _0803AD0C: .4byte gActiveBattler -_0803AD10: .4byte gUnknown_3004FF0 +_0803AD10: .4byte gHealthboxSpriteIds _0803AD14: bl RecordedOpponentBufferExecCompleted _0803AD18: @@ -856,7 +856,7 @@ sub_803AD20: @ 803AD20 lsls r0, 31 cmp r0, 0 bne _0803AD4E - ldr r0, _0803AD60 @ =gUnknown_3004FF0 + ldr r0, _0803AD60 @ =gHealthboxSpriteIds adds r0, r3, r0 ldrb r0, [r0] bl SetHealthboxSpriteInvisible @@ -868,13 +868,13 @@ _0803AD4E: _0803AD54: .4byte gSprites _0803AD58: .4byte gBattlerSpriteIds _0803AD5C: .4byte gActiveBattler -_0803AD60: .4byte gUnknown_3004FF0 +_0803AD60: .4byte gHealthboxSpriteIds thumb_func_end sub_803AD20 thumb_func_start sub_803AD64 sub_803AD64: @ 803AD64 push {r4-r6,lr} - ldr r0, _0803ADC4 @ =gUnknown_2024018 + ldr r0, _0803ADC4 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, _0803ADC8 @ =gActiveBattler ldrb r2, [r6] @@ -906,8 +906,8 @@ sub_803AD64: @ 803AD64 adds r0, r4 bl DestroySprite ldrb r0, [r6] - bl EnemyShadowCallbackToSetInvisible - ldr r1, _0803ADD4 @ =gUnknown_3004FF0 + bl HideBattlerShadowSprite + ldr r1, _0803ADD4 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -918,11 +918,11 @@ _0803ADBE: pop {r0} bx r0 .align 2, 0 -_0803ADC4: .4byte gUnknown_2024018 +_0803ADC4: .4byte gBattleSpritesDataPtr _0803ADC8: .4byte gActiveBattler _0803ADCC: .4byte gBattlerSpriteIds _0803ADD0: .4byte gSprites -_0803ADD4: .4byte gUnknown_3004FF0 +_0803ADD4: .4byte gHealthboxSpriteIds thumb_func_end sub_803AD64 thumb_func_start CompleteOnInactiveTextPrinter_5 @@ -1007,7 +1007,7 @@ _0803AE66: sub_803AE6C: @ 803AE6C push {r4,lr} ldr r2, _0803AEC0 @ =gSprites - ldr r0, _0803AEC4 @ =gUnknown_3004FF0 + ldr r0, _0803AEC4 @ =gHealthboxSpriteIds ldr r4, _0803AEC8 @ =gActiveBattler ldrb r3, [r4] adds r0, r3, r0 @@ -1021,7 +1021,7 @@ sub_803AE6C: @ 803AE6C ldr r0, _0803AECC @ =SpriteCallbackDummy cmp r1, r0 bne _0803AEB8 - ldr r0, _0803AED0 @ =gUnknown_2024018 + ldr r0, _0803AED0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r3, 2 @@ -1049,10 +1049,10 @@ _0803AEB8: bx r0 .align 2, 0 _0803AEC0: .4byte gSprites -_0803AEC4: .4byte gUnknown_3004FF0 +_0803AEC4: .4byte gHealthboxSpriteIds _0803AEC8: .4byte gActiveBattler _0803AECC: .4byte SpriteCallbackDummy -_0803AED0: .4byte gUnknown_2024018 +_0803AED0: .4byte gBattleSpritesDataPtr _0803AED4: .4byte gUnknown_3004FE0 _0803AED8: .4byte sub_803AEDC thumb_func_end sub_803AE6C @@ -1060,7 +1060,7 @@ _0803AED8: .4byte sub_803AEDC thumb_func_start sub_803AEDC sub_803AEDC: @ 803AEDC push {lr} - ldr r0, _0803AF18 @ =gUnknown_2024018 + ldr r0, _0803AF18 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _0803AF1C @ =gActiveBattler ldrb r1, [r0] @@ -1088,7 +1088,7 @@ _0803AF14: pop {r0} bx r0 .align 2, 0 -_0803AF18: .4byte gUnknown_2024018 +_0803AF18: .4byte gBattleSpritesDataPtr _0803AF1C: .4byte gActiveBattler _0803AF20: .4byte gMPlayInfo_BGM _0803AF24: .4byte 0x0000ffff @@ -1097,7 +1097,7 @@ _0803AF24: .4byte 0x0000ffff thumb_func_start sub_803AF28 sub_803AF28: @ 803AF28 push {r4,r5,lr} - ldr r3, _0803AFD4 @ =gUnknown_2024018 + ldr r3, _0803AFD4 @ =gBattleSpritesDataPtr ldr r0, [r3] ldr r5, _0803AFD8 @ =gActiveBattler ldrb r1, [r5] @@ -1143,7 +1143,7 @@ sub_803AF28: @ 803AF28 adds r0, r1 movs r1, 0 bl StartSpriteAnim - ldr r4, _0803AFE8 @ =gUnknown_3004FF0 + ldr r4, _0803AFE8 @ =gHealthboxSpriteIds ldrb r1, [r5] adds r0, r1, r4 ldrb r0, [r0] @@ -1176,12 +1176,12 @@ _0803AFCC: pop {r0} bx r0 .align 2, 0 -_0803AFD4: .4byte gUnknown_2024018 +_0803AFD4: .4byte gBattleSpritesDataPtr _0803AFD8: .4byte gActiveBattler _0803AFDC: .4byte 0x000027f9 _0803AFE0: .4byte gBattlerSpriteIds _0803AFE4: .4byte gSprites -_0803AFE8: .4byte gUnknown_3004FF0 +_0803AFE8: .4byte gHealthboxSpriteIds _0803AFEC: .4byte gBattlerPartyIndexes _0803AFF0: .4byte gEnemyParty _0803AFF4: .4byte gUnknown_3004FE0 @@ -1191,7 +1191,7 @@ _0803AFF8: .4byte sub_803AE6C thumb_func_start sub_803AFFC sub_803AFFC: @ 803AFFC push {r4-r6,lr} - ldr r6, _0803B0A0 @ =gUnknown_2024018 + ldr r6, _0803B0A0 @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, _0803B0A4 @ =gActiveBattler ldrb r2, [r5] @@ -1258,7 +1258,7 @@ _0803B02E: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback ldr r1, _0803B0BC @ =gUnknown_3004FE0 ldrb r0, [r5] lsls r0, 2 @@ -1270,7 +1270,7 @@ _0803B098: pop {r0} bx r0 .align 2, 0 -_0803B0A0: .4byte gUnknown_2024018 +_0803B0A0: .4byte gBattleSpritesDataPtr _0803B0A4: .4byte gActiveBattler _0803B0A8: .4byte gBattlerPartyIndexes _0803B0AC: .4byte gEnemyParty @@ -1284,7 +1284,7 @@ _0803B0C0: .4byte sub_803AF28 thumb_func_start CompleteOnFinishedStatusAnimation_5 CompleteOnFinishedStatusAnimation_5: @ 803B0C4 push {lr} - ldr r0, _0803B0EC @ =gUnknown_2024018 + ldr r0, _0803B0EC @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _0803B0F0 @ =gActiveBattler ldrb r1, [r0] @@ -1303,14 +1303,14 @@ _0803B0E6: pop {r0} bx r0 .align 2, 0 -_0803B0EC: .4byte gUnknown_2024018 +_0803B0EC: .4byte gBattleSpritesDataPtr _0803B0F0: .4byte gActiveBattler thumb_func_end CompleteOnFinishedStatusAnimation_5 thumb_func_start CompleteOnFinishedBattleAnimation_5 CompleteOnFinishedBattleAnimation_5: @ 803B0F4 push {lr} - ldr r0, _0803B11C @ =gUnknown_2024018 + ldr r0, _0803B11C @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _0803B120 @ =gActiveBattler ldrb r1, [r0] @@ -1329,7 +1329,7 @@ _0803B116: pop {r0} bx r0 .align 2, 0 -_0803B11C: .4byte gUnknown_2024018 +_0803B11C: .4byte gBattleSpritesDataPtr _0803B120: .4byte gActiveBattler thumb_func_end CompleteOnFinishedBattleAnimation_5 @@ -3581,12 +3581,12 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4 mov r8, r0 ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldrb r0, [r6] - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3659,7 +3659,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4 lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback ldr r1, _0803C4FC @ =gUnknown_3004FE0 ldrb r0, [r6] lsls r0, 2 @@ -3785,12 +3785,12 @@ sub_803C550: @ 803C550 mov r9, r0 adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r6, 0 - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3911,7 +3911,7 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4 ldrb r3, [r0] cmp r3, 0 bne _0803C71C - ldr r0, _0803C710 @ =gUnknown_2024018 + ldr r0, _0803C710 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -3929,7 +3929,7 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4 .align 2, 0 _0803C708: .4byte gUnknown_2022BC4 _0803C70C: .4byte gActiveBattler -_0803C710: .4byte gUnknown_2024018 +_0803C710: .4byte gBattleSpritesDataPtr _0803C714: .4byte gUnknown_3004FE0 _0803C718: .4byte sub_803C76C _0803C71C: @@ -3951,8 +3951,8 @@ _0803C71C: adds r0, r4 bl DestroySprite ldrb r0, [r6] - bl EnemyShadowCallbackToSetInvisible - ldr r1, _0803C768 @ =gUnknown_3004FF0 + bl HideBattlerShadowSprite + ldr r1, _0803C768 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -3965,13 +3965,13 @@ _0803C758: .align 2, 0 _0803C760: .4byte gBattlerSpriteIds _0803C764: .4byte gSprites -_0803C768: .4byte gUnknown_3004FF0 +_0803C768: .4byte gHealthboxSpriteIds thumb_func_end LinkOpponentHandleReturnPokeToBall thumb_func_start sub_803C76C sub_803C76C: @ 803C76C push {r4-r6,lr} - ldr r6, _0803C78C @ =gUnknown_2024018 + ldr r6, _0803C78C @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _0803C790 @ =gActiveBattler ldrb r2, [r5] @@ -3987,7 +3987,7 @@ sub_803C76C: @ 803C76C beq _0803C7C2 b _0803C7EA .align 2, 0 -_0803C78C: .4byte gUnknown_2024018 +_0803C78C: .4byte gBattleSpritesDataPtr _0803C790: .4byte gActiveBattler _0803C794: ldr r1, [r4] @@ -4245,7 +4245,7 @@ _0803C992: mov r8, r0 ldrb r1, [r0] mov r0, r9 - bl sub_80346C4 + bl DecompressTrainerFrontPic mov r1, r8 ldrb r0, [r1] bl GetBattlerPosition @@ -4496,7 +4496,7 @@ _0803CBB4: .4byte sub_803A70C thumb_func_start sub_803CBB8 sub_803CBB8: @ 803CBB8 push {r4-r6,lr} - ldr r6, _0803CC04 @ =gUnknown_2024018 + ldr r6, _0803CC04 @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _0803CC08 @ =gActiveBattler ldrb r2, [r5] @@ -4533,7 +4533,7 @@ _0803CBEC: strb r1, [r0, 0x4] b _0803CC48 .align 2, 0 -_0803CC04: .4byte gUnknown_2024018 +_0803CC04: .4byte gBattleSpritesDataPtr _0803CC08: .4byte gActiveBattler _0803CC0C: ldrb r1, [r3] @@ -4708,7 +4708,7 @@ _0803CCA6: adds r1, 0x10 adds r2, r1 str r2, [r3] - ldr r3, _0803CD98 @ =gUnknown_2024008 + ldr r3, _0803CD98 @ =gTransformedPersonalities ldrb r1, [r6] lsls r1, 2 adds r1, r3 @@ -4731,9 +4731,9 @@ _0803CD88: .4byte gAnimMoveDmg _0803CD8C: .4byte gUnknown_2037EFE _0803CD90: .4byte gUnknown_2037F00 _0803CD94: .4byte gAnimDisableStructPtr -_0803CD98: .4byte gUnknown_2024008 +_0803CD98: .4byte gTransformedPersonalities _0803CD9C: - ldr r0, _0803CDC0 @ =gUnknown_2024018 + ldr r0, _0803CDC0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -4753,7 +4753,7 @@ _0803CDBA: pop {r0} bx r0 .align 2, 0 -_0803CDC0: .4byte gUnknown_2024018 +_0803CDC0: .4byte gBattleSpritesDataPtr _0803CDC4: .4byte gUnknown_3004FE0 _0803CDC8: .4byte RecordedOpponentDoMoveAnimation thumb_func_end RecordedOpponentHandleMoveAnimation @@ -4783,7 +4783,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, _0803CE20 @ =gUnknown_2024018 + ldr r7, _0803CE20 @ =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4801,7 +4801,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC .align 2, 0 _0803CE18: .4byte gUnknown_2022BC4 _0803CE1C: .4byte gActiveBattler -_0803CE20: .4byte gUnknown_2024018 +_0803CE20: .4byte gBattleSpritesDataPtr _0803CE24: cmp r2, 0x2 beq _0803CE8E @@ -4857,10 +4857,10 @@ _0803CE64: strb r1, [r0, 0x4] b _0803CF40 _0803CE8E: - ldr r0, _0803CEF4 @ =gUnknown_2037EDC + ldr r0, _0803CEF4 @ =gAnimScriptCallback ldr r0, [r0] bl _call_via_r0 - ldr r0, _0803CEF8 @ =gUnknown_2037EE1 + ldr r0, _0803CEF8 @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _0803CF40 @@ -4894,7 +4894,7 @@ _0803CE8E: ands r0, r2 strb r0, [r1] _0803CEDC: - ldr r0, _0803CEFC @ =gUnknown_2024018 + ldr r0, _0803CEFC @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _0803CF00 @ =gActiveBattler ldrb r1, [r0] @@ -4907,9 +4907,9 @@ _0803CEDC: strb r1, [r0, 0x4] b _0803CF40 .align 2, 0 -_0803CEF4: .4byte gUnknown_2037EDC -_0803CEF8: .4byte gUnknown_2037EE1 -_0803CEFC: .4byte gUnknown_2024018 +_0803CEF4: .4byte gAnimScriptCallback +_0803CEF8: .4byte gAnimScriptActive +_0803CEFC: .4byte gBattleSpritesDataPtr _0803CF00: .4byte gActiveBattler _0803CF04: ldrb r1, [r0] @@ -5107,7 +5107,7 @@ sub_803D018: @ 803D018 adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _0803D0A4 @ =gUnknown_3004FF0 + ldr r1, _0803D0A4 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -5120,7 +5120,7 @@ _0803D094: .4byte gActiveBattler _0803D098: .4byte 0x00007fff _0803D09C: .4byte gBattlerPartyIndexes _0803D0A0: .4byte gEnemyParty -_0803D0A4: .4byte gUnknown_3004FF0 +_0803D0A4: .4byte gHealthboxSpriteIds _0803D0A8: ldr r1, _0803D0F0 @ =gBattlerPartyIndexes lsls r0, r4, 1 @@ -5135,7 +5135,7 @@ _0803D0A8: adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _0803D0F8 @ =gUnknown_3004FF0 + ldr r1, _0803D0F8 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -5159,7 +5159,7 @@ _0803D0D2: .align 2, 0 _0803D0F0: .4byte gBattlerPartyIndexes _0803D0F4: .4byte gEnemyParty -_0803D0F8: .4byte gUnknown_3004FF0 +_0803D0F8: .4byte gHealthboxSpriteIds _0803D0FC: .4byte gUnknown_3004FE0 _0803D100: .4byte gActiveBattler _0803D104: .4byte CompleteOnHealthbarDone_4 @@ -5182,7 +5182,7 @@ sub_803D114: @ 803D114 lsls r0, 24 cmp r0, 0 bne _0803D168 - ldr r0, _0803D174 @ =gUnknown_3004FF0 + ldr r0, _0803D174 @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -5197,7 +5197,7 @@ sub_803D114: @ 803D114 movs r2, 0x9 bl UpdateHealthboxAttribute ldrb r2, [r4] - ldr r0, _0803D180 @ =gUnknown_2024018 + ldr r0, _0803D180 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5221,10 +5221,10 @@ _0803D168: bx r0 .align 2, 0 _0803D170: .4byte gActiveBattler -_0803D174: .4byte gUnknown_3004FF0 +_0803D174: .4byte gHealthboxSpriteIds _0803D178: .4byte gBattlerPartyIndexes _0803D17C: .4byte gEnemyParty -_0803D180: .4byte gUnknown_2024018 +_0803D180: .4byte gBattleSpritesDataPtr _0803D184: .4byte gUnknown_3004FE0 _0803D188: .4byte CompleteOnFinishedStatusAnimation_5 thumb_func_end sub_803D114 @@ -5595,7 +5595,7 @@ RecordedOpponentHandleIntroSlide: @ 803D420 adds r0, r1 ldrb r0, [r0] bl sub_80BC3A0 - ldr r2, _0803D450 @ =gUnknown_2023F4C + ldr r2, _0803D450 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -5606,7 +5606,7 @@ RecordedOpponentHandleIntroSlide: @ 803D420 .align 2, 0 _0803D448: .4byte gUnknown_2022BC4 _0803D44C: .4byte gActiveBattler -_0803D450: .4byte gUnknown_2023F4C +_0803D450: .4byte gIntroSlideFlags thumb_func_end RecordedOpponentHandleIntroSlide thumb_func_start sub_803D454 @@ -5683,7 +5683,7 @@ sub_803D454: @ 803D454 adds r1, r4 ldrb r0, [r6] strh r0, [r1, 0x8] - ldr r3, _0803D550 @ =gUnknown_2024018 + ldr r3, _0803D550 @ =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r6] ldr r1, [r0, 0x4] @@ -5729,7 +5729,7 @@ _0803D540: .4byte sub_8075590 _0803D544: .4byte sub_803D648 _0803D548: .4byte sub_803D564 _0803D54C: .4byte gTasks -_0803D550: .4byte gUnknown_2024018 +_0803D550: .4byte gBattleSpritesDataPtr _0803D554: .4byte gUnknown_2024000 _0803D558: .4byte sub_80491B0 _0803D55C: .4byte gUnknown_3004FE0 @@ -5756,7 +5756,7 @@ sub_803D564: @ 803D564 adds r0, r1 ldrh r0, [r0, 0x8] strb r0, [r7] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0803D59E @@ -5849,7 +5849,7 @@ sub_803D648: @ 803D648 push {r4,lr} adds r4, r0, 0 ldrh r0, [r4, 0x6] - bl sub_803477C + bl FreeTrainerFrontPicPaletteAndTile ldrh r0, [r4, 0x38] ldr r1, _0803D674 @ =0x000003ff ands r1, r0 @@ -5893,7 +5893,7 @@ RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C _0803D6A4: .4byte gUnknown_2022BC4 _0803D6A8: .4byte gActiveBattler _0803D6AC: - ldr r4, _0803D704 @ =gUnknown_2024018 + ldr r4, _0803D704 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, _0803D708 @ =gActiveBattler ldrb r1, [r3] @@ -5937,7 +5937,7 @@ _0803D6AC: strb r1, [r3, 0x1] b _0803D776 .align 2, 0 -_0803D704: .4byte gUnknown_2024018 +_0803D704: .4byte gBattleSpritesDataPtr _0803D708: .4byte gActiveBattler _0803D70C: .4byte gUnknown_2022BC4 _0803D710: @@ -5963,7 +5963,7 @@ _0803D718: adds r1, r2 movs r3, 0 strb r0, [r1] - ldr r6, _0803D784 @ =gUnknown_2024018 + ldr r6, _0803D784 @ =gBattleSpritesDataPtr ldr r0, [r6] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -6000,7 +6000,7 @@ _0803D776: .align 2, 0 _0803D77C: .4byte gUnknown_2022BC8 _0803D780: .4byte gUnknown_2024000 -_0803D784: .4byte gUnknown_2024018 +_0803D784: .4byte gBattleSpritesDataPtr _0803D788: .4byte gUnknown_3004FE0 _0803D78C: .4byte sub_803D790 thumb_func_end RecordedOpponentHandleDrawPartyStatusSummary @@ -6008,7 +6008,7 @@ _0803D78C: .4byte sub_803D790 thumb_func_start sub_803D790 sub_803D790: @ 803D790 push {r4,lr} - ldr r4, _0803D7D0 @ =gUnknown_2024018 + ldr r4, _0803D7D0 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, _0803D7D4 @ =gActiveBattler ldrb r1, [r3] @@ -6039,14 +6039,14 @@ _0803D7C8: pop {r0} bx r0 .align 2, 0 -_0803D7D0: .4byte gUnknown_2024018 +_0803D7D0: .4byte gBattleSpritesDataPtr _0803D7D4: .4byte gActiveBattler thumb_func_end sub_803D790 thumb_func_start RecordedOpponentHandleCmd49 RecordedOpponentHandleCmd49: @ 803D7D8 push {lr} - ldr r0, _0803D814 @ =gUnknown_2024018 + ldr r0, _0803D814 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _0803D818 @ =gActiveBattler ldrb r3, [r0] @@ -6075,7 +6075,7 @@ _0803D80A: pop {r0} bx r0 .align 2, 0 -_0803D814: .4byte gUnknown_2024018 +_0803D814: .4byte gBattleSpritesDataPtr _0803D818: .4byte gActiveBattler _0803D81C: .4byte gTasks _0803D820: .4byte gUnknown_2024000 @@ -6095,7 +6095,7 @@ RecordedOpponentHandleSpriteInvisibility: @ 803D834 push {r4,lr} ldr r4, _0803D884 @ =gActiveBattler ldrb r0, [r4] - bl sub_8075224 + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _0803D87A diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index c0409ce57..f8a83d85e 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -147,7 +147,7 @@ _080D430C: .4byte SpriteCallbackDummy thumb_func_start sub_80D4310 sub_80D4310: @ 80D4310 push {r4,lr} - ldr r4, _080D4350 @ =gUnknown_2024018 + ldr r4, _080D4350 @ =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, _080D4354 @ =gActiveBattler ldrb r0, [r3] @@ -178,7 +178,7 @@ _080D4348: pop {r0} bx r0 .align 2, 0 -_080D4350: .4byte gUnknown_2024018 +_080D4350: .4byte gBattleSpritesDataPtr _080D4354: .4byte gActiveBattler thumb_func_end sub_80D4310 @@ -186,11 +186,11 @@ _080D4354: .4byte gActiveBattler sub_80D4358: @ 80D4358 push {r4-r6,lr} movs r6, 0 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080D437C - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080D43B0 @@ -202,7 +202,7 @@ sub_80D4358: @ 80D4358 beq _080D43B0 _080D437C: ldr r2, _080D43A0 @ =gSprites - ldr r1, _080D43A4 @ =gUnknown_3004FF0 + ldr r1, _080D43A4 @ =gHealthboxSpriteIds ldr r0, _080D43A8 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -220,12 +220,12 @@ _080D437C: .align 2, 0 _080D439C: .4byte gBattleTypeFlags _080D43A0: .4byte gSprites -_080D43A4: .4byte gUnknown_3004FF0 +_080D43A4: .4byte gHealthboxSpriteIds _080D43A8: .4byte gActiveBattler _080D43AC: .4byte SpriteCallbackDummy _080D43B0: ldr r2, _080D4420 @ =gSprites - ldr r5, _080D4424 @ =gUnknown_3004FF0 + ldr r5, _080D4424 @ =gHealthboxSpriteIds ldr r0, _080D4428 @ =gActiveBattler ldrb r3, [r0] adds r0, r3, r5 @@ -262,7 +262,7 @@ _080D43E8: _080D43F4: cmp r6, 0 beq _080D441A - ldr r0, _080D4430 @ =gUnknown_2024018 + ldr r0, _080D4430 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, _080D4428 @ =gActiveBattler ldrb r1, [r3] @@ -285,10 +285,10 @@ _080D441A: bx r0 .align 2, 0 _080D4420: .4byte gSprites -_080D4424: .4byte gUnknown_3004FF0 +_080D4424: .4byte gHealthboxSpriteIds _080D4428: .4byte gActiveBattler _080D442C: .4byte SpriteCallbackDummy -_080D4430: .4byte gUnknown_2024018 +_080D4430: .4byte gBattleSpritesDataPtr _080D4434: .4byte gUnknown_3004FE0 _080D4438: .4byte sub_80D4310 thumb_func_end sub_80D4358 @@ -296,7 +296,7 @@ _080D4438: .4byte sub_80D4310 thumb_func_start sub_80D443C sub_80D443C: @ 80D443C push {r4-r7,lr} - ldr r0, _080D4568 @ =gUnknown_2024018 + ldr r0, _080D4568 @ =gBattleSpritesDataPtr mov r12, r0 ldr r0, [r0] ldr r6, _080D456C @ =gActiveBattler @@ -344,7 +344,7 @@ _080D4460: lsls r0, 2 adds r0, r2 strb r4, [r0, 0x9] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080D4500 @@ -365,7 +365,7 @@ _080D4460: ldr r1, _080D4578 @ =gSprites adds r0, r1 bl DestroySprite - ldr r4, _080D457C @ =gUnknown_3004FF0 + ldr r4, _080D457C @ =gHealthboxSpriteIds ldrb r0, [r6] adds r1, r7, 0 eors r1, r0 @@ -401,7 +401,7 @@ _080D4500: ldr r1, _080D4578 @ =gSprites adds r0, r1 bl DestroySprite - ldr r5, _080D457C @ =gUnknown_3004FF0 + ldr r5, _080D457C @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r5 ldrb r0, [r0] @@ -421,7 +421,7 @@ _080D4500: adds r0, r5 ldrb r0, [r0] bl SetHealthboxSpriteVisible - ldr r0, _080D4568 @ =gUnknown_2024018 + ldr r0, _080D4568 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -440,12 +440,12 @@ _080D4562: pop {r0} bx r0 .align 2, 0 -_080D4568: .4byte gUnknown_2024018 +_080D4568: .4byte gBattleSpritesDataPtr _080D456C: .4byte gActiveBattler _080D4570: .4byte gBattleTypeFlags _080D4574: .4byte gUnknown_3004FFC _080D4578: .4byte gSprites -_080D457C: .4byte gUnknown_3004FF0 +_080D457C: .4byte gHealthboxSpriteIds _080D4580: .4byte gBattlerPartyIndexes _080D4584: .4byte gPlayerParty _080D4588: .4byte gUnknown_3004FE0 @@ -490,7 +490,7 @@ sub_80D45D0: @ 80D45D0 push {r4-r6,lr} ldr r5, _080D4610 @ =gActiveBattler ldrb r0, [r5] - ldr r6, _080D4614 @ =gUnknown_3004FF0 + ldr r6, _080D4614 @ =gHealthboxSpriteIds adds r1, r0, r6 ldrb r1, [r1] movs r2, 0 @@ -517,7 +517,7 @@ sub_80D45D0: @ 80D45D0 b _080D4632 .align 2, 0 _080D4610: .4byte gActiveBattler -_080D4614: .4byte gUnknown_3004FF0 +_080D4614: .4byte gHealthboxSpriteIds _080D4618: ldr r2, _080D4638 @ =gBattlerPartyIndexes ldrb r1, [r5] @@ -571,7 +571,7 @@ sub_80D4640: @ 80D4640 lsls r0, 2 adds r0, r6 bl DestroySprite - ldr r1, _080D46A4 @ =gUnknown_3004FF0 + ldr r1, _080D46A4 @ =gHealthboxSpriteIds ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -585,13 +585,13 @@ _080D4690: _080D4698: .4byte gSprites _080D469C: .4byte gBattlerSpriteIds _080D46A0: .4byte gActiveBattler -_080D46A4: .4byte gUnknown_3004FF0 +_080D46A4: .4byte gHealthboxSpriteIds thumb_func_end sub_80D4640 thumb_func_start sub_80D46A8 sub_80D46A8: @ 80D46A8 push {r4-r6,lr} - ldr r0, _080D4704 @ =gUnknown_2024018 + ldr r0, _080D4704 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, _080D4708 @ =gActiveBattler ldrb r2, [r6] @@ -622,7 +622,7 @@ sub_80D46A8: @ 80D46A8 lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _080D4714 @ =gUnknown_3004FF0 + ldr r1, _080D4714 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -633,11 +633,11 @@ _080D46FC: pop {r0} bx r0 .align 2, 0 -_080D4704: .4byte gUnknown_2024018 +_080D4704: .4byte gBattleSpritesDataPtr _080D4708: .4byte gActiveBattler _080D470C: .4byte gBattlerSpriteIds _080D4710: .4byte gSprites -_080D4714: .4byte gUnknown_3004FF0 +_080D4714: .4byte gHealthboxSpriteIds thumb_func_end sub_80D46A8 thumb_func_start sub_80D4718 @@ -722,7 +722,7 @@ _080D47A6: sub_80D47AC: @ 80D47AC push {r4,lr} ldr r2, _080D4800 @ =gSprites - ldr r0, _080D4804 @ =gUnknown_3004FF0 + ldr r0, _080D4804 @ =gHealthboxSpriteIds ldr r4, _080D4808 @ =gActiveBattler ldrb r3, [r4] adds r0, r3, r0 @@ -736,7 +736,7 @@ sub_80D47AC: @ 80D47AC ldr r0, _080D480C @ =SpriteCallbackDummy cmp r1, r0 bne _080D47F8 - ldr r0, _080D4810 @ =gUnknown_2024018 + ldr r0, _080D4810 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r3, 2 @@ -764,10 +764,10 @@ _080D47F8: bx r0 .align 2, 0 _080D4800: .4byte gSprites -_080D4804: .4byte gUnknown_3004FF0 +_080D4804: .4byte gHealthboxSpriteIds _080D4808: .4byte gActiveBattler _080D480C: .4byte SpriteCallbackDummy -_080D4810: .4byte gUnknown_2024018 +_080D4810: .4byte gBattleSpritesDataPtr _080D4814: .4byte gUnknown_3004FE0 _080D4818: .4byte sub_80D481C thumb_func_end sub_80D47AC @@ -775,7 +775,7 @@ _080D4818: .4byte sub_80D481C thumb_func_start sub_80D481C sub_80D481C: @ 80D481C push {lr} - ldr r0, _080D4844 @ =gUnknown_2024018 + ldr r0, _080D4844 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080D4848 @ =gActiveBattler ldrb r1, [r0] @@ -794,7 +794,7 @@ _080D483E: pop {r0} bx r0 .align 2, 0 -_080D4844: .4byte gUnknown_2024018 +_080D4844: .4byte gBattleSpritesDataPtr _080D4848: .4byte gActiveBattler thumb_func_end sub_80D481C @@ -803,7 +803,7 @@ sub_80D484C: @ 80D484C push {r4-r7,lr} mov r7, r8 push {r7} - ldr r3, _080D4918 @ =gUnknown_2024018 + ldr r3, _080D4918 @ =gBattleSpritesDataPtr ldr r0, [r3] ldr r7, _080D491C @ =gActiveBattler ldrb r1, [r7] @@ -863,7 +863,7 @@ sub_80D484C: @ 80D484C adds r0, r1 movs r1, 0 bl StartSpriteAnim - ldr r4, _080D4938 @ =gUnknown_3004FF0 + ldr r4, _080D4938 @ =gHealthboxSpriteIds ldrb r1, [r7] adds r0, r1, r4 ldrb r0, [r0] @@ -895,7 +895,7 @@ _080D490E: pop {r0} bx r0 .align 2, 0 -_080D4918: .4byte gUnknown_2024018 +_080D4918: .4byte gBattleSpritesDataPtr _080D491C: .4byte gActiveBattler _080D4920: .4byte 0x000027f9 _080D4924: .4byte c3_0802FDF4 @@ -903,7 +903,7 @@ _080D4928: .4byte gBattlerPartyIndexes _080D492C: .4byte gPlayerParty _080D4930: .4byte gBattlerSpriteIds _080D4934: .4byte gSprites -_080D4938: .4byte gUnknown_3004FF0 +_080D4938: .4byte gHealthboxSpriteIds _080D493C: .4byte gUnknown_3004FE0 _080D4940: .4byte sub_80D47AC thumb_func_end sub_80D484C @@ -911,7 +911,7 @@ _080D4940: .4byte sub_80D47AC thumb_func_start sub_80D4944 sub_80D4944: @ 80D4944 push {r4-r6,lr} - ldr r6, _080D49C4 @ =gUnknown_2024018 + ldr r6, _080D49C4 @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r4, _080D49C8 @ =gActiveBattler ldrb r2, [r4] @@ -974,7 +974,7 @@ _080D49BC: pop {r0} bx r0 .align 2, 0 -_080D49C4: .4byte gUnknown_2024018 +_080D49C4: .4byte gBattleSpritesDataPtr _080D49C8: .4byte gActiveBattler _080D49CC: .4byte gBattlerPartyIndexes _080D49D0: .4byte gPlayerParty @@ -1045,7 +1045,7 @@ _080D4A5C: .4byte gBitTable thumb_func_start sub_80D4A60 sub_80D4A60: @ 80D4A60 push {lr} - ldr r0, _080D4A88 @ =gUnknown_2024018 + ldr r0, _080D4A88 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080D4A8C @ =gActiveBattler ldrb r1, [r0] @@ -1064,14 +1064,14 @@ _080D4A82: pop {r0} bx r0 .align 2, 0 -_080D4A88: .4byte gUnknown_2024018 +_080D4A88: .4byte gBattleSpritesDataPtr _080D4A8C: .4byte gActiveBattler thumb_func_end sub_80D4A60 thumb_func_start sub_80D4A90 sub_80D4A90: @ 80D4A90 push {lr} - ldr r0, _080D4AB8 @ =gUnknown_2024018 + ldr r0, _080D4AB8 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080D4ABC @ =gActiveBattler ldrb r1, [r0] @@ -1090,7 +1090,7 @@ _080D4AB2: pop {r0} bx r0 .align 2, 0 -_080D4AB8: .4byte gUnknown_2024018 +_080D4AB8: .4byte gBattleSpritesDataPtr _080D4ABC: .4byte gActiveBattler thumb_func_end sub_80D4A90 @@ -3352,7 +3352,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 muls r0, r5 ldr r4, _080D5EB0 @ =gPlayerParty adds r0, r4 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldrb r0, [r6] lsls r0, 1 add r0, r8 @@ -3375,12 +3375,12 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 mov r8, r0 ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 ldrb r0, [r6] - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3491,7 +3491,7 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0 muls r0, r2 ldr r2, _080D5F34 @ =gPlayerParty adds r0, r2 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldrb r0, [r5] lsls r1, r0, 9 adds r1, r6 @@ -3567,12 +3567,12 @@ sub_80D5F40: @ 80D5F40 mov r10, r0 adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r6, 0 - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3693,7 +3693,7 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC ldrb r3, [r0] cmp r3, 0 bne _080D60F4 - ldr r0, _080D60E8 @ =gUnknown_2024018 + ldr r0, _080D60E8 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -3711,7 +3711,7 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC .align 2, 0 _080D60E0: .4byte gUnknown_2022BC4 _080D60E4: .4byte gActiveBattler -_080D60E8: .4byte gUnknown_2024018 +_080D60E8: .4byte gBattleSpritesDataPtr _080D60EC: .4byte gUnknown_3004FE0 _080D60F0: .4byte sub_80D613C _080D60F4: @@ -3732,7 +3732,7 @@ _080D60F4: lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _080D6138 @ =gUnknown_3004FF0 + ldr r1, _080D6138 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -3745,13 +3745,13 @@ _080D612A: .align 2, 0 _080D6130: .4byte gBattlerSpriteIds _080D6134: .4byte gSprites -_080D6138: .4byte gUnknown_3004FF0 +_080D6138: .4byte gHealthboxSpriteIds thumb_func_end LinkPartnerHandleReturnPokeToBall thumb_func_start sub_80D613C sub_80D613C: @ 80D613C push {r4-r6,lr} - ldr r6, _080D615C @ =gUnknown_2024018 + ldr r6, _080D615C @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _080D6160 @ =gActiveBattler ldrb r2, [r5] @@ -3767,7 +3767,7 @@ sub_80D613C: @ 80D613C beq _080D6192 b _080D61BA .align 2, 0 -_080D615C: .4byte gUnknown_2024018 +_080D615C: .4byte gBattleSpritesDataPtr _080D6160: .4byte gActiveBattler _080D6164: ldr r1, [r4] @@ -4087,7 +4087,7 @@ _080D63F0: .4byte sub_80D42A8 thumb_func_start sub_80D63F4 sub_80D63F4: @ 80D63F4 push {r4-r6,lr} - ldr r6, _080D6440 @ =gUnknown_2024018 + ldr r6, _080D6440 @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _080D6444 @ =gActiveBattler ldrb r2, [r5] @@ -4124,7 +4124,7 @@ _080D6428: strb r1, [r0, 0x4] b _080D64BE .align 2, 0 -_080D6440: .4byte gUnknown_2024018 +_080D6440: .4byte gBattleSpritesDataPtr _080D6444: .4byte gActiveBattler _080D6448: ldrb r1, [r3] @@ -4329,7 +4329,7 @@ _080D6522: adds r1, 0x10 adds r2, r1 str r2, [r3] - ldr r3, _080D6614 @ =gUnknown_2024008 + ldr r3, _080D6614 @ =gTransformedPersonalities ldrb r1, [r6] lsls r1, 2 adds r1, r3 @@ -4352,9 +4352,9 @@ _080D6604: .4byte gAnimMoveDmg _080D6608: .4byte gUnknown_2037EFE _080D660C: .4byte gUnknown_2037F00 _080D6610: .4byte gAnimDisableStructPtr -_080D6614: .4byte gUnknown_2024008 +_080D6614: .4byte gTransformedPersonalities _080D6618: - ldr r0, _080D663C @ =gUnknown_2024018 + ldr r0, _080D663C @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -4374,7 +4374,7 @@ _080D6636: pop {r0} bx r0 .align 2, 0 -_080D663C: .4byte gUnknown_2024018 +_080D663C: .4byte gBattleSpritesDataPtr _080D6640: .4byte gUnknown_3004FE0 _080D6644: .4byte sub_80D6648 thumb_func_end sub_80D6510 @@ -4404,7 +4404,7 @@ sub_80D6648: @ 80D6648 adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, _080D669C @ =gUnknown_2024018 + ldr r7, _080D669C @ =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4422,7 +4422,7 @@ sub_80D6648: @ 80D6648 .align 2, 0 _080D6694: .4byte gUnknown_2022BC4 _080D6698: .4byte gActiveBattler -_080D669C: .4byte gUnknown_2024018 +_080D669C: .4byte gBattleSpritesDataPtr _080D66A0: cmp r2, 0x2 beq _080D670A @@ -4478,10 +4478,10 @@ _080D66E0: strb r1, [r0, 0x4] b _080D67BC _080D670A: - ldr r0, _080D6770 @ =gUnknown_2037EDC + ldr r0, _080D6770 @ =gAnimScriptCallback ldr r0, [r0] bl _call_via_r0 - ldr r0, _080D6774 @ =gUnknown_2037EE1 + ldr r0, _080D6774 @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _080D67BC @@ -4515,7 +4515,7 @@ _080D670A: ands r0, r2 strb r0, [r1] _080D6758: - ldr r0, _080D6778 @ =gUnknown_2024018 + ldr r0, _080D6778 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080D677C @ =gActiveBattler ldrb r1, [r0] @@ -4528,9 +4528,9 @@ _080D6758: strb r1, [r0, 0x4] b _080D67BC .align 2, 0 -_080D6770: .4byte gUnknown_2037EDC -_080D6774: .4byte gUnknown_2037EE1 -_080D6778: .4byte gUnknown_2024018 +_080D6770: .4byte gAnimScriptCallback +_080D6774: .4byte gAnimScriptActive +_080D6778: .4byte gBattleSpritesDataPtr _080D677C: .4byte gActiveBattler _080D6780: ldrb r1, [r0] @@ -4728,7 +4728,7 @@ sub_80D6894: @ 80D6894 adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _080D6920 @ =gUnknown_3004FF0 + ldr r1, _080D6920 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -4741,7 +4741,7 @@ _080D6910: .4byte gActiveBattler _080D6914: .4byte 0x00007fff _080D6918: .4byte gBattlerPartyIndexes _080D691C: .4byte gPlayerParty -_080D6920: .4byte gUnknown_3004FF0 +_080D6920: .4byte gHealthboxSpriteIds _080D6924: ldr r1, _080D696C @ =gBattlerPartyIndexes lsls r0, r4, 1 @@ -4756,7 +4756,7 @@ _080D6924: adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _080D6974 @ =gUnknown_3004FF0 + ldr r1, _080D6974 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -4780,7 +4780,7 @@ _080D694E: .align 2, 0 _080D696C: .4byte gBattlerPartyIndexes _080D6970: .4byte gPlayerParty -_080D6974: .4byte gUnknown_3004FF0 +_080D6974: .4byte gHealthboxSpriteIds _080D6978: .4byte gUnknown_3004FE0 _080D697C: .4byte gActiveBattler _080D6980: .4byte sub_80D45D0 @@ -4803,7 +4803,7 @@ sub_80D6990: @ 80D6990 lsls r0, 24 cmp r0, 0 bne _080D69E4 - ldr r0, _080D69F0 @ =gUnknown_3004FF0 + ldr r0, _080D69F0 @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -4818,7 +4818,7 @@ sub_80D6990: @ 80D6990 movs r2, 0x9 bl UpdateHealthboxAttribute ldrb r2, [r4] - ldr r0, _080D69FC @ =gUnknown_2024018 + ldr r0, _080D69FC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -4842,10 +4842,10 @@ _080D69E4: bx r0 .align 2, 0 _080D69EC: .4byte gActiveBattler -_080D69F0: .4byte gUnknown_3004FF0 +_080D69F0: .4byte gHealthboxSpriteIds _080D69F4: .4byte gBattlerPartyIndexes _080D69F8: .4byte gPlayerParty -_080D69FC: .4byte gUnknown_2024018 +_080D69FC: .4byte gBattleSpritesDataPtr _080D6A00: .4byte gUnknown_3004FE0 _080D6A04: .4byte sub_80D4A60 thumb_func_end sub_80D6990 @@ -5217,7 +5217,7 @@ LinkPartnerHandleIntroSlide: @ 80D6CA0 adds r0, r1 ldrb r0, [r0] bl sub_80BC3A0 - ldr r2, _080D6CD0 @ =gUnknown_2023F4C + ldr r2, _080D6CD0 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -5228,7 +5228,7 @@ LinkPartnerHandleIntroSlide: @ 80D6CA0 .align 2, 0 _080D6CC8: .4byte gUnknown_2022BC4 _080D6CCC: .4byte gActiveBattler -_080D6CD0: .4byte gUnknown_2023F4C +_080D6CD0: .4byte gIntroSlideFlags thumb_func_end LinkPartnerHandleIntroSlide thumb_func_start sub_80D6CD4 @@ -5412,7 +5412,7 @@ _080D6E0C: adds r1, r4 ldrb r0, [r5] strh r0, [r1, 0x8] - ldr r3, _080D6EBC @ =gUnknown_2024018 + ldr r3, _080D6EBC @ =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r5] ldr r1, [r0, 0x4] @@ -5457,7 +5457,7 @@ _080D6EAC: .4byte gBattlerSpriteIds _080D6EB0: .4byte gActiveBattler _080D6EB4: .4byte sub_80D6ED0 _080D6EB8: .4byte gTasks -_080D6EBC: .4byte gUnknown_2024018 +_080D6EBC: .4byte gBattleSpritesDataPtr _080D6EC0: .4byte gUnknown_2024000 _080D6EC4: .4byte sub_80491B0 _080D6EC8: .4byte gUnknown_3004FE0 @@ -5494,7 +5494,7 @@ _080D6EFC: mov r9, r0 ldrh r0, [r1, 0x8] strb r0, [r7] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080D6F1C @@ -5557,7 +5557,7 @@ _080D6F4C: muls r0, r2 ldr r2, _080D6FCC @ =gPlayerParty adds r0, r2 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldrb r0, [r7] movs r1, 0 bl sub_80D5F40 @@ -5615,7 +5615,7 @@ sub_80D6FDC: @ 80D6FDC _080D7004: .4byte gUnknown_2022BC4 _080D7008: .4byte gActiveBattler _080D700C: - ldr r6, _080D7088 @ =gUnknown_2024018 + ldr r6, _080D7088 @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, _080D708C @ =gActiveBattler ldrb r1, [r5] @@ -5678,7 +5678,7 @@ _080D7080: pop {r0} bx r0 .align 2, 0 -_080D7088: .4byte gUnknown_2024018 +_080D7088: .4byte gBattleSpritesDataPtr _080D708C: .4byte gActiveBattler _080D7090: .4byte gUnknown_2022BC8 _080D7094: .4byte gUnknown_2024000 @@ -5689,7 +5689,7 @@ _080D709C: .4byte sub_80D70A0 thumb_func_start sub_80D70A0 sub_80D70A0: @ 80D70A0 push {r4,lr} - ldr r4, _080D70E0 @ =gUnknown_2024018 + ldr r4, _080D70E0 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, _080D70E4 @ =gActiveBattler ldrb r1, [r3] @@ -5720,14 +5720,14 @@ _080D70D8: pop {r0} bx r0 .align 2, 0 -_080D70E0: .4byte gUnknown_2024018 +_080D70E0: .4byte gBattleSpritesDataPtr _080D70E4: .4byte gActiveBattler thumb_func_end sub_80D70A0 thumb_func_start sub_80D70E8 sub_80D70E8: @ 80D70E8 push {lr} - ldr r0, _080D7124 @ =gUnknown_2024018 + ldr r0, _080D7124 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _080D7128 @ =gActiveBattler ldrb r3, [r0] @@ -5756,7 +5756,7 @@ _080D711A: pop {r0} bx r0 .align 2, 0 -_080D7124: .4byte gUnknown_2024018 +_080D7124: .4byte gBattleSpritesDataPtr _080D7128: .4byte gActiveBattler _080D712C: .4byte gTasks _080D7130: .4byte gUnknown_2024000 @@ -5776,7 +5776,7 @@ LinkPartnerHandleSpriteInvisibility: @ 80D7144 push {r4,lr} ldr r4, _080D7194 @ =gActiveBattler ldrb r0, [r4] - bl sub_8075224 + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _080D718A diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index df31ccd92..92efcecbc 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -722,7 +722,7 @@ _080E7B48: .4byte gSpecialVar_ItemId thumb_func_start sub_80E7B4C sub_80E7B4C: @ 80E7B4C push {r4-r7,lr} - ldr r4, _080E7CB0 @ =gUnknown_2024018 + ldr r4, _080E7CB0 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r5, _080E7CB4 @ =gActiveBattler ldrb r2, [r5] @@ -796,7 +796,7 @@ _080E7BB2: ands r0, r1 cmp r0, 0 bne _080E7CA8 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080E7C46 @@ -817,7 +817,7 @@ _080E7BB2: ldr r1, _080E7CC8 @ =gSprites adds r0, r1 bl DestroySprite - ldr r4, _080E7CCC @ =gUnknown_3004FF0 + ldr r4, _080E7CCC @ =gHealthboxSpriteIds ldrb r0, [r5] adds r1, r6, 0 eors r1, r0 @@ -853,7 +853,7 @@ _080E7C46: ldr r1, _080E7CC8 @ =gSprites adds r0, r1 bl DestroySprite - ldr r5, _080E7CCC @ =gUnknown_3004FF0 + ldr r5, _080E7CCC @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r5 ldrb r0, [r0] @@ -873,7 +873,7 @@ _080E7C46: adds r0, r5 ldrb r0, [r0] bl SetHealthboxSpriteVisible - ldr r0, _080E7CB0 @ =gUnknown_2024018 + ldr r0, _080E7CB0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -892,14 +892,14 @@ _080E7CA8: pop {r0} bx r0 .align 2, 0 -_080E7CB0: .4byte gUnknown_2024018 +_080E7CB0: .4byte gBattleSpritesDataPtr _080E7CB4: .4byte gActiveBattler _080E7CB8: .4byte gBattlerPartyIndexes _080E7CBC: .4byte gPlayerParty _080E7CC0: .4byte gBattleTypeFlags _080E7CC4: .4byte gUnknown_3004FFC _080E7CC8: .4byte gSprites -_080E7CCC: .4byte gUnknown_3004FF0 +_080E7CCC: .4byte gHealthboxSpriteIds _080E7CD0: .4byte gUnknown_3004FE0 _080E7CD4: .4byte sub_80E7CD8 thumb_func_end sub_80E7B4C @@ -911,7 +911,7 @@ sub_80E7CD8: @ 80E7CD8 push {r7} movs r4, 0 ldr r2, _080E7DD8 @ =gSprites - ldr r0, _080E7DDC @ =gUnknown_3004FF0 + ldr r0, _080E7DDC @ =gHealthboxSpriteIds ldr r1, _080E7DE0 @ =gActiveBattler mov r8, r1 ldrb r3, [r1] @@ -930,7 +930,7 @@ sub_80E7CD8: @ 80E7CD8 _080E7D02: cmp r4, 0 beq _080E7DCE - ldr r7, _080E7DE8 @ =gUnknown_2024018 + ldr r7, _080E7DE8 @ =gBattleSpritesDataPtr ldr r0, [r7] ldr r4, [r0, 0x4] lsls r0, r3, 1 @@ -1034,10 +1034,10 @@ _080E7DCE: bx r0 .align 2, 0 _080E7DD8: .4byte gSprites -_080E7DDC: .4byte gUnknown_3004FF0 +_080E7DDC: .4byte gHealthboxSpriteIds _080E7DE0: .4byte gActiveBattler _080E7DE4: .4byte SpriteCallbackDummy -_080E7DE8: .4byte gUnknown_2024018 +_080E7DE8: .4byte gBattleSpritesDataPtr _080E7DEC: .4byte 0x000027f9 _080E7DF0: .4byte c3_0802FDF4 _080E7DF4: .4byte gBattlerPartyIndexes @@ -1070,7 +1070,7 @@ sub_80E7E04: @ 80E7E04 str r7, [sp, 0x8] ldrh r2, [r1, 0xA] str r2, [sp, 0xC] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1147,7 +1147,7 @@ _080E7E4A: movs r1, 0xB bl EmitTwoReturnValues strb r5, [r4] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1294,7 +1294,7 @@ sub_80E7F7C: @ 80E7F7C adds r4, r6 ldr r2, [r4] subs r2, r1 - ldr r0, _080E8044 @ =gUnknown_3004FF0 + ldr r0, _080E8044 @ =gHealthboxSpriteIds add r0, r10 ldrb r1, [r0] mov r0, r9 @@ -1320,7 +1320,7 @@ _080E8034: .4byte gTasks _080E8038: .4byte gPlayerParty _080E803C: .4byte gExperienceTables _080E8040: .4byte gBaseStats -_080E8044: .4byte gUnknown_3004FF0 +_080E8044: .4byte gHealthboxSpriteIds _080E8048: .4byte sub_80E804C thumb_func_end sub_80E7F7C @@ -1356,7 +1356,7 @@ _080E807C: ldrh r2, [r6, 0xA] mov r10, r2 ldrb r7, [r6, 0xC] - ldr r5, _080E8144 @ =gUnknown_3004FF0 + ldr r5, _080E8144 @ =gHealthboxSpriteIds adds r5, r7, r5 ldrb r1, [r5] adds r0, r7, 0 @@ -1443,7 +1443,7 @@ _080E807C: str r0, [r6] b _080E8178 .align 2, 0 -_080E8144: .4byte gUnknown_3004FF0 +_080E8144: .4byte gHealthboxSpriteIds _080E8148: .4byte gPlayerParty _080E814C: .4byte gExperienceTables _080E8150: .4byte gBaseStats @@ -1488,7 +1488,7 @@ sub_80E8190: @ 80E8190 adds r0, r1 ldrb r4, [r0, 0xC] ldrb r6, [r0, 0x8] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1536,7 +1536,7 @@ sub_80E81F0: @ 80E81F0 lsls r0, 3 adds r2, r0, r1 ldrb r5, [r2, 0xC] - ldr r0, _080E8260 @ =gUnknown_2024018 + ldr r0, _080E8260 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r5, 1 @@ -1557,7 +1557,7 @@ sub_80E81F0: @ 80E81F0 adds r0, r7, 0 movs r1, 0x38 bl GetMonData - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1571,7 +1571,7 @@ sub_80E81F0: @ 80E81F0 ldrh r0, [r0] cmp r4, r0 bne _080E8270 - ldr r0, _080E826C @ =gUnknown_3004FF0 + ldr r0, _080E826C @ =gHealthboxSpriteIds adds r0, r2, r0 ldrb r0, [r0] adds r1, r7, 0 @@ -1580,12 +1580,12 @@ sub_80E81F0: @ 80E81F0 b _080E8284 .align 2, 0 _080E825C: .4byte gTasks -_080E8260: .4byte gUnknown_2024018 +_080E8260: .4byte gBattleSpritesDataPtr _080E8264: .4byte gPlayerParty _080E8268: .4byte gBattlerPartyIndexes -_080E826C: .4byte gUnknown_3004FF0 +_080E826C: .4byte gHealthboxSpriteIds _080E8270: - ldr r0, _080E8298 @ =gUnknown_3004FF0 + ldr r0, _080E8298 @ =gHealthboxSpriteIds adds r0, r5, r0 ldrb r0, [r0] movs r1, 0x64 @@ -1607,7 +1607,7 @@ _080E8292: pop {r0} bx r0 .align 2, 0 -_080E8298: .4byte gUnknown_3004FF0 +_080E8298: .4byte gHealthboxSpriteIds _080E829C: .4byte gPlayerParty _080E82A0: .4byte gTasks _080E82A4: .4byte sub_80E82A8 @@ -1681,7 +1681,7 @@ sub_80E82F4: @ 80E82F4 lsls r0, 2 adds r0, r6 bl DestroySprite - ldr r1, _080E8358 @ =gUnknown_3004FF0 + ldr r1, _080E8358 @ =gHealthboxSpriteIds ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -1695,7 +1695,7 @@ _080E8344: _080E834C: .4byte gSprites _080E8350: .4byte gBattlerSpriteIds _080E8354: .4byte gActiveBattler -_080E8358: .4byte gUnknown_3004FF0 +_080E8358: .4byte gHealthboxSpriteIds thumb_func_end sub_80E82F4 thumb_func_start sub_80E835C @@ -2366,7 +2366,7 @@ sub_80E88C0: @ 80E88C0 push {r4-r6,lr} ldr r5, _080E8900 @ =gActiveBattler ldrb r0, [r5] - ldr r6, _080E8904 @ =gUnknown_3004FF0 + ldr r6, _080E8904 @ =gHealthboxSpriteIds adds r1, r0, r6 ldrb r1, [r1] movs r2, 0 @@ -2393,7 +2393,7 @@ sub_80E88C0: @ 80E88C0 b _080E8922 .align 2, 0 _080E8900: .4byte gActiveBattler -_080E8904: .4byte gUnknown_3004FF0 +_080E8904: .4byte gHealthboxSpriteIds _080E8908: ldr r2, _080E8928 @ =gBattlerPartyIndexes ldrb r1, [r5] @@ -2496,7 +2496,7 @@ _080E89BE: thumb_func_start sub_80E89C4 sub_80E89C4: @ 80E89C4 push {r4-r6,lr} - ldr r0, _080E8A20 @ =gUnknown_2024018 + ldr r0, _080E8A20 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, _080E8A24 @ =gActiveBattler ldrb r2, [r6] @@ -2527,7 +2527,7 @@ sub_80E89C4: @ 80E89C4 lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _080E8A30 @ =gUnknown_3004FF0 + ldr r1, _080E8A30 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -2538,11 +2538,11 @@ _080E8A18: pop {r0} bx r0 .align 2, 0 -_080E8A20: .4byte gUnknown_2024018 +_080E8A20: .4byte gBattleSpritesDataPtr _080E8A24: .4byte gActiveBattler _080E8A28: .4byte gBattlerSpriteIds _080E8A2C: .4byte gSprites -_080E8A30: .4byte gUnknown_3004FF0 +_080E8A30: .4byte gHealthboxSpriteIds thumb_func_end sub_80E89C4 thumb_func_start sub_80E8A34 @@ -2577,7 +2577,7 @@ _080E8A68: .4byte SpriteCallbackDummy thumb_func_start CompleteOnFinishedBattleAnimation_4 CompleteOnFinishedBattleAnimation_4: @ 80E8A6C push {lr} - ldr r0, _080E8A94 @ =gUnknown_2024018 + ldr r0, _080E8A94 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080E8A98 @ =gActiveBattler ldrb r1, [r0] @@ -2596,7 +2596,7 @@ _080E8A8E: pop {r0} bx r0 .align 2, 0 -_080E8A94: .4byte gUnknown_2024018 +_080E8A94: .4byte gBattleSpritesDataPtr _080E8A98: .4byte gActiveBattler thumb_func_end CompleteOnFinishedBattleAnimation_4 @@ -2660,7 +2660,7 @@ _080E8B10: .4byte gBitTable thumb_func_start CompleteOnFinishedStatusAnimation_4 CompleteOnFinishedStatusAnimation_4: @ 80E8B14 push {lr} - ldr r0, _080E8B3C @ =gUnknown_2024018 + ldr r0, _080E8B3C @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080E8B40 @ =gActiveBattler ldrb r1, [r0] @@ -2679,7 +2679,7 @@ _080E8B36: pop {r0} bx r0 .align 2, 0 -_080E8B3C: .4byte gUnknown_2024018 +_080E8B3C: .4byte gBattleSpritesDataPtr _080E8B40: .4byte gActiveBattler thumb_func_end CompleteOnFinishedStatusAnimation_4 @@ -4936,7 +4936,7 @@ _080E9E24: lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _080E9E68 @ =gUnknown_3004FF0 + ldr r1, _080E9E68 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -4949,7 +4949,7 @@ _080E9E5A: .align 2, 0 _080E9E60: .4byte gBattlerSpriteIds _080E9E64: .4byte gSprites -_080E9E68: .4byte gUnknown_3004FF0 +_080E9E68: .4byte gHealthboxSpriteIds thumb_func_end WallyHandleReturnMonToBall thumb_func_start sub_80E9E6C @@ -5255,7 +5255,7 @@ sub_80EA0F4: @ 80EA0F4 thumb_func_start sub_80EA100 sub_80EA100: @ 80EA100 push {r4-r6,lr} - ldr r6, _080EA14C @ =gUnknown_2024018 + ldr r6, _080EA14C @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _080EA150 @ =gActiveBattler ldrb r2, [r5] @@ -5292,7 +5292,7 @@ _080EA134: strb r1, [r0, 0x4] b _080EA1CA .align 2, 0 -_080EA14C: .4byte gUnknown_2024018 +_080EA14C: .4byte gBattleSpritesDataPtr _080EA150: .4byte gActiveBattler _080EA154: ldrb r1, [r3] @@ -5377,7 +5377,7 @@ sub_80EA1EC: @ 80EA1EC thumb_func_start sub_80EA1F8 sub_80EA1F8: @ 80EA1F8 push {r4,r5,lr} - ldr r0, _080EA238 @ =gUnknown_2024018 + ldr r0, _080EA238 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] movs r0, 0x4 @@ -5406,7 +5406,7 @@ sub_80EA1F8: @ 80EA1F8 pop {r0} bx r0 .align 2, 0 -_080EA238: .4byte gUnknown_2024018 +_080EA238: .4byte gBattleSpritesDataPtr _080EA23C: .4byte gUnknown_2024005 _080EA240: .4byte gActiveBattler _080EA244: .4byte gUnknown_3004FE0 @@ -5423,7 +5423,7 @@ sub_80EA24C: @ 80EA24C adds r1, 0x1 adds r0, r1 ldrb r1, [r0] - ldr r0, _080EA29C @ =gUnknown_2024018 + ldr r0, _080EA29C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] @@ -5452,7 +5452,7 @@ sub_80EA24C: @ 80EA24C .align 2, 0 _080EA294: .4byte gUnknown_2022BC4 _080EA298: .4byte gActiveBattler -_080EA29C: .4byte gUnknown_2024018 +_080EA29C: .4byte gBattleSpritesDataPtr _080EA2A0: .4byte gUnknown_2024005 _080EA2A4: .4byte gUnknown_3004FE0 _080EA2A8: .4byte sub_80E7970 @@ -5558,7 +5558,7 @@ sub_80EA2B8: @ 80EA2B8 adds r1, 0x10 adds r2, r1 str r2, [r3] - ldr r3, _080EA3AC @ =gUnknown_2024008 + ldr r3, _080EA3AC @ =gTransformedPersonalities ldrb r1, [r6] lsls r1, 2 adds r1, r3 @@ -5581,9 +5581,9 @@ _080EA39C: .4byte gAnimMoveDmg _080EA3A0: .4byte gUnknown_2037EFE _080EA3A4: .4byte gUnknown_2037F00 _080EA3A8: .4byte gAnimDisableStructPtr -_080EA3AC: .4byte gUnknown_2024008 +_080EA3AC: .4byte gTransformedPersonalities _080EA3B0: - ldr r0, _080EA3D4 @ =gUnknown_2024018 + ldr r0, _080EA3D4 @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -5603,7 +5603,7 @@ _080EA3CE: pop {r0} bx r0 .align 2, 0 -_080EA3D4: .4byte gUnknown_2024018 +_080EA3D4: .4byte gBattleSpritesDataPtr _080EA3D8: .4byte gUnknown_3004FE0 _080EA3DC: .4byte sub_80EA3E0 thumb_func_end sub_80EA2B8 @@ -5628,7 +5628,7 @@ sub_80EA3E0: @ 80EA3E0 ldrb r0, [r1] lsls r0, 8 orrs r4, r0 - ldr r7, _080EA42C @ =gUnknown_2024018 + ldr r7, _080EA42C @ =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -5646,7 +5646,7 @@ sub_80EA3E0: @ 80EA3E0 .align 2, 0 _080EA424: .4byte gUnknown_2022BC4 _080EA428: .4byte gActiveBattler -_080EA42C: .4byte gUnknown_2024018 +_080EA42C: .4byte gBattleSpritesDataPtr _080EA430: cmp r2, 0x2 beq _080EA494 @@ -5699,10 +5699,10 @@ _080EA46A: strb r1, [r0, 0x4] b _080EA520 _080EA494: - ldr r0, _080EA4DC @ =gUnknown_2037EDC + ldr r0, _080EA4DC @ =gAnimScriptCallback ldr r0, [r0] bl _call_via_r0 - ldr r0, _080EA4E0 @ =gUnknown_2037EE1 + ldr r0, _080EA4E0 @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _080EA520 @@ -5734,8 +5734,8 @@ _080EA4C8: strb r1, [r0, 0x4] b _080EA520 .align 2, 0 -_080EA4DC: .4byte gUnknown_2037EDC -_080EA4E0: .4byte gUnknown_2037EE1 +_080EA4DC: .4byte gAnimScriptCallback +_080EA4E0: .4byte gAnimScriptActive _080EA4E4: ldrb r1, [r0] movs r0, 0x40 @@ -6379,7 +6379,7 @@ sub_80EA9B8: @ 80EA9B8 adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _080EAA44 @ =gUnknown_3004FF0 + ldr r1, _080EAA44 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -6392,7 +6392,7 @@ _080EAA34: .4byte gActiveBattler _080EAA38: .4byte 0x00007fff _080EAA3C: .4byte gBattlerPartyIndexes _080EAA40: .4byte gPlayerParty -_080EAA44: .4byte gUnknown_3004FF0 +_080EAA44: .4byte gHealthboxSpriteIds _080EAA48: ldr r1, _080EAAA0 @ =gBattlerPartyIndexes lsls r0, r4, 1 @@ -6407,7 +6407,7 @@ _080EAA48: adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r4, _080EAAA8 @ =gUnknown_3004FF0 + ldr r4, _080EAAA8 @ =gHealthboxSpriteIds adds r1, r0, r4 ldrb r1, [r1] str r7, [sp] @@ -6438,7 +6438,7 @@ _080EAA82: .align 2, 0 _080EAAA0: .4byte gBattlerPartyIndexes _080EAAA4: .4byte gPlayerParty -_080EAAA8: .4byte gUnknown_3004FF0 +_080EAAA8: .4byte gHealthboxSpriteIds _080EAAAC: .4byte gUnknown_3004FE0 _080EAAB0: .4byte gActiveBattler _080EAAB4: .4byte sub_80E88C0 @@ -6787,7 +6787,7 @@ sub_80EAD20: @ 80EAD20 adds r0, r1 ldrb r0, [r0] bl sub_80BC3A0 - ldr r2, _080EAD50 @ =gUnknown_2023F4C + ldr r2, _080EAD50 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -6798,7 +6798,7 @@ sub_80EAD20: @ 80EAD20 .align 2, 0 _080EAD48: .4byte gUnknown_2022BC4 _080EAD4C: .4byte gActiveBattler -_080EAD50: .4byte gUnknown_2023F4C +_080EAD50: .4byte gIntroSlideFlags thumb_func_end sub_80EAD20 thumb_func_start sub_80EAD54 @@ -6928,7 +6928,7 @@ _080EAD64: adds r1, r4 ldrb r0, [r7] strh r0, [r1, 0x8] - ldr r3, _080EAED0 @ =gUnknown_2024018 + ldr r3, _080EAED0 @ =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r7] ldr r1, [r0, 0x4] @@ -6977,13 +6977,13 @@ _080EAEC0: .4byte gUnknown_8239FD4 _080EAEC4: .4byte gSaveBlock2Ptr _080EAEC8: .4byte sub_80EB0A8 _080EAECC: .4byte gTasks -_080EAED0: .4byte gUnknown_2024018 +_080EAED0: .4byte gBattleSpritesDataPtr _080EAED4: .4byte gUnknown_2024000 _080EAED8: .4byte sub_80491B0 _080EAEDC: .4byte gUnknown_3004FE0 _080EAEE0: .4byte nullsub_13 _080EAEE4: - ldr r0, _080EAF20 @ =gUnknown_2024018 + ldr r0, _080EAF20 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _080EAF24 @ =gActiveBattler ldrb r3, [r0] @@ -7014,7 +7014,7 @@ _080EAF18: pop {r0} bx r0 .align 2, 0 -_080EAF20: .4byte gUnknown_2024018 +_080EAF20: .4byte gBattleSpritesDataPtr _080EAF24: .4byte gActiveBattler _080EAF28: .4byte gTasks _080EAF2C: .4byte gUnknown_2024000 @@ -7031,7 +7031,7 @@ sub_80EAF34: @ 80EAF34 adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 - ldr r0, _080EB07C @ =gUnknown_2024018 + ldr r0, _080EB07C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r6, 2 @@ -7076,12 +7076,12 @@ sub_80EAF34: @ 80EAF34 mov r10, r0 adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r6, 0 - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -7178,7 +7178,7 @@ sub_80EAF34: @ 80EAF34 pop {r0} bx r0 .align 2, 0 -_080EB07C: .4byte gUnknown_2024018 +_080EB07C: .4byte gBattleSpritesDataPtr _080EB080: .4byte gBattlerPartyIndexes _080EB084: .4byte gUnknown_2022BC4 _080EB088: .4byte gPlayerParty @@ -7272,7 +7272,7 @@ sub_80EB11C: @ 80EB11C _080EB144: .4byte gUnknown_2022BC4 _080EB148: .4byte gActiveBattler _080EB14C: - ldr r0, _080EB190 @ =gUnknown_2024018 + ldr r0, _080EB190 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r5, _080EB194 @ =gActiveBattler ldrb r1, [r5] @@ -7306,7 +7306,7 @@ _080EB18A: pop {r0} bx r0 .align 2, 0 -_080EB190: .4byte gUnknown_2024018 +_080EB190: .4byte gBattleSpritesDataPtr _080EB194: .4byte gActiveBattler _080EB198: .4byte gUnknown_2022BC8 _080EB19C: .4byte gUnknown_2024000 diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index 0618be95f..3bc790216 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -145,7 +145,7 @@ sub_8035B58: @ 8035B58 bne _08035BC8 adds r0, r2, r4 ldrh r0, [r0, 0x6] - bl sub_803477C + bl FreeTrainerFrontPicPaletteAndTile ldrb r0, [r5] adds r0, r6 ldrb r0, [r0] @@ -194,7 +194,7 @@ _08035BE4: .4byte 0xfffffc00 thumb_func_start sub_8035BE8 sub_8035BE8: @ 8035BE8 push {r4,lr} - ldr r4, _08035C28 @ =gUnknown_2024018 + ldr r4, _08035C28 @ =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, _08035C2C @ =gActiveBattler ldrb r0, [r3] @@ -225,7 +225,7 @@ _08035C20: pop {r0} bx r0 .align 2, 0 -_08035C28: .4byte gUnknown_2024018 +_08035C28: .4byte gBattleSpritesDataPtr _08035C2C: .4byte gActiveBattler thumb_func_end sub_8035BE8 @@ -233,11 +233,11 @@ _08035C2C: .4byte gActiveBattler sub_8035C30: @ 8035C30 push {r4-r7,lr} movs r6, 0 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _08035C54 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _08035C88 @@ -249,7 +249,7 @@ sub_8035C30: @ 8035C30 beq _08035C88 _08035C54: ldr r2, _08035C78 @ =gSprites - ldr r1, _08035C7C @ =gUnknown_3004FF0 + ldr r1, _08035C7C @ =gHealthboxSpriteIds ldr r0, _08035C80 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -267,12 +267,12 @@ _08035C54: .align 2, 0 _08035C74: .4byte gBattleTypeFlags _08035C78: .4byte gSprites -_08035C7C: .4byte gUnknown_3004FF0 +_08035C7C: .4byte gHealthboxSpriteIds _08035C80: .4byte gActiveBattler _08035C84: .4byte SpriteCallbackDummy _08035C88: ldr r2, _08035D84 @ =gSprites - ldr r5, _08035D88 @ =gUnknown_3004FF0 + ldr r5, _08035D88 @ =gHealthboxSpriteIds ldr r0, _08035D8C @ =gActiveBattler ldrb r3, [r0] adds r0, r3, r5 @@ -310,7 +310,7 @@ _08035CCA: bne _08035CD0 b _08035DD2 _08035CD0: - ldr r0, _08035D94 @ =gUnknown_2024018 + ldr r0, _08035D94 @ =gBattleSpritesDataPtr mov r12, r0 ldr r0, [r0] ldr r7, _08035D8C @ =gActiveBattler @@ -399,10 +399,10 @@ _08035CD0: b _08035DB0 .align 2, 0 _08035D84: .4byte gSprites -_08035D88: .4byte gUnknown_3004FF0 +_08035D88: .4byte gHealthboxSpriteIds _08035D8C: .4byte gActiveBattler _08035D90: .4byte SpriteCallbackDummy -_08035D94: .4byte gUnknown_2024018 +_08035D94: .4byte gBattleSpritesDataPtr _08035D98: .4byte 0x000027f9 _08035D9C: .4byte gBattleTypeFlags _08035DA0: .4byte gMPlayInfo_BGM @@ -413,7 +413,7 @@ _08035DA4: lsls r2, 1 bl m4aMPlayVolumeControl _08035DB0: - ldr r0, _08035DE0 @ =gUnknown_2024018 + ldr r0, _08035DE0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r3, _08035DE4 @ =gActiveBattler ldrb r1, [r3] @@ -437,7 +437,7 @@ _08035DD2: .align 2, 0 _08035DD8: .4byte gMPlayInfo_BGM _08035DDC: .4byte 0x0000ffff -_08035DE0: .4byte gUnknown_2024018 +_08035DE0: .4byte gBattleSpritesDataPtr _08035DE4: .4byte gActiveBattler _08035DE8: .4byte gUnknown_3004FE0 _08035DEC: .4byte sub_8035BE8 @@ -449,7 +449,7 @@ sub_8035DF0: @ 8035DF0 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r4, _08035FC0 @ =gUnknown_2024018 + ldr r4, _08035FC0 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r1, _08035FC4 @ =gActiveBattler mov r9, r1 @@ -530,7 +530,7 @@ _08035E7E: beq _08035E96 b _08035FB4 _08035E96: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _08035F28 @@ -552,7 +552,7 @@ _08035E96: ldr r1, _08035FD8 @ =gSprites adds r0, r1 bl DestroySprite - ldr r4, _08035FDC @ =gUnknown_3004FF0 + ldr r4, _08035FDC @ =gHealthboxSpriteIds mov r1, r9 ldrb r0, [r1] adds r1, r7, 0 @@ -595,7 +595,7 @@ _08035E96: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback _08035F28: ldr r1, _08035FD4 @ =gUnknown_3004FFC ldr r5, _08035FC4 @ =gActiveBattler @@ -608,7 +608,7 @@ _08035F28: ldr r1, _08035FD8 @ =gSprites adds r0, r1 bl DestroySprite - ldr r4, _08035FDC @ =gUnknown_3004FF0 + ldr r4, _08035FDC @ =gHealthboxSpriteIds ldrb r1, [r5] adds r0, r1, r4 ldrb r0, [r0] @@ -646,8 +646,8 @@ _08035F28: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback - ldr r0, _08035FC0 @ =gUnknown_2024018 + bl SetBattlerShadowSpriteCallback + ldr r0, _08035FC0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -669,14 +669,14 @@ _08035FB4: pop {r0} bx r0 .align 2, 0 -_08035FC0: .4byte gUnknown_2024018 +_08035FC0: .4byte gBattleSpritesDataPtr _08035FC4: .4byte gActiveBattler _08035FC8: .4byte gBattlerPartyIndexes _08035FCC: .4byte gEnemyParty _08035FD0: .4byte gBattleTypeFlags _08035FD4: .4byte gUnknown_3004FFC _08035FD8: .4byte gSprites -_08035FDC: .4byte gUnknown_3004FF0 +_08035FDC: .4byte gHealthboxSpriteIds _08035FE0: .4byte gUnknown_3004FE0 _08035FE4: .4byte sub_8035C30 thumb_func_end sub_8035DF0 @@ -705,7 +705,7 @@ sub_8035FE8: @ 8035FE8 ldrsh r0, [r1, r4] cmp r0, 0 bne _08036094 - ldr r6, _08036050 @ =gUnknown_2024018 + ldr r6, _08036050 @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r4, r3, 1 @@ -731,7 +731,7 @@ sub_8035FE8: @ 8035FE8 _08036044: .4byte gSprites _08036048: .4byte gBattlerSpriteIds _0803604C: .4byte gActiveBattler -_08036050: .4byte gUnknown_2024018 +_08036050: .4byte gBattleSpritesDataPtr _08036054: .4byte gBattlerPartyIndexes _08036058: .4byte gEnemyParty _0803605C: @@ -773,7 +773,7 @@ sub_80360A0: @ 80360A0 push {r4-r6,lr} ldr r6, _080360E0 @ =gActiveBattler ldrb r0, [r6] - ldr r5, _080360E4 @ =gUnknown_3004FF0 + ldr r5, _080360E4 @ =gHealthboxSpriteIds adds r1, r0, r5 ldrb r1, [r1] movs r2, 0 @@ -800,7 +800,7 @@ sub_80360A0: @ 80360A0 b _08036124 .align 2, 0 _080360E0: .4byte gActiveBattler -_080360E4: .4byte gUnknown_3004FF0 +_080360E4: .4byte gHealthboxSpriteIds _080360E8: movs r0, 0x1 bl sub_80EB2E0 @@ -852,7 +852,7 @@ sub_803612C: @ 803612C lsls r0, 31 cmp r0, 0 bne _0803615A - ldr r0, _0803616C @ =gUnknown_3004FF0 + ldr r0, _0803616C @ =gHealthboxSpriteIds adds r0, r3, r0 ldrb r0, [r0] bl SetHealthboxSpriteInvisible @@ -864,13 +864,13 @@ _0803615A: _08036160: .4byte gSprites _08036164: .4byte gBattlerSpriteIds _08036168: .4byte gActiveBattler -_0803616C: .4byte gUnknown_3004FF0 +_0803616C: .4byte gHealthboxSpriteIds thumb_func_end sub_803612C thumb_func_start sub_8036170 sub_8036170: @ 8036170 push {r4-r6,lr} - ldr r0, _080361D0 @ =gUnknown_2024018 + ldr r0, _080361D0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, _080361D4 @ =gActiveBattler ldrb r2, [r6] @@ -902,8 +902,8 @@ sub_8036170: @ 8036170 adds r0, r4 bl DestroySprite ldrb r0, [r6] - bl EnemyShadowCallbackToSetInvisible - ldr r1, _080361E0 @ =gUnknown_3004FF0 + bl HideBattlerShadowSprite + ldr r1, _080361E0 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -914,11 +914,11 @@ _080361CA: pop {r0} bx r0 .align 2, 0 -_080361D0: .4byte gUnknown_2024018 +_080361D0: .4byte gBattleSpritesDataPtr _080361D4: .4byte gActiveBattler _080361D8: .4byte gBattlerSpriteIds _080361DC: .4byte gSprites -_080361E0: .4byte gUnknown_3004FF0 +_080361E0: .4byte gHealthboxSpriteIds thumb_func_end sub_8036170 thumb_func_start sub_80361E4 @@ -1003,7 +1003,7 @@ _08036272: sub_8036278: @ 8036278 push {r4,lr} ldr r2, _080362CC @ =gSprites - ldr r0, _080362D0 @ =gUnknown_3004FF0 + ldr r0, _080362D0 @ =gHealthboxSpriteIds ldr r4, _080362D4 @ =gActiveBattler ldrb r3, [r4] adds r0, r3, r0 @@ -1017,7 +1017,7 @@ sub_8036278: @ 8036278 ldr r0, _080362D8 @ =SpriteCallbackDummy cmp r1, r0 bne _080362C4 - ldr r0, _080362DC @ =gUnknown_2024018 + ldr r0, _080362DC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r3, 2 @@ -1045,10 +1045,10 @@ _080362C4: bx r0 .align 2, 0 _080362CC: .4byte gSprites -_080362D0: .4byte gUnknown_3004FF0 +_080362D0: .4byte gHealthboxSpriteIds _080362D4: .4byte gActiveBattler _080362D8: .4byte SpriteCallbackDummy -_080362DC: .4byte gUnknown_2024018 +_080362DC: .4byte gBattleSpritesDataPtr _080362E0: .4byte gUnknown_3004FE0 _080362E4: .4byte sub_80362E8 thumb_func_end sub_8036278 @@ -1056,7 +1056,7 @@ _080362E4: .4byte sub_80362E8 thumb_func_start sub_80362E8 sub_80362E8: @ 80362E8 push {lr} - ldr r0, _08036324 @ =gUnknown_2024018 + ldr r0, _08036324 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _08036328 @ =gActiveBattler ldrb r1, [r0] @@ -1084,7 +1084,7 @@ _08036320: pop {r0} bx r0 .align 2, 0 -_08036324: .4byte gUnknown_2024018 +_08036324: .4byte gBattleSpritesDataPtr _08036328: .4byte gActiveBattler _0803632C: .4byte gMPlayInfo_BGM _08036330: .4byte 0x0000ffff @@ -1093,7 +1093,7 @@ _08036330: .4byte 0x0000ffff thumb_func_start sub_8036334 sub_8036334: @ 8036334 push {r4,r5,lr} - ldr r3, _080363E0 @ =gUnknown_2024018 + ldr r3, _080363E0 @ =gBattleSpritesDataPtr ldr r0, [r3] ldr r5, _080363E4 @ =gActiveBattler ldrb r1, [r5] @@ -1139,7 +1139,7 @@ sub_8036334: @ 8036334 adds r0, r1 movs r1, 0 bl StartSpriteAnim - ldr r4, _080363F4 @ =gUnknown_3004FF0 + ldr r4, _080363F4 @ =gHealthboxSpriteIds ldrb r1, [r5] adds r0, r1, r4 ldrb r0, [r0] @@ -1172,12 +1172,12 @@ _080363D8: pop {r0} bx r0 .align 2, 0 -_080363E0: .4byte gUnknown_2024018 +_080363E0: .4byte gBattleSpritesDataPtr _080363E4: .4byte gActiveBattler _080363E8: .4byte 0x000027f9 _080363EC: .4byte gBattlerSpriteIds _080363F0: .4byte gSprites -_080363F4: .4byte gUnknown_3004FF0 +_080363F4: .4byte gHealthboxSpriteIds _080363F8: .4byte gBattlerPartyIndexes _080363FC: .4byte gEnemyParty _08036400: .4byte gUnknown_3004FE0 @@ -1187,7 +1187,7 @@ _08036404: .4byte sub_8036278 thumb_func_start sub_8036408 sub_8036408: @ 8036408 push {r4-r6,lr} - ldr r6, _080364AC @ =gUnknown_2024018 + ldr r6, _080364AC @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, _080364B0 @ =gActiveBattler ldrb r2, [r5] @@ -1254,7 +1254,7 @@ _0803643A: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback ldr r1, _080364C8 @ =gUnknown_3004FE0 ldrb r0, [r5] lsls r0, 2 @@ -1266,7 +1266,7 @@ _080364A4: pop {r0} bx r0 .align 2, 0 -_080364AC: .4byte gUnknown_2024018 +_080364AC: .4byte gBattleSpritesDataPtr _080364B0: .4byte gActiveBattler _080364B4: .4byte gBattlerPartyIndexes _080364B8: .4byte gEnemyParty @@ -1280,7 +1280,7 @@ _080364CC: .4byte sub_8036334 thumb_func_start sub_80364D0 sub_80364D0: @ 80364D0 push {lr} - ldr r0, _080364F8 @ =gUnknown_2024018 + ldr r0, _080364F8 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080364FC @ =gActiveBattler ldrb r1, [r0] @@ -1299,14 +1299,14 @@ _080364F2: pop {r0} bx r0 .align 2, 0 -_080364F8: .4byte gUnknown_2024018 +_080364F8: .4byte gBattleSpritesDataPtr _080364FC: .4byte gActiveBattler thumb_func_end sub_80364D0 thumb_func_start sub_8036500 sub_8036500: @ 8036500 push {lr} - ldr r0, _08036528 @ =gUnknown_2024018 + ldr r0, _08036528 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _0803652C @ =gActiveBattler ldrb r1, [r0] @@ -1325,7 +1325,7 @@ _08036522: pop {r0} bx r0 .align 2, 0 -_08036528: .4byte gUnknown_2024018 +_08036528: .4byte gBattleSpritesDataPtr _0803652C: .4byte gActiveBattler thumb_func_end sub_8036500 @@ -3594,12 +3594,12 @@ sub_80377FC: @ 80377FC ldrh r0, [r0] muls r0, r5 adds r0, r6 - bl sub_8034658 + bl DecompressGhostFrontPic ldrb r0, [r4] bl sub_8074900 lsls r0, 24 lsrs r5, r0, 24 - ldr r3, _0803788C @ =gUnknown_2024018 + ldr r3, _0803788C @ =gBattleSpritesDataPtr ldr r0, [r3] ldrb r1, [r4] ldr r2, [r0, 0x4] @@ -3628,7 +3628,7 @@ _0803787C: .4byte gBattlerPartyIndexes _08037880: .4byte gActiveBattler _08037884: .4byte gEnemyParty _08037888: .4byte gBattleTypeFlags -_0803788C: .4byte gUnknown_2024018 +_0803788C: .4byte gBattleSpritesDataPtr _08037890: ldrb r1, [r4] lsls r0, r1, 1 @@ -3638,7 +3638,7 @@ _08037890: adds r0, r6 bl BattleLoadOpponentMonSpriteGfx ldrb r0, [r4] - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y lsls r0, 24 lsrs r5, r0, 24 _080378AA: @@ -3653,7 +3653,7 @@ _080378AA: ldr r6, _080379A0 @ =gMultiuseSpriteTemplate ldrb r0, [r7] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -3743,7 +3743,7 @@ _080378AA: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback _08037986: ldr r0, _080379C0 @ =gUnknown_3004FE0 ldrb r1, [r7] @@ -3877,12 +3877,12 @@ sub_8037A28: @ 8037A28 mov r9, r0 adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r6, 0 - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -4003,7 +4003,7 @@ sub_8037BAC: @ 8037BAC ldrb r3, [r0] cmp r3, 0 bne _08037BF4 - ldr r0, _08037BE8 @ =gUnknown_2024018 + ldr r0, _08037BE8 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -4021,7 +4021,7 @@ sub_8037BAC: @ 8037BAC .align 2, 0 _08037BE0: .4byte gUnknown_2022BC4 _08037BE4: .4byte gActiveBattler -_08037BE8: .4byte gUnknown_2024018 +_08037BE8: .4byte gBattleSpritesDataPtr _08037BEC: .4byte gUnknown_3004FE0 _08037BF0: .4byte sub_8037C44 _08037BF4: @@ -4043,8 +4043,8 @@ _08037BF4: adds r0, r4 bl DestroySprite ldrb r0, [r6] - bl EnemyShadowCallbackToSetInvisible - ldr r1, _08037C40 @ =gUnknown_3004FF0 + bl HideBattlerShadowSprite + ldr r1, _08037C40 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -4057,13 +4057,13 @@ _08037C30: .align 2, 0 _08037C38: .4byte gBattlerSpriteIds _08037C3C: .4byte gSprites -_08037C40: .4byte gUnknown_3004FF0 +_08037C40: .4byte gHealthboxSpriteIds thumb_func_end sub_8037BAC thumb_func_start sub_8037C44 sub_8037C44: @ 8037C44 push {r4-r6,lr} - ldr r6, _08037C64 @ =gUnknown_2024018 + ldr r6, _08037C64 @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _08037C68 @ =gActiveBattler ldrb r2, [r5] @@ -4079,7 +4079,7 @@ sub_8037C44: @ 8037C44 beq _08037C9A b _08037CC2 .align 2, 0 -_08037C64: .4byte gUnknown_2024018 +_08037C64: .4byte gBattleSpritesDataPtr _08037C68: .4byte gActiveBattler _08037C6C: ldr r1, [r4] @@ -4195,7 +4195,7 @@ _08037D3A: mov r8, r0 ldrb r1, [r0] mov r0, r9 - bl sub_80346C4 + bl DecompressTrainerFrontPic mov r1, r8 ldrb r0, [r1] bl GetBattlerPosition @@ -4414,7 +4414,7 @@ _08037F0E: mov r8, r0 ldrb r1, [r0] mov r0, r9 - bl sub_80346C4 + bl DecompressTrainerFrontPic mov r1, r8 ldrb r0, [r1] bl GetBattlerPosition @@ -4657,7 +4657,7 @@ _08038120: .4byte sub_8035B58 thumb_func_start sub_8038124 sub_8038124: @ 8038124 push {r4-r6,lr} - ldr r6, _08038170 @ =gUnknown_2024018 + ldr r6, _08038170 @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _08038174 @ =gActiveBattler ldrb r2, [r5] @@ -4694,7 +4694,7 @@ _08038158: strb r1, [r0, 0x4] b _080381B4 .align 2, 0 -_08038170: .4byte gUnknown_2024018 +_08038170: .4byte gBattleSpritesDataPtr _08038174: .4byte gActiveBattler _08038178: ldrb r1, [r3] @@ -4869,7 +4869,7 @@ _08038212: adds r1, 0x10 adds r2, r1 str r2, [r3] - ldr r3, _08038304 @ =gUnknown_2024008 + ldr r3, _08038304 @ =gTransformedPersonalities ldrb r1, [r6] lsls r1, 2 adds r1, r3 @@ -4892,9 +4892,9 @@ _080382F4: .4byte gAnimMoveDmg _080382F8: .4byte gUnknown_2037EFE _080382FC: .4byte gUnknown_2037F00 _08038300: .4byte gAnimDisableStructPtr -_08038304: .4byte gUnknown_2024008 +_08038304: .4byte gTransformedPersonalities _08038308: - ldr r0, _0803832C @ =gUnknown_2024018 + ldr r0, _0803832C @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -4914,7 +4914,7 @@ _08038326: pop {r0} bx r0 .align 2, 0 -_0803832C: .4byte gUnknown_2024018 +_0803832C: .4byte gBattleSpritesDataPtr _08038330: .4byte gUnknown_3004FE0 _08038334: .4byte sub_8038338 thumb_func_end sub_8038200 @@ -4944,7 +4944,7 @@ sub_8038338: @ 8038338 adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, _0803838C @ =gUnknown_2024018 + ldr r7, _0803838C @ =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4962,7 +4962,7 @@ sub_8038338: @ 8038338 .align 2, 0 _08038384: .4byte gUnknown_2022BC4 _08038388: .4byte gActiveBattler -_0803838C: .4byte gUnknown_2024018 +_0803838C: .4byte gBattleSpritesDataPtr _08038390: cmp r2, 0x2 beq _080383FA @@ -5018,10 +5018,10 @@ _080383D0: strb r1, [r0, 0x4] b _080384AC _080383FA: - ldr r0, _08038460 @ =gUnknown_2037EDC + ldr r0, _08038460 @ =gAnimScriptCallback ldr r0, [r0] bl _call_via_r0 - ldr r0, _08038464 @ =gUnknown_2037EE1 + ldr r0, _08038464 @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _080384AC @@ -5055,7 +5055,7 @@ _080383FA: ands r0, r2 strb r0, [r1] _08038448: - ldr r0, _08038468 @ =gUnknown_2024018 + ldr r0, _08038468 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _0803846C @ =gActiveBattler ldrb r1, [r0] @@ -5068,9 +5068,9 @@ _08038448: strb r1, [r0, 0x4] b _080384AC .align 2, 0 -_08038460: .4byte gUnknown_2037EDC -_08038464: .4byte gUnknown_2037EE1 -_08038468: .4byte gUnknown_2024018 +_08038460: .4byte gAnimScriptCallback +_08038464: .4byte gAnimScriptActive +_08038468: .4byte gBattleSpritesDataPtr _0803846C: .4byte gActiveBattler _08038470: ldrb r1, [r0] @@ -5596,7 +5596,7 @@ sub_8038844: @ 8038844 adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _080388D0 @ =gUnknown_3004FF0 + ldr r1, _080388D0 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -5609,7 +5609,7 @@ _080388C0: .4byte gActiveBattler _080388C4: .4byte 0x00007fff _080388C8: .4byte gBattlerPartyIndexes _080388CC: .4byte gEnemyParty -_080388D0: .4byte gUnknown_3004FF0 +_080388D0: .4byte gHealthboxSpriteIds _080388D4: ldr r1, _0803891C @ =gBattlerPartyIndexes lsls r0, r4, 1 @@ -5624,7 +5624,7 @@ _080388D4: adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _08038924 @ =gUnknown_3004FF0 + ldr r1, _08038924 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -5648,7 +5648,7 @@ _080388FE: .align 2, 0 _0803891C: .4byte gBattlerPartyIndexes _08038920: .4byte gEnemyParty -_08038924: .4byte gUnknown_3004FF0 +_08038924: .4byte gHealthboxSpriteIds _08038928: .4byte gUnknown_3004FE0 _0803892C: .4byte gActiveBattler _08038930: .4byte sub_80360A0 @@ -5671,7 +5671,7 @@ sub_8038940: @ 8038940 lsls r0, 24 cmp r0, 0 bne _08038994 - ldr r0, _080389A0 @ =gUnknown_3004FF0 + ldr r0, _080389A0 @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -5686,7 +5686,7 @@ sub_8038940: @ 8038940 movs r2, 0x9 bl UpdateHealthboxAttribute ldrb r2, [r4] - ldr r0, _080389AC @ =gUnknown_2024018 + ldr r0, _080389AC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5710,10 +5710,10 @@ _08038994: bx r0 .align 2, 0 _0803899C: .4byte gActiveBattler -_080389A0: .4byte gUnknown_3004FF0 +_080389A0: .4byte gHealthboxSpriteIds _080389A4: .4byte gBattlerPartyIndexes _080389A8: .4byte gEnemyParty -_080389AC: .4byte gUnknown_2024018 +_080389AC: .4byte gBattleSpritesDataPtr _080389B0: .4byte gUnknown_3004FE0 _080389B4: .4byte sub_80364D0 thumb_func_end sub_8038940 @@ -6084,7 +6084,7 @@ OpponentHandleIntroSlide: @ 8038C4C adds r0, r1 ldrb r0, [r0] bl sub_80BC3A0 - ldr r2, _08038C7C @ =gUnknown_2023F4C + ldr r2, _08038C7C @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -6095,7 +6095,7 @@ OpponentHandleIntroSlide: @ 8038C4C .align 2, 0 _08038C74: .4byte gUnknown_2022BC4 _08038C78: .4byte gActiveBattler -_08038C7C: .4byte gUnknown_2023F4C +_08038C7C: .4byte gIntroSlideFlags thumb_func_end OpponentHandleIntroSlide thumb_func_start sub_8038C80 @@ -6172,7 +6172,7 @@ sub_8038C80: @ 8038C80 adds r1, r4 ldrb r0, [r6] strh r0, [r1, 0x8] - ldr r3, _08038D7C @ =gUnknown_2024018 + ldr r3, _08038D7C @ =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r6] ldr r1, [r0, 0x4] @@ -6218,7 +6218,7 @@ _08038D6C: .4byte sub_8075590 _08038D70: .4byte sub_8038D90 _08038D74: .4byte sub_8038DC4 _08038D78: .4byte gTasks -_08038D7C: .4byte gUnknown_2024018 +_08038D7C: .4byte gBattleSpritesDataPtr _08038D80: .4byte gUnknown_2024000 _08038D84: .4byte sub_80491B0 _08038D88: .4byte gUnknown_3004FE0 @@ -6230,7 +6230,7 @@ sub_8038D90: @ 8038D90 push {r4,lr} adds r4, r0, 0 ldrh r0, [r4, 0x6] - bl sub_803477C + bl FreeTrainerFrontPicPaletteAndTile ldrh r0, [r4, 0x38] ldr r1, _08038DBC @ =0x000003ff ands r1, r0 @@ -6271,7 +6271,7 @@ sub_8038DC4: @ 8038DC4 adds r0, r1 ldrh r0, [r0, 0x8] strb r0, [r7] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _08038DFE @@ -6382,7 +6382,7 @@ sub_8038EA8: @ 8038EA8 _08038ED0: .4byte gUnknown_2022BC4 _08038ED4: .4byte gActiveBattler _08038ED8: - ldr r4, _08038F30 @ =gUnknown_2024018 + ldr r4, _08038F30 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, _08038F34 @ =gActiveBattler ldrb r1, [r3] @@ -6426,7 +6426,7 @@ _08038ED8: strb r1, [r3, 0x1] b _08038FA2 .align 2, 0 -_08038F30: .4byte gUnknown_2024018 +_08038F30: .4byte gBattleSpritesDataPtr _08038F34: .4byte gActiveBattler _08038F38: .4byte gUnknown_2022BC4 _08038F3C: @@ -6452,7 +6452,7 @@ _08038F44: adds r1, r2 movs r3, 0 strb r0, [r1] - ldr r6, _08038FB0 @ =gUnknown_2024018 + ldr r6, _08038FB0 @ =gBattleSpritesDataPtr ldr r0, [r6] ldrb r1, [r5] ldr r2, [r0, 0x4] @@ -6489,7 +6489,7 @@ _08038FA2: .align 2, 0 _08038FA8: .4byte gUnknown_2022BC8 _08038FAC: .4byte gUnknown_2024000 -_08038FB0: .4byte gUnknown_2024018 +_08038FB0: .4byte gBattleSpritesDataPtr _08038FB4: .4byte gUnknown_3004FE0 _08038FB8: .4byte sub_8038FBC thumb_func_end sub_8038EA8 @@ -6497,7 +6497,7 @@ _08038FB8: .4byte sub_8038FBC thumb_func_start sub_8038FBC sub_8038FBC: @ 8038FBC push {r4,lr} - ldr r4, _08038FFC @ =gUnknown_2024018 + ldr r4, _08038FFC @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, _08039000 @ =gActiveBattler ldrb r1, [r3] @@ -6528,14 +6528,14 @@ _08038FF4: pop {r0} bx r0 .align 2, 0 -_08038FFC: .4byte gUnknown_2024018 +_08038FFC: .4byte gBattleSpritesDataPtr _08039000: .4byte gActiveBattler thumb_func_end sub_8038FBC thumb_func_start sub_8039004 sub_8039004: @ 8039004 push {lr} - ldr r0, _08039040 @ =gUnknown_2024018 + ldr r0, _08039040 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _08039044 @ =gActiveBattler ldrb r3, [r0] @@ -6564,7 +6564,7 @@ _08039036: pop {r0} bx r0 .align 2, 0 -_08039040: .4byte gUnknown_2024018 +_08039040: .4byte gBattleSpritesDataPtr _08039044: .4byte gActiveBattler _08039048: .4byte gTasks _0803904C: .4byte gUnknown_2024000 @@ -6584,7 +6584,7 @@ sub_8039060: @ 8039060 push {r4,lr} ldr r4, _080390B0 @ =gActiveBattler ldrb r0, [r4] - bl sub_8075224 + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _080390A6 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 197816465..913e020cb 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -2571,7 +2571,7 @@ _0802F80C: .4byte gSaveBlock2Ptr thumb_func_start sub_802F810 sub_802F810: @ 802F810 push {r4,lr} - ldr r4, _0802F850 @ =gUnknown_2024018 + ldr r4, _0802F850 @ =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, _0802F854 @ =gActiveBattler ldrb r0, [r3] @@ -2602,7 +2602,7 @@ _0802F848: pop {r0} bx r0 .align 2, 0 -_0802F850: .4byte gUnknown_2024018 +_0802F850: .4byte gBattleSpritesDataPtr _0802F854: .4byte gActiveBattler thumb_func_end sub_802F810 @@ -2610,11 +2610,11 @@ _0802F854: .4byte gActiveBattler sub_802F858: @ 802F858 push {r4-r7,lr} movs r6, 0 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0802F87C - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0802F8B0 @@ -2626,7 +2626,7 @@ sub_802F858: @ 802F858 beq _0802F8B0 _0802F87C: ldr r2, _0802F8A0 @ =gSprites - ldr r1, _0802F8A4 @ =gUnknown_3004FF0 + ldr r1, _0802F8A4 @ =gHealthboxSpriteIds ldr r0, _0802F8A8 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2644,12 +2644,12 @@ _0802F87C: .align 2, 0 _0802F89C: .4byte gBattleTypeFlags _0802F8A0: .4byte gSprites -_0802F8A4: .4byte gUnknown_3004FF0 +_0802F8A4: .4byte gHealthboxSpriteIds _0802F8A8: .4byte gActiveBattler _0802F8AC: .4byte SpriteCallbackDummy _0802F8B0: ldr r2, _0802F9B0 @ =gSprites - ldr r5, _0802F9B4 @ =gUnknown_3004FF0 + ldr r5, _0802F9B4 @ =gHealthboxSpriteIds ldr r0, _0802F9B8 @ =gActiveBattler ldrb r3, [r0] adds r0, r3, r5 @@ -2687,7 +2687,7 @@ _0802F8F2: bne _0802F8F8 b _0802FA32 _0802F8F8: - ldr r0, _0802F9C0 @ =gUnknown_2024018 + ldr r0, _0802F9C0 @ =gBattleSpritesDataPtr mov r12, r0 ldr r0, [r0] ldr r7, _0802F9B8 @ =gActiveBattler @@ -2780,10 +2780,10 @@ _0802F934: b _0802F9DC .align 2, 0 _0802F9B0: .4byte gSprites -_0802F9B4: .4byte gUnknown_3004FF0 +_0802F9B4: .4byte gHealthboxSpriteIds _0802F9B8: .4byte gActiveBattler _0802F9BC: .4byte SpriteCallbackDummy -_0802F9C0: .4byte gUnknown_2024018 +_0802F9C0: .4byte gBattleSpritesDataPtr _0802F9C4: .4byte 0x000027f9 _0802F9C8: .4byte gBattleTypeFlags _0802F9CC: .4byte gMPlayInfo_BGM @@ -2805,7 +2805,7 @@ _0802F9DC: ldr r5, _0802FA48 @ =gPlayerParty adds r0, r5 bl HandleLowHpMusicChange - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0802FA12 @@ -2819,7 +2819,7 @@ _0802F9DC: adds r0, r5 bl HandleLowHpMusicChange _0802FA12: - ldr r0, _0802FA4C @ =gUnknown_2024018 + ldr r0, _0802FA4C @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r4] ldr r2, [r0, 0x4] @@ -2845,7 +2845,7 @@ _0802FA3C: .4byte 0x0000ffff _0802FA40: .4byte gBattlerPartyIndexes _0802FA44: .4byte gActiveBattler _0802FA48: .4byte gPlayerParty -_0802FA4C: .4byte gUnknown_2024018 +_0802FA4C: .4byte gBattleSpritesDataPtr _0802FA50: .4byte gUnknown_3004FE0 _0802FA54: .4byte sub_802F810 thumb_func_end sub_802F858 @@ -2856,7 +2856,7 @@ sub_802FA58: @ 802FA58 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _0802FBCC @ =gUnknown_2024018 + ldr r0, _0802FBCC @ =gBattleSpritesDataPtr mov r9, r0 ldr r0, [r0] ldr r1, _0802FBD0 @ =gActiveBattler @@ -2930,7 +2930,7 @@ _0802FABC: adds r0, r2, 0 bl sub_80F1720 _0802FAF0: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0802FB5C @@ -2952,7 +2952,7 @@ _0802FAF0: ldr r1, _0802FBE4 @ =gSprites adds r0, r1 bl DestroySprite - ldr r4, _0802FBE8 @ =gUnknown_3004FF0 + ldr r4, _0802FBE8 @ =gHealthboxSpriteIds mov r1, r8 ldrb r0, [r1] adds r1, r7, 0 @@ -2991,7 +2991,7 @@ _0802FB5C: ldr r1, _0802FBE4 @ =gSprites adds r0, r1 bl DestroySprite - ldr r5, _0802FBE8 @ =gUnknown_3004FF0 + ldr r5, _0802FBE8 @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r5 ldrb r0, [r0] @@ -3011,7 +3011,7 @@ _0802FB5C: adds r0, r5 ldrb r0, [r0] bl SetHealthboxSpriteVisible - ldr r0, _0802FBCC @ =gUnknown_2024018 + ldr r0, _0802FBCC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -3033,14 +3033,14 @@ _0802FBBE: pop {r0} bx r0 .align 2, 0 -_0802FBCC: .4byte gUnknown_2024018 +_0802FBCC: .4byte gBattleSpritesDataPtr _0802FBD0: .4byte gActiveBattler _0802FBD4: .4byte gBattlerPartyIndexes _0802FBD8: .4byte gPlayerParty _0802FBDC: .4byte gBattleTypeFlags _0802FBE0: .4byte gUnknown_3004FFC _0802FBE4: .4byte gSprites -_0802FBE8: .4byte gUnknown_3004FF0 +_0802FBE8: .4byte gHealthboxSpriteIds _0802FBEC: .4byte gUnknown_3004FE0 _0802FBF0: .4byte sub_802F858 thumb_func_end sub_802FA58 @@ -3049,7 +3049,7 @@ _0802FBF0: .4byte sub_802F858 sub_802FBF4: @ 802FBF4 push {r4-r6,lr} ldr r2, _0802FC8C @ =gSprites - ldr r0, _0802FC90 @ =gUnknown_3004FF0 + ldr r0, _0802FC90 @ =gHealthboxSpriteIds ldr r6, _0802FC94 @ =gActiveBattler ldrb r3, [r6] adds r0, r3, r0 @@ -3063,7 +3063,7 @@ sub_802FBF4: @ 802FBF4 ldr r0, _0802FC98 @ =SpriteCallbackDummy cmp r1, r0 bne _0802FC84 - ldr r5, _0802FC9C @ =gUnknown_2024018 + ldr r5, _0802FC9C @ =gBattleSpritesDataPtr ldr r0, [r5] ldr r1, [r0, 0x4] lsls r0, r3, 1 @@ -3123,10 +3123,10 @@ _0802FC84: bx r0 .align 2, 0 _0802FC8C: .4byte gSprites -_0802FC90: .4byte gUnknown_3004FF0 +_0802FC90: .4byte gHealthboxSpriteIds _0802FC94: .4byte gActiveBattler _0802FC98: .4byte SpriteCallbackDummy -_0802FC9C: .4byte gUnknown_2024018 +_0802FC9C: .4byte gBattleSpritesDataPtr _0802FCA0: .4byte 0x000027f9 _0802FCA4: .4byte gUnknown_3004FE0 _0802FCA8: .4byte sub_802FCAC @@ -3135,7 +3135,7 @@ _0802FCA8: .4byte sub_802FCAC thumb_func_start sub_802FCAC sub_802FCAC: @ 802FCAC push {r4,lr} - ldr r0, _0802FD00 @ =gUnknown_2024018 + ldr r0, _0802FD00 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r4, _0802FD04 @ =gActiveBattler ldrb r1, [r4] @@ -3174,7 +3174,7 @@ _0802FCFA: pop {r0} bx r0 .align 2, 0 -_0802FD00: .4byte gUnknown_2024018 +_0802FD00: .4byte gBattleSpritesDataPtr _0802FD04: .4byte gActiveBattler _0802FD08: .4byte gMPlayInfo_BGM _0802FD0C: .4byte 0x0000ffff @@ -3185,7 +3185,7 @@ _0802FD14: .4byte gPlayerParty thumb_func_start sub_802FD18 sub_802FD18: @ 802FD18 push {r4-r6,lr} - ldr r6, _0802FDCC @ =gUnknown_2024018 + ldr r6, _0802FDCC @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, _0802FDD0 @ =gActiveBattler ldrb r2, [r5] @@ -3237,7 +3237,7 @@ _0802FD4A: bne _0802FDC4 adds r0, r3, r4 bl DestroySprite - ldr r4, _0802FDE8 @ =gUnknown_3004FF0 + ldr r4, _0802FDE8 @ =gHealthboxSpriteIds ldrb r1, [r5] adds r0, r1, r4 ldrb r0, [r0] @@ -3270,14 +3270,14 @@ _0802FDC4: pop {r0} bx r0 .align 2, 0 -_0802FDCC: .4byte gUnknown_2024018 +_0802FDCC: .4byte gBattleSpritesDataPtr _0802FDD0: .4byte gActiveBattler _0802FDD4: .4byte gBattlerPartyIndexes _0802FDD8: .4byte gPlayerParty _0802FDDC: .4byte gSprites _0802FDE0: .4byte gUnknown_3004FFC _0802FDE4: .4byte SpriteCallbackDummy -_0802FDE8: .4byte gUnknown_3004FF0 +_0802FDE8: .4byte gHealthboxSpriteIds _0802FDEC: .4byte gUnknown_3004FE0 _0802FDF0: .4byte sub_802FBF4 thumb_func_end sub_802FD18 @@ -3312,7 +3312,7 @@ CompleteOnHealthbarDone: @ 802FE24 push {r4-r6,lr} ldr r5, _0802FE64 @ =gActiveBattler ldrb r0, [r5] - ldr r6, _0802FE68 @ =gUnknown_3004FF0 + ldr r6, _0802FE68 @ =gHealthboxSpriteIds adds r1, r0, r6 ldrb r1, [r1] movs r2, 0 @@ -3339,7 +3339,7 @@ CompleteOnHealthbarDone: @ 802FE24 b _0802FE86 .align 2, 0 _0802FE64: .4byte gActiveBattler -_0802FE68: .4byte gUnknown_3004FF0 +_0802FE68: .4byte gHealthboxSpriteIds _0802FE6C: ldr r2, _0802FE8C @ =gBattlerPartyIndexes ldrb r1, [r5] @@ -3399,7 +3399,7 @@ sub_802FEAC: @ 802FEAC str r7, [sp, 0x8] ldrh r2, [r1, 0xA] str r2, [sp, 0xC] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3476,7 +3476,7 @@ _0802FEF2: movs r1, 0xB bl EmitTwoReturnValues strb r5, [r4] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3623,7 +3623,7 @@ sub_8030024: @ 8030024 adds r4, r6 ldr r2, [r4] subs r2, r1 - ldr r0, _080300EC @ =gUnknown_3004FF0 + ldr r0, _080300EC @ =gHealthboxSpriteIds add r0, r10 ldrb r1, [r0] mov r0, r9 @@ -3649,7 +3649,7 @@ _080300DC: .4byte gTasks _080300E0: .4byte gPlayerParty _080300E4: .4byte gExperienceTables _080300E8: .4byte gBaseStats -_080300EC: .4byte gUnknown_3004FF0 +_080300EC: .4byte gHealthboxSpriteIds _080300F0: .4byte sub_80300F4 thumb_func_end sub_8030024 @@ -3685,7 +3685,7 @@ _08030124: ldrh r2, [r6, 0xA] mov r10, r2 ldrb r7, [r6, 0xC] - ldr r5, _080301EC @ =gUnknown_3004FF0 + ldr r5, _080301EC @ =gHealthboxSpriteIds adds r5, r7, r5 ldrb r1, [r5] adds r0, r7, 0 @@ -3772,7 +3772,7 @@ _08030124: str r0, [r6] b _08030220 .align 2, 0 -_080301EC: .4byte gUnknown_3004FF0 +_080301EC: .4byte gHealthboxSpriteIds _080301F0: .4byte gPlayerParty _080301F4: .4byte gExperienceTables _080301F8: .4byte gBaseStats @@ -3817,7 +3817,7 @@ sub_8030238: @ 8030238 adds r0, r1 ldrb r4, [r0, 0xC] ldrb r6, [r0, 0x8] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3865,7 +3865,7 @@ sub_8030298: @ 8030298 lsls r0, 3 adds r2, r0, r1 ldrb r5, [r2, 0xC] - ldr r0, _08030308 @ =gUnknown_2024018 + ldr r0, _08030308 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r5, 1 @@ -3886,7 +3886,7 @@ sub_8030298: @ 8030298 adds r0, r7, 0 movs r1, 0x38 bl GetMonData - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3900,7 +3900,7 @@ sub_8030298: @ 8030298 ldrh r0, [r0] cmp r4, r0 bne _08030318 - ldr r0, _08030314 @ =gUnknown_3004FF0 + ldr r0, _08030314 @ =gHealthboxSpriteIds adds r0, r2, r0 ldrb r0, [r0] adds r1, r7, 0 @@ -3909,12 +3909,12 @@ sub_8030298: @ 8030298 b _0803032C .align 2, 0 _08030304: .4byte gTasks -_08030308: .4byte gUnknown_2024018 +_08030308: .4byte gBattleSpritesDataPtr _0803030C: .4byte gPlayerParty _08030310: .4byte gBattlerPartyIndexes -_08030314: .4byte gUnknown_3004FF0 +_08030314: .4byte gHealthboxSpriteIds _08030318: - ldr r0, _08030340 @ =gUnknown_3004FF0 + ldr r0, _08030340 @ =gHealthboxSpriteIds adds r0, r5, r0 ldrb r0, [r0] movs r1, 0x64 @@ -3936,7 +3936,7 @@ _0803033A: pop {r0} bx r0 .align 2, 0 -_08030340: .4byte gUnknown_3004FF0 +_08030340: .4byte gHealthboxSpriteIds _08030344: .4byte gPlayerParty _08030348: .4byte gTasks _0803034C: .4byte sub_8030350 @@ -4207,7 +4207,7 @@ sub_8030538: @ 8030538 lsls r0, 2 adds r0, r6 bl DestroySprite - ldr r1, _0803059C @ =gUnknown_3004FF0 + ldr r1, _0803059C @ =gHealthboxSpriteIds ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -4221,13 +4221,13 @@ _08030588: _08030590: .4byte gSprites _08030594: .4byte gBattlerSpriteIds _08030598: .4byte gActiveBattler -_0803059C: .4byte gUnknown_3004FF0 +_0803059C: .4byte gHealthboxSpriteIds thumb_func_end sub_8030538 thumb_func_start sub_80305A0 sub_80305A0: @ 80305A0 push {r4-r6,lr} - ldr r0, _080305FC @ =gUnknown_2024018 + ldr r0, _080305FC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, _08030600 @ =gActiveBattler ldrb r2, [r6] @@ -4258,7 +4258,7 @@ sub_80305A0: @ 80305A0 lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _0803060C @ =gUnknown_3004FF0 + ldr r1, _0803060C @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -4269,11 +4269,11 @@ _080305F4: pop {r0} bx r0 .align 2, 0 -_080305FC: .4byte gUnknown_2024018 +_080305FC: .4byte gBattleSpritesDataPtr _08030600: .4byte gActiveBattler _08030604: .4byte gBattlerSpriteIds _08030608: .4byte gSprites -_0803060C: .4byte gUnknown_3004FF0 +_0803060C: .4byte gHealthboxSpriteIds thumb_func_end sub_80305A0 thumb_func_start sub_8030610 @@ -4457,7 +4457,7 @@ CompleteOnSpecialAnimDone: @ 8030778 ldrb r0, [r0] cmp r0, 0 beq _0803079E - ldr r0, _080307AC @ =gUnknown_2024018 + ldr r0, _080307AC @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080307B0 @ =gActiveBattler ldrb r1, [r0] @@ -4478,7 +4478,7 @@ _080307A2: bx r0 .align 2, 0 _080307A8: .4byte gUnknown_2024005 -_080307AC: .4byte gUnknown_2024018 +_080307AC: .4byte gBattleSpritesDataPtr _080307B0: .4byte gActiveBattler thumb_func_end CompleteOnSpecialAnimDone @@ -4906,7 +4906,7 @@ _08030AF8: .4byte sub_8077764 thumb_func_start CompleteOnFinishedStatusAnimation CompleteOnFinishedStatusAnimation: @ 8030AFC push {lr} - ldr r0, _08030B24 @ =gUnknown_2024018 + ldr r0, _08030B24 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _08030B28 @ =gActiveBattler ldrb r1, [r0] @@ -4925,14 +4925,14 @@ _08030B1E: pop {r0} bx r0 .align 2, 0 -_08030B24: .4byte gUnknown_2024018 +_08030B24: .4byte gBattleSpritesDataPtr _08030B28: .4byte gActiveBattler thumb_func_end CompleteOnFinishedStatusAnimation thumb_func_start CompleteOnFinishedBattleAnimation CompleteOnFinishedBattleAnimation: @ 8030B2C push {lr} - ldr r0, _08030B54 @ =gUnknown_2024018 + ldr r0, _08030B54 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _08030B58 @ =gActiveBattler ldrb r1, [r0] @@ -4951,7 +4951,7 @@ _08030B4E: pop {r0} bx r0 .align 2, 0 -_08030B54: .4byte gUnknown_2024018 +_08030B54: .4byte gBattleSpritesDataPtr _08030B58: .4byte gActiveBattler thumb_func_end CompleteOnFinishedBattleAnimation @@ -7297,7 +7297,7 @@ PlayerHandleLoadMonSprite: @ 8031F00 muls r0, r2 ldr r2, _08031F54 @ =gPlayerParty adds r0, r2 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldr r2, _08031F58 @ =gSprites ldr r0, _08031F5C @ =gBattlerSpriteIds ldrb r3, [r4] @@ -7361,7 +7361,7 @@ PlayerHandleSwitchInAnim: @ 8031F68 muls r0, r2 ldr r2, _08031FE0 @ =gPlayerParty adds r0, r2 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldr r1, _08031FE4 @ =gUnknown_2023FF8 ldrb r0, [r5] adds r0, r1 @@ -7447,12 +7447,12 @@ sub_8031FF4: @ 8031FF4 mov r10, r0 adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r6, 0 - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -7573,7 +7573,7 @@ PlayerHandleReturnPokeToBall: @ 8032160 ldrb r3, [r0] cmp r3, 0 bne _080321A8 - ldr r0, _0803219C @ =gUnknown_2024018 + ldr r0, _0803219C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r2, 1 @@ -7591,7 +7591,7 @@ PlayerHandleReturnPokeToBall: @ 8032160 .align 2, 0 _08032194: .4byte gUnknown_2022BC4 _08032198: .4byte gActiveBattler -_0803219C: .4byte gUnknown_2024018 +_0803219C: .4byte gBattleSpritesDataPtr _080321A0: .4byte gUnknown_3004FE0 _080321A4: .4byte sub_80321F0 _080321A8: @@ -7612,7 +7612,7 @@ _080321A8: lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _080321EC @ =gUnknown_3004FF0 + ldr r1, _080321EC @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -7625,13 +7625,13 @@ _080321DE: .align 2, 0 _080321E4: .4byte gBattlerSpriteIds _080321E8: .4byte gSprites -_080321EC: .4byte gUnknown_3004FF0 +_080321EC: .4byte gHealthboxSpriteIds thumb_func_end PlayerHandleReturnPokeToBall thumb_func_start sub_80321F0 sub_80321F0: @ 80321F0 push {r4-r6,lr} - ldr r6, _08032210 @ =gUnknown_2024018 + ldr r6, _08032210 @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _08032214 @ =gActiveBattler ldrb r2, [r5] @@ -7647,7 +7647,7 @@ sub_80321F0: @ 80321F0 beq _08032246 b _0803226E .align 2, 0 -_08032210: .4byte gUnknown_2024018 +_08032210: .4byte gBattleSpritesDataPtr _08032214: .4byte gActiveBattler _08032218: ldr r1, [r4] @@ -8164,7 +8164,7 @@ _0803264C: .4byte sub_802F7A0 thumb_func_start sub_8032650 sub_8032650: @ 8032650 push {r4-r6,lr} - ldr r6, _0803269C @ =gUnknown_2024018 + ldr r6, _0803269C @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _080326A0 @ =gActiveBattler ldrb r2, [r5] @@ -8201,7 +8201,7 @@ _08032684: strb r1, [r0, 0x4] b _0803271A .align 2, 0 -_0803269C: .4byte gUnknown_2024018 +_0803269C: .4byte gBattleSpritesDataPtr _080326A0: .4byte gActiveBattler _080326A4: ldrb r1, [r3] @@ -8296,7 +8296,7 @@ PlayerHandlePaletteFade: @ 803273C thumb_func_start sub_803275C sub_803275C: @ 803275C push {r4,r5,lr} - ldr r0, _0803279C @ =gUnknown_2024018 + ldr r0, _0803279C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] movs r0, 0x4 @@ -8325,7 +8325,7 @@ sub_803275C: @ 803275C pop {r0} bx r0 .align 2, 0 -_0803279C: .4byte gUnknown_2024018 +_0803279C: .4byte gBattleSpritesDataPtr _080327A0: .4byte gUnknown_2024005 _080327A4: .4byte gActiveBattler _080327A8: .4byte gUnknown_3004FE0 @@ -8342,7 +8342,7 @@ PlayerHandleBallThrowAnim: @ 80327B0 adds r1, 0x1 adds r0, r1 ldrb r1, [r0] - ldr r0, _08032800 @ =gUnknown_2024018 + ldr r0, _08032800 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] @@ -8371,7 +8371,7 @@ PlayerHandleBallThrowAnim: @ 80327B0 .align 2, 0 _080327F8: .4byte gUnknown_2022BC4 _080327FC: .4byte gActiveBattler -_08032800: .4byte gUnknown_2024018 +_08032800: .4byte gBattleSpritesDataPtr _08032804: .4byte gUnknown_2024005 _08032808: .4byte gUnknown_3004FE0 _0803280C: .4byte CompleteOnSpecialAnimDone @@ -8503,7 +8503,7 @@ _08032852: adds r1, 0x10 adds r2, r1 str r2, [r3] - ldr r3, _08032944 @ =gUnknown_2024008 + ldr r3, _08032944 @ =gTransformedPersonalities ldrb r1, [r6] lsls r1, 2 adds r1, r3 @@ -8526,9 +8526,9 @@ _08032934: .4byte gAnimMoveDmg _08032938: .4byte gUnknown_2037EFE _0803293C: .4byte gUnknown_2037F00 _08032940: .4byte gAnimDisableStructPtr -_08032944: .4byte gUnknown_2024008 +_08032944: .4byte gTransformedPersonalities _08032948: - ldr r0, _0803296C @ =gUnknown_2024018 + ldr r0, _0803296C @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -8548,7 +8548,7 @@ _08032966: pop {r0} bx r0 .align 2, 0 -_0803296C: .4byte gUnknown_2024018 +_0803296C: .4byte gBattleSpritesDataPtr _08032970: .4byte gUnknown_3004FE0 _08032974: .4byte sub_8032978 thumb_func_end PlayerHandleMoveAnimation @@ -8578,7 +8578,7 @@ sub_8032978: @ 8032978 adds r1, r2 ldrb r1, [r1] mov r8, r1 - ldr r7, _080329CC @ =gUnknown_2024018 + ldr r7, _080329CC @ =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -8596,7 +8596,7 @@ sub_8032978: @ 8032978 .align 2, 0 _080329C4: .4byte gUnknown_2022BC4 _080329C8: .4byte gActiveBattler -_080329CC: .4byte gUnknown_2024018 +_080329CC: .4byte gBattleSpritesDataPtr _080329D0: cmp r2, 0x2 beq _08032A3A @@ -8652,10 +8652,10 @@ _08032A10: strb r1, [r0, 0x4] b _08032AEC _08032A3A: - ldr r0, _08032AA0 @ =gUnknown_2037EDC + ldr r0, _08032AA0 @ =gAnimScriptCallback ldr r0, [r0] bl _call_via_r0 - ldr r0, _08032AA4 @ =gUnknown_2037EE1 + ldr r0, _08032AA4 @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _08032AEC @@ -8689,7 +8689,7 @@ _08032A3A: ands r0, r2 strb r0, [r1] _08032A88: - ldr r0, _08032AA8 @ =gUnknown_2024018 + ldr r0, _08032AA8 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _08032AAC @ =gActiveBattler ldrb r1, [r0] @@ -8702,9 +8702,9 @@ _08032A88: strb r1, [r0, 0x4] b _08032AEC .align 2, 0 -_08032AA0: .4byte gUnknown_2037EDC -_08032AA4: .4byte gUnknown_2037EE1 -_08032AA8: .4byte gUnknown_2024018 +_08032AA0: .4byte gAnimScriptCallback +_08032AA4: .4byte gAnimScriptActive +_08032AA8: .4byte gBattleSpritesDataPtr _08032AAC: .4byte gActiveBattler _08032AB0: ldrb r1, [r0] @@ -9198,7 +9198,7 @@ sub_8032E4C: @ 8032E4C adds r3, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r1, _08032ED8 @ =gUnknown_3004FF0 + ldr r1, _08032ED8 @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r7, [sp] @@ -9211,7 +9211,7 @@ _08032EC8: .4byte gActiveBattler _08032ECC: .4byte 0x00007fff _08032ED0: .4byte gBattlerPartyIndexes _08032ED4: .4byte gPlayerParty -_08032ED8: .4byte gUnknown_3004FF0 +_08032ED8: .4byte gHealthboxSpriteIds _08032EDC: ldr r1, _08032F34 @ =gBattlerPartyIndexes lsls r0, r4, 1 @@ -9226,7 +9226,7 @@ _08032EDC: adds r2, r0, 0 mov r1, r9 ldrb r0, [r1] - ldr r4, _08032F3C @ =gUnknown_3004FF0 + ldr r4, _08032F3C @ =gHealthboxSpriteIds adds r1, r0, r4 ldrb r1, [r1] str r7, [sp] @@ -9257,7 +9257,7 @@ _08032F16: .align 2, 0 _08032F34: .4byte gBattlerPartyIndexes _08032F38: .4byte gPlayerParty -_08032F3C: .4byte gUnknown_3004FF0 +_08032F3C: .4byte gHealthboxSpriteIds _08032F40: .4byte gUnknown_3004FE0 _08032F44: .4byte gActiveBattler _08032F48: .4byte CompleteOnHealthbarDone @@ -9345,7 +9345,7 @@ sub_8032FE8: @ 8032FE8 lsls r0, 24 cmp r0, 0 bne _0803303C - ldr r0, _08033048 @ =gUnknown_3004FF0 + ldr r0, _08033048 @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r0 ldrb r0, [r0] @@ -9360,7 +9360,7 @@ sub_8032FE8: @ 8032FE8 movs r2, 0x9 bl UpdateHealthboxAttribute ldrb r2, [r4] - ldr r0, _08033054 @ =gUnknown_2024018 + ldr r0, _08033054 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -9384,10 +9384,10 @@ _0803303C: bx r0 .align 2, 0 _08033044: .4byte gActiveBattler -_08033048: .4byte gUnknown_3004FF0 +_08033048: .4byte gHealthboxSpriteIds _0803304C: .4byte gBattlerPartyIndexes _08033050: .4byte gPlayerParty -_08033054: .4byte gUnknown_2024018 +_08033054: .4byte gBattleSpritesDataPtr _08033058: .4byte gUnknown_3004FE0 _0803305C: .4byte CompleteOnFinishedStatusAnimation thumb_func_end sub_8032FE8 @@ -9913,7 +9913,7 @@ PlayerHandleIntroSlide: @ 8033444 adds r0, r1 ldrb r0, [r0] bl sub_80BC3A0 - ldr r2, _08033474 @ =gUnknown_2023F4C + ldr r2, _08033474 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -9924,7 +9924,7 @@ PlayerHandleIntroSlide: @ 8033444 .align 2, 0 _0803346C: .4byte gUnknown_2022BC4 _08033470: .4byte gActiveBattler -_08033474: .4byte gUnknown_2023F4C +_08033474: .4byte gIntroSlideFlags thumb_func_end PlayerHandleIntroSlide thumb_func_start PlayerHandleIntroTrainerBallThrow @@ -10046,7 +10046,7 @@ PlayerHandleIntroTrainerBallThrow: @ 8033478 adds r1, r4 ldrb r0, [r7] strh r0, [r1, 0x8] - ldr r3, _080335E4 @ =gUnknown_2024018 + ldr r3, _080335E4 @ =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r7] ldr r1, [r0, 0x4] @@ -10096,7 +10096,7 @@ _080335D4: .4byte gUnknown_8239FD4 _080335D8: .4byte gSaveBlock2Ptr _080335DC: .4byte task05_08033660 _080335E0: .4byte gTasks -_080335E4: .4byte gUnknown_2024018 +_080335E4: .4byte gBattleSpritesDataPtr _080335E8: .4byte gUnknown_2024000 _080335EC: .4byte sub_80491B0 _080335F0: .4byte gUnknown_3004FE0 @@ -10128,7 +10128,7 @@ sub_80335F8: @ 80335F8 ldr r1, _08033654 @ =gPlayerParty adds r0, r1 adds r1, r4, 0 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldr r0, _08033658 @ =gBattlerSpriteIds adds r4, r0 ldrb r1, [r4] @@ -10179,7 +10179,7 @@ _0803368C: mov r9, r0 ldrh r0, [r1, 0x8] strb r0, [r7] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080336AC @@ -10242,7 +10242,7 @@ _080336DC: muls r0, r2 ldr r2, _0803375C @ =gPlayerParty adds r0, r2 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldrb r0, [r7] movs r1, 0 bl sub_8031FF4 @@ -10300,7 +10300,7 @@ PlayerHandleDrawPartyStatusSummary: @ 803376C _08033794: .4byte gUnknown_2022BC4 _08033798: .4byte gActiveBattler _0803379C: - ldr r6, _08033818 @ =gUnknown_2024018 + ldr r6, _08033818 @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, _0803381C @ =gActiveBattler ldrb r1, [r5] @@ -10363,7 +10363,7 @@ _08033810: pop {r0} bx r0 .align 2, 0 -_08033818: .4byte gUnknown_2024018 +_08033818: .4byte gBattleSpritesDataPtr _0803381C: .4byte gActiveBattler _08033820: .4byte gUnknown_2022BC8 _08033824: .4byte gUnknown_2024000 @@ -10374,7 +10374,7 @@ _0803382C: .4byte sub_8033830 thumb_func_start sub_8033830 sub_8033830: @ 8033830 push {r4,lr} - ldr r4, _08033870 @ =gUnknown_2024018 + ldr r4, _08033870 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r3, _08033874 @ =gActiveBattler ldrb r1, [r3] @@ -10405,14 +10405,14 @@ _08033868: pop {r0} bx r0 .align 2, 0 -_08033870: .4byte gUnknown_2024018 +_08033870: .4byte gBattleSpritesDataPtr _08033874: .4byte gActiveBattler thumb_func_end sub_8033830 thumb_func_start PlayerHandleCmd49 PlayerHandleCmd49: @ 8033878 push {lr} - ldr r0, _080338B4 @ =gUnknown_2024018 + ldr r0, _080338B4 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _080338B8 @ =gActiveBattler ldrb r3, [r0] @@ -10441,7 +10441,7 @@ _080338AA: pop {r0} bx r0 .align 2, 0 -_080338B4: .4byte gUnknown_2024018 +_080338B4: .4byte gBattleSpritesDataPtr _080338B8: .4byte gActiveBattler _080338BC: .4byte gTasks _080338C0: .4byte gUnknown_2024000 @@ -10471,7 +10471,7 @@ PlayerHandleSpriteInvisibility: @ 80338EC push {r4,lr} ldr r4, _0803393C @ =gActiveBattler ldrb r0, [r4] - bl sub_8075224 + bl IsBattlerSpritePresent lsls r0, 24 cmp r0, 0 beq _08033932 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 8f42aa9eb..72e71cf23 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -147,7 +147,7 @@ sub_8156184: @ 8156184 ldrsh r0, [r1, r4] cmp r0, 0 bne _08156230 - ldr r6, _081561EC @ =gUnknown_2024018 + ldr r6, _081561EC @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r1, [r0, 0x4] lsls r4, r3, 1 @@ -173,7 +173,7 @@ sub_8156184: @ 8156184 _081561E0: .4byte gSprites _081561E4: .4byte gBattlerSpriteIds _081561E8: .4byte gActiveBattler -_081561EC: .4byte gUnknown_2024018 +_081561EC: .4byte gBattleSpritesDataPtr _081561F0: .4byte gBattlerPartyIndexes _081561F4: .4byte gEnemyParty _081561F8: @@ -259,7 +259,7 @@ _08156290: .4byte gUnknown_3004F80 thumb_func_start sub_8156294 sub_8156294: @ 8156294 push {r4,lr} - ldr r0, _081562DC @ =gUnknown_2024018 + ldr r0, _081562DC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r4, _081562E0 @ =gActiveBattler ldrb r1, [r4] @@ -292,7 +292,7 @@ _081562D4: pop {r0} bx r0 .align 2, 0 -_081562DC: .4byte gUnknown_2024018 +_081562DC: .4byte gBattleSpritesDataPtr _081562E0: .4byte gActiveBattler _081562E4: .4byte c3_0802FDF4 _081562E8: .4byte gBattlerPartyIndexes @@ -303,7 +303,7 @@ _081562EC: .4byte gPlayerParty sub_81562F0: @ 81562F0 push {r4-r6,lr} ldr r2, _08156388 @ =gSprites - ldr r0, _0815638C @ =gUnknown_3004FF0 + ldr r0, _0815638C @ =gHealthboxSpriteIds ldr r6, _08156390 @ =gActiveBattler ldrb r3, [r6] adds r0, r3, r0 @@ -317,7 +317,7 @@ sub_81562F0: @ 81562F0 ldr r0, _08156394 @ =SpriteCallbackDummy cmp r1, r0 bne _08156380 - ldr r5, _08156398 @ =gUnknown_2024018 + ldr r5, _08156398 @ =gBattleSpritesDataPtr ldr r0, [r5] ldr r1, [r0, 0x4] lsls r0, r3, 1 @@ -377,10 +377,10 @@ _08156380: bx r0 .align 2, 0 _08156388: .4byte gSprites -_0815638C: .4byte gUnknown_3004FF0 +_0815638C: .4byte gHealthboxSpriteIds _08156390: .4byte gActiveBattler _08156394: .4byte SpriteCallbackDummy -_08156398: .4byte gUnknown_2024018 +_08156398: .4byte gBattleSpritesDataPtr _0815639C: .4byte 0x000027f9 _081563A0: .4byte gUnknown_3004FE0 _081563A4: .4byte sub_8156294 @@ -389,7 +389,7 @@ _081563A4: .4byte sub_8156294 thumb_func_start sub_81563A8 sub_81563A8: @ 81563A8 push {r4-r6,lr} - ldr r6, _0815645C @ =gUnknown_2024018 + ldr r6, _0815645C @ =gBattleSpritesDataPtr ldr r0, [r6] ldr r5, _08156460 @ =gActiveBattler ldrb r2, [r5] @@ -441,7 +441,7 @@ _081563DA: bne _08156454 adds r0, r3, r4 bl DestroySprite - ldr r4, _08156478 @ =gUnknown_3004FF0 + ldr r4, _08156478 @ =gHealthboxSpriteIds ldrb r1, [r5] adds r0, r1, r4 ldrb r0, [r0] @@ -474,14 +474,14 @@ _08156454: pop {r0} bx r0 .align 2, 0 -_0815645C: .4byte gUnknown_2024018 +_0815645C: .4byte gBattleSpritesDataPtr _08156460: .4byte gActiveBattler _08156464: .4byte gBattlerPartyIndexes _08156468: .4byte gPlayerParty _0815646C: .4byte gSprites _08156470: .4byte gUnknown_3004FFC _08156474: .4byte SpriteCallbackDummy -_08156478: .4byte gUnknown_3004FF0 +_08156478: .4byte gHealthboxSpriteIds _0815647C: .4byte gUnknown_3004FE0 _08156480: .4byte sub_81562F0 thumb_func_end sub_81563A8 @@ -504,7 +504,7 @@ _08156498: .4byte gUnknown_2024005 thumb_func_start sub_815649C sub_815649C: @ 815649C push {r4,lr} - ldr r4, _081564DC @ =gUnknown_2024018 + ldr r4, _081564DC @ =gBattleSpritesDataPtr ldr r1, [r4] ldr r3, _081564E0 @ =gActiveBattler ldrb r0, [r3] @@ -535,7 +535,7 @@ _081564D4: pop {r0} bx r0 .align 2, 0 -_081564DC: .4byte gUnknown_2024018 +_081564DC: .4byte gBattleSpritesDataPtr _081564E0: .4byte gActiveBattler thumb_func_end sub_815649C @@ -698,7 +698,7 @@ _08156620: .4byte gSpecialVar_ItemId thumb_func_start sub_8156624 sub_8156624: @ 8156624 push {r4-r7,lr} - ldr r4, _08156788 @ =gUnknown_2024018 + ldr r4, _08156788 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r5, _0815678C @ =gActiveBattler ldrb r2, [r5] @@ -772,7 +772,7 @@ _0815668A: ands r0, r1 cmp r0, 0 bne _08156780 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0815671E @@ -793,7 +793,7 @@ _0815668A: ldr r1, _081567A0 @ =gSprites adds r0, r1 bl DestroySprite - ldr r4, _081567A4 @ =gUnknown_3004FF0 + ldr r4, _081567A4 @ =gHealthboxSpriteIds ldrb r0, [r5] adds r1, r6, 0 eors r1, r0 @@ -829,7 +829,7 @@ _0815671E: ldr r1, _081567A0 @ =gSprites adds r0, r1 bl DestroySprite - ldr r5, _081567A4 @ =gUnknown_3004FF0 + ldr r5, _081567A4 @ =gHealthboxSpriteIds ldrb r1, [r4] adds r0, r1, r5 ldrb r0, [r0] @@ -849,7 +849,7 @@ _0815671E: adds r0, r5 ldrb r0, [r0] bl SetHealthboxSpriteVisible - ldr r0, _08156788 @ =gUnknown_2024018 + ldr r0, _08156788 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r2, [r0, 0x8] ldrb r1, [r2, 0x9] @@ -868,14 +868,14 @@ _08156780: pop {r0} bx r0 .align 2, 0 -_08156788: .4byte gUnknown_2024018 +_08156788: .4byte gBattleSpritesDataPtr _0815678C: .4byte gActiveBattler _08156790: .4byte gBattlerPartyIndexes _08156794: .4byte gPlayerParty _08156798: .4byte gBattleTypeFlags _0815679C: .4byte gUnknown_3004FFC _081567A0: .4byte gSprites -_081567A4: .4byte gUnknown_3004FF0 +_081567A4: .4byte gHealthboxSpriteIds _081567A8: .4byte gUnknown_3004FE0 _081567AC: .4byte sub_81567B0 thumb_func_end sub_8156624 @@ -887,7 +887,7 @@ sub_81567B0: @ 81567B0 push {r7} movs r4, 0 ldr r2, _081568B0 @ =gSprites - ldr r0, _081568B4 @ =gUnknown_3004FF0 + ldr r0, _081568B4 @ =gHealthboxSpriteIds ldr r1, _081568B8 @ =gActiveBattler mov r8, r1 ldrb r3, [r1] @@ -906,7 +906,7 @@ sub_81567B0: @ 81567B0 _081567DA: cmp r4, 0 beq _081568A6 - ldr r7, _081568C0 @ =gUnknown_2024018 + ldr r7, _081568C0 @ =gBattleSpritesDataPtr ldr r0, [r7] ldr r4, [r0, 0x4] lsls r0, r3, 1 @@ -1010,10 +1010,10 @@ _081568A6: bx r0 .align 2, 0 _081568B0: .4byte gSprites -_081568B4: .4byte gUnknown_3004FF0 +_081568B4: .4byte gHealthboxSpriteIds _081568B8: .4byte gActiveBattler _081568BC: .4byte SpriteCallbackDummy -_081568C0: .4byte gUnknown_2024018 +_081568C0: .4byte gBattleSpritesDataPtr _081568C4: .4byte 0x000027f9 _081568C8: .4byte c3_0802FDF4 _081568CC: .4byte gBattlerPartyIndexes @@ -1046,7 +1046,7 @@ sub_81568DC: @ 81568DC str r7, [sp, 0x8] ldrh r2, [r1, 0xA] str r2, [sp, 0xC] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1123,7 +1123,7 @@ _08156922: movs r1, 0xB bl EmitTwoReturnValues strb r5, [r4] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1270,7 +1270,7 @@ sub_8156A54: @ 8156A54 adds r4, r6 ldr r2, [r4] subs r2, r1 - ldr r0, _08156B1C @ =gUnknown_3004FF0 + ldr r0, _08156B1C @ =gHealthboxSpriteIds add r0, r10 ldrb r1, [r0] mov r0, r9 @@ -1296,7 +1296,7 @@ _08156B0C: .4byte gTasks _08156B10: .4byte gPlayerParty _08156B14: .4byte gExperienceTables _08156B18: .4byte gBaseStats -_08156B1C: .4byte gUnknown_3004FF0 +_08156B1C: .4byte gHealthboxSpriteIds _08156B20: .4byte sub_8156B24 thumb_func_end sub_8156A54 @@ -1332,7 +1332,7 @@ _08156B54: ldrh r2, [r6, 0xA] mov r10, r2 ldrb r7, [r6, 0xC] - ldr r5, _08156C1C @ =gUnknown_3004FF0 + ldr r5, _08156C1C @ =gHealthboxSpriteIds adds r5, r7, r5 ldrb r1, [r5] adds r0, r7, 0 @@ -1419,7 +1419,7 @@ _08156B54: str r0, [r6] b _08156C50 .align 2, 0 -_08156C1C: .4byte gUnknown_3004FF0 +_08156C1C: .4byte gHealthboxSpriteIds _08156C20: .4byte gPlayerParty _08156C24: .4byte gExperienceTables _08156C28: .4byte gBaseStats @@ -1464,7 +1464,7 @@ sub_8156C68: @ 8156C68 adds r0, r1 ldrb r4, [r0, 0xC] ldrb r6, [r0, 0x8] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1512,7 +1512,7 @@ sub_8156CC8: @ 8156CC8 lsls r0, 3 adds r2, r0, r1 ldrb r5, [r2, 0xC] - ldr r0, _08156D38 @ =gUnknown_2024018 + ldr r0, _08156D38 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x4] lsls r0, r5, 1 @@ -1533,7 +1533,7 @@ sub_8156CC8: @ 8156CC8 adds r0, r7, 0 movs r1, 0x38 bl GetMonData - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1547,7 +1547,7 @@ sub_8156CC8: @ 8156CC8 ldrh r0, [r0] cmp r4, r0 bne _08156D48 - ldr r0, _08156D44 @ =gUnknown_3004FF0 + ldr r0, _08156D44 @ =gHealthboxSpriteIds adds r0, r2, r0 ldrb r0, [r0] adds r1, r7, 0 @@ -1556,12 +1556,12 @@ sub_8156CC8: @ 8156CC8 b _08156D5C .align 2, 0 _08156D34: .4byte gTasks -_08156D38: .4byte gUnknown_2024018 +_08156D38: .4byte gBattleSpritesDataPtr _08156D3C: .4byte gPlayerParty _08156D40: .4byte gBattlerPartyIndexes -_08156D44: .4byte gUnknown_3004FF0 +_08156D44: .4byte gHealthboxSpriteIds _08156D48: - ldr r0, _08156D70 @ =gUnknown_3004FF0 + ldr r0, _08156D70 @ =gHealthboxSpriteIds adds r0, r5, r0 ldrb r0, [r0] movs r1, 0x64 @@ -1583,7 +1583,7 @@ _08156D6A: pop {r0} bx r0 .align 2, 0 -_08156D70: .4byte gUnknown_3004FF0 +_08156D70: .4byte gHealthboxSpriteIds _08156D74: .4byte gPlayerParty _08156D78: .4byte gTasks _08156D7C: .4byte sub_8156D80 @@ -1662,7 +1662,7 @@ sub_8156DCC: @ 8156DCC lsls r0, 2 adds r0, r6 bl DestroySprite - ldr r1, _08156E38 @ =gUnknown_3004FF0 + ldr r1, _08156E38 @ =gHealthboxSpriteIds ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -1673,7 +1673,7 @@ sub_8156DCC: @ 8156DCC _08156E2C: .4byte gActiveBattler _08156E30: .4byte gSprites _08156E34: .4byte gBattlerSpriteIds -_08156E38: .4byte gUnknown_3004FF0 +_08156E38: .4byte gHealthboxSpriteIds _08156E3C: ldr r2, _08156E6C @ =gSprites ldr r0, _08156E70 @ =gBattlerSpriteIds @@ -1689,7 +1689,7 @@ _08156E3C: lsls r0, 31 cmp r0, 0 bne _08156E66 - ldr r0, _08156E74 @ =gUnknown_3004FF0 + ldr r0, _08156E74 @ =gHealthboxSpriteIds adds r0, r3, r0 ldrb r0, [r0] bl SetHealthboxSpriteInvisible @@ -1701,7 +1701,7 @@ _08156E66: .align 2, 0 _08156E6C: .4byte gSprites _08156E70: .4byte gBattlerSpriteIds -_08156E74: .4byte gUnknown_3004FF0 +_08156E74: .4byte gHealthboxSpriteIds thumb_func_end sub_8156DCC thumb_func_start sub_8156E78 @@ -1709,7 +1709,7 @@ sub_8156E78: @ 8156E78 push {r4-r6,lr} ldr r5, _08156EB8 @ =gActiveBattler ldrb r0, [r5] - ldr r6, _08156EBC @ =gUnknown_3004FF0 + ldr r6, _08156EBC @ =gHealthboxSpriteIds adds r1, r0, r6 ldrb r1, [r1] movs r2, 0 @@ -1736,7 +1736,7 @@ sub_8156E78: @ 8156E78 b _08156EDA .align 2, 0 _08156EB8: .4byte gActiveBattler -_08156EBC: .4byte gUnknown_3004FF0 +_08156EBC: .4byte gHealthboxSpriteIds _08156EC0: ldr r2, _08156EE0 @ =gBattlerPartyIndexes ldrb r1, [r5] @@ -1839,7 +1839,7 @@ _08156F76: thumb_func_start sub_8156F7C sub_8156F7C: @ 8156F7C push {r4-r6,lr} - ldr r0, _08156FD8 @ =gUnknown_2024018 + ldr r0, _08156FD8 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, _08156FDC @ =gActiveBattler ldrb r2, [r6] @@ -1870,7 +1870,7 @@ sub_8156F7C: @ 8156F7C lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _08156FE8 @ =gUnknown_3004FF0 + ldr r1, _08156FE8 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -1881,11 +1881,11 @@ _08156FD0: pop {r0} bx r0 .align 2, 0 -_08156FD8: .4byte gUnknown_2024018 +_08156FD8: .4byte gBattleSpritesDataPtr _08156FDC: .4byte gActiveBattler _08156FE0: .4byte gBattlerSpriteIds _08156FE4: .4byte gSprites -_08156FE8: .4byte gUnknown_3004FF0 +_08156FE8: .4byte gHealthboxSpriteIds thumb_func_end sub_8156F7C thumb_func_start sub_8156FEC @@ -1920,7 +1920,7 @@ _08157020: .4byte SpriteCallbackDummy thumb_func_start sub_8157024 sub_8157024: @ 8157024 push {lr} - ldr r0, _0815704C @ =gUnknown_2024018 + ldr r0, _0815704C @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _08157050 @ =gActiveBattler ldrb r1, [r0] @@ -1939,14 +1939,14 @@ _08157046: pop {r0} bx r0 .align 2, 0 -_0815704C: .4byte gUnknown_2024018 +_0815704C: .4byte gBattleSpritesDataPtr _08157050: .4byte gActiveBattler thumb_func_end sub_8157024 thumb_func_start sub_8157054 sub_8157054: @ 8157054 push {lr} - ldr r0, _0815707C @ =gUnknown_2024018 + ldr r0, _0815707C @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _08157080 @ =gActiveBattler ldrb r1, [r0] @@ -1965,7 +1965,7 @@ _08157076: pop {r0} bx r0 .align 2, 0 -_0815707C: .4byte gUnknown_2024018 +_0815707C: .4byte gBattleSpritesDataPtr _08157080: .4byte gActiveBattler thumb_func_end sub_8157054 @@ -2029,7 +2029,7 @@ _081570F8: .4byte gBitTable thumb_func_start CompleteOnFinishedStatusAnimation_7 CompleteOnFinishedStatusAnimation_7: @ 81570FC push {lr} - ldr r0, _08157124 @ =gUnknown_2024018 + ldr r0, _08157124 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _08157128 @ =gActiveBattler ldrb r1, [r0] @@ -2048,7 +2048,7 @@ _0815711E: pop {r0} bx r0 .align 2, 0 -_08157124: .4byte gUnknown_2024018 +_08157124: .4byte gBattleSpritesDataPtr _08157128: .4byte gActiveBattler thumb_func_end CompleteOnFinishedStatusAnimation_7 @@ -3922,7 +3922,7 @@ sub_81580E0: @ 81580E0 add r0, r10 bl BattleLoadOpponentMonSpriteGfx ldrb r0, [r6] - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 @@ -3937,7 +3937,7 @@ sub_81580E0: @ 81580E0 mov r9, r0 ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -4018,7 +4018,7 @@ sub_81580E0: @ 81580E0 lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback ldr r1, _08158234 @ =gUnknown_3004FE0 ldrb r0, [r6] lsls r0, 2 @@ -4075,7 +4075,7 @@ sub_815823C: @ 815823C muls r0, r2 ldr r2, _081582AC @ =gPlayerParty adds r0, r2 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx ldr r1, _081582B0 @ =gUnknown_2023FF8 ldrb r0, [r5] adds r0, r1 @@ -4152,7 +4152,7 @@ _081582FC: lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r1, _08158340 @ =gUnknown_3004FF0 + ldr r1, _08158340 @ =gHealthboxSpriteIds ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -4165,7 +4165,7 @@ _08158332: .align 2, 0 _08158338: .4byte gBattlerSpriteIds _0815833C: .4byte gSprites -_08158340: .4byte gUnknown_3004FF0 +_08158340: .4byte gHealthboxSpriteIds thumb_func_end sub_81582C0 thumb_func_start sub_8158344 @@ -4249,7 +4249,7 @@ _081583EC: .4byte 0x0000fffe _081583F0: ldrb r1, [r7] movs r0, 0x84 - bl sub_80346C4 + bl DecompressTrainerFrontPic ldrb r0, [r7] bl GetBattlerPosition adds r1, r0, 0 @@ -4505,7 +4505,7 @@ sub_8158610: @ 8158610 thumb_func_start sub_815861C sub_815861C: @ 815861C push {r4-r6,lr} - ldr r6, _08158668 @ =gUnknown_2024018 + ldr r6, _08158668 @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, _0815866C @ =gActiveBattler ldrb r2, [r5] @@ -4542,7 +4542,7 @@ _08158650: strb r1, [r0, 0x4] b _0815872A .align 2, 0 -_08158668: .4byte gUnknown_2024018 +_08158668: .4byte gBattleSpritesDataPtr _0815866C: .4byte gActiveBattler _08158670: ldrb r1, [r3] @@ -4656,7 +4656,7 @@ sub_8158748: @ 8158748 thumb_func_start sub_8158754 sub_8158754: @ 8158754 push {r4,r5,lr} - ldr r0, _08158794 @ =gUnknown_2024018 + ldr r0, _08158794 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] movs r0, 0x4 @@ -4685,7 +4685,7 @@ sub_8158754: @ 8158754 pop {r0} bx r0 .align 2, 0 -_08158794: .4byte gUnknown_2024018 +_08158794: .4byte gBattleSpritesDataPtr _08158798: .4byte gUnknown_2024005 _0815879C: .4byte gActiveBattler _081587A0: .4byte gUnknown_3004FE0 @@ -4702,7 +4702,7 @@ sub_81587A8: @ 81587A8 adds r1, 0x1 adds r0, r1 ldrb r1, [r0] - ldr r0, _081587F8 @ =gUnknown_2024018 + ldr r0, _081587F8 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] @@ -4731,7 +4731,7 @@ sub_81587A8: @ 81587A8 .align 2, 0 _081587F0: .4byte gUnknown_2022BC4 _081587F4: .4byte gActiveBattler -_081587F8: .4byte gUnknown_2024018 +_081587F8: .4byte gBattleSpritesDataPtr _081587FC: .4byte gUnknown_2024005 _08158800: .4byte gUnknown_3004FE0 _08158804: .4byte sub_8156484 @@ -4837,7 +4837,7 @@ sub_8158814: @ 8158814 adds r1, 0x10 adds r2, r1 str r2, [r3] - ldr r3, _08158908 @ =gUnknown_2024008 + ldr r3, _08158908 @ =gTransformedPersonalities ldrb r1, [r6] lsls r1, 2 adds r1, r3 @@ -4860,9 +4860,9 @@ _081588F8: .4byte gAnimMoveDmg _081588FC: .4byte gUnknown_2037EFE _08158900: .4byte gUnknown_2037F00 _08158904: .4byte gAnimDisableStructPtr -_08158908: .4byte gUnknown_2024008 +_08158908: .4byte gTransformedPersonalities _0815890C: - ldr r0, _08158930 @ =gUnknown_2024018 + ldr r0, _08158930 @ =gBattleSpritesDataPtr ldr r0, [r0] ldrb r1, [r6] ldr r2, [r0, 0x4] @@ -4882,7 +4882,7 @@ _0815892A: pop {r0} bx r0 .align 2, 0 -_08158930: .4byte gUnknown_2024018 +_08158930: .4byte gBattleSpritesDataPtr _08158934: .4byte gUnknown_3004FE0 _08158938: .4byte sub_815893C thumb_func_end sub_8158814 @@ -4907,7 +4907,7 @@ sub_815893C: @ 815893C ldrb r0, [r1] lsls r0, 8 orrs r4, r0 - ldr r7, _08158988 @ =gUnknown_2024018 + ldr r7, _08158988 @ =gBattleSpritesDataPtr ldr r5, [r7] ldr r1, [r5, 0x4] lsls r0, r3, 1 @@ -4925,7 +4925,7 @@ sub_815893C: @ 815893C .align 2, 0 _08158980: .4byte gUnknown_2022BC4 _08158984: .4byte gActiveBattler -_08158988: .4byte gUnknown_2024018 +_08158988: .4byte gBattleSpritesDataPtr _0815898C: cmp r2, 0x2 beq _081589F0 @@ -4978,10 +4978,10 @@ _081589C6: strb r1, [r0, 0x4] b _08158A7C _081589F0: - ldr r0, _08158A38 @ =gUnknown_2037EDC + ldr r0, _08158A38 @ =gAnimScriptCallback ldr r0, [r0] bl _call_via_r0 - ldr r0, _08158A3C @ =gUnknown_2037EE1 + ldr r0, _08158A3C @ =gAnimScriptActive ldrb r0, [r0] cmp r0, 0 bne _08158A7C @@ -5013,8 +5013,8 @@ _08158A24: strb r1, [r0, 0x4] b _08158A7C .align 2, 0 -_08158A38: .4byte gUnknown_2037EDC -_08158A3C: .4byte gUnknown_2037EE1 +_08158A38: .4byte gAnimScriptCallback +_08158A3C: .4byte gAnimScriptActive _08158A40: ldrb r1, [r0] movs r0, 0x40 @@ -5519,7 +5519,7 @@ _08158E18: bl GetMonData adds r3, r0, 0 ldrb r0, [r7] - ldr r1, _08158E7C @ =gUnknown_3004FF0 + ldr r1, _08158E7C @ =gHealthboxSpriteIds adds r1, r0, r1 ldrb r1, [r1] str r6, [sp] @@ -5532,14 +5532,14 @@ _08158E6C: .4byte gEnemyParty _08158E70: .4byte gUnknown_2022BC4 _08158E74: .4byte gActiveBattler _08158E78: .4byte 0x00007fff -_08158E7C: .4byte gUnknown_3004FF0 +_08158E7C: .4byte gHealthboxSpriteIds _08158E80: adds r0, r5, 0 movs r1, 0x3A bl GetMonData adds r2, r0, 0 ldrb r0, [r7] - ldr r4, _08158EC0 @ =gUnknown_3004FF0 + ldr r4, _08158EC0 @ =gHealthboxSpriteIds adds r1, r0, r4 ldrb r1, [r1] str r6, [sp] @@ -5564,7 +5564,7 @@ _08158EA8: pop {r0} bx r0 .align 2, 0 -_08158EC0: .4byte gUnknown_3004FF0 +_08158EC0: .4byte gHealthboxSpriteIds _08158EC4: .4byte gUnknown_3004FE0 _08158EC8: .4byte gActiveBattler _08158ECC: .4byte sub_8156E78 @@ -5681,7 +5681,7 @@ _08158FA8: ldr r0, _08158FFC @ =gEnemyParty _08158FB8: adds r2, r1, r0 - ldr r1, _08159000 @ =gUnknown_3004FF0 + ldr r1, _08159000 @ =gHealthboxSpriteIds ldr r4, _08159004 @ =gActiveBattler ldrb r0, [r4] adds r0, r1 @@ -5690,7 +5690,7 @@ _08158FB8: movs r2, 0x9 bl UpdateHealthboxAttribute ldrb r2, [r4] - ldr r0, _08159008 @ =gUnknown_2024018 + ldr r0, _08159008 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r2, 1 @@ -5715,9 +5715,9 @@ _08158FF2: .align 2, 0 _08158FF8: .4byte gBattlerPartyIndexes _08158FFC: .4byte gEnemyParty -_08159000: .4byte gUnknown_3004FF0 +_08159000: .4byte gHealthboxSpriteIds _08159004: .4byte gActiveBattler -_08159008: .4byte gUnknown_2024018 +_08159008: .4byte gBattleSpritesDataPtr _0815900C: .4byte gUnknown_3004FE0 _08159010: .4byte sub_8157054 thumb_func_end sub_8158F6C @@ -6102,7 +6102,7 @@ sub_81592D0: @ 81592D0 adds r0, r1 ldrb r0, [r0] bl sub_80BC3A0 - ldr r2, _08159300 @ =gUnknown_2023F4C + ldr r2, _08159300 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -6113,7 +6113,7 @@ sub_81592D0: @ 81592D0 .align 2, 0 _081592F8: .4byte gUnknown_2022BC4 _081592FC: .4byte gActiveBattler -_08159300: .4byte gUnknown_2023F4C +_08159300: .4byte gIntroSlideFlags thumb_func_end sub_81592D0 thumb_func_start sub_8159304 @@ -6230,7 +6230,7 @@ sub_8159304: @ 8159304 adds r1, r4 ldrb r0, [r7] strh r0, [r1, 0x8] - ldr r3, _08159464 @ =gUnknown_2024018 + ldr r3, _08159464 @ =gBattleSpritesDataPtr ldr r0, [r3] ldrb r2, [r7] ldr r1, [r0, 0x4] @@ -6279,7 +6279,7 @@ _08159454: .4byte 0x0000d6f8 _08159458: .4byte gUnknown_8239FD4 _0815945C: .4byte sub_81595EC _08159460: .4byte gTasks -_08159464: .4byte gUnknown_2024018 +_08159464: .4byte gBattleSpritesDataPtr _08159468: .4byte gUnknown_2024000 _0815946C: .4byte sub_80491B0 _08159470: .4byte gUnknown_3004FE0 @@ -6296,7 +6296,7 @@ sub_8159478: @ 8159478 adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 - ldr r0, _081595C0 @ =gUnknown_2024018 + ldr r0, _081595C0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r6, 2 @@ -6341,12 +6341,12 @@ sub_8159478: @ 8159478 mov r10, r0 adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r6, 0 - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -6443,7 +6443,7 @@ sub_8159478: @ 8159478 pop {r0} bx r0 .align 2, 0 -_081595C0: .4byte gUnknown_2024018 +_081595C0: .4byte gBattleSpritesDataPtr _081595C4: .4byte gBattlerPartyIndexes _081595C8: .4byte gUnknown_2022BC4 _081595CC: .4byte gPlayerParty @@ -6537,7 +6537,7 @@ sub_8159660: @ 8159660 _08159688: .4byte gUnknown_2022BC4 _0815968C: .4byte gActiveBattler _08159690: - ldr r0, _081596D4 @ =gUnknown_2024018 + ldr r0, _081596D4 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r5, _081596D8 @ =gActiveBattler ldrb r1, [r5] @@ -6571,7 +6571,7 @@ _081596CE: pop {r0} bx r0 .align 2, 0 -_081596D4: .4byte gUnknown_2024018 +_081596D4: .4byte gBattleSpritesDataPtr _081596D8: .4byte gActiveBattler _081596DC: .4byte gUnknown_2022BC8 _081596E0: .4byte gUnknown_2024000 diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index 9e01ad2fd..634ca455d 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -302,7 +302,7 @@ _080DD772: sub_80DD778: @ 80DD778 push {lr} ldr r2, _080DD7A0 @ =gSprites - ldr r1, _080DD7A4 @ =gUnknown_3004FF0 + ldr r1, _080DD7A4 @ =gHealthboxSpriteIds ldr r0, _080DD7A8 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -322,7 +322,7 @@ _080DD79C: bx r0 .align 2, 0 _080DD7A0: .4byte gSprites -_080DD7A4: .4byte gUnknown_3004FF0 +_080DD7A4: .4byte gHealthboxSpriteIds _080DD7A8: .4byte gActiveBattler _080DD7AC: .4byte SpriteCallbackDummy thumb_func_end sub_80DD778 @@ -366,7 +366,7 @@ CompleteOnSpecialAnimDone_0: @ 80DD7F0 ldrb r0, [r0] cmp r0, 0 beq _080DD816 - ldr r0, _080DD824 @ =gUnknown_2024018 + ldr r0, _080DD824 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080DD828 @ =gActiveBattler ldrb r1, [r0] @@ -387,7 +387,7 @@ _080DD81A: bx r0 .align 2, 0 _080DD820: .4byte gUnknown_2024005 -_080DD824: .4byte gUnknown_2024018 +_080DD824: .4byte gBattleSpritesDataPtr _080DD828: .4byte gActiveBattler thumb_func_end CompleteOnSpecialAnimDone_0 @@ -449,7 +449,7 @@ _080DD894: .4byte gSpecialVar_ItemId thumb_func_start CompleteOnFinishedBattleAnimation_3 CompleteOnFinishedBattleAnimation_3: @ 80DD898 push {lr} - ldr r0, _080DD8C0 @ =gUnknown_2024018 + ldr r0, _080DD8C0 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080DD8C4 @ =gActiveBattler ldrb r1, [r0] @@ -468,7 +468,7 @@ _080DD8BA: pop {r0} bx r0 .align 2, 0 -_080DD8C0: .4byte gUnknown_2024018 +_080DD8C0: .4byte gBattleSpritesDataPtr _080DD8C4: .4byte gActiveBattler thumb_func_end CompleteOnFinishedBattleAnimation_3 @@ -532,7 +532,7 @@ _080DD93C: .4byte gBitTable thumb_func_start CompleteOnFinishedStatusAnimation_3 CompleteOnFinishedStatusAnimation_3: @ 80DD940 push {lr} - ldr r0, _080DD968 @ =gUnknown_2024018 + ldr r0, _080DD968 @ =gBattleSpritesDataPtr ldr r2, [r0] ldr r0, _080DD96C @ =gActiveBattler ldrb r1, [r0] @@ -551,7 +551,7 @@ _080DD962: pop {r0} bx r0 .align 2, 0 -_080DD968: .4byte gUnknown_2024018 +_080DD968: .4byte gBattleSpritesDataPtr _080DD96C: .4byte gActiveBattler thumb_func_end CompleteOnFinishedStatusAnimation_3 @@ -749,7 +749,7 @@ sub_80DDAC8: @ 80DDAC8 thumb_func_start sub_80DDAD4 sub_80DDAD4: @ 80DDAD4 push {r4,r5,lr} - ldr r0, _080DDB14 @ =gUnknown_2024018 + ldr r0, _080DDB14 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0x8] movs r0, 0x4 @@ -778,7 +778,7 @@ sub_80DDAD4: @ 80DDAD4 pop {r0} bx r0 .align 2, 0 -_080DDB14: .4byte gUnknown_2024018 +_080DDB14: .4byte gBattleSpritesDataPtr _080DDB18: .4byte gUnknown_2024005 _080DDB1C: .4byte gActiveBattler _080DDB20: .4byte gUnknown_3004FE0 @@ -795,7 +795,7 @@ sub_80DDB28: @ 80DDB28 adds r1, 0x1 adds r0, r1 ldrb r1, [r0] - ldr r0, _080DDB78 @ =gUnknown_2024018 + ldr r0, _080DDB78 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] @@ -824,7 +824,7 @@ sub_80DDB28: @ 80DDB28 .align 2, 0 _080DDB70: .4byte gUnknown_2022BC4 _080DDB74: .4byte gActiveBattler -_080DDB78: .4byte gUnknown_2024018 +_080DDB78: .4byte gBattleSpritesDataPtr _080DDB7C: .4byte gUnknown_2024005 _080DDB80: .4byte gUnknown_3004FE0 _080DDB84: .4byte CompleteOnSpecialAnimDone_0 @@ -1081,7 +1081,7 @@ sub_80DDD68: @ 80DDD68 thumb_func_start SafariHandleStatusIconUpdate SafariHandleStatusIconUpdate: @ 80DDD74 push {lr} - ldr r0, _080DDDA0 @ =gUnknown_3004FF0 + ldr r0, _080DDDA0 @ =gHealthboxSpriteIds ldr r1, _080DDDA4 @ =gActiveBattler ldrb r1, [r1] adds r0, r1, r0 @@ -1100,7 +1100,7 @@ SafariHandleStatusIconUpdate: @ 80DDD74 pop {r0} bx r0 .align 2, 0 -_080DDDA0: .4byte gUnknown_3004FF0 +_080DDDA0: .4byte gHealthboxSpriteIds _080DDDA4: .4byte gActiveBattler _080DDDA8: .4byte gBattlerPartyIndexes _080DDDAC: .4byte gPlayerParty @@ -1332,7 +1332,7 @@ SafariHandleIntroSlide: @ 80DDF20 adds r0, r1 ldrb r0, [r0] bl sub_80BC3A0 - ldr r2, _080DDF50 @ =gUnknown_2023F4C + ldr r2, _080DDF50 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 orrs r0, r1 @@ -1343,13 +1343,13 @@ SafariHandleIntroSlide: @ 80DDF20 .align 2, 0 _080DDF48: .4byte gUnknown_2022BC4 _080DDF4C: .4byte gActiveBattler -_080DDF50: .4byte gUnknown_2023F4C +_080DDF50: .4byte gIntroSlideFlags thumb_func_end SafariHandleIntroSlide thumb_func_start SafariHandleIntroTrainerBallThrow SafariHandleIntroTrainerBallThrow: @ 80DDF54 push {r4,r5,lr} - ldr r5, _080DDF98 @ =gUnknown_3004FF0 + ldr r5, _080DDF98 @ =gHealthboxSpriteIds ldr r4, _080DDF9C @ =gActiveBattler ldrb r1, [r4] adds r0, r1, r5 @@ -1380,7 +1380,7 @@ SafariHandleIntroTrainerBallThrow: @ 80DDF54 pop {r0} bx r0 .align 2, 0 -_080DDF98: .4byte gUnknown_3004FF0 +_080DDF98: .4byte gHealthboxSpriteIds _080DDF9C: .4byte gActiveBattler _080DDFA0: .4byte gBattlerPartyIndexes _080DDFA4: .4byte gPlayerParty diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index 5337929a1..cf53430ad 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -54,7 +54,7 @@ sub_800D278: @ 800D278 movs r3, 0 ldr r1, _0800D2F0 @ =gUnknown_3004FE0 mov r12, r1 - ldr r7, _0800D2F4 @ =gUnknown_2023BD6 + ldr r7, _0800D2F4 @ =gBattlerPositions movs r6, 0xFF ldr r5, _0800D2F8 @ =gUnknown_2023FF8 ldr r4, _0800D2FC @ =gUnknown_2023FFC @@ -97,7 +97,7 @@ _0800D2E4: .4byte gUnknown_3004F84 _0800D2E8: .4byte nullsub_12 _0800D2EC: .4byte nullsub_13 _0800D2F0: .4byte gUnknown_3004FE0 -_0800D2F4: .4byte gUnknown_2023BD6 +_0800D2F4: .4byte gBattlerPositions _0800D2F8: .4byte gUnknown_2023FF8 _0800D2FC: .4byte gUnknown_2023FFC _0800D300: .4byte gUnknown_2023BC8 @@ -173,7 +173,7 @@ sub_800D364: @ 800D364 ldr r2, _0800D3A4 @ =gUnknown_3004FE0 ldr r1, _0800D3A8 @ =sub_81560A4 str r1, [r2] - ldr r0, _0800D3AC @ =gUnknown_2023BD6 + ldr r0, _0800D3AC @ =gBattlerPositions strb r3, [r0] str r1, [r2, 0x4] strb r4, [r0, 0x1] @@ -186,7 +186,7 @@ _0800D39C: .4byte gUnknown_3004F84 _0800D3A0: .4byte sub_80123C0 _0800D3A4: .4byte gUnknown_3004FE0 _0800D3A8: .4byte sub_81560A4 -_0800D3AC: .4byte gUnknown_2023BD6 +_0800D3AC: .4byte gBattlerPositions _0800D3B0: .4byte gBattlersCount _0800D3B4: movs r0, 0x80 @@ -217,7 +217,7 @@ _0800D3E4: _0800D3E8: str r0, [r1] adds r2, r1, 0 - ldr r1, _0800D408 @ =gUnknown_2023BD6 + ldr r1, _0800D408 @ =gBattlerPositions movs r0, 0 strb r0, [r1] ldr r0, _0800D40C @ =sub_8035A7C @@ -230,7 +230,7 @@ _0800D3E8: .align 2, 0 _0800D400: .4byte gUnknown_3004FE0 _0800D404: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D408: .4byte gUnknown_2023BD6 +_0800D408: .4byte gBattlerPositions _0800D40C: .4byte sub_8035A7C _0800D410: .4byte gBattlersCount _0800D414: @@ -245,7 +245,7 @@ _0800D414: ldr r3, _0800D44C @ =gUnknown_3004FE0 ldr r1, _0800D450 @ =sub_81560A4 str r1, [r3] - ldr r2, _0800D454 @ =gUnknown_2023BD6 + ldr r2, _0800D454 @ =gBattlerPositions movs r0, 0 strb r0, [r2] str r1, [r3, 0x4] @@ -262,12 +262,12 @@ _0800D444: .4byte gUnknown_3004F84 _0800D448: .4byte sub_80123C0 _0800D44C: .4byte gUnknown_3004FE0 _0800D450: .4byte sub_81560A4 -_0800D454: .4byte gUnknown_2023BD6 +_0800D454: .4byte gBattlerPositions _0800D458: ldr r2, _0800D480 @ =gUnknown_3004FE0 ldr r0, _0800D484 @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2] - ldr r1, _0800D488 @ =gUnknown_2023BD6 + ldr r1, _0800D488 @ =gBattlerPositions strb r3, [r1] ldr r3, _0800D48C @ =sub_8035A7C str r3, [r2, 0x4] @@ -289,7 +289,7 @@ _0800D478: .align 2, 0 _0800D480: .4byte gUnknown_3004FE0 _0800D484: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D488: .4byte gUnknown_2023BD6 +_0800D488: .4byte gBattlerPositions _0800D48C: .4byte sub_8035A7C _0800D490: .4byte gBattlersCount thumb_func_end sub_800D364 @@ -318,7 +318,7 @@ sub_800D494: @ 800D494 ldr r2, _0800D4DC @ =gUnknown_3004FE0 ldr r0, _0800D4E0 @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2] - ldr r1, _0800D4E4 @ =gUnknown_2023BD6 + ldr r1, _0800D4E4 @ =gBattlerPositions strb r3, [r1] ldr r0, _0800D4E8 @ =sub_803A668 str r0, [r2, 0x4] @@ -332,14 +332,14 @@ _0800D4D4: .4byte gUnknown_3004F84 _0800D4D8: .4byte sub_80123C0 _0800D4DC: .4byte gUnknown_3004FE0 _0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D4E4: .4byte gUnknown_2023BD6 +_0800D4E4: .4byte gBattlerPositions _0800D4E8: .4byte sub_803A668 _0800D4EC: .4byte gBattlersCount _0800D4F0: ldr r2, _0800D508 @ =gUnknown_3004FE0 ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2, 0x4] - ldr r1, _0800D510 @ =gUnknown_2023BD6 + ldr r1, _0800D510 @ =gBattlerPositions strb r4, [r1, 0x1] ldr r0, _0800D514 @ =sub_803A668 str r0, [r2] @@ -350,7 +350,7 @@ _0800D4F0: .align 2, 0 _0800D508: .4byte gUnknown_3004FE0 _0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D510: .4byte gUnknown_2023BD6 +_0800D510: .4byte gBattlerPositions _0800D514: .4byte sub_803A668 _0800D518: .4byte gBattlersCount _0800D51C: @@ -369,7 +369,7 @@ _0800D51C: ldr r2, _0800D55C @ =gUnknown_3004FE0 ldr r4, _0800D560 @ =SetBankFuncToPlayerBufferRunCommand str r4, [r2] - ldr r1, _0800D564 @ =gUnknown_2023BD6 + ldr r1, _0800D564 @ =gBattlerPositions movs r0, 0 strb r0, [r1] ldr r3, _0800D568 @ =sub_803A668 @@ -387,13 +387,13 @@ _0800D554: .4byte gUnknown_3004F84 _0800D558: .4byte sub_80123C0 _0800D55C: .4byte gUnknown_3004FE0 _0800D560: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D564: .4byte gUnknown_2023BD6 +_0800D564: .4byte gBattlerPositions _0800D568: .4byte sub_803A668 _0800D56C: ldr r2, _0800D590 @ =gUnknown_3004FE0 ldr r0, _0800D594 @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2, 0x4] - ldr r1, _0800D598 @ =gUnknown_2023BD6 + ldr r1, _0800D598 @ =gBattlerPositions strb r3, [r1, 0x1] ldr r3, _0800D59C @ =sub_803A668 str r3, [r2] @@ -411,7 +411,7 @@ _0800D588: .align 2, 0 _0800D590: .4byte gUnknown_3004FE0 _0800D594: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D598: .4byte gUnknown_2023BD6 +_0800D598: .4byte gBattlerPositions _0800D59C: .4byte sub_803A668 _0800D5A0: .4byte gBattlersCount _0800D5A4: @@ -431,7 +431,7 @@ _0800D5BC: mov r10, r0 ldr r1, _0800D5EC @ =gLinkPlayers mov r12, r1 - ldr r7, _0800D5F0 @ =gUnknown_2023BD6 + ldr r7, _0800D5F0 @ =gBattlerPositions mov r8, r0 ldr r6, _0800D5F4 @ =gBattlerPartyIndexes movs r4, 0 @@ -452,7 +452,7 @@ _0800D5D0: _0800D5E4: .4byte gUnknown_3004F84 _0800D5E8: .4byte sub_80123C0 _0800D5EC: .4byte gLinkPlayers -_0800D5F0: .4byte gUnknown_2023BD6 +_0800D5F0: .4byte gBattlerPositions _0800D5F4: .4byte gBattlerPartyIndexes _0800D5F8: cmp r0, 0x3 @@ -680,7 +680,7 @@ _0800D78C: movs r0, 0x1 add r0, r8 mov r10, r0 - ldr r0, _0800D7B8 @ =gUnknown_2023BD6 + ldr r0, _0800D7B8 @ =gBattlerPositions add r0, r8 mov r9, r0 mov r0, r8 @@ -699,7 +699,7 @@ _0800D7A0: ldr r0, _0800D7BC @ =gPlayerParty b _0800D7C2 .align 2, 0 -_0800D7B8: .4byte gUnknown_2023BD6 +_0800D7B8: .4byte gBattlerPositions _0800D7BC: .4byte gPlayerParty _0800D7C0: ldr r0, _0800D800 @ =gEnemyParty diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s deleted file mode 100644 index ba54bafbb..000000000 --- a/asm/battle_gfx_sfx_util.s +++ /dev/null @@ -1,3606 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AllocateBattleSpritesData -AllocateBattleSpritesData: @ 8033DB8 - push {r4,lr} - ldr r4, _08033DF4 @ =gUnknown_2024018 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x30 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x50 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033DF4: .4byte gUnknown_2024018 - thumb_func_end AllocateBattleSpritesData - - thumb_func_start FreeBattleSpritesData -FreeBattleSpritesData: @ 8033DF8 - push {r4,r5,lr} - ldr r5, _08033E38 @ =gUnknown_2024018 - ldr r0, [r5] - cmp r0, 0 - beq _08033E32 - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0, 0xC] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r5] - str r4, [r0, 0x8] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0] - bl Free - ldr r0, [r5] - str r4, [r0] - bl Free - str r4, [r5] -_08033E32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08033E38: .4byte gUnknown_2024018 - thumb_func_end FreeBattleSpritesData - - thumb_func_start sub_8033E3C -sub_8033E3C: @ 8033E3C - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x30] - lsls r0, 24 - lsrs r0, 24 - ldr r7, _08033E80 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - adds r3, r5, r7 - adds r0, r3, 0 - adds r0, 0x3F - ldrb r4, [r0] - lsls r0, r4, 26 - cmp r0, 0 - bge _08033EA0 - adds r0, r3, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08033EA0 - adds r1, r3, 0 - adds r1, 0x2C - ldrb r2, [r1] - lsls r0, r2, 25 - cmp r0, 0 - bge _08033E84 - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _08033EA0 - .align 2, 0 -_08033E80: .4byte gSprites -_08033E84: - lsls r0, r4, 27 - cmp r0, 0 - bge _08033EA0 - adds r0, r7, 0 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, _08033EA8 @ =sub_8012100 - str r1, [r0] - adds r0, r3, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _08033EAC @ =SpriteCallbackDummy - str r0, [r6, 0x1C] -_08033EA0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08033EA8: .4byte sub_8012100 -_08033EAC: .4byte SpriteCallbackDummy - thumb_func_end sub_8033E3C - - thumb_func_start sub_8033EB0 -sub_8033EB0: @ 8033EB0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - adds r3, r4, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r3] - ldr r0, _08033ED4 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] - cmp r1, 0 - bne _08033ED8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _08033EE0 - .align 2, 0 -_08033ED4: .4byte SpriteCallbackDummy -_08033ED8: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_08033EE0: - adds r0, r4, 0 - bl AnimateSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8033EB0 - - thumb_func_start sub_8033EEC -sub_8033EEC: @ 8033EEC - push {lr} - adds r2, r0, 0 - ldr r0, _08033F14 @ =gUnknown_2023F4C - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08033F0E - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _08033F0E - ldr r0, _08033F18 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08033F0E: - pop {r0} - bx r0 - .align 2, 0 -_08033F14: .4byte gUnknown_2023F4C -_08033F18: .4byte SpriteCallbackDummy - thumb_func_end sub_8033EEC - - thumb_func_start InitAndLaunchChosenStatusAnimation -InitAndLaunchChosenStatusAnimation: @ 8033F1C - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - ldr r6, _08033F50 @ =gUnknown_2024018 - ldr r1, [r6] - ldr r5, _08033F54 @ =gActiveBattler - ldrb r2, [r5] - ldr r3, [r1, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1] - movs r3, 0x10 - orrs r2, r3 - strb r2, [r1] - cmp r0, 0 - bne _08033F9C - cmp r4, 0x20 - bne _08033F58 - ldrb r0, [r5] - movs r1, 0x6 - bl LaunchStatusAnimation - b _08034016 - .align 2, 0 -_08033F50: .4byte gUnknown_2024018 -_08033F54: .4byte gActiveBattler -_08033F58: - cmp r4, 0x8 - beq _08033F64 - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _08033F6E -_08033F64: - ldrb r0, [r5] - movs r1, 0 - bl LaunchStatusAnimation - b _08034016 -_08033F6E: - cmp r4, 0x10 - bne _08033F7C - ldrb r0, [r5] - movs r1, 0x2 - bl LaunchStatusAnimation - b _08034016 -_08033F7C: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _08033F8E - ldrb r0, [r5] - movs r1, 0x4 - bl LaunchStatusAnimation - b _08034016 -_08033F8E: - cmp r4, 0x40 - bne _08033FFE - ldrb r0, [r5] - movs r1, 0x5 - bl LaunchStatusAnimation - b _08034016 -_08033F9C: - movs r0, 0xF0 - lsls r0, 12 - ands r0, r4 - cmp r0, 0 - beq _08033FB0 - ldrb r0, [r5] - movs r1, 0x3 - bl LaunchStatusAnimation - b _08034016 -_08033FB0: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _08033FC2 - ldrb r0, [r5] - movs r1, 0x1 - bl LaunchStatusAnimation - b _08034016 -_08033FC2: - movs r0, 0x80 - lsls r0, 21 - ands r0, r4 - cmp r0, 0 - beq _08033FD6 - ldrb r0, [r5] - movs r1, 0x7 - bl LaunchStatusAnimation - b _08034016 -_08033FD6: - movs r0, 0x80 - lsls r0, 20 - ands r0, r4 - cmp r0, 0 - beq _08033FEA - ldrb r0, [r5] - movs r1, 0x8 - bl LaunchStatusAnimation - b _08034016 -_08033FEA: - movs r0, 0xE0 - lsls r0, 8 - ands r0, r4 - cmp r0, 0 - beq _08033FFE - ldrb r0, [r5] - movs r1, 0x9 - bl LaunchStatusAnimation - b _08034016 -_08033FFE: - ldr r0, [r6] - ldrb r2, [r5] - ldr r0, [r0, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08034016: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end InitAndLaunchChosenStatusAnimation - - thumb_func_start TryHandleLaunchBattleTableAnimation -TryHandleLaunchBattleTableAnimation: @ 803401C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r5, r3, 24 - lsls r4, 16 - lsrs r7, r4, 16 - cmp r5, 0 - bne _08034064 - movs r0, 0x80 - ands r0, r7 - cmp r0, 0 - beq _08034064 - ldr r0, _08034060 @ =gBattleMonForms - adds r0, r6, r0 - movs r2, 0x7F - adds r1, r7, 0 - ands r1, r2 - strb r1, [r0] - movs r0, 0x1 - b _08034132 - .align 2, 0 -_08034060: .4byte gBattleMonForms -_08034064: - ldr r0, _08034090 @ =gUnknown_2024018 - mov r9, r0 - ldr r0, [r0] - ldr r0, [r0] - lsls r4, r6, 2 - adds r0, r4, r0 - ldrb r1, [r0] - movs r2, 0x4 - mov r8, r2 - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _080340E0 - adds r0, r5, 0 - bl ShouldAnimBeDoneRegardlessOfSubsitute - lsls r0, 24 - cmp r0, 0 - bne _08034094 - movs r0, 0x1 - b _08034132 - .align 2, 0 -_08034090: .4byte gUnknown_2024018 -_08034094: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _080340E0 - cmp r5, 0x2 - bne _080340E0 - ldr r1, _080340D8 @ =gSprites - ldr r0, _080340DC @ =gBattlerSpriteIds - adds r0, r6, r0 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080340E0 - adds r0, r6, 0 - movs r1, 0x1 - bl LoadBattleMonGfxAndAnimate - adds r0, r6, 0 - bl ClearBehindSubstituteBit - movs r0, 0x1 - b _08034132 - .align 2, 0 -_080340D8: .4byte gSprites -_080340DC: .4byte gBattlerSpriteIds -_080340E0: - ldr r0, _08034144 @ =gBattleAnimAttacker - mov r2, r10 - strb r2, [r0] - ldr r0, _08034148 @ =gBattleAnimTarget - mov r1, sp - ldrb r1, [r1] - strb r1, [r0] - ldr r4, _0803414C @ =gUnknown_2024018 - ldr r0, [r4] - ldr r0, [r0, 0x8] - strh r7, [r0] - ldr r0, _08034150 @ =gUnknown_81C6EA8 - adds r1, r5, 0 - movs r2, 0 - bl sub_80725D4 - ldr r0, _08034154 @ =Task_ClearBitWhenBattleTableAnimDone - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08034158 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0x8] - ldr r0, [r4] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 -_08034132: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08034144: .4byte gBattleAnimAttacker -_08034148: .4byte gBattleAnimTarget -_0803414C: .4byte gUnknown_2024018 -_08034150: .4byte gUnknown_81C6EA8 -_08034154: .4byte Task_ClearBitWhenBattleTableAnimDone -_08034158: .4byte gTasks - thumb_func_end TryHandleLaunchBattleTableAnimation - - thumb_func_start Task_ClearBitWhenBattleTableAnimDone -Task_ClearBitWhenBattleTableAnimDone: @ 803415C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080341A4 @ =gUnknown_2037EDC - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _080341A8 @ =gUnknown_2037EE1 - ldrb r0, [r0] - cmp r0, 0 - bne _0803419E - ldr r0, _080341AC @ =gUnknown_2024018 - ldr r2, [r0] - ldr r1, _080341B0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0803419E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080341A4: .4byte gUnknown_2037EDC -_080341A8: .4byte gUnknown_2037EE1 -_080341AC: .4byte gUnknown_2024018 -_080341B0: .4byte gTasks - thumb_func_end Task_ClearBitWhenBattleTableAnimDone - - thumb_func_start ShouldAnimBeDoneRegardlessOfSubsitute -ShouldAnimBeDoneRegardlessOfSubsitute: @ 80341B4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bgt _080341C8 - cmp r0, 0xA - bge _080341CC - cmp r0, 0x2 - beq _080341CC - b _080341D0 -_080341C8: - cmp r0, 0x11 - bne _080341D0 -_080341CC: - movs r0, 0x1 - b _080341D2 -_080341D0: - movs r0, 0 -_080341D2: - pop {r1} - bx r1 - thumb_func_end ShouldAnimBeDoneRegardlessOfSubsitute - - thumb_func_start InitAndLaunchSpecialAnimation -InitAndLaunchSpecialAnimation: @ 80341D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08034230 @ =gBattleAnimAttacker - strb r1, [r0] - ldr r0, _08034234 @ =gBattleAnimTarget - strb r2, [r0] - ldr r0, _08034238 @ =gUnknown_81C6F18 - adds r1, r3, 0 - movs r2, 0 - bl sub_80725D4 - ldr r0, _0803423C @ =Task_ClearBitWhenSpecialAnimDone - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08034240 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r0, _08034244 @ =gUnknown_2024018 - ldr r0, [r0] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034230: .4byte gBattleAnimAttacker -_08034234: .4byte gBattleAnimTarget -_08034238: .4byte gUnknown_81C6F18 -_0803423C: .4byte Task_ClearBitWhenSpecialAnimDone -_08034240: .4byte gTasks -_08034244: .4byte gUnknown_2024018 - thumb_func_end InitAndLaunchSpecialAnimation - - thumb_func_start Task_ClearBitWhenSpecialAnimDone -Task_ClearBitWhenSpecialAnimDone: @ 8034248 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08034290 @ =gUnknown_2037EDC - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08034294 @ =gUnknown_2037EE1 - ldrb r0, [r0] - cmp r0, 0 - bne _0803428A - ldr r0, _08034298 @ =gUnknown_2024018 - ldr r2, [r0] - ldr r1, _0803429C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0803428A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034290: .4byte gUnknown_2037EDC -_08034294: .4byte gUnknown_2037EE1 -_08034298: .4byte gUnknown_2024018 -_0803429C: .4byte gTasks - thumb_func_end Task_ClearBitWhenSpecialAnimDone - - thumb_func_start IsMoveWithoutAnimation -IsMoveWithoutAnimation: @ 80342A0 - movs r0, 0 - bx lr - thumb_func_end IsMoveWithoutAnimation - - thumb_func_start mplay_80342A4 -mplay_80342A4: @ 80342A4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _080342EC - ldr r2, _080342F4 @ =gUnknown_2024018 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - adds r1, 0x1 - strb r1, [r0, 0x8] - ldr r2, [r2] - ldr r0, _080342F8 @ =gActiveBattler - ldrb r1, [r0] - ldr r2, [r2, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x8] - cmp r0, 0x1D - bls _080342F0 - ldr r0, _080342FC @ =gMPlayInfo_SE1 - bl m4aMPlayStop - ldr r0, _08034300 @ =gMPlayInfo_SE2 - bl m4aMPlayStop -_080342EC: - cmp r5, 0 - beq _08034304 -_080342F0: - movs r0, 0x1 - b _08034316 - .align 2, 0 -_080342F4: .4byte gUnknown_2024018 -_080342F8: .4byte gActiveBattler -_080342FC: .4byte gMPlayInfo_SE1 -_08034300: .4byte gMPlayInfo_SE2 -_08034304: - ldr r0, _0803431C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strb r5, [r0, 0x8] - movs r0, 0 -_08034316: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803431C: .4byte gUnknown_2024018 - thumb_func_end mplay_80342A4 - - thumb_func_start BattleLoadOpponentMonSpriteGfx -BattleLoadOpponentMonSpriteGfx: @ 8034320 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, _08034360 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _08034364 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r6, [sp] - b _0803436C - .align 2, 0 -_08034360: .4byte gUnknown_2024018 -_08034364: - ldrh r5, [r2, 0x2] - ldr r0, _080343C0 @ =gUnknown_2024008 - adds r0, r1, r0 - ldr r6, [r0] -_0803436C: - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - mov r10, r0 - mov r0, r8 - bl GetBattlerPosition - lsls r0, 24 - lsls r2, r5, 3 - ldr r1, _080343C4 @ =gMonFrontPicTable - adds r2, r1 - ldr r1, _080343C8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - mov r3, r8 - lsls r2, r3, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r2, r0 - ldr r0, _080343CC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r3, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - str r1, [sp, 0x4] - mov r9, r2 - cmp r0, 0 - bne _080343D0 - adds r0, r4, 0 - bl GetMonFrontSpritePal - b _080343DA - .align 2, 0 -_080343C0: .4byte gUnknown_2024008 -_080343C4: .4byte gMonFrontPicTable -_080343C8: .4byte gMonSpritesGfxPtr -_080343CC: .4byte gUnknown_2024018 -_080343D0: - adds r0, r5, 0 - mov r1, r10 - ldr r2, [sp] - bl GetFrontSpritePalFromSpeciesAndPersonality -_080343DA: - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r4, r0, 0 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl Free - ldr r0, _08034478 @ =0x00000181 - cmp r5, r0 - bne _0803443C - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, _0803447C @ =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, _08034480 @ =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_0803443C: - ldr r0, _08034484 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - ldr r1, [sp, 0x4] - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034468 - ldr r3, _08034488 @ =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, _0803448C @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _08034490 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _08034494 @ =0x04000008 - bl CpuSet -_08034468: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034478: .4byte 0x00000181 -_0803447C: .4byte gBattleStruct -_08034480: .4byte gBattleMonForms -_08034484: .4byte gUnknown_2024018 -_08034488: .4byte 0x00007fff -_0803448C: .4byte gPlttBufferFaded -_08034490: .4byte gPlttBufferUnfaded -_08034494: .4byte 0x04000008 - thumb_func_end BattleLoadOpponentMonSpriteGfx - - thumb_func_start sub_8034498 -sub_8034498: @ 8034498 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, _080344D8 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _080344DC - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, [sp] - b _080344E4 - .align 2, 0 -_080344D8: .4byte gUnknown_2024018 -_080344DC: - ldrh r5, [r2, 0x2] - ldr r0, _08034538 @ =gUnknown_2024008 - adds r0, r1, r0 - ldr r4, [r0] -_080344E4: - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x4] - mov r0, r8 - bl GetBattlerPosition - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x1 - mov r1, r8 - bl sub_804455C - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - lsls r1, 2 - mov r10, r1 - cmp r0, 0x1 - beq _0803451C - ldr r0, _0803453C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034548 -_0803451C: - lsls r0, r5, 3 - ldr r1, _08034540 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08034544 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _08034562 - .align 2, 0 -_08034538: .4byte gUnknown_2024008 -_0803453C: .4byte gUnknown_2024018 -_08034540: .4byte gMonBackPicTable -_08034544: .4byte gMonSpritesGfxPtr -_08034548: - lsls r0, r5, 3 - ldr r1, _08034584 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08034588 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic -_08034562: - mov r2, r8 - lsls r1, r2, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r1, r0 - ldr r0, _0803458C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - mov r9, r1 - cmp r0, 0 - bne _08034590 - adds r0, r6, 0 - bl GetMonFrontSpritePal - b _0803459A - .align 2, 0 -_08034584: .4byte gMonBackPicTable -_08034588: .4byte gMonSpritesGfxPtr -_0803458C: .4byte gUnknown_2024018 -_08034590: - adds r0, r5, 0 - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl GetFrontSpritePalFromSpeciesAndPersonality -_0803459A: - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r4, r0, 0 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl Free - ldr r0, _08034638 @ =0x00000181 - cmp r5, r0 - bne _080345FC - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, _0803463C @ =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, _08034640 @ =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_080345FC: - ldr r0, _08034644 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034626 - ldr r3, _08034648 @ =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, _0803464C @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _08034650 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _08034654 @ =0x04000008 - bl CpuSet -_08034626: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034638: .4byte 0x00000181 -_0803463C: .4byte gBattleStruct -_08034640: .4byte gBattleMonForms -_08034644: .4byte gUnknown_2024018 -_08034648: .4byte 0x00007fff -_0803464C: .4byte gPlttBufferFaded -_08034650: .4byte gPlttBufferUnfaded -_08034654: .4byte 0x04000008 - thumb_func_end sub_8034498 - - thumb_func_start sub_8034658 -sub_8034658: @ 8034658 - push {r4-r6,lr} - lsls r4, r1, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBattlerPosition - lsls r0, 24 - ldr r2, _080346B8 @ =gUnknown_8E93B38 - ldr r1, _080346BC @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - bl LZ77UnCompWram - lsls r4, 4 - movs r0, 0x80 - lsls r0, 1 - adds r6, r4, r0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r5, r0, 0 - ldr r0, _080346C0 @ =gUnknown_8E93B14 - adds r1, r5, 0 - bl LZDecompressWram - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette - adds r4, 0x80 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadPalette - adds r0, r5, 0 - bl Free - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080346B8: .4byte gUnknown_8E93B38 -_080346BC: .4byte gMonSpritesGfxPtr -_080346C0: .4byte gUnknown_8E93B14 - thumb_func_end sub_8034658 - - thumb_func_start sub_80346C4 -sub_80346C4: @ 80346C4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r5, r0, 0 - adds r0, r1, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - adds r4, r0, 0 - lsls r4, 24 - lsls r5, 3 - ldr r6, _0803473C @ =gTrainerFrontPicTable - adds r6, r5, r6 - ldr r0, _08034740 @ =gMonSpritesGfxPtr - mov r8, r0 - ldr r0, [r0] - lsrs r4, 22 - adds r0, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r6, 0 - movs r2, 0 - bl DecompressPicFromTable - mov r1, r8 - ldr r0, [r1] - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - str r0, [sp] - ldrh r2, [r6, 0x4] - ldr r0, _08034744 @ =0xffff0000 - ldr r1, [sp, 0x4] - ands r1, r0 - orrs r1, r2 - str r1, [sp, 0x4] - ldrh r2, [r6, 0x6] - lsls r2, 16 - ldr r0, _08034748 @ =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, _0803474C @ =gTrainerFrontPicPaletteTable - adds r5, r0 - adds r0, r5, 0 - bl LoadCompressedSpritePaletteUsingHeap - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803473C: .4byte gTrainerFrontPicTable -_08034740: .4byte gMonSpritesGfxPtr -_08034744: .4byte 0xffff0000 -_08034748: .4byte 0x0000ffff -_0803474C: .4byte gTrainerFrontPicPaletteTable - thumb_func_end sub_80346C4 - - thumb_func_start sub_8034750 -sub_8034750: @ 8034750 - push {lr} - lsls r0, 16 - lsls r1, 24 - ldr r2, _08034774 @ =gUnknown_8239FD4 - lsrs r0, 13 - adds r0, r2 - ldr r0, [r0] - lsrs r1, 4 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - pop {r0} - bx r0 - .align 2, 0 -_08034774: .4byte gUnknown_8239FD4 - thumb_func_end sub_8034750 - - thumb_func_start nullsub_16 -nullsub_16: @ 8034778 - bx lr - thumb_func_end nullsub_16 - - thumb_func_start sub_803477C -sub_803477C: @ 803477C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - ldr r0, _080347A0 @ =gTrainerFrontPicPaletteTable - lsrs r4, 13 - adds r0, r4, r0 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - ldr r0, _080347A4 @ =gTrainerFrontPicTable - adds r4, r0 - ldrh r0, [r4, 0x6] - bl FreeSpriteTilesByTag - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080347A0: .4byte gTrainerFrontPicPaletteTable -_080347A4: .4byte gTrainerFrontPicTable - thumb_func_end sub_803477C - - thumb_func_start sub_80347A8 -sub_80347A8: @ 80347A8 - push {r4-r7,lr} - ldr r4, _080347D4 @ =gUnknown_8260260 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080347E0 - ldr r0, _080347D8 @ =gUnknown_8260208 - bl LoadCompressedSpriteSheetUsingHeap - ldr r0, _080347DC @ =gUnknown_8260210 - bl LoadCompressedSpriteSheetUsingHeap - movs r5, 0x2 - b _08034802 - .align 2, 0 -_080347D4: .4byte gUnknown_8260260 -_080347D8: .4byte gUnknown_8260208 -_080347DC: .4byte gUnknown_8260210 -_080347E0: - ldr r4, _08034828 @ =gUnknown_8260218 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - ldr r4, _0803482C @ =gUnknown_8260228 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - movs r5, 0x4 -_08034802: - movs r4, 0 - cmp r4, r5 - bcs _08034822 - ldr r7, _08034830 @ =gUnknown_2023BD6 - ldr r6, _08034834 @ =gUnknown_8260240 -_0803480C: - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r6 - bl LoadCompressedSpriteSheetUsingHeap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0803480C -_08034822: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034828: .4byte gUnknown_8260218 -_0803482C: .4byte gUnknown_8260228 -_08034830: .4byte gUnknown_2023BD6 -_08034834: .4byte gUnknown_8260240 - thumb_func_end sub_80347A8 - - thumb_func_start BattleLoadAllHealthBoxesGfx -BattleLoadAllHealthBoxesGfx: @ 8034838 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r6, 0 - cmp r4, 0 - bne _08034848 - b _0803495A -_08034848: - cmp r4, 0x1 - bne _08034864 - ldr r4, _08034860 @ =gUnknown_8260260 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - b _0803495A - .align 2, 0 -_08034860: .4byte gUnknown_8260260 -_08034864: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080348CC - cmp r4, 0x2 - bne _0803489C - ldr r0, _08034888 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08034890 - ldr r0, _0803488C @ =gUnknown_8260238 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034888: .4byte gBattleTypeFlags -_0803488C: .4byte gUnknown_8260238 -_08034890: - ldr r0, _08034898 @ =gUnknown_8260208 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034898: .4byte gUnknown_8260208 -_0803489C: - cmp r4, 0x3 - bne _080348AC - ldr r0, _080348A8 @ =gUnknown_8260210 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348A8: .4byte gUnknown_8260210 -_080348AC: - cmp r4, 0x4 - bne _080348BC - ldr r0, _080348B8 @ =gUnknown_2023BD6 - ldrb r0, [r0] - b _08034944 - .align 2, 0 -_080348B8: .4byte gUnknown_2023BD6 -_080348BC: - cmp r4, 0x5 - bne _08034958 - ldr r0, _080348C8 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x1] - b _08034944 - .align 2, 0 -_080348C8: .4byte gUnknown_2023BD6 -_080348CC: - cmp r4, 0x2 - bne _080348DC - ldr r0, _080348D8 @ =gUnknown_8260218 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348D8: .4byte gUnknown_8260218 -_080348DC: - cmp r4, 0x3 - bne _080348EC - ldr r0, _080348E8 @ =gUnknown_8260220 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348E8: .4byte gUnknown_8260220 -_080348EC: - cmp r4, 0x4 - bne _080348FC - ldr r0, _080348F8 @ =gUnknown_8260228 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348F8: .4byte gUnknown_8260228 -_080348FC: - cmp r4, 0x5 - bne _0803490C - ldr r0, _08034908 @ =gUnknown_8260230 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034908: .4byte gUnknown_8260230 -_0803490C: - cmp r4, 0x6 - bne _0803491C - ldr r0, _08034918 @ =gUnknown_2023BD6 - ldrb r0, [r0] - b _08034944 - .align 2, 0 -_08034918: .4byte gUnknown_2023BD6 -_0803491C: - cmp r4, 0x7 - bne _0803492C - ldr r0, _08034928 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x1] - b _08034944 - .align 2, 0 -_08034928: .4byte gUnknown_2023BD6 -_0803492C: - cmp r4, 0x8 - bne _0803493C - ldr r0, _08034938 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x2] - b _08034944 - .align 2, 0 -_08034938: .4byte gUnknown_2023BD6 -_0803493C: - cmp r5, 0x9 - bne _08034958 - ldr r0, _08034950 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x3] -_08034944: - lsls r0, 3 - ldr r1, _08034954 @ =gUnknown_8260240 - adds r0, r1 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034950: .4byte gUnknown_2023BD6 -_08034954: .4byte gUnknown_8260240 -_08034958: - movs r6, 0x1 -_0803495A: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleLoadAllHealthBoxesGfx - - thumb_func_start LoadBattleBarGfx -LoadBattleBarGfx: @ 8034964 - push {lr} - ldr r0, _0803497C @ =gFile_graphics_interface_hp_numbers - ldr r1, _08034980 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - pop {r0} - bx r0 - .align 2, 0 -_0803497C: .4byte gFile_graphics_interface_hp_numbers -_08034980: .4byte gMonSpritesGfxPtr - thumb_func_end LoadBattleBarGfx - - thumb_func_start BattleInitAllSprites -BattleInitAllSprites: @ 8034984 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r6, 0 - ldrb r0, [r5] - cmp r0, 0x6 - bls _08034994 - b _08034AF2 -_08034994: - lsls r0, 2 - ldr r1, _080349A0 @ =_080349A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080349A0: .4byte _080349A4 - .align 2, 0 -_080349A4: - .4byte _080349C0 - .4byte _080349C6 - .4byte _08034AD0 - .4byte _080349DC - .4byte _08034A0C - .4byte _08034A48 - .4byte _08034AE8 -_080349C0: - bl ClearSpritesBankHealthboxAnimData - b _08034AD0 -_080349C6: - ldrb r0, [r4] - bl BattleLoadAllHealthBoxesGfx - lsls r0, 24 - cmp r0, 0 - beq _080349D4 - b _08034ACC -_080349D4: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08034AF2 -_080349DC: - ldr r0, _080349F4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080349F8 - ldrb r0, [r4] - cmp r0, 0 - bne _080349F8 - bl CreateSafariPlayerHealthboxSprites - b _080349FE - .align 2, 0 -_080349F4: .4byte gBattleTypeFlags -_080349F8: - ldrb r0, [r4] - bl CreateBankHealthboxSprites -_080349FE: - ldr r2, _08034A08 @ =gUnknown_3004FF0 - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - b _08034ABA - .align 2, 0 -_08034A08: .4byte gUnknown_3004FF0 -_08034A0C: - ldrb r0, [r4] - bl SetBankHealthboxSpritePos - ldr r0, _08034A2C @ =gUnknown_2023BD6 - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _08034A34 - ldr r0, _08034A30 @ =gUnknown_3004FF0 - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0 - bl nullsub_21 - b _08034ABA - .align 2, 0 -_08034A2C: .4byte gUnknown_2023BD6 -_08034A30: .4byte gUnknown_3004FF0 -_08034A34: - ldr r0, _08034A44 @ =gUnknown_3004FF0 - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0x1 - bl nullsub_21 - b _08034ABA - .align 2, 0 -_08034A44: .4byte gUnknown_3004FF0 -_08034A48: - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08034A90 - ldr r0, _08034A80 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08034AAE - ldr r0, _08034A84 @ =gUnknown_3004FF0 - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08034A88 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08034A8C @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - b _08034AAE - .align 2, 0 -_08034A80: .4byte gBattleTypeFlags -_08034A84: .4byte gUnknown_3004FF0 -_08034A88: .4byte gBattlerPartyIndexes -_08034A8C: .4byte gPlayerParty -_08034A90: - ldr r0, _08034AD8 @ =gUnknown_3004FF0 - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08034ADC @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08034AE0 @ =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute -_08034AAE: - ldr r1, _08034AD8 @ =gUnknown_3004FF0 - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_08034ABA: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _08034AE4 @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _08034AF2 -_08034ACC: - movs r0, 0 - strb r0, [r4] -_08034AD0: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _08034AF2 - .align 2, 0 -_08034AD8: .4byte gUnknown_3004FF0 -_08034ADC: .4byte gBattlerPartyIndexes -_08034AE0: .4byte gEnemyParty -_08034AE4: .4byte gBattlersCount -_08034AE8: - bl LoadAndCreateEnemyShadowSprites - bl sub_8127CAC - movs r6, 0x1 -_08034AF2: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleInitAllSprites - - thumb_func_start ClearSpritesHealthboxAnimData -ClearSpritesHealthboxAnimData: @ 8034AFC - push {r4,lr} - ldr r4, _08034B20 @ =gUnknown_2024018 - ldr r0, [r4] - ldr r0, [r0, 0x4] - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034B20: .4byte gUnknown_2024018 - thumb_func_end ClearSpritesHealthboxAnimData - - thumb_func_start ClearSpritesBankHealthboxAnimData -ClearSpritesBankHealthboxAnimData: @ 8034B24 - push {lr} - bl ClearSpritesHealthboxAnimData - ldr r0, _08034B3C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r0} - bx r0 - .align 2, 0 -_08034B3C: .4byte gUnknown_2024018 - thumb_func_end ClearSpritesBankHealthboxAnimData - - thumb_func_start CopyAllBattleSpritesInvisibilities -CopyAllBattleSpritesInvisibilities: @ 8034B40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r5, _08034BA4 @ =gBattlersCount - ldrb r0, [r5] - cmp r4, r0 - bge _08034B96 - ldr r0, _08034BA8 @ =gSprites - mov r9, r0 - movs r0, 0x1 - mov r12, r0 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ldr r7, _08034BAC @ =gUnknown_2024018 - ldr r6, _08034BB0 @ =gBattlerSpriteIds -_08034B64: - ldr r0, [r7] - ldr r0, [r0] - lsls r3, r4, 2 - adds r3, r0 - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - mov r0, r12 - ands r1, r0 - ldrb r2, [r3] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _08034B64 -_08034B96: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034BA4: .4byte gBattlersCount -_08034BA8: .4byte gSprites -_08034BAC: .4byte gUnknown_2024018 -_08034BB0: .4byte gBattlerSpriteIds - thumb_func_end CopyAllBattleSpritesInvisibilities - - thumb_func_start CopyBattleSpriteInvisibility -CopyBattleSpriteInvisibility: @ 8034BB4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08034BE8 @ =gUnknown_2024018 - ldr r1, [r1] - ldr r1, [r1] - lsls r3, r0, 2 - adds r3, r1 - ldr r2, _08034BEC @ =gSprites - ldr r1, _08034BF0 @ =gBattlerSpriteIds - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bx lr - .align 2, 0 -_08034BE8: .4byte gUnknown_2024018 -_08034BEC: .4byte gSprites -_08034BF0: .4byte gBattlerSpriteIds - thumb_func_end CopyBattleSpriteInvisibility - - thumb_func_start sub_8034BF4 -sub_8034BF4: @ 8034BF4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0xFF - beq _08034C16 - b _08034D88 -_08034C16: - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08034D58 @ =gBattlerPartyIndexes - mov r1, r9 - lsls r1, 1 - adds r0, r1, r0 - str r0, [sp, 0xC] - ldrh r0, [r0] - movs r2, 0x64 - muls r0, r2 - ldr r3, _08034D5C @ =gEnemyParty - adds r0, r3 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0xC] - ldrh r0, [r1] - movs r2, 0x64 - muls r0, r2 - ldr r3, _08034D5C @ =gEnemyParty - adds r0, r3 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x4] - ldr r1, [sp, 0xC] - ldrh r0, [r1] - movs r2, 0x64 - muls r0, r2 - ldr r3, _08034D5C @ =gEnemyParty - adds r0, r3 - movs r1, 0x1 - bl GetMonData - adds r7, r0, 0 - mov r1, r8 - lsls r0, r1, 3 - ldr r1, _08034D60 @ =gMonFrontPicTable - adds r0, r1 - ldr r4, _08034D64 @ =gMonSpritesGfxPtr - ldr r1, [r4] - mov r2, r10 - lsls r5, r2, 2 - adds r1, 0x4 - adds r1, r5 - ldr r1, [r1] - mov r2, r8 - ldr r3, [sp, 0x4] - bl HandleLoadSpecialPokePic_DontHandleDeoxys - ldr r0, [r4] - adds r0, 0x4 - adds r0, r5 - ldr r2, [r0] - ldr r5, _08034D68 @ =gSprites - ldr r4, _08034D6C @ =gBattlerSpriteIds - add r4, r9 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, _08034D70 @ =0x06010000 - adds r0, r1 - ldr r1, _08034D74 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08034D78 @ =0x84000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r3, r9 - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - adds r1, r7, 0 - ldr r2, [sp, 0x4] - bl GetFrontSpritePalFromSpeciesAndPersonality - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r7, r0, 0 - adds r0, r6, 0 - adds r1, r7, 0 - bl LZDecompressWram - adds r0, r7, 0 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette - adds r0, r7, 0 - bl Free - mov r0, r9 - bl GetBankSpriteDefault_Y - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08034D7C @ =gBattleMonForms - add r1, r9 - ldrb r1, [r1] - bl StartSpriteAnim - ldr r2, [sp, 0xC] - ldrh r0, [r2] - movs r3, 0x64 - muls r0, r3 - ldr r1, _08034D5C @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - mov r2, r8 - muls r2, r1 - ldr r1, _08034D80 @ =gSpeciesNames - adds r2, r1 - movs r1, 0x2 - bl SetMonData - ldr r4, _08034D84 @ =gUnknown_3004FF0 - add r4, r9 - ldrb r0, [r4] - ldr r2, [sp, 0xC] - ldrh r1, [r2] - movs r3, 0x64 - muls r1, r3 - ldr r2, _08034D5C @ =gEnemyParty - adds r1, r2 - bl sub_80496C0 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_804981C - b _08035062 - .align 2, 0 -_08034D58: .4byte gBattlerPartyIndexes -_08034D5C: .4byte gEnemyParty -_08034D60: .4byte gMonFrontPicTable -_08034D64: .4byte gMonSpritesGfxPtr -_08034D68: .4byte gSprites -_08034D6C: .4byte gBattlerSpriteIds -_08034D70: .4byte 0x06010000 -_08034D74: .4byte 0x040000d4 -_08034D78: .4byte 0x84000200 -_08034D7C: .4byte gBattleMonForms -_08034D80: .4byte gSpeciesNames -_08034D84: .4byte gUnknown_3004FF0 -_08034D88: - cmp r2, 0 - beq _08034E4C - ldr r0, _08034E28 @ =gBattlerSpriteIds - mov r3, r9 - adds r5, r3, r0 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _08034E2C @ =gSprites - adds r0, r6 - ldr r4, _08034E30 @ =gUnknown_2024018 - ldr r1, [r4] - ldr r1, [r1, 0x8] - ldrb r1, [r1] - bl StartSpriteAnim - mov r1, r9 - lsls r0, r1, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - mov r10, r0 - ldr r2, _08034E34 @ =gBattleStruct - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r1, [r0] - lsls r1, 5 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3 - ldr r0, [r2] - adds r0, r1 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08034E38 @ =gBattleMonForms - add r1, r9 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r0, [r0] - strb r0, [r1] - ldr r0, [r4] - ldr r1, [r0] - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034E0E - ldr r3, _08034E3C @ =0x00007fff - mov r0, r10 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - mov r3, r10 - lsls r1, r3, 1 - ldr r0, _08034E40 @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _08034E44 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _08034E48 @ =0x04000008 - bl CpuSet -_08034E0E: - mov r0, r9 - bl GetBankSpriteDefault_Y - ldrb r2, [r5] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - b _08035062 - .align 2, 0 -_08034E28: .4byte gBattlerSpriteIds -_08034E2C: .4byte gSprites -_08034E30: .4byte gUnknown_2024018 -_08034E34: .4byte gBattleStruct -_08034E38: .4byte gBattleMonForms -_08034E3C: .4byte 0x00007fff -_08034E40: .4byte gPlttBufferFaded -_08034E44: .4byte gPlttBufferUnfaded -_08034E48: .4byte 0x04000008 -_08034E4C: - mov r0, r9 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, [sp] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08034E80 - ldr r1, _08034E78 @ =gBattlerPartyIndexes - ldr r2, [sp] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08034E7C @ =gEnemyParty - b _08034E90 - .align 2, 0 -_08034E78: .4byte gBattlerPartyIndexes -_08034E7C: .4byte gEnemyParty -_08034E80: - ldr r1, _08034EFC @ =gBattlerPartyIndexes - ldr r3, [sp] - lsls r0, r3, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08034F00 @ =gPlayerParty -_08034E90: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r0, r9 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08034F10 - ldr r0, _08034EFC @ =gBattlerPartyIndexes - mov r1, r9 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r7, 0x64 - muls r0, r7 - ldr r5, _08034F00 @ =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r4] - muls r0, r7 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r7, r0, 0 - mov r2, r8 - lsls r0, r2, 3 - ldr r1, _08034F04 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08034F08 @ =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r5, r3, 2 - adds r1, 0x4 - adds r1, r5 - ldr r1, [r1] - ldr r2, _08034F0C @ =gUnknown_2024008 - mov r3, r9 - lsls r4, r3, 2 - adds r2, r4, r2 - ldr r3, [r2] - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _08034F5E - .align 2, 0 -_08034EFC: .4byte gBattlerPartyIndexes -_08034F00: .4byte gPlayerParty -_08034F04: .4byte gMonBackPicTable -_08034F08: .4byte gMonSpritesGfxPtr -_08034F0C: .4byte gUnknown_2024008 -_08034F10: - ldr r0, _08035074 @ =gBattlerPartyIndexes - mov r1, r9 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r7, 0x64 - muls r0, r7 - ldr r5, _08035078 @ =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r4] - muls r0, r7 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r7, r0, 0 - mov r2, r8 - lsls r0, r2, 3 - ldr r1, _0803507C @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _08035080 @ =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r5, r3, 2 - adds r1, 0x4 - adds r1, r5 - ldr r1, [r1] - ldr r2, _08035084 @ =gUnknown_2024008 - mov r3, r9 - lsls r4, r3, 2 - adds r2, r4, r2 - ldr r3, [r2] - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_08034F5E: - str r4, [sp, 0x14] - ldr r0, _08035080 @ =gMonSpritesGfxPtr - ldr r0, [r0] - adds r0, 0x4 - adds r0, r5 - ldr r2, [r0] - ldr r0, _08035088 @ =gBattlerSpriteIds - add r0, r9 - str r0, [sp, 0x10] - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803508C @ =gSprites - adds r0, r1 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, _08035090 @ =0x06010000 - adds r0, r1 - ldr r1, _08035094 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08035098 @ =0x84000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r2, r9 - lsls r0, r2, 20 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - adds r1, r7, 0 - ldr r2, [sp, 0x4] - bl GetFrontSpritePalFromSpeciesAndPersonality - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r7, r0, 0 - adds r0, r6, 0 - adds r1, r7, 0 - bl LZDecompressWram - adds r0, r7, 0 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette - adds r0, r7, 0 - bl Free - ldr r0, _0803509C @ =0x00000181 - cmp r8, r0 - bne _08034FFC - ldr r5, _080350A0 @ =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, _080350A4 @ =gBattleMonForms - ldr r1, [sp] - adds r0, r1, r0 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette -_08034FFC: - ldr r3, _080350A8 @ =0x00007fff - mov r0, r10 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - mov r2, r10 - lsls r1, r2, 1 - ldr r0, _080350AC @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _080350B0 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _080350B4 @ =0x04000008 - bl CpuSet - ldr r0, _080350B8 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - ldr r3, [sp, 0x14] - adds r0, r3, r0 - mov r1, r8 - strh r1, [r0, 0x2] - ldr r0, _080350A4 @ =gBattleMonForms - mov r2, r9 - adds r4, r2, r0 - ldr r3, [sp] - adds r0, r3, r0 - ldrb r0, [r0] - strb r0, [r4] - mov r0, r9 - bl GetBankSpriteDefault_Y - ldr r1, [sp, 0x10] - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _0803508C @ =gSprites - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - ldr r3, [sp, 0x10] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r4] - bl StartSpriteAnim -_08035062: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035074: .4byte gBattlerPartyIndexes -_08035078: .4byte gEnemyParty -_0803507C: .4byte gMonFrontPicTable -_08035080: .4byte gMonSpritesGfxPtr -_08035084: .4byte gUnknown_2024008 -_08035088: .4byte gBattlerSpriteIds -_0803508C: .4byte gSprites -_08035090: .4byte 0x06010000 -_08035094: .4byte 0x040000d4 -_08035098: .4byte 0x84000200 -_0803509C: .4byte 0x00000181 -_080350A0: .4byte gBattleStruct -_080350A4: .4byte gBattleMonForms -_080350A8: .4byte 0x00007fff -_080350AC: .4byte gPlttBufferFaded -_080350B0: .4byte gPlttBufferUnfaded -_080350B4: .4byte 0x04000008 -_080350B8: .4byte gUnknown_2024018 - thumb_func_end sub_8034BF4 - - thumb_func_start sub_80350BC -sub_80350BC: @ 80350BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r1, 24 - cmp r1, 0 - bne _08035158 - adds r0, r4, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080350FC - ldr r0, _080350F4 @ =gFile_graphics_battle_anims_sprites_substitute_sheet - ldr r1, _080350F8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, r5, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram - b _0803510E - .align 2, 0 -_080350F4: .4byte gFile_graphics_battle_anims_sprites_substitute_sheet -_080350F8: .4byte gMonSpritesGfxPtr -_080350FC: - ldr r0, _08035144 @ =gFile_graphics_battle_anims_sprites_substitute_tilemap - ldr r1, _08035148 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, r5, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram -_0803510E: - movs r3, 0x1 - lsls r6, 4 - ldr r7, _0803514C @ =gFile_graphics_battle_anims_sprites_substitute_palette - ldr r0, _08035148 @ =gMonSpritesGfxPtr - ldr r0, [r0] - adds r0, 0x4 - adds r4, r0, r4 - ldr r2, _08035150 @ =0x040000d4 - ldr r5, _08035154 @ =0x84000200 -_08035120: - ldr r0, [r4] - lsls r1, r3, 11 - adds r1, r0, r1 - str r0, [r2] - str r1, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r3, 0x1 - cmp r3, 0x3 - ble _08035120 - movs r0, 0x80 - lsls r0, 1 - adds r1, r6, r0 - adds r0, r7, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _0803519A - .align 2, 0 -_08035144: .4byte gFile_graphics_battle_anims_sprites_substitute_tilemap -_08035148: .4byte gMonSpritesGfxPtr -_0803514C: .4byte gFile_graphics_battle_anims_sprites_substitute_palette -_08035150: .4byte 0x040000d4 -_08035154: .4byte 0x84000200 -_08035158: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08035184 - ldr r1, _0803517C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08035180 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadOpponentMonSpriteGfx - b _0803519A - .align 2, 0 -_0803517C: .4byte gBattlerPartyIndexes -_08035180: .4byte gEnemyParty -_08035184: - ldr r1, _080351A0 @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080351A4 @ =gPlayerParty - adds r0, r1 - adds r1, r6, 0 - bl sub_8034498 -_0803519A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080351A0: .4byte gBattlerPartyIndexes -_080351A4: .4byte gPlayerParty - thumb_func_end sub_80350BC - - thumb_func_start LoadBattleMonGfxAndAnimate -LoadBattleMonGfxAndAnimate: @ 80351A8 - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80350BC - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _080351E4 @ =gSprites - adds r4, r0, r1 - ldr r0, _080351E8 @ =gBattleMonForms - adds r0, r6, r0 - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - bne _080351EC - adds r0, r6, 0 - bl GetSubstituteSpriteDefault_Y - b _080351F2 - .align 2, 0 -_080351E4: .4byte gSprites -_080351E8: .4byte gBattleMonForms -_080351EC: - adds r0, r6, 0 - bl GetBankSpriteDefault_Y -_080351F2: - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end LoadBattleMonGfxAndAnimate - - thumb_func_start TrySetBehindSubstituteSpriteBit -TrySetBehindSubstituteSpriteBit: @ 8035200 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xA4 - bne _08035220 - ldr r0, _08035224 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_08035220: - pop {r0} - bx r0 - .align 2, 0 -_08035224: .4byte gUnknown_2024018 - thumb_func_end TrySetBehindSubstituteSpriteBit - - thumb_func_start ClearBehindSubstituteBit -ClearBehindSubstituteBit: @ 8035228 - lsls r0, 24 - ldr r1, _08035240 @ =gUnknown_2024018 - ldr r1, [r1] - ldr r1, [r1] - lsrs r0, 22 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_08035240: .4byte gUnknown_2024018 - thumb_func_end ClearBehindSubstituteBit - - thumb_func_start HandleLowHpMusicChange -HandleLowHpMusicChange: @ 8035244 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - adds r7, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080352BC - ldr r7, _080352B8 @ =gUnknown_2024018 - ldr r0, [r7] - ldr r2, [r0] - lsls r4, r6, 2 - adds r0, r4, r2 - ldrb r1, [r0] - movs r5, 0x2 - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0803530E - adds r0, r6, 0 - eors r0, r5 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080352AA - movs r0, 0x53 - bl PlaySE -_080352AA: - ldr r0, [r7] - ldr r1, [r0] - adds r1, r4, r1 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - b _0803530E - .align 2, 0 -_080352B8: .4byte gUnknown_2024018 -_080352BC: - ldr r4, _080352E4 @ =gUnknown_2024018 - ldr r0, [r4] - ldr r0, [r0] - lsls r1, r6, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080352E8 - movs r0, 0x53 - bl m4aSongNumStop - b _0803530E - .align 2, 0 -_080352E4: .4byte gUnknown_2024018 -_080352E8: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _0803530E - ldr r1, [r4] - movs r0, 0x2 - eors r7, r0 - ldr r1, [r1] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0803530E - movs r0, 0x53 - bl m4aSongNumStop -_0803530E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end HandleLowHpMusicChange - - thumb_func_start BattleStopLowHpSound -BattleStopLowHpSound: @ 8035314 - push {r4-r6,lr} - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _08035364 @ =gUnknown_2024018 - ldr r0, [r5] - ldr r0, [r0] - lsls r1, r4, 2 - adds r1, r0 - ldrb r2, [r1] - movs r6, 0x3 - negs r6, r6 - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _08035356 - ldr r2, [r5] - movs r0, 0x2 - adds r1, r4, 0 - eors r1, r0 - ldr r0, [r2] - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_08035356: - movs r0, 0x53 - bl m4aSongNumStop - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035364: .4byte gUnknown_2024018 - thumb_func_end BattleStopLowHpSound - - thumb_func_start GetMonHPBarLevel -GetMonHPBarLevel: @ 8035368 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetMonHPBarLevel - - thumb_func_start sub_803539C -sub_803539C: @ 803539C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08035440 @ =gMain - ldr r1, _08035444 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08035432 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r5, _08035448 @ =gBattlerPartyIndexes - mov r1, r8 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r9 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0x64 - adds r0, r4, 0 - muls r0, r7 - ldr r6, _0803544C @ =gPlayerParty - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0803540E - adds r0, r4, 0 - mov r1, r8 - bl HandleLowHpMusicChange -_0803540E: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _08035432 - adds r0, r5, 0 - muls r0, r7 - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08035432 - adds r0, r4, 0 - mov r1, r9 - bl HandleLowHpMusicChange -_08035432: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035440: .4byte gMain -_08035444: .4byte 0x00000439 -_08035448: .4byte gBattlerPartyIndexes -_0803544C: .4byte gPlayerParty - thumb_func_end sub_803539C - - thumb_func_start sub_8035450 -sub_8035450: @ 8035450 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, _080354E0 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _08035520 - movs r0, 0x3 - mov r10, r8 - mov r1, r10 - ands r1, r0 - mov r10, r1 - movs r6, 0 - movs r2, 0x3F - negs r2, r2 - mov r9, r2 -_0803547C: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_8075224 - lsls r0, 24 - cmp r0, 0 - beq _08035514 - ldr r4, _080354E4 @ =gSprites - ldr r0, _080354E8 @ =gBattlerSpriteIds - adds r3, r5, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r7, 0x4 - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - mov r2, r10 - orrs r1, r2 - strb r1, [r0, 0x1] - mov r7, r8 - cmp r7, 0 - bne _080354F0 - ldr r0, _080354EC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r2, [r0, 0x4] - adds r2, r6, r2 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r2, 0x6] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x3] - mov r2, r9 - ands r1, r2 - strb r1, [r0, 0x3] - b _08035514 - .align 2, 0 -_080354E0: .4byte gBattlersCount -_080354E4: .4byte gSprites -_080354E8: .4byte gBattlerSpriteIds -_080354EC: .4byte gUnknown_2024018 -_080354F0: - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, _08035530 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r0, [r2, 0x3] - mov r3, r9 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x3] -_08035514: - adds r6, 0xC - adds r5, 0x1 - ldr r0, _08035534 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0803547C -_08035520: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035530: .4byte gUnknown_2024018 -_08035534: .4byte gBattlersCount - thumb_func_end sub_8035450 - - thumb_func_start LoadAndCreateEnemyShadowSprites -LoadAndCreateEnemyShadowSprites: @ 8035538 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08035614 @ =gUnknown_8250A0C - bl LoadCompressedSpriteSheetUsingHeap - movs r0, 0x1 - bl GetBattlerAtPosition - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08035618 @ =gUnknown_8250A1C - mov r8, r0 - adds r0, r5, 0 - movs r1, 0 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8074480 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r6, _0803561C @ =gUnknown_2024018 - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r7, _08035620 @ =gSprites - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _0803560A - movs r0, 0x3 - bl GetBattlerAtPosition - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8074480 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] -_0803560A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035614: .4byte gUnknown_8250A0C -_08035618: .4byte gUnknown_8250A1C -_0803561C: .4byte gUnknown_2024018 -_08035620: .4byte gSprites - thumb_func_end LoadAndCreateEnemyShadowSprites - - thumb_func_start SpriteCB_EnemyShadow -SpriteCB_EnemyShadow: @ 8035624 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08035668 @ =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803566C @ =gSprites - adds r7, r0, r1 - adds r6, r7, 0 - adds r6, 0x3E - ldrb r1, [r6] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035660 - adds r0, r4, 0 - bl sub_8075224 - lsls r0, 24 - cmp r0, 0 - bne _08035674 -_08035660: - ldr r0, _08035670 @ =SpriteCB_SetInvisible - str r0, [r5, 0x1C] - b _080356EA - .align 2, 0 -_08035668: .4byte gBattlerSpriteIds -_0803566C: .4byte gSprites -_08035670: .4byte SpriteCB_SetInvisible -_08035674: - ldr r0, _08035690 @ =gUnknown_2037EE1 - ldrb r0, [r0] - cmp r0, 0 - bne _08035686 - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08035698 -_08035686: - movs r0, 0x1 - mov r8, r0 - ldr r2, _08035694 @ =gUnknown_2024018 - lsls r4, 2 - b _080356BA - .align 2, 0 -_08035690: .4byte gUnknown_2037EE1 -_08035694: .4byte gUnknown_2024018 -_08035698: - ldr r2, _080356F4 @ =gUnknown_2024018 - ldr r0, [r2] - ldr r0, [r0] - lsls r1, r4, 2 - adds r3, r1, r0 - ldrh r0, [r3, 0x2] - adds r4, r1, 0 - cmp r0, 0 - beq _080356BA - ldr r0, _080356F8 @ =gUnknown_823A004 - ldrh r1, [r3, 0x2] - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _080356BA - movs r0, 0x1 - mov r8, r0 -_080356BA: - ldr r0, [r2] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080356CE - movs r0, 0x1 - mov r8, r0 -_080356CE: - ldrh r0, [r7, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r7, 0x24] - strh r0, [r5, 0x24] - adds r2, r5, 0 - adds r2, 0x3E - mov r0, r8 - lsls r3, r0, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_080356EA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080356F4: .4byte gUnknown_2024018 -_080356F8: .4byte gUnknown_823A004 - thumb_func_end SpriteCB_EnemyShadow - - thumb_func_start SpriteCB_SetInvisible -SpriteCB_SetInvisible: @ 80356FC - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - bx lr - thumb_func_end SpriteCB_SetInvisible - - thumb_func_start SetBankEnemyShadowSpriteCallback -SetBankEnemyShadowSpriteCallback: @ 8035708 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08035784 - ldr r0, _08035758 @ =gUnknown_2024018 - ldr r3, [r0] - ldr r1, [r3] - lsls r0, r4, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _08035732 - adds r5, r0, 0 -_08035732: - ldr r0, _0803575C @ =gUnknown_823A004 - adds r0, r5, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _08035768 - ldr r2, _08035760 @ =gSprites - ldr r1, [r3, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08035764 @ =SpriteCB_EnemyShadow - b _08035782 - .align 2, 0 -_08035758: .4byte gUnknown_2024018 -_0803575C: .4byte gUnknown_823A004 -_08035760: .4byte gSprites -_08035764: .4byte SpriteCB_EnemyShadow -_08035768: - ldr r2, _0803578C @ =gSprites - ldr r1, [r3, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08035790 @ =SpriteCB_SetInvisible -_08035782: - str r1, [r0] -_08035784: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803578C: .4byte gSprites -_08035790: .4byte SpriteCB_SetInvisible - thumb_func_end SetBankEnemyShadowSpriteCallback - - thumb_func_start EnemyShadowCallbackToSetInvisible -EnemyShadowCallbackToSetInvisible: @ 8035794 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080357BC @ =gSprites - ldr r1, _080357C0 @ =gUnknown_2024018 - ldr r1, [r1] - ldr r3, [r1, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080357C4 @ =SpriteCB_SetInvisible - str r1, [r0] - bx lr - .align 2, 0 -_080357BC: .4byte gSprites -_080357C0: .4byte gUnknown_2024018 -_080357C4: .4byte SpriteCB_SetInvisible - thumb_func_end EnemyShadowCallbackToSetInvisible - - thumb_func_start sub_80357C8 -sub_80357C8: @ 80357C8 - push {r4-r7,lr} - ldr r2, _08035894 @ =0x06000240 - movs r7, 0xF0 - lsls r7, 8 - movs r5, 0x8 -_080357D2: - movs r4, 0xF -_080357D4: - ldrh r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080357E4 - adds r0, r7, 0 - orrs r0, r1 - strh r0, [r2] -_080357E4: - ldrh r1, [r2] - movs r6, 0xF0 - lsls r6, 4 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _080357F8 - adds r0, r6, 0 - orrs r0, r1 - strh r0, [r2] -_080357F8: - ldrh r1, [r2] - movs r3, 0xF0 - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _0803580A - adds r0, r1, 0 - orrs r0, r3 - strh r0, [r2] -_0803580A: - ldrh r1, [r2] - movs r3, 0xF - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0803581C - adds r0, r1, 0 - orrs r0, r3 - strh r0, [r2] -_0803581C: - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080357D4 - subs r5, 0x1 - cmp r5, 0 - bge _080357D2 - ldr r2, _08035898 @ =0x06000600 - movs r5, 0 - movs r7, 0xF0 - lsls r7, 8 -_08035832: - adds r3, r5, 0x1 - movs r4, 0xF -_08035836: - ldrh r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _0803584A - movs r5, 0xC0 - lsls r5, 7 - adds r0, r5, 0 - orrs r0, r1 - strh r0, [r2] -_0803584A: - ldrh r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0803585E - movs r5, 0xC0 - lsls r5, 3 - adds r0, r5, 0 - orrs r0, r1 - strh r0, [r2] -_0803585E: - ldrh r1, [r2] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _0803586E - movs r0, 0x60 - orrs r0, r1 - strh r0, [r2] -_0803586E: - ldrh r1, [r2] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0803587E - movs r0, 0x6 - orrs r0, r1 - strh r0, [r2] -_0803587E: - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08035836 - adds r5, r3, 0 - cmp r5, 0x11 - ble _08035832 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035894: .4byte 0x06000240 -_08035898: .4byte 0x06000600 - thumb_func_end sub_80357C8 - - thumb_func_start ClearTemporarySpeciesSpriteData -ClearTemporarySpeciesSpriteData: @ 803589C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - ldr r0, _080358CC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r2, [r0] - lsls r0, r4, 2 - adds r0, r2 - movs r3, 0 - movs r2, 0 - strh r2, [r0, 0x2] - ldr r0, _080358D0 @ =gBattleMonForms - adds r0, r4, r0 - strb r3, [r0] - cmp r1, 0 - bne _080358C4 - adds r0, r4, 0 - bl ClearBehindSubstituteBit -_080358C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080358CC: .4byte gUnknown_2024018 -_080358D0: .4byte gBattleMonForms - thumb_func_end ClearTemporarySpeciesSpriteData - - thumb_func_start AllocateMonSpritesGfx -AllocateMonSpritesGfx: @ 80358D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r4, _080359A4 @ =gMonSpritesGfxPtr - str r6, [r4] - movs r0, 0xC0 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - movs r0, 0x80 - lsls r0, 8 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] -_080358FA: - ldr r0, _080359A4 @ =gMonSpritesGfxPtr - ldr r1, [r0] - lsls r4, r6, 2 - adds r2, r1, 0x4 - adds r2, r4 - lsls r3, r6, 13 - ldr r0, [r1] - adds r0, r3 - str r0, [r2] - lsls r3, r6, 1 - adds r0, r3, r6 - lsls r0, 3 - adds r1, r0, r1 - ldr r2, _080359A8 @ =gUnknown_825DEF0 - adds r1, 0x14 - adds r0, r2 - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - movs r5, 0 - mov r9, r3 - lsls r0, r6, 5 - mov r8, r0 - adds r1, r6, 0x1 - mov r10, r1 - mov r12, r8 - adds r7, r4, 0 -_08035932: - ldr r2, _080359A4 @ =gMonSpritesGfxPtr - ldr r1, [r2] - lsls r4, r5, 3 - add r4, r12 - adds r3, r1, 0 - adds r3, 0x74 - adds r3, r4 - adds r0, r1, 0x4 - adds r0, r7 - lsls r2, r5, 11 - ldr r0, [r0] - adds r0, r2 - str r0, [r3] - adds r1, r4 - adds r1, 0x78 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08035932 - ldr r1, _080359A4 @ =gMonSpritesGfxPtr - ldr r2, [r1] - mov r5, r9 - adds r0, r5, r6 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x20 - adds r1, r0 - mov r0, r8 - adds r0, 0x74 - adds r2, r0 - str r2, [r1] - mov r7, r10 - lsls r0, r7, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _080358FA - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - ldr r1, _080359A4 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080359A4: .4byte gMonSpritesGfxPtr -_080359A8: .4byte gUnknown_825DEF0 - thumb_func_end AllocateMonSpritesGfx - - thumb_func_start FreeMonSpritesGfx -FreeMonSpritesGfx: @ 80359AC - push {r4-r6,lr} - ldr r6, _08035A24 @ =gMonSpritesGfxPtr - ldr r0, [r6] - cmp r0, 0 - beq _08035A1E - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080359D2 - bl Free - ldr r0, [r6] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080359D2: - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080359F0 - bl Free - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080359F0: - ldr r0, [r6] - movs r5, 0xBA - lsls r5, 1 - adds r0, r5 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r5, r0, r5 - movs r4, 0 - str r4, [r5] - ldr r0, [r0] - bl Free - ldr r0, [r6] - str r4, [r0] - str r4, [r0, 0x4] - str r4, [r0, 0x8] - str r4, [r0, 0xC] - str r4, [r0, 0x10] - bl Free - str r4, [r6] -_08035A1E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035A24: .4byte gMonSpritesGfxPtr - thumb_func_end FreeMonSpritesGfx - - thumb_func_start ShouldPlayNormalPokeCry -ShouldPlayNormalPokeCry: @ 8035A28 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x37 - bl GetMonData - ldr r1, _08035A6C @ =0x00000fff - ands r1, r0 - cmp r1, 0 - bne _08035A70 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - ble _08035A70 - movs r0, 0x1 - b _08035A72 - .align 2, 0 -_08035A6C: .4byte 0x00000fff -_08035A70: - movs r0, 0 -_08035A72: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ShouldPlayNormalPokeCry - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 959e4e19d..8f6361bb4 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -255,8 +255,8 @@ sub_8047CAC: @ 8047CAC bx r0 thumb_func_end sub_8047CAC - thumb_func_start CreateBankHealthboxSprites -CreateBankHealthboxSprites: @ 8047CE0 + thumb_func_start CreateBattlerHealthboxSprites +CreateBattlerHealthboxSprites: @ 8047CE0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -268,7 +268,7 @@ CreateBankHealthboxSprites: @ 8047CE0 mov r10, r0 movs r0, 0 str r0, [sp] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08047DF4 @@ -522,7 +522,7 @@ _08047E98: _08047F1A: str r0, [sp] _08047F1C: - ldr r0, _08047FF4 @ =gUnknown_2023BD6 + ldr r0, _08047FF4 @ =gBattlerPositions add r0, r10 ldrb r1, [r0] lsls r0, r1, 1 @@ -621,12 +621,12 @@ _08047FE4: .4byte gSprites _08047FE8: .4byte 0x000003ff _08047FEC: .4byte 0xfffffc00 _08047FF0: .4byte sub_8048128 -_08047FF4: .4byte gUnknown_2023BD6 +_08047FF4: .4byte gBattlerPositions _08047FF8: .4byte gUnknown_82602F8 _08047FFC: .4byte gUnknown_82603C4 _08048000: .4byte 0x06010000 _08048004: .4byte 0x04000010 - thumb_func_end CreateBankHealthboxSprites + thumb_func_end CreateBattlerHealthboxSprites thumb_func_start CreateSafariPlayerHealthboxSprites CreateSafariPlayerHealthboxSprites: @ 8048008 @@ -808,7 +808,7 @@ SetBattleBarStruct: @ 8048150 ldr r7, [sp, 0x14] lsls r0, 24 lsrs r0, 24 - ldr r6, _08048180 @ =gUnknown_2024018 + ldr r6, _08048180 @ =gBattleSpritesDataPtr ldr r4, [r6] ldr r5, [r4, 0xC] lsls r4, r0, 2 @@ -828,7 +828,7 @@ SetBattleBarStruct: @ 8048150 pop {r0} bx r0 .align 2, 0 -_08048180: .4byte gUnknown_2024018 +_08048180: .4byte gBattleSpritesDataPtr _08048184: .4byte 0xffff8000 thumb_func_end SetBattleBarStruct @@ -970,10 +970,10 @@ DestoryHealthboxSprite: @ 8048248 _08048284: .4byte gSprites thumb_func_end DestoryHealthboxSprite - thumb_func_start nullsub_21 -nullsub_21: @ 8048288 + thumb_func_start DummyBattleInterfaceFunc +DummyBattleInterfaceFunc: @ 8048288 bx lr - thumb_func_end nullsub_21 + thumb_func_end DummyBattleInterfaceFunc thumb_func_start UpdateOamPriorityInAllHealthboxes UpdateOamPriorityInAllHealthboxes: @ 804828C @@ -996,7 +996,7 @@ UpdateOamPriorityInAllHealthboxes: @ 804828C lsls r5, r0, 2 movs r7, 0xD negs r7, r7 - ldr r2, _08048318 @ =gUnknown_3004FF0 + ldr r2, _08048318 @ =gHealthboxSpriteIds mov r9, r2 _080482B6: mov r1, r9 @@ -1048,17 +1048,17 @@ _08048304: .align 2, 0 _08048310: .4byte gBattlersCount _08048314: .4byte gSprites -_08048318: .4byte gUnknown_3004FF0 +_08048318: .4byte gHealthboxSpriteIds thumb_func_end UpdateOamPriorityInAllHealthboxes - thumb_func_start SetBankHealthboxSpritePos -SetBankHealthboxSpritePos: @ 804831C + thumb_func_start InitBattlerHealthboxCoords +InitBattlerHealthboxCoords: @ 804831C push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 movs r4, 0 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08048348 @@ -1108,7 +1108,7 @@ _0804837C: movs r5, 0x20 movs r4, 0x2C _08048380: - ldr r0, _08048394 @ =gUnknown_3004FF0 + ldr r0, _08048394 @ =gHealthboxSpriteIds adds r0, r6, r0 ldrb r0, [r0] adds r1, r5, 0 @@ -1118,8 +1118,8 @@ _08048380: pop {r0} bx r0 .align 2, 0 -_08048394: .4byte gUnknown_3004FF0 - thumb_func_end SetBankHealthboxSpritePos +_08048394: .4byte gHealthboxSpriteIds + thumb_func_end InitBattlerHealthboxCoords thumb_func_start UpdateLvlInHealthbox UpdateLvlInHealthbox: @ 8048398 @@ -1169,7 +1169,7 @@ UpdateLvlInHealthbox: @ 8048398 lsls r0, 24 cmp r0, 0 bne _08048420 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 ldr r2, _08048418 @ =0x06010420 adds r1, r4, r2 @@ -1230,7 +1230,7 @@ sub_8048440: @ 8048440 lsls r0, 24 cmp r0, 0 bne _08048514 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08048514 @@ -1315,7 +1315,7 @@ _08048514: ldrh r0, [r7, 0x3A] lsls r0, 24 lsrs r6, r0, 24 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1457,7 +1457,7 @@ sub_8048618: @ 8048618 lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r0, _08048700 @ =gUnknown_2024018 + ldr r0, _08048700 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] mov r3, r10 @@ -1541,7 +1541,7 @@ _080486C6: .align 2, 0 _080486F8: .4byte gUnknown_8260542 _080486FC: .4byte gSprites -_08048700: .4byte gUnknown_2024018 +_08048700: .4byte gBattleSpritesDataPtr _08048704: .4byte gUnknown_8260540 _08048708: .4byte gMonSpritesGfxPtr _0804870C: .4byte 0x06010000 @@ -1966,7 +1966,7 @@ _08048A66: ldr r2, _08048B80 @ =gBattlerPartyIndexes mov r8, r2 _08048A6E: - ldr r0, _08048B84 @ =gUnknown_3004FF0 + ldr r0, _08048B84 @ =gHealthboxSpriteIds mov r1, r9 adds r6, r1, r0 ldrb r1, [r6] @@ -1993,7 +1993,7 @@ _08048A8C: bne _08048AA2 b _08048CE0 _08048AA2: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08048ABA @@ -2004,7 +2004,7 @@ _08048AA2: bne _08048ABA b _08048CE0 _08048ABA: - ldr r5, _08048B8C @ =gUnknown_2024018 + ldr r5, _08048B8C @ =gBattleSpritesDataPtr ldr r0, [r5] ldr r3, [r0] mov r0, r9 @@ -2036,7 +2036,7 @@ _08048ABA: lsls r0, 24 cmp r0, 0 bne _08048BE8 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08048B08 @@ -2099,9 +2099,9 @@ _08048B16: _08048B78: .4byte gBattlersCount _08048B7C: .4byte gSprites _08048B80: .4byte gBattlerPartyIndexes -_08048B84: .4byte gUnknown_3004FF0 +_08048B84: .4byte gHealthboxSpriteIds _08048B88: .4byte SpriteCallbackDummy -_08048B8C: .4byte gUnknown_2024018 +_08048B8C: .4byte gBattleSpritesDataPtr _08048B90: .4byte gBattleTypeFlags _08048B94: .4byte 0x06010000 _08048B98: .4byte 0x05000040 @@ -2242,7 +2242,7 @@ _08048C94: movs r2, 0x4 bl UpdateHealthboxAttribute _08048CCA: - ldr r0, _08048D0C @ =gUnknown_3004FF0 + ldr r0, _08048D0C @ =gHealthboxSpriteIds add r0, r9 ldrb r1, [r0] lsls r0, r1, 4 @@ -2275,7 +2275,7 @@ _08048CF2: .align 2, 0 _08048D04: .4byte gEnemyParty _08048D08: .4byte gBattleTypeFlags -_08048D0C: .4byte gUnknown_3004FF0 +_08048D0C: .4byte gHealthboxSpriteIds _08048D10: .4byte gBattlersCount thumb_func_end sub_8048A4C @@ -2323,7 +2323,7 @@ _08048D64: movs r7, 0x1 cmp r4, 0 beq _08048D74 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08048D7A @@ -3668,7 +3668,7 @@ _08049782: adds r1, r6, 0 movs r2, 0x6 bl sub_804A6E8 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 ldr r2, _080497F0 @ =0x06010400 adds r5, r4, r2 @@ -3877,7 +3877,7 @@ UpdateStatusIconInHealthbox: @ 8049934 movs r1, 0x37 bl GetMonData adds r4, r0, 0 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 movs r3, 0x12 mov r8, r3 @@ -4009,7 +4009,7 @@ _08049A7E: adds r4, 0x1 cmp r4, 0x2 ble _08049A7E - ldr r0, _08049AEC @ =gUnknown_2024018 + ldr r0, _08049AEC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] adds r0, r7, r0 @@ -4042,7 +4042,7 @@ _08049AD4: _08049AE0: .4byte gSprites _08049AE4: .4byte 0x06010000 _08049AE8: .4byte 0x04000008 -_08049AEC: .4byte gUnknown_2024018 +_08049AEC: .4byte gBattleSpritesDataPtr _08049AF0: .4byte 0x04000010 _08049AF4: mov r1, r9 @@ -4084,7 +4084,7 @@ _08049AF4: ldr r2, _08049BD8 @ =0x04000018 adds r0, r6, 0 bl CpuSet - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4096,7 +4096,7 @@ _08049AF4: cmp r0, 0x1 bne _08049BAE _08049B62: - ldr r0, _08049BDC @ =gUnknown_2024018 + ldr r0, _08049BDC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r7, 2 @@ -4149,7 +4149,7 @@ _08049BCC: .4byte gPlttBufferUnfaded + 0x200 _08049BD0: .4byte 0x05000200 _08049BD4: .4byte 0x06010000 _08049BD8: .4byte 0x04000018 -_08049BDC: .4byte gUnknown_2024018 +_08049BDC: .4byte gBattleSpritesDataPtr _08049BE0: .4byte 0x04000008 thumb_func_end UpdateStatusIconInHealthbox @@ -4381,7 +4381,7 @@ UpdateHealthboxAttribute: @ 8049D98 mov r9, r0 cmp r7, 0 bne _08049DD4 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08049DD4 @@ -4470,7 +4470,7 @@ _08049E4C: movs r3, 0 bl sub_8049FD8 _08049E80: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -4652,7 +4652,7 @@ sub_8049FD8: @ 8049FD8 mov r9, r2 cmp r2, 0 bne _0804A024 - ldr r0, _0804A020 @ =gUnknown_2024018 + ldr r0, _0804A020 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0xC] mov r1, r8 @@ -4673,9 +4673,9 @@ sub_8049FD8: @ 8049FD8 adds r7, r5, 0 b _0804A080 .align 2, 0 -_0804A020: .4byte gUnknown_2024018 +_0804A020: .4byte gBattleSpritesDataPtr _0804A024: - ldr r2, _0804A0D0 @ =gUnknown_2024018 + ldr r2, _0804A0D0 @ =gBattleSpritesDataPtr mov r10, r2 ldr r0, [r2] ldr r2, [r0, 0xC] @@ -4726,7 +4726,7 @@ _0804A080: beq _0804A09C cmp r2, 0 bne _0804A0A4 - ldr r0, _0804A0D0 @ =gUnknown_2024018 + ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0] adds r0, r7, r0 @@ -4744,7 +4744,7 @@ _0804A0A4: negs r0, r0 cmp r4, r0 bne _0804A0BE - ldr r0, _0804A0D0 @ =gUnknown_2024018 + ldr r0, _0804A0D0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0xC] mov r2, r8 @@ -4764,7 +4764,7 @@ _0804A0BE: pop {r1} bx r1 .align 2, 0 -_0804A0D0: .4byte gUnknown_2024018 +_0804A0D0: .4byte gBattleSpritesDataPtr thumb_func_end sub_8049FD8 thumb_func_start sub_804A0D4 @@ -4784,7 +4784,7 @@ sub_804A0D4: @ 804A0D4 beq _0804A1D8 b _0804A2D6 _0804A0F0: - ldr r0, _0804A184 @ =gUnknown_2024018 + ldr r0, _0804A184 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0xC] lsls r5, r6, 2 @@ -4818,7 +4818,7 @@ _0804A12C: ldr r0, _0804A188 @ =gSprites mov r8, r0 _0804A132: - ldr r0, _0804A184 @ =gUnknown_2024018 + ldr r0, _0804A184 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0, 0xC] adds r0, r7, r6 @@ -4858,7 +4858,7 @@ _0804A132: bl CpuSet b _0804A1C2 .align 2, 0 -_0804A184: .4byte gUnknown_2024018 +_0804A184: .4byte gBattleSpritesDataPtr _0804A188: .4byte gSprites _0804A18C: .4byte 0x06010000 _0804A190: .4byte 0x04000008 @@ -4895,7 +4895,7 @@ _0804A1C2: _0804A1D0: .4byte 0x06010040 _0804A1D4: .4byte 0x04000008 _0804A1D8: - ldr r0, _0804A27C @ =gUnknown_2024018 + ldr r0, _0804A27C @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0xC] lsls r5, r6, 2 @@ -4955,7 +4955,7 @@ _0804A23A: ldrb r1, [r1] lsls r1, 5 adds r0, r1 - ldr r1, _0804A27C @ =gUnknown_2024018 + ldr r1, _0804A27C @ =gBattleSpritesDataPtr ldr r1, [r1] ldr r1, [r1, 0xC] adds r1, r4, r1 @@ -4977,7 +4977,7 @@ _0804A23A: bl CpuSet b _0804A2CC .align 2, 0 -_0804A27C: .4byte gUnknown_2024018 +_0804A27C: .4byte gBattleSpritesDataPtr _0804A280: .4byte gBattlerPartyIndexes _0804A284: .4byte gPlayerParty _0804A288: .4byte gSprites @@ -4992,7 +4992,7 @@ _0804A294: ldrb r1, [r1] lsls r1, 5 adds r0, r1 - ldr r1, _0804A2E4 @ =gUnknown_2024018 + ldr r1, _0804A2E4 @ =gBattleSpritesDataPtr ldr r1, [r1] ldr r1, [r1, 0xC] adds r1, r4, r1 @@ -5025,7 +5025,7 @@ _0804A2D6: pop {r0} bx r0 .align 2, 0 -_0804A2E4: .4byte gUnknown_2024018 +_0804A2E4: .4byte gBattleSpritesDataPtr _0804A2E8: .4byte 0x06010b80 _0804A2EC: .4byte 0x04000008 thumb_func_end sub_804A0D4 diff --git a/asm/bug.s b/asm/bug.s index 1bdc4095c..27c66e10f 100644 --- a/asm/bug.s +++ b/asm/bug.s @@ -72,7 +72,7 @@ _080B4008: strh r0, [r6, 0x2E] ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -80,7 +80,7 @@ _080B4008: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -156,13 +156,13 @@ _080B40BC: strh r0, [r6, 0x2E] ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x36] @@ -214,13 +214,13 @@ _080B4144: ldr r4, _080B4188 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -556,7 +556,7 @@ _080B43F6: ldr r5, _080B4488 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 ldr r6, _080B4484 @ =gBattleAnimArgs @@ -567,7 +567,7 @@ _080B43F6: lsrs r4, 16 ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -643,7 +643,7 @@ _080B44B4: ldr r5, _080B4508 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -651,7 +651,7 @@ _080B44B4: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x6] @@ -801,13 +801,13 @@ _080B45F4: _080B45F6: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x12 diff --git a/asm/dark.s b/asm/dark.s index ad0ff597a..cbc4060c3 100644 --- a/asm/dark.s +++ b/asm/dark.s @@ -256,26 +256,26 @@ sub_80B7ACC: @ 80B7ACC ldr r6, _080B7B38 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] ldr r5, _080B7B3C @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -634,7 +634,7 @@ sub_80B7DA4: @ 80B7DA4 ldr r4, _080B7E0C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -653,7 +653,7 @@ sub_80B7DA4: @ 80B7DA4 strh r1, [r5, 0x22] ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -1087,7 +1087,7 @@ _080B817C: ldr r4, _080B81C8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x1F @@ -1104,7 +1104,7 @@ _080B817C: strh r1, [r5, 0x22] ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r1, r0, 0x4 @@ -1836,7 +1836,7 @@ sub_80B86EC: @ 80B86EC movs r2, 0x1 bl SetAnimBgAttribute _080B8750: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080B87CA diff --git a/asm/dragon.s b/asm/dragon.s index 66e76017a..956e8b1e0 100644 --- a/asm/dragon.s +++ b/asm/dragon.s @@ -12,13 +12,13 @@ sub_80B725C: @ 80B725C ldr r4, _080B72A4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -90,13 +90,13 @@ sub_80B72F8: @ 80B72F8 ldr r4, _080B7350 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -185,13 +185,13 @@ _080B73C8: _080B73CA: ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -249,14 +249,14 @@ sub_80B7448: @ 80B7448 ldr r4, _080B749C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r5, 0 strh r0, [r6, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] @@ -726,14 +726,14 @@ sub_80B77E4: @ 80B77E4 mov r8, r1 ldrb r0, [r1] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] mov r2, r8 ldrb r0, [r2] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r3, [r5, 0x8] diff --git a/asm/electric.s b/asm/electric.s index ed9e1da1f..7b100e73e 100644 --- a/asm/electric.s +++ b/asm/electric.s @@ -123,13 +123,13 @@ sub_80ADCB8: @ 80ADCB8 ldr r4, _080ADCFC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -260,7 +260,7 @@ _080ADDC8: bne _080ADDF0 adds r0, r4, 0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] @@ -273,14 +273,14 @@ _080ADDEC: .4byte gBattleAnimArgs _080ADDF0: adds r0, r4, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] adds r0, r4, 0 movs r1, 0x3 _080ADE02: - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -379,7 +379,7 @@ sub_80ADEB0: @ 80ADEB0 ldr r6, _080ADF28 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -387,7 +387,7 @@ sub_80ADEB0: @ 80ADEB0 strh r0, [r4, 0x34] ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -555,7 +555,7 @@ _080AE024: ldr r5, _080AE060 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080AE064 @ =gBattleAnimArgs lsrs r0, 24 @@ -564,7 +564,7 @@ _080AE024: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -626,7 +626,7 @@ _080AE0AA: _080AE0B2: adds r0, r6, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080AE11C @ =gBattleAnimArgs lsrs r0, 24 @@ -635,7 +635,7 @@ _080AE0B2: strh r0, [r5, 0x20] adds r0, r6, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -811,7 +811,7 @@ sub_80AE220: @ 80AE220 ldr r6, _080AE268 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord ldr r1, _080AE26C @ =gTasks lsls r4, r5, 2 adds r4, r5 @@ -825,7 +825,7 @@ sub_80AE220: @ 80AE220 strh r0, [r4, 0x8] ldrb r0, [r6] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x2] @@ -1233,13 +1233,13 @@ _080AE56C: _080AE56E: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x26] @@ -1466,13 +1466,13 @@ _080AE738: _080AE73A: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1509,13 +1509,13 @@ _080AE790: _080AE792: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1548,13 +1548,13 @@ sub_80AE7DC: @ 80AE7DC ldr r4, _080AE834 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1680,7 +1680,7 @@ _080AE8D4: ldr r4, _080AE908 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] @@ -1897,13 +1897,13 @@ _080AEA88: .4byte 0x0000fff0 _080AEA8C: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0xE] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] @@ -1923,13 +1923,13 @@ _080AEAB4: ldr r4, _080AEAE8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x12] ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r2, 0xA @@ -2175,13 +2175,13 @@ _080AEC92: ldr r4, _080AECC0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2245,13 +2245,13 @@ _080AED20: ldr r4, _080AEDA4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x16] @@ -2260,7 +2260,7 @@ _080AED20: ldr r0, _080AEDA8 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x1C] @@ -2603,7 +2603,7 @@ _080AEFCE: ldr r0, _080AF018 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -2625,7 +2625,7 @@ _080AEFF8: ldr r4, _080AF018 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] diff --git a/asm/fighting.s b/asm/fighting.s index 78b60aac5..240e2bbb0 100644 --- a/asm/fighting.s +++ b/asm/fighting.s @@ -176,13 +176,13 @@ _080B09E8: bl StartSpriteAnim mov r0, r8 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] mov r0, r8 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -242,7 +242,7 @@ _080B0A74: negs r0, r0 lsrs r4, r0, 16 _080B0A86: - ldr r0, _080B0B14 @ =gUnknown_2023BD6 + ldr r0, _080B0B14 @ =gBattlerPositions add r0, r8 ldrb r1, [r0] adds r0, r7, 0 @@ -313,7 +313,7 @@ _080B0B00: bx r0 .align 2, 0 _080B0B10: .4byte gBattleAnimTarget -_080B0B14: .4byte gUnknown_2023BD6 +_080B0B14: .4byte gBattlerPositions _080B0B18: .4byte 0xfff00000 _080B0B1C: .4byte gUnknown_83E7C08 _080B0B20: .4byte gSprites @@ -644,13 +644,13 @@ sub_80B0D7C: @ 80B0D7C ldr r4, _080B0DC8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -778,13 +778,13 @@ _080B0E9C: _080B0E9E: ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -896,7 +896,7 @@ sub_80B0F68: @ 80B0F68 ldr r4, _080B0F90 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x4] @@ -909,7 +909,7 @@ _080B0F94: ldr r4, _080B0FF0 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -918,7 +918,7 @@ _080B0FA6: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -1040,13 +1040,13 @@ sub_80B107C: @ 80B107C ldr r4, _080B10CC @ =sBattler_AI ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1125,7 +1125,7 @@ sub_80B111C: @ 80B111C lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -1135,7 +1135,7 @@ sub_80B111C: @ 80B111C lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -1245,13 +1245,13 @@ _080B1236: ldr r4, _080B1298 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 @@ -1259,14 +1259,14 @@ _080B1236: mov r8, r2 ldrb r0, [r2] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 subs r4, r6 strh r4, [r7, 0x2E] @@ -1344,13 +1344,13 @@ sub_80B12E8: @ 80B12E8 ldr r4, _080B1320 @ =sBattler_AI ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1418,7 +1418,7 @@ _080B138C: strh r0, [r5, 0x30] adds r0, r4, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -1426,7 +1426,7 @@ _080B138C: strh r0, [r5, 0x34] adds r0, r4, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -1473,13 +1473,13 @@ sub_80B13F8: @ 80B13F8 ldr r4, _080B1474 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] diff --git a/asm/fire.s b/asm/fire.s index ecc1ce493..0e014a48d 100644 --- a/asm/fire.s +++ b/asm/fire.s @@ -484,7 +484,7 @@ sub_80ACC88: @ 80ACC88 ldr r4, _080ACCD8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -492,7 +492,7 @@ sub_80ACC88: @ 80ACC88 strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -522,13 +522,13 @@ sub_80ACCE0: @ 80ACCE0 ldr r5, _080ACD20 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x22] @@ -1758,7 +1758,7 @@ _080AD612: ldr r4, _080AD688 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -1766,7 +1766,7 @@ _080AD612: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] diff --git a/asm/flying.s b/asm/flying.s index 697138bd8..23fe4371d 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -228,7 +228,7 @@ _080B1A3C: ldr r5, _080B1A90 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -238,7 +238,7 @@ _080B1A3C: strh r0, [r6, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -316,13 +316,13 @@ _080B1AE4: _080B1AFC: ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r2, _080B1B58 @ =gBattleAnimArgs ldrh r1, [r2] @@ -342,13 +342,13 @@ _080B1AFC: ldr r4, _080B1B5C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -504,7 +504,7 @@ _080B1C72: ldr r4, _080B1CB8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -512,7 +512,7 @@ _080B1C72: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -672,7 +672,7 @@ _080B1DB2: _080B1DC8: adds r0, r6, 0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080B1E60 @ =gBattleAnimArgs lsrs r0, 24 @@ -681,7 +681,7 @@ _080B1DC8: strh r0, [r7, 0x20] adds r0, r6, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldrh r1, [r4, 0x2] lsrs r0, 24 @@ -1627,13 +1627,13 @@ sub_80B24C0: @ 80B24C0 ldr r5, _080B250C @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -1663,7 +1663,7 @@ sub_80B2514: @ 80B2514 lsls r0, 24 cmp r0, 0 bne _080B25C4 - ldr r0, _080B2558 @ =gUnknown_2023BD6 + ldr r0, _080B2558 @ =gBattlerPositions ldr r1, _080B255C @ =gBattleAnimTarget ldrb r2, [r1] adds r0, r2, r0 @@ -1674,7 +1674,7 @@ sub_80B2514: @ 80B2514 beq _080B2560 adds r0, r2, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -1682,12 +1682,12 @@ sub_80B2514: @ 80B2514 b _080B256E .align 2, 0 _080B2554: .4byte gBattleAnimArgs -_080B2558: .4byte gUnknown_2023BD6 +_080B2558: .4byte gBattlerPositions _080B255C: .4byte gBattleAnimTarget _080B2560: adds r0, r2, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x28 @@ -1737,7 +1737,7 @@ _080B25C4: ldr r0, _080B267C @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -2127,13 +2127,13 @@ sub_80B2868: @ 80B2868 ldr r5, _080B2910 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -2237,7 +2237,7 @@ _080B2990: ldr r0, _080B29A8 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -2454,13 +2454,13 @@ _080B2B20: _080B2B22: ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2614,13 +2614,13 @@ _080B2C54: _080B2C56: ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -2773,14 +2773,14 @@ sub_80B2D64: @ 80B2D64 ldr r6, _080B2E18 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r1, r8 strh r0, [r1, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r6, r0, 0 lsls r6, 24 lsrs r6, 24 diff --git a/asm/ghost.s b/asm/ghost.s index 7ff96f41a..b0933f132 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -19,7 +19,7 @@ sub_80B5268: @ 80B5268 ldr r5, _080B52C8 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -27,7 +27,7 @@ sub_80B5268: @ 80B5268 strh r0, [r4, 0x34] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -518,7 +518,7 @@ sub_80B563C: @ 80B563C mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -527,7 +527,7 @@ sub_80B563C: @ 80B563C mov r1, r8 ldrb r0, [r1] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -637,13 +637,13 @@ _080B572E: ldr r4, _080B5794 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x30] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -700,13 +700,13 @@ _080B5798: ldr r4, _080B57E8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -1214,7 +1214,7 @@ _080B5B68: adds r2, r0 lsls r2, 2 adds r2, r4 - ldr r0, _080B5C18 @ =gUnknown_2024018 + ldr r0, _080B5C18 @ =gBattleSpritesDataPtr ldr r1, [r0] ldr r0, _080B5C1C @ =gBattleAnimTarget ldrb r0, [r0] @@ -1260,7 +1260,7 @@ _080B5B68: b _080B5C24 .align 2, 0 _080B5C14: .4byte gSprites -_080B5C18: .4byte gUnknown_2024018 +_080B5C18: .4byte gBattleSpritesDataPtr _080B5C1C: .4byte gBattleAnimTarget _080B5C20: movs r1, 0x80 @@ -1614,12 +1614,12 @@ sub_80B5EC0: @ 80B5EC0 ldr r4, _080B5F00 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 @@ -1636,12 +1636,12 @@ _080B5F08: ldr r4, _080B5FD0 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xE0 @@ -1652,13 +1652,13 @@ _080B5F08: _080B5F2C: ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0xE0 @@ -1808,7 +1808,7 @@ sub_80B6020: @ 80B6020 ldr r4, _080B6178 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] @@ -1860,7 +1860,7 @@ _080B6092: beq _080B615E adds r0, r4, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -2872,7 +2872,7 @@ sub_80B68C8: @ 80B68C8 ldr r5, _080B6964 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1A] diff --git a/asm/ground.s b/asm/ground.s index 8bfa9d914..d9cc47ed2 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -12,13 +12,13 @@ sub_80B8B6C: @ 80B8B6C ldr r5, _080B8BC4 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -27,13 +27,13 @@ sub_80B8B6C: @ 80B8B6C ldr r5, _080B8BC8 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] @@ -77,13 +77,13 @@ sub_80B8BD4: @ 80B8BD4 ldr r4, _080B8C30 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -141,7 +141,7 @@ _080B8C74: ldr r5, _080B8CBC @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x4] @@ -149,7 +149,7 @@ _080B8C74: strh r0, [r6, 0x32] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x6] @@ -262,7 +262,7 @@ sub_80B8D58: @ 80B8D58 ldr r4, _080B8DC4 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r2, [r6, 0x2] @@ -270,7 +270,7 @@ sub_80B8D58: @ 80B8D58 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r3, [r6, 0x4] @@ -1080,7 +1080,7 @@ _080B9396: _080B93B2: adds r0, r4, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -1150,7 +1150,7 @@ _080B943A: ldrb r5, [r0] adds r0, r5, 0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r2, _080B949C @ =0x0000fff0 @@ -1698,7 +1698,7 @@ _080B9832: adds r4, r0 adds r0, r5, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x20 @@ -1709,7 +1709,7 @@ _080B9832: strh r1, [r4, 0xA] adds r0, r5, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r1, 0x40 diff --git a/asm/ice.s b/asm/ice.s index 4cf6c714b..ddc0370f7 100644 --- a/asm/ice.s +++ b/asm/ice.s @@ -123,26 +123,26 @@ sub_80AF108: @ 80AF108 ldr r4, _080AF218 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r9, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 ldr r4, _080AF21C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r3, r0, 24 ldrb r0, [r4] movs r1, 0x3 str r3, [sp] - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 ldr r1, _080AF220 @ =gBattleAnimArgs @@ -387,7 +387,7 @@ sub_80AF330: @ 80AF330 ldr r0, _080AF364 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -417,7 +417,7 @@ _080AF37A: ldr r0, _080AF3AC @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r1, _080AF3A8 @ =gBattleAnimArgs lsrs r0, 24 @@ -553,13 +553,13 @@ sub_80AF468: @ 80AF468 ldr r4, _080AF4B4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x6] @@ -868,13 +868,13 @@ sub_80AF6D8: @ 80AF6D8 ldr r4, _080AF720 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -1243,7 +1243,7 @@ _080AF9D4: ldrsh r0, [r0, r1] cmp r0, 0 beq _080AF9EC - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _080AF9F8 @@ -1663,13 +1663,13 @@ sub_80AFD4C: @ 80AFD4C ldr r5, _080AFD78 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -1970,12 +1970,12 @@ sub_80AFFD4: @ 80AFFD4 mov r8, r0 ldrb r0, [r0] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 ldr r7, _080B00C4 @ =gBattleAnimTarget ldrb r0, [r7] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -1984,7 +1984,7 @@ sub_80AFFD4: @ 80AFFD4 lsls r0, 8 strh r0, [r5, 0x3C] _080B0008: - ldr r3, _080B00C8 @ =gUnknown_2023BD6 + ldr r3, _080B00C8 @ =gBattlerPositions ldrb r0, [r7] adds r0, r3 ldrb r1, [r0] @@ -2036,13 +2036,13 @@ _080B0068: ldr r4, _080B00C0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2058,7 +2058,7 @@ _080B0068: ldr r4, _080B00C4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -2075,7 +2075,7 @@ _080B0068: _080B00BC: .4byte gBattleAnimArgs _080B00C0: .4byte gBattleAnimAttacker _080B00C4: .4byte gBattleAnimTarget -_080B00C8: .4byte gUnknown_2023BD6 +_080B00C8: .4byte gBattlerPositions _080B00CC: .4byte gSprites _080B00D0: ldrh r0, [r6, 0x2] @@ -2085,7 +2085,7 @@ _080B00D0: ldr r4, _080B0140 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] @@ -2098,7 +2098,7 @@ _080B00D0: ldrb r0, [r4] movs r1, 0x1 _080B00F8: - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r6, [r6, 0x8] @@ -2197,7 +2197,7 @@ _080B01AA: ldr r6, _080B01F8 @ =gBattleAnimTarget ldrb r0, [r6] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] @@ -2217,7 +2217,7 @@ _080B01AA: lsls r0, 24 cmp r0, 0 bne _080B0200 - ldr r1, _080B01FC @ =gUnknown_2023BD6 + ldr r1, _080B01FC @ =gBattlerPositions ldrb r0, [r6] adds r0, r1 ldrb r1, [r0] @@ -2230,7 +2230,7 @@ _080B01AA: b _080B0202 .align 2, 0 _080B01F8: .4byte gBattleAnimTarget -_080B01FC: .4byte gUnknown_2023BD6 +_080B01FC: .4byte gBattlerPositions _080B0200: strh r5, [r4, 0x38] _080B0202: @@ -2365,7 +2365,7 @@ _080B02CE: lsls r0, 24 cmp r0, 0 bne _080B0328 - ldr r1, _080B0320 @ =gUnknown_2023BD6 + ldr r1, _080B0320 @ =gBattlerPositions ldr r0, _080B0324 @ =gBattleAnimTarget ldrb r0, [r0] adds r0, r1 @@ -2378,7 +2378,7 @@ _080B02CE: lsls r0, 1 b _080B032A .align 2, 0 -_080B0320: .4byte gUnknown_2023BD6 +_080B0320: .4byte gBattlerPositions _080B0324: .4byte gBattleAnimTarget _080B0328: ldr r0, _080B0340 @ =0x0000fff0 @@ -2591,12 +2591,12 @@ sub_80B0458: @ 80B0458 str r0, [sp, 0x4] adds r0, r5, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r7, r0, 24 adds r0, r5, 0 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 mov r1, r8 @@ -2921,7 +2921,7 @@ _080B0742: ldr r4, _080B0788 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x4] @@ -2929,7 +2929,7 @@ _080B0742: strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x6] diff --git a/asm/normal.s b/asm/normal.s index 4a1e86a4e..75c4dcf6e 100644 --- a/asm/normal.s +++ b/asm/normal.s @@ -1185,7 +1185,7 @@ _080BA1D0: cmp r0, 0 beq _080BA200 ldr r2, _080BA274 @ =gSprites - ldr r0, _080BA278 @ =gUnknown_3004FF0 + ldr r0, _080BA278 @ =gHealthboxSpriteIds add r0, r9 ldrb r1, [r0] lsls r0, r1, 4 @@ -1258,7 +1258,7 @@ _080BA268: .4byte gBattleAnimAttacker _080BA26C: .4byte gBattleAnimTarget _080BA270: .4byte 0x0000ffff _080BA274: .4byte gSprites -_080BA278: .4byte gUnknown_3004FF0 +_080BA278: .4byte gHealthboxSpriteIds thumb_func_end sub_80BA16C thumb_func_start sub_80BA27C diff --git a/asm/party_menu.s b/asm/party_menu.s index ace2e3554..4fac6a6c5 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -13549,7 +13549,7 @@ sub_8125554: @ 8125554 bl sub_81202F8 movs r0, 0x2 bl ScheduleBgCopyTilemapToVram - bl sub_803539C + bl HandleBattleLowHpMusicChange ldr r1, _081255B4 @ =gTasks lsls r0, r5, 2 adds r0, r5 @@ -17909,7 +17909,7 @@ _081278B0: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic thumb_func_start sub_81278B4 sub_81278B4: @ 81278B4 push {lr} - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _081278C4 @@ -18425,7 +18425,7 @@ _08127CF4: strb r0, [r6, 0x2] b _08127D9C _08127D02: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08127D40 @@ -18588,7 +18588,7 @@ _08127E26: strb r0, [r5, 0x2] b _08127EB6 _08127E34: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 bne _08127E6C diff --git a/asm/poison.s b/asm/poison.s index 1a244e136..111ad544a 100644 --- a/asm/poison.s +++ b/asm/poison.s @@ -26,13 +26,13 @@ _080B1636: ldr r4, _080B1678 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] diff --git a/asm/pokeball.s b/asm/pokeball.s index 85bfcb620..ed9586d1d 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -17,7 +17,7 @@ DoPokeballSendOutAnimation: @ 804A938 ldr r1, _0804A98C @ =gUnknown_2024005 movs r0, 0x1 strb r0, [r1] - ldr r0, _0804A990 @ =gUnknown_2024018 + ldr r0, _0804A990 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r6, _0804A994 @ =gActiveBattler ldrb r1, [r6] @@ -50,7 +50,7 @@ DoPokeballSendOutAnimation: @ 804A938 bx r1 .align 2, 0 _0804A98C: .4byte gUnknown_2024005 -_0804A990: .4byte gUnknown_2024018 +_0804A990: .4byte gBattleSpritesDataPtr _0804A994: .4byte gActiveBattler _0804A998: .4byte sub_804A9A0 _0804A99C: .4byte gTasks @@ -220,13 +220,13 @@ _0804AAF4: .4byte SpriteCB_PlayerMonSendOut_1 _0804AAF8: adds r0, r6, 0 movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] adds r0, r6, 0 movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x18 @@ -276,13 +276,13 @@ _0804AB6C: strh r0, [r4, 0x2E] ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 subs r0, 0x10 @@ -1265,11 +1265,11 @@ _0804B324: cmp r5, r0 bne _0804B3A6 _0804B34E: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0804B3A6 - ldr r0, _0804B390 @ =gUnknown_2024018 + ldr r0, _0804B390 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -1293,7 +1293,7 @@ _0804B34E: .align 2, 0 _0804B388: .4byte gBattlerPartyIndexes _0804B38C: .4byte gPlayerParty -_0804B390: .4byte gUnknown_2024018 +_0804B390: .4byte gBattleSpritesDataPtr _0804B394: .4byte gBattleTypeFlags _0804B398: .4byte gMPlayInfo_BGM _0804B39C: @@ -1302,11 +1302,11 @@ _0804B39C: movs r2, 0x80 bl m4aMPlayVolumeControl _0804B3A6: - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0804B3C0 - ldr r0, _0804B3CC @ =gUnknown_2024018 + ldr r0, _0804B3CC @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -1320,7 +1320,7 @@ _0804B3C0: .align 2, 0 _0804B3C4: .4byte gMPlayInfo_BGM _0804B3C8: .4byte 0x0000ffff -_0804B3CC: .4byte gUnknown_2024018 +_0804B3CC: .4byte gBattleSpritesDataPtr _0804B3D0: movs r0, 0 bl GetBattlerAtPosition @@ -1521,7 +1521,7 @@ _0804B52C: strh r1, [r0, 0x26] ldr r0, _0804B5C0 @ =gUnknown_2024005 strb r2, [r0] - ldr r4, _0804B5C4 @ =gUnknown_2024018 + ldr r4, _0804B5C4 @ =gBattleSpritesDataPtr ldr r0, [r4] ldr r0, [r0, 0x4] lsls r1, r6, 1 @@ -1573,7 +1573,7 @@ _0804B5B4: .4byte 0xfffffee0 _0804B5B8: .4byte gSprites _0804B5BC: .4byte gBattlerSpriteIds _0804B5C0: .4byte gUnknown_2024005 -_0804B5C4: .4byte gUnknown_2024018 +_0804B5C4: .4byte gBattleSpritesDataPtr thumb_func_end HandleBallAnimEnd thumb_func_start sub_804B5C8 @@ -1639,7 +1639,7 @@ _0804B600: ands r0, r1 cmp r0, 0 beq _0804B666 - ldr r0, _0804B680 @ =gUnknown_2024018 + ldr r0, _0804B680 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x4] lsls r1, r7, 1 @@ -1661,7 +1661,7 @@ _0804B670: .4byte gSprites _0804B674: .4byte gBattlerSpriteIds _0804B678: .4byte gMain _0804B67C: .4byte 0x00000439 -_0804B680: .4byte gUnknown_2024018 +_0804B680: .4byte gBattleSpritesDataPtr thumb_func_end sub_804B5C8 thumb_func_start SpriteCB_PlayerMonSendOut_1 @@ -1674,7 +1674,7 @@ SpriteCB_PlayerMonSendOut_1: @ 804B684 lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] @@ -1682,7 +1682,7 @@ SpriteCB_PlayerMonSendOut_1: @ 804B684 lsls r0, 24 lsrs r0, 24 movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, 0x18 @@ -1843,11 +1843,11 @@ _0804B7C8: ldrb r0, [r5, 0x6] strh r0, [r5, 0x3A] strh r1, [r5, 0x2E] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0804B828 - ldr r0, _0804B820 @ =gUnknown_2024018 + ldr r0, _0804B820 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -1866,7 +1866,7 @@ _0804B7C8: ldr r0, _0804B824 @ =SpriteCB_ReleaseMon2FromBall b _0804B82A .align 2, 0 -_0804B820: .4byte gUnknown_2024018 +_0804B820: .4byte gBattleSpritesDataPtr _0804B824: .4byte SpriteCB_ReleaseMon2FromBall _0804B828: ldr r0, _0804B840 @ =sub_804B268 @@ -1920,11 +1920,11 @@ SpriteCB_OpponentMonSendOut: @ 804B868 ble _0804B8BC movs r0, 0 strh r0, [r5, 0x2E] - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _0804B8B8 - ldr r0, _0804B8B0 @ =gUnknown_2024018 + ldr r0, _0804B8B0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r0, [r0, 0x8] ldrb r1, [r0, 0x9] @@ -1943,7 +1943,7 @@ SpriteCB_OpponentMonSendOut: @ 804B868 ldr r0, _0804B8B4 @ =SpriteCB_ReleaseMon2FromBall b _0804B8BA .align 2, 0 -_0804B8B0: .4byte gUnknown_2024018 +_0804B8B0: .4byte gBattleSpritesDataPtr _0804B8B4: .4byte SpriteCB_ReleaseMon2FromBall _0804B8B8: ldr r0, _0804B8C4 @ =sub_804B268 @@ -2594,7 +2594,7 @@ sub_804BD94: @ 804BD94 lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 - ldr r0, _0804BE14 @ =gUnknown_3004FF0 + ldr r0, _0804BE14 @ =gHealthboxSpriteIds adds r0, r5, r0 ldrb r1, [r0] lsls r0, r1, 4 @@ -2653,7 +2653,7 @@ _0804BE0C: pop {r0} bx r0 .align 2, 0 -_0804BE14: .4byte gUnknown_3004FF0 +_0804BE14: .4byte gHealthboxSpriteIds _0804BE18: .4byte gSprites _0804BE1C: .4byte sub_804BE48 _0804BE20: .4byte sub_804BE24 @@ -2723,7 +2723,7 @@ DoHitAnimHealthboxEffect: @ 804BE70 adds r3, r1, r2 movs r0, 0x1 strh r0, [r3, 0x2E] - ldr r0, _0804BEB0 @ =gUnknown_3004FF0 + ldr r0, _0804BEB0 @ =gHealthboxSpriteIds adds r4, r0 ldrb r0, [r4] strh r0, [r3, 0x30] @@ -2736,7 +2736,7 @@ DoHitAnimHealthboxEffect: @ 804BE70 .align 2, 0 _0804BEA8: .4byte SpriteCB_HitAnimHealthoxEffect _0804BEAC: .4byte gSprites -_0804BEB0: .4byte gUnknown_3004FF0 +_0804BEB0: .4byte gHealthboxSpriteIds thumb_func_end DoHitAnimHealthboxEffect thumb_func_start SpriteCB_HitAnimHealthoxEffect diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index 8fc385744..de3071fd6 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -6896,7 +6896,7 @@ _0814AE2A: ldrh r0, [r7] ldr r1, [r7, 0x4] ldr r2, [r7, 0x8] - bl GetFrontSpritePalFromSpeciesAndPersonality + bl GetMonSpritePalFromSpeciesAndPersonality str r0, [sp, 0x20] add r0, sp, 0x20 ldr r1, [r0, 0x4] diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index a7777c2ca..47097a060 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -16568,7 +16568,7 @@ _08093C4E: adds r1, r4 ldrh r0, [r1] mov r1, r9 - bl GetFrontSpritePalFromSpeciesAndPersonality + bl GetMonSpritePalFromSpeciesAndPersonality ldr r1, [r5] ldr r3, _08093CE8 @ =0x00000cd8 adds r2, r1, r3 diff --git a/asm/psychic.s b/asm/psychic.s index 874a35948..cff45fc8c 100644 --- a/asm/psychic.s +++ b/asm/psychic.s @@ -77,7 +77,7 @@ _080B2F5A: lsls r0, 24 cmp r0, 0 bne _080B2F90 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080B2F90 @@ -112,7 +112,7 @@ _080B2F90: _080B2FA6: ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080B3004 @ =gBattleAnimArgs lsrs r0, 24 @@ -121,7 +121,7 @@ _080B2FA6: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -411,7 +411,7 @@ _080B31EA: lsls r0, 24 cmp r0, 0 bne _080B3232 - bl sub_8075290 + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _080B3232 @@ -484,13 +484,13 @@ sub_80B3278: @ 80B3278 ldr r4, _080B32C0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -573,14 +573,14 @@ sub_80B32F4: @ 80B32F4 _080B333A: ldrb r0, [r6] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r4 strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r7 @@ -888,13 +888,13 @@ sub_80B3584: @ 80B3584 ldr r4, _080B3610 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x24] @@ -1206,13 +1206,13 @@ sub_80B37EC: @ 80B37EC ldr r4, _080B382C @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] @@ -2053,13 +2053,13 @@ _080B3EA4: ldr r4, _080B3EF8 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 9ec3e3580..483314c54 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -294,8 +294,8 @@ _080779B0: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback - bl sub_8075290 + bl SetBattlerShadowSpriteCallback + bl IsDoubleBattle lsls r0, 24 cmp r0, 0 beq _08077A14 @@ -315,7 +315,7 @@ _080779B0: lsls r1, 16 lsrs r1, 16 adds r0, r4, 0 - bl SetBankEnemyShadowSpriteCallback + bl SetBattlerShadowSpriteCallback _08077A14: ldr r1, _08077A4C @ =gUnknown_2023FF8 ldr r0, _08077A50 @ =gBattlerInMenuId @@ -455,7 +455,7 @@ _08077B1C: ldr r1, _08077B60 @ =gEnemyParty adds r0, r1 adds r1, r4, 0 - bl sub_8034658 + bl DecompressGhostFrontPic b _08077C24 .align 2, 0 _08077B54: .4byte gBattlersCount @@ -463,7 +463,7 @@ _08077B58: .4byte gBattleTypeFlags _08077B5C: .4byte gBattlerPartyIndexes _08077B60: .4byte gEnemyParty _08077B64: - ldr r0, _08077B90 @ =gUnknown_2024018 + ldr r0, _08077B90 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r4, 2 @@ -485,13 +485,13 @@ _08077B64: bl BattleLoadOpponentMonSpriteGfx b _08077C24 .align 2, 0 -_08077B90: .4byte gUnknown_2024018 +_08077B90: .4byte gBattleSpritesDataPtr _08077B94: .4byte gBattlerPartyIndexes _08077B98: .4byte gEnemyParty _08077B9C: adds r0, r4, 0 movs r1, 0 - bl sub_80350BC + bl BattleLoadSubstituteOrMonSpriteGfx b _08077C24 _08077BA6: ldr r0, _08077BC0 @ =gBattleTypeFlags @@ -524,7 +524,7 @@ _08077BDA: bl sub_8034750 b _08077C24 _08077BE2: - ldr r0, _08077C10 @ =gUnknown_2024018 + ldr r0, _08077C10 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r4, 2 @@ -543,16 +543,16 @@ _08077BE2: ldr r1, _08077C18 @ =gPlayerParty adds r0, r1 adds r1, r4, 0 - bl sub_8034498 + bl BattleLoadPlayerMonSpriteGfx b _08077C24 .align 2, 0 -_08077C10: .4byte gUnknown_2024018 +_08077C10: .4byte gBattleSpritesDataPtr _08077C14: .4byte gBattlerPartyIndexes _08077C18: .4byte gPlayerParty _08077C1C: adds r0, r4, 0 movs r1, 0 - bl sub_80350BC + bl BattleLoadSubstituteOrMonSpriteGfx _08077C24: ldr r0, _08077C34 @ =gBattleScripting adds r0, 0x22 @@ -598,7 +598,7 @@ _08077C50: _08077C6C: .4byte gBattlersCount _08077C70: .4byte gBattleTypeFlags _08077C74: - ldr r0, _08077C90 @ =gUnknown_2024018 + ldr r0, _08077C90 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r7, 2 @@ -612,10 +612,10 @@ _08077C74: bl GetSubstituteSpriteDefault_Y b _08077C9A .align 2, 0 -_08077C90: .4byte gUnknown_2024018 +_08077C90: .4byte gBattleSpritesDataPtr _08077C94: adds r0, r7, 0 - bl GetBankSpriteDefault_Y + bl GetBattlerSpriteDefault_Y _08077C9A: lsls r0, 24 lsrs r0, 24 @@ -665,7 +665,7 @@ _08077CD2: ldr r5, _08077D98 @ =gMultiuseSpriteTemplate adds r0, r7, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -891,7 +891,7 @@ _08077EA8: ldr r5, _08077FCC @ =gMultiuseSpriteTemplate adds r0, r7, 0 movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -965,7 +965,7 @@ _08077F84: adds r2, r0 lsls r2, 2 adds r2, r1 - ldr r0, _08077FE0 @ =gUnknown_2024018 + ldr r0, _08077FE0 @ =gBattleSpritesDataPtr ldr r0, [r0] ldr r1, [r0] lsls r0, r7, 2 @@ -997,7 +997,7 @@ _08077FD0: .4byte gBattlerSpriteIds _08077FD4: .4byte gSprites _08077FD8: .4byte SpriteCallbackDummy _08077FDC: .4byte gBattleMonForms -_08077FE0: .4byte gUnknown_2024018 +_08077FE0: .4byte gBattleSpritesDataPtr thumb_func_end sub_8077C38 thumb_func_start CreateHealthboxSprite @@ -1036,15 +1036,15 @@ _08078014: b _08078166 _08078026: adds r0, r5, 0 - bl CreateBankHealthboxSprites + bl CreateBattlerHealthboxSprites _0807802C: lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08078068 @ =gUnknown_3004FF0 + ldr r0, _08078068 @ =gHealthboxSpriteIds adds r4, r5, r0 strb r6, [r4] adds r0, r5, 0 - bl SetBankHealthboxSpritePos + bl InitBattlerHealthboxCoords adds r0, r6, 0 bl SetHealthboxSpriteVisible adds r0, r5, 0 @@ -1065,7 +1065,7 @@ _0807802C: bl UpdateHealthboxAttribute b _080780C0 .align 2, 0 -_08078068: .4byte gUnknown_3004FF0 +_08078068: .4byte gHealthboxSpriteIds _0807806C: .4byte gBattlerPartyIndexes _08078070: .4byte gEnemyParty _08078074: @@ -1117,22 +1117,22 @@ _080780C0: cmp r0, 0x2 bne _080780F8 _080780DC: - ldr r0, _080780F4 @ =gUnknown_3004FF0 + ldr r0, _080780F4 @ =gHealthboxSpriteIds adds r0, r5, r0 ldrb r0, [r0] movs r1, 0x1 - bl nullsub_21 + bl DummyBattleInterfaceFunc b _08078104 .align 2, 0 _080780EC: .4byte gBattlerPartyIndexes _080780F0: .4byte gPlayerParty -_080780F4: .4byte gUnknown_3004FF0 +_080780F4: .4byte gHealthboxSpriteIds _080780F8: - ldr r0, _08078130 @ =gUnknown_3004FF0 + ldr r0, _08078130 @ =gHealthboxSpriteIds adds r0, r5, r0 ldrb r0, [r0] movs r1, 0 - bl nullsub_21 + bl DummyBattleInterfaceFunc _08078104: adds r0, r5, 0 bl GetBattlerSide @@ -1154,7 +1154,7 @@ _08078104: bl SetHealthboxSpriteInvisible b _08078166 .align 2, 0 -_08078130: .4byte gUnknown_3004FF0 +_08078130: .4byte gHealthboxSpriteIds _08078134: .4byte gBattlerPartyIndexes _08078138: .4byte gEnemyParty _0807813C: diff --git a/asm/rock.s b/asm/rock.s index 39f3c7780..cef182f32 100644 --- a/asm/rock.s +++ b/asm/rock.s @@ -713,13 +713,13 @@ sub_80B4BD0: @ 80B4BD0 ldr r5, _080B4C54 @ =gBattleAnimAttacker ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r9, r0 ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r1, 0xC0 @@ -729,13 +729,13 @@ sub_80B4BD0: @ 80B4BD0 ldr r4, _080B4C58 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r10, r0 ldrb r0, [r4] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 8 movs r2, 0xC0 @@ -1331,13 +1331,13 @@ sub_80B50A0: @ 80B50A0 ldr r5, _080B50EC @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r5] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r2, _080B50F0 @ =gBattleAnimArgs diff --git a/asm/water.s b/asm/water.s index eac5fc3c1..e7465befa 100644 --- a/asm/water.s +++ b/asm/water.s @@ -130,7 +130,7 @@ sub_80AAC98: @ 80AAC98 beq _080AACC8 ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldr r4, _080AACC4 @ =gBattleAnimArgs @@ -143,7 +143,7 @@ _080AACC4: .4byte gBattleAnimArgs _080AACC8: ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 ldr r4, _080AADA0 @ =gBattleAnimArgs lsrs r0, 24 @@ -153,7 +153,7 @@ _080AACDA: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -184,7 +184,7 @@ _080AAD10: ldr r4, _080AADA8 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x32] @@ -192,7 +192,7 @@ _080AAD10: strh r0, [r6, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x36] @@ -390,7 +390,7 @@ _080AAEBA: ldr r4, _080AAF14 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 adds r0, r6 @@ -399,7 +399,7 @@ _080AAEBA: strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r7, [r7, 0x6] @@ -577,7 +577,7 @@ sub_80AB024: @ 80AB024 ldr r4, _080AB08C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x32] @@ -585,7 +585,7 @@ sub_80AB024: @ 80AB024 strh r0, [r5, 0x34] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] @@ -737,13 +737,13 @@ sub_80AB168: @ 80AB168 ldr r7, _080AB1B4 @ =gBattleAnimAttacker ldrb r0, [r7] movs r1, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x20] ldrb r0, [r7] movs r1, 0x1 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] @@ -877,7 +877,7 @@ _080AB27A: ldr r4, _080AB2BC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x4] @@ -885,7 +885,7 @@ _080AB27A: strh r0, [r6, 0x32] ldrb r0, [r4] adds r1, r7, 0 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 ldrh r5, [r5, 0x6] @@ -2397,13 +2397,13 @@ sub_80ABE4C: @ 80ABE4C ldr r4, _080ABF54 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r6, r0, 24 movs r5, 0xAC @@ -3025,14 +3025,14 @@ sub_80AC328: @ 80AC328 ldr r4, _080AC3B0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 movs r6, 0 strh r0, [r5, 0xE] ldrb r0, [r4] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x10] @@ -3502,13 +3502,13 @@ sub_80AC6D8: @ 80AC6D8 ldr r5, _080AC714 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074480 + bl GetBattlerSpriteCoord lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x32] -- cgit v1.2.3 From a4263a6bd8fa3a31d2b1de1279414b403a58e28b Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 29 Jul 2019 06:47:34 +0800 Subject: ported battle_controller_safari from pokeem --- asm/battle_1.s | 26 +- asm/battle_2.s | 154 ++-- asm/battle_anim_special.s | 16 +- asm/battle_anim_utility_funcs.s | 6 +- asm/battle_controller_link_opponent.s | 228 ++--- asm/battle_controller_link_partner.s | 228 ++--- asm/battle_controller_oak.s | 352 ++++---- asm/battle_controller_opponent.s | 240 +++--- asm/battle_controller_player.s | 476 +++++----- asm/battle_controller_pokedude.s | 342 ++++---- asm/battle_controller_safari.s | 1534 --------------------------------- asm/battle_controllers.s | 84 +- asm/battle_message.s | 12 +- asm/battle_script_commands.s | 168 ++-- asm/battle_util.s | 28 +- asm/evolution_scene.s | 28 +- asm/pokeball.s | 12 +- asm/reshow_battle_screen.s | 16 +- 18 files changed, 1208 insertions(+), 2742 deletions(-) delete mode 100644 asm/battle_controller_safari.s (limited to 'asm') diff --git a/asm/battle_1.s b/asm/battle_1.s index 310d1a791..57205b0ab 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -523,7 +523,7 @@ sub_800F5CC: @ 800F5CC bne _0800F5E8 ldr r0, _0800F5E4 @ =gUnknown_83FE883 movs r1, 0x15 - bl sub_80D87BC + bl BattlePutTextOnWindow b _0800F6F0 .align 2, 0 _0800F5E0: .4byte gBattleOutcome @@ -609,10 +609,10 @@ _0800F666: _0800F682: ldr r0, _0800F69C @ =gUnknown_83FE874 movs r1, 0x17 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _0800F6A0 @ =gUnknown_83FE87B movs r1, 0x16 - bl sub_80D87BC + bl BattlePutTextOnWindow b _0800F6F0 .align 2, 0 _0800F694: .4byte gLinkPlayers @@ -635,10 +635,10 @@ _0800F6A4: _0800F6BC: ldr r0, _0800F6D8 @ =gUnknown_83FE874 movs r1, 0x16 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _0800F6DC @ =gUnknown_83FE87B movs r1, 0x17 - bl sub_80D87BC + bl BattlePutTextOnWindow b _0800F6F0 .align 2, 0 _0800F6D0: .4byte gLinkPlayers @@ -648,10 +648,10 @@ _0800F6DC: .4byte gUnknown_83FE87B _0800F6E0: ldr r0, _0800F6F4 @ =gUnknown_83FE874 movs r1, 0x17 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _0800F6F8 @ =gUnknown_83FE87B movs r1, 0x16 - bl sub_80D87BC + bl BattlePutTextOnWindow _0800F6F0: pop {r0} bx r0 @@ -727,14 +727,14 @@ _0800F764: _0800F76E: adds r0, r1, 0 movs r1, 0x11 - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r1, [r4, 0x18] movs r0, 0x4 b _0800F79C _0800F77C: adds r0, r1, 0 movs r1, 0x12 - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r1, [r4, 0x18] movs r0, 0x4 str r0, [sp] @@ -744,7 +744,7 @@ _0800F77C: _0800F790: adds r0, r1, 0 movs r1, 0x13 - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r1, [r4, 0x18] movs r0, 0x8 _0800F79C: @@ -758,7 +758,7 @@ _0800F7A2: _0800F7AA: adds r0, r1, 0 movs r1, 0x14 - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r1, [r4, 0x18] movs r0, 0x8 str r0, [sp] @@ -799,14 +799,14 @@ _0800F7F0: adds r1, r0, r4 adds r0, r1, 0 movs r1, 0xF - bl sub_80D87BC + bl BattlePutTextOnWindow lsls r0, r6, 3 subs r0, r6 lsls r0, 2 adds r1, r0, r4 adds r0, r1, 0 movs r1, 0x10 - bl sub_80D87BC + bl BattlePutTextOnWindow movs r4, 0x7 str r4, [sp] adds r0, r7, 0 diff --git a/asm/battle_2.s b/asm/battle_2.s index 6bd86b091..27dd08f04 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -1295,13 +1295,13 @@ _0801084C: lsls r0, 24 cmp r0, 0 beq _080108B8 - ldr r2, _08010884 @ =gUnknown_3004F80 + ldr r2, _08010884 @ =gPreBattleCallback1 ldr r1, _08010888 @ =gMain ldr r0, [r1] str r0, [r2] ldr r0, _0801088C @ =sub_80123E4 str r0, [r1] - ldr r0, _08010890 @ =sub_8011100 + ldr r0, _08010890 @ =BattleMainCB2 bl SetMainCallback2 ldr r2, _08010894 @ =gBattleTypeFlags ldr r1, [r2] @@ -1315,10 +1315,10 @@ _0801084C: b _080108B8 .align 2, 0 _08010880: .4byte gUnknown_2023E83 -_08010884: .4byte gUnknown_3004F80 +_08010884: .4byte gPreBattleCallback1 _08010888: .4byte gMain _0801088C: .4byte sub_80123E4 -_08010890: .4byte sub_8011100 +_08010890: .4byte BattleMainCB2 _08010894: .4byte gBattleTypeFlags _08010898: ldr r0, _080108C0 @ =gUnknown_2023E82 @@ -2299,13 +2299,13 @@ _08011084: lsls r0, 24 cmp r0, 0 beq _080110F0 - ldr r2, _080110BC @ =gUnknown_3004F80 + ldr r2, _080110BC @ =gPreBattleCallback1 ldr r1, _080110C0 @ =gMain ldr r0, [r1] str r0, [r2] ldr r0, _080110C4 @ =sub_80123E4 str r0, [r1] - ldr r0, _080110C8 @ =sub_8011100 + ldr r0, _080110C8 @ =BattleMainCB2 bl SetMainCallback2 ldr r2, _080110CC @ =gBattleTypeFlags ldr r1, [r2] @@ -2319,10 +2319,10 @@ _08011084: b _080110F0 .align 2, 0 _080110B8: .4byte gUnknown_2023E83 -_080110BC: .4byte gUnknown_3004F80 +_080110BC: .4byte gPreBattleCallback1 _080110C0: .4byte gMain _080110C4: .4byte sub_80123E4 -_080110C8: .4byte sub_8011100 +_080110C8: .4byte BattleMainCB2 _080110CC: .4byte gBattleTypeFlags _080110D0: ldr r0, _080110FC @ =gUnknown_2023E82 @@ -2353,8 +2353,8 @@ _080110F0: _080110FC: .4byte gUnknown_2023E82 thumb_func_end sub_8010BA0 - thumb_func_start sub_8011100 -sub_8011100: @ 8011100 + thumb_func_start BattleMainCB2 +BattleMainCB2: @ 8011100 push {lr} sub sp, 0x4 bl AnimateSprites @@ -2401,13 +2401,13 @@ _08011164: .4byte gBattleTypeFlags _08011168: .4byte gSpecialVar_Result _0801116C: .4byte gBattleOutcome _08011170: .4byte CB2_QuitRecordedBattle - thumb_func_end sub_8011100 + thumb_func_end BattleMainCB2 thumb_func_start FreeRestoreBattleData FreeRestoreBattleData: @ 8011174 push {lr} ldr r1, _080111AC @ =gMain - ldr r0, _080111B0 @ =gUnknown_3004F80 + ldr r0, _080111B0 @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r1] ldr r2, _080111B4 @ =gScanlineEffect @@ -2430,7 +2430,7 @@ FreeRestoreBattleData: @ 8011174 bx r0 .align 2, 0 _080111AC: .4byte gMain -_080111B0: .4byte gUnknown_3004F80 +_080111B0: .4byte gPreBattleCallback1 _080111B4: .4byte gScanlineEffect _080111B8: .4byte 0x00000439 thumb_func_end FreeRestoreBattleData @@ -4803,7 +4803,7 @@ sub_80123E4: @ 80123E4 ldrb r0, [r0] cmp r0, 0 beq _0801241E - ldr r5, _08012430 @ =gUnknown_3004FE0 + ldr r5, _08012430 @ =gBattlerControllerFuncs adds r4, r1, 0 _08012400: ldrb r0, [r4] @@ -4828,7 +4828,7 @@ _0801241E: _08012424: .4byte gUnknown_3004F84 _08012428: .4byte gActiveBattler _0801242C: .4byte gBattlersCount -_08012430: .4byte gUnknown_3004FE0 +_08012430: .4byte gBattlerControllerFuncs thumb_func_end sub_80123E4 thumb_func_start sub_8012434 @@ -4968,7 +4968,7 @@ _08012522: strb r1, [r0] ldr r2, _08012728 @ =gBattleOutcome strb r1, [r2] - ldr r0, _0801272C @ =gUnknown_2023BC8 + ldr r0, _0801272C @ =gBattleControllerExecFlags str r1, [r0] movs r2, 0 ldr r0, _08012730 @ =gUnknown_2023E7E @@ -5195,7 +5195,7 @@ _0801271C: .4byte gSaveBlock2Ptr _08012720: .4byte gBattleScripting _08012724: .4byte gUnknown_2023D72 _08012728: .4byte gBattleOutcome -_0801272C: .4byte gUnknown_2023BC8 +_0801272C: .4byte gBattleControllerExecFlags _08012730: .4byte gUnknown_2023E7E _08012734: .4byte gUnknown_2023E82 _08012738: .4byte gUnknown_2023E7C @@ -5425,7 +5425,7 @@ _080128F0: _0801290C: movs r5, 0 ldr r7, _08012B80 @ =gBattleStruct - ldr r3, _08012B84 @ =gUnknown_2023FF8 + ldr r3, _08012B84 @ =gActionSelectionCursor mov r10, r3 ldr r6, _08012B88 @ =gBattlersCount ldrb r6, [r6] @@ -5747,7 +5747,7 @@ _08012B3C: .align 2, 0 _08012B7C: .4byte gBattleMons _08012B80: .4byte gBattleStruct -_08012B84: .4byte gUnknown_2023FF8 +_08012B84: .4byte gActionSelectionCursor _08012B88: .4byte gBattlersCount _08012B8C: .4byte gUnknown_2023C34 _08012B90: .4byte gBitTable @@ -5776,7 +5776,7 @@ sub_8012BC8: @ 8012BC8 movs r3, 0 ldr r7, _08012F5C @ =gActiveBattler ldr r6, _08012F60 @ =gStatuses3 - ldr r0, _08012F64 @ =gUnknown_2023FF8 + ldr r0, _08012F64 @ =gActionSelectionCursor mov r8, r0 ldr r1, _08012F68 @ =gUnknown_2023FFC mov r9, r1 @@ -6239,7 +6239,7 @@ _08012F04: .align 2, 0 _08012F5C: .4byte gActiveBattler _08012F60: .4byte gStatuses3 -_08012F64: .4byte gUnknown_2023FF8 +_08012F64: .4byte gActionSelectionCursor _08012F68: .4byte gUnknown_2023FFC _08012F6C: .4byte gUnknown_2023E8C _08012F70: .4byte gBattleMons @@ -6288,7 +6288,7 @@ _08012FC0: .align 2, 0 _08012FE0: .4byte gActiveBattler _08012FE4: - ldr r0, _08013008 @ =gUnknown_2023BC8 + ldr r0, _08013008 @ =gBattleControllerExecFlags ldr r2, [r0] cmp r2, 0 bne _0801301A @@ -6306,7 +6306,7 @@ _08012FE4: str r0, [r1] b _0801301A .align 2, 0 -_08013008: .4byte gUnknown_2023BC8 +_08013008: .4byte gBattleControllerExecFlags _0801300C: .4byte gBattlersCount _08013010: .4byte gUnknown_3004F84 _08013014: .4byte BattleIntroPrepareBackgroundSlide @@ -6321,7 +6321,7 @@ _0801301A: thumb_func_start BattleIntroPrepareBackgroundSlide BattleIntroPrepareBackgroundSlide: @ 8013020 push {r4,r5,lr} - ldr r0, _08013058 @ =gUnknown_2023BC8 + ldr r0, _08013058 @ =gBattleControllerExecFlags ldr r5, [r0] cmp r5, 0 bne _08013050 @@ -6346,7 +6346,7 @@ _08013050: pop {r0} bx r0 .align 2, 0 -_08013058: .4byte gUnknown_2023BC8 +_08013058: .4byte gBattleControllerExecFlags _0801305C: .4byte gActiveBattler _08013060: .4byte gUnknown_2022B50 _08013064: .4byte gUnknown_3004F84 @@ -6361,7 +6361,7 @@ sub_8013070: @ 8013070 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _080130D4 @ =gUnknown_2023BC8 + ldr r0, _080130D4 @ =gBattleControllerExecFlags ldr r1, [r0] cmp r1, 0 beq _08013084 @@ -6409,7 +6409,7 @@ _080130C6: bls _080130C6 b _080131B6 .align 2, 0 -_080130D4: .4byte gUnknown_2023BC8 +_080130D4: .4byte gBattleControllerExecFlags _080130D8: .4byte gActiveBattler _080130DC: .4byte gBattlersCount _080130E0: .4byte gBattleMons @@ -6699,7 +6699,7 @@ BattleIntroDrawPartySummaryScreens: @ 801333C mov r7, r8 push {r7} sub sp, 0x30 - ldr r0, _08013394 @ =gUnknown_2023BC8 + ldr r0, _08013394 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801334E @@ -6742,7 +6742,7 @@ _0801338C: movs r0, 0 b _080133B6 .align 2, 0 -_08013394: .4byte gUnknown_2023BC8 +_08013394: .4byte gBattleControllerExecFlags _08013398: .4byte gBattleTypeFlags _0801339C: .4byte gEnemyParty _080133A0: .4byte 0x0000ffff @@ -6897,7 +6897,7 @@ _080134D8: .4byte sub_8013514 thumb_func_start BattleIntroPrintTrainerWantsToBattle BattleIntroPrintTrainerWantsToBattle: @ 80134DC push {lr} - ldr r0, _08013504 @ =gUnknown_2023BC8 + ldr r0, _08013504 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _080134FE @@ -6915,7 +6915,7 @@ _080134FE: pop {r0} bx r0 .align 2, 0 -_08013504: .4byte gUnknown_2023BC8 +_08013504: .4byte gBattleControllerExecFlags _08013508: .4byte gActiveBattler _0801350C: .4byte gUnknown_3004F84 _08013510: .4byte sub_8013568 @@ -6924,7 +6924,7 @@ _08013510: .4byte sub_8013568 thumb_func_start sub_8013514 sub_8013514: @ 8013514 push {lr} - ldr r0, _08013550 @ =gUnknown_2023BC8 + ldr r0, _08013550 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801354A @@ -6951,7 +6951,7 @@ _0801354A: pop {r0} bx r0 .align 2, 0 -_08013550: .4byte gUnknown_2023BC8 +_08013550: .4byte gBattleControllerExecFlags _08013554: .4byte gUnknown_3004F84 _08013558: .4byte sub_80136E4 _0801355C: .4byte gBattleTypeFlags @@ -6962,7 +6962,7 @@ _08013564: .4byte gUnknown_81D91A1 thumb_func_start sub_8013568 sub_8013568: @ 8013568 push {lr} - ldr r0, _08013590 @ =gUnknown_2023BC8 + ldr r0, _08013590 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801358A @@ -6980,7 +6980,7 @@ _0801358A: pop {r0} bx r0 .align 2, 0 -_08013590: .4byte gUnknown_2023BC8 +_08013590: .4byte gBattleControllerExecFlags _08013594: .4byte gUnknown_3004F84 _08013598: .4byte sub_801359C thumb_func_end sub_8013568 @@ -6988,7 +6988,7 @@ _08013598: .4byte sub_801359C thumb_func_start sub_801359C sub_801359C: @ 801359C push {r4,lr} - ldr r0, _08013614 @ =gUnknown_2023BC8 + ldr r0, _08013614 @ =gBattleControllerExecFlags ldr r1, [r0] cmp r1, 0 bne _0801360C @@ -7046,7 +7046,7 @@ _0801360C: pop {r0} bx r0 .align 2, 0 -_08013614: .4byte gUnknown_2023BC8 +_08013614: .4byte gBattleControllerExecFlags _08013618: .4byte gActiveBattler _0801361C: .4byte gBattlersCount _08013620: .4byte gBattleTypeFlags @@ -7057,7 +7057,7 @@ _08013628: .4byte sub_801362C thumb_func_start sub_801362C sub_801362C: @ 801362C push {r4-r7,lr} - ldr r0, _080136A4 @ =gUnknown_2023BC8 + ldr r0, _080136A4 @ =gBattleControllerExecFlags ldr r1, [r0] cmp r1, 0 bne _0801369C @@ -7117,7 +7117,7 @@ _0801369C: pop {r0} bx r0 .align 2, 0 -_080136A4: .4byte gUnknown_2023BC8 +_080136A4: .4byte gBattleControllerExecFlags _080136A8: .4byte gActiveBattler _080136AC: .4byte gBattlersCount _080136B0: .4byte gBattleMons @@ -7130,7 +7130,7 @@ _080136C0: .4byte sub_80136E4 thumb_func_start sub_80136C4 sub_80136C4: @ 80136C4 push {lr} - ldr r0, _080136D8 @ =gUnknown_2023BC8 + ldr r0, _080136D8 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _080136D4 @@ -7141,7 +7141,7 @@ _080136D4: pop {r0} bx r0 .align 2, 0 -_080136D8: .4byte gUnknown_2023BC8 +_080136D8: .4byte gBattleControllerExecFlags _080136DC: .4byte gUnknown_3004F84 _080136E0: .4byte sub_80136E4 thumb_func_end sub_80136C4 @@ -7149,7 +7149,7 @@ _080136E0: .4byte sub_80136E4 thumb_func_start sub_80136E4 sub_80136E4: @ 80136E4 push {lr} - ldr r0, _08013718 @ =gUnknown_2023BC8 + ldr r0, _08013718 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08013712 @@ -7174,7 +7174,7 @@ _08013712: pop {r0} bx r0 .align 2, 0 -_08013718: .4byte gUnknown_2023BC8 +_08013718: .4byte gBattleControllerExecFlags _0801371C: .4byte gBattleTypeFlags _08013720: .4byte gUnknown_3004F84 _08013724: .4byte sub_8013728 @@ -7183,7 +7183,7 @@ _08013724: .4byte sub_8013728 thumb_func_start sub_8013728 sub_8013728: @ 8013728 push {r4,lr} - ldr r0, _080137B4 @ =gUnknown_2023BC8 + ldr r0, _080137B4 @ =gBattleControllerExecFlags ldr r1, [r0] cmp r1, 0 bne _080137AC @@ -7251,7 +7251,7 @@ _080137AC: pop {r0} bx r0 .align 2, 0 -_080137B4: .4byte gUnknown_2023BC8 +_080137B4: .4byte gBattleControllerExecFlags _080137B8: .4byte gActiveBattler _080137BC: .4byte gBattlersCount _080137C0: .4byte gBattleTypeFlags @@ -7263,7 +7263,7 @@ _080137CC: .4byte sub_801385C thumb_func_start sub_80137D0 sub_80137D0: @ 80137D0 push {r4,r5,lr} - ldr r0, _08013840 @ =gUnknown_2023BC8 + ldr r0, _08013840 @ =gBattleControllerExecFlags ldr r1, [r0] cmp r1, 0 bne _0801383A @@ -7320,7 +7320,7 @@ _0801383A: pop {r0} bx r0 .align 2, 0 -_08013840: .4byte gUnknown_2023BC8 +_08013840: .4byte gBattleControllerExecFlags _08013844: .4byte gActiveBattler _08013848: .4byte gBattlersCount _0801384C: .4byte gBattlerPartyIndexes @@ -7338,7 +7338,7 @@ sub_801385C: @ 801385C sub sp, 0x8 movs r0, 0 mov r9, r0 - ldr r0, _080138A0 @ =gUnknown_2023BC8 + ldr r0, _080138A0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08013874 @@ -7368,7 +7368,7 @@ _0801389A: movs r5, 0 b _080138F0 .align 2, 0 -_080138A0: .4byte gUnknown_2023BC8 +_080138A0: .4byte gBattleControllerExecFlags _080138A4: .4byte gBattleStruct _080138A8: .4byte gBattlersCount _080138AC: .4byte gUnknown_2023BDE @@ -7685,7 +7685,7 @@ _08013B18: .4byte gUnknown_2023E80 thumb_func_start sub_8013B1C sub_8013B1C: @ 8013B1C push {r4-r6,lr} - ldr r0, _08013BB4 @ =gUnknown_2023BC8 + ldr r0, _08013BB4 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08013BAC @@ -7764,7 +7764,7 @@ _08013BAC: pop {r0} bx r0 .align 2, 0 -_08013BB4: .4byte gUnknown_2023BC8 +_08013BB4: .4byte gBattleControllerExecFlags _08013BB8: .4byte gUnknown_3004F84 _08013BBC: .4byte sub_8013BD4 _08013BC0: .4byte gBattlersCount @@ -8515,7 +8515,7 @@ _080141BC: _080141D4: .4byte gUnknown_2023D7C _080141D8: .4byte gUnknown_20233C4 _080141DC: - ldr r4, _08014234 @ =gUnknown_2023BC8 + ldr r4, _08014234 @ =gBattleControllerExecFlags ldr r1, _08014238 @ =gBitTable ldr r3, _0801423C @ =gActiveBattler ldrb r5, [r3] @@ -8560,7 +8560,7 @@ _08014228: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08014234: .4byte gUnknown_2023BC8 +_08014234: .4byte gBattleControllerExecFlags _08014238: .4byte gBitTable _0801423C: .4byte gActiveBattler _08014240: .4byte gUnknown_2023D7C @@ -9162,7 +9162,7 @@ _08014750: _0801475C: .4byte gUnknown_2023E82 _08014760: .4byte gActiveBattler _08014764: - ldr r4, _080147A8 @ =gUnknown_2023BC8 + ldr r4, _080147A8 @ =gBattleControllerExecFlags ldr r1, _080147AC @ =gBitTable ldr r3, _080147B0 @ =gActiveBattler ldrb r5, [r3] @@ -9199,7 +9199,7 @@ _0801479E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080147A8: .4byte gUnknown_2023BC8 +_080147A8: .4byte gBattleControllerExecFlags _080147AC: .4byte gBitTable _080147B0: .4byte gActiveBattler _080147B4: .4byte gUnknown_2023D7C @@ -9552,7 +9552,7 @@ _08014A8C: _08014A98: .4byte gUnknown_2023E82 _08014A9C: .4byte gActiveBattler _08014AA0: - ldr r3, _08014B08 @ =gUnknown_2023BC8 + ldr r3, _08014B08 @ =gBattleControllerExecFlags ldr r4, _08014B0C @ =gBitTable ldr r0, _08014B10 @ =gActiveBattler ldrb r0, [r0] @@ -9605,7 +9605,7 @@ _08014AFE: bl EmitLinkStandbyMsg b _08014B24 .align 2, 0 -_08014B08: .4byte gUnknown_2023BC8 +_08014B08: .4byte gBattleControllerExecFlags _08014B0C: .4byte gBitTable _08014B10: .4byte gActiveBattler _08014B14: .4byte gBattleTypeFlags @@ -9632,7 +9632,7 @@ _08014B32: _08014B3C: .4byte gActiveBattler _08014B40: .4byte gUnknown_2023E82 _08014B44: - ldr r3, _08014B78 @ =gUnknown_2023BC8 + ldr r3, _08014B78 @ =gBattleControllerExecFlags ldr r1, _08014B7C @ =gBitTable ldr r0, _08014B80 @ =gActiveBattler ldrb r0, [r0] @@ -9658,7 +9658,7 @@ _08014B44: strb r0, [r1, 0x4] b _08014C4E .align 2, 0 -_08014B78: .4byte gUnknown_2023BC8 +_08014B78: .4byte gBattleControllerExecFlags _08014B7C: .4byte gBitTable _08014B80: .4byte gActiveBattler _08014B84: .4byte gUnknown_2023E82 @@ -9693,7 +9693,7 @@ _08014BB4: adds r0, r6 ldr r4, [r0] str r4, [r7] - ldr r3, _08014C14 @ =gUnknown_2023BC8 + ldr r3, _08014C14 @ =gBattleControllerExecFlags ldr r1, _08014C18 @ =gBitTable ldrb r0, [r5] lsls r0, 2 @@ -9729,11 +9729,11 @@ _08014BFA: _08014C08: .4byte sBattler_AI _08014C0C: .4byte gUnknown_2023D74 _08014C10: .4byte gUnknown_2023D80 -_08014C14: .4byte gUnknown_2023BC8 +_08014C14: .4byte gBattleControllerExecFlags _08014C18: .4byte gBitTable _08014C1C: .4byte gUnknown_825011C _08014C20: - ldr r3, _08014C88 @ =gUnknown_2023BC8 + ldr r3, _08014C88 @ =gBattleControllerExecFlags ldr r1, _08014C8C @ =gBitTable ldr r0, _08014C90 @ =gActiveBattler ldrb r4, [r0] @@ -9789,7 +9789,7 @@ _08014C78: pop {r0} bx r0 .align 2, 0 -_08014C88: .4byte gUnknown_2023BC8 +_08014C88: .4byte gBattleControllerExecFlags _08014C8C: .4byte gBitTable _08014C90: .4byte gActiveBattler _08014C94: .4byte gUnknown_2023E82 @@ -11449,7 +11449,7 @@ _080159D0: ldr r0, _080159F8 @ =sub_8015A30 str r0, [r1] ldr r1, _080159FC @ =gUnknown_300537C - ldr r0, _08015A00 @ =sub_8011100 + ldr r0, _08015A00 @ =BattleMainCB2 str r0, [r1] b _08015A1E .align 2, 0 @@ -11458,9 +11458,9 @@ _080159F0: .4byte gBattleTypeFlags _080159F4: .4byte gUnknown_3004F84 _080159F8: .4byte sub_8015A30 _080159FC: .4byte gUnknown_300537C -_08015A00: .4byte sub_8011100 +_08015A00: .4byte BattleMainCB2 _08015A04: - ldr r0, _08015A24 @ =gUnknown_2023BC8 + ldr r0, _08015A24 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08015A1E @@ -11477,7 +11477,7 @@ _08015A1E: pop {r0} bx r0 .align 2, 0 -_08015A24: .4byte gUnknown_2023BC8 +_08015A24: .4byte gBattleControllerExecFlags _08015A28: .4byte gUnknown_825011C _08015A2C: .4byte gUnknown_2023D74 thumb_func_end sub_8015910 @@ -11611,7 +11611,7 @@ sub_8015B30: @ 8015B30 push {lr} ldr r0, _08015B48 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _08015B4C @ =sub_8011100 + ldr r0, _08015B4C @ =BattleMainCB2 cmp r1, r0 bne _08015B42 ldr r1, _08015B50 @ =gUnknown_3004F84 @@ -11622,7 +11622,7 @@ _08015B42: bx r0 .align 2, 0 _08015B48: .4byte gMain -_08015B4C: .4byte sub_8011100 +_08015B4C: .4byte BattleMainCB2 _08015B50: .4byte gUnknown_3004F84 _08015B54: .4byte sub_8015AA0 thumb_func_end sub_8015B30 @@ -11664,7 +11664,7 @@ _08015B86: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r0, _08015BF8 @ =gUnknown_3004F80 + ldr r0, _08015BF8 @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r3] movs r0, 0x80 @@ -11701,7 +11701,7 @@ _08015BE8: .4byte gSpecialVar_Result _08015BEC: .4byte gBattleOutcome _08015BF0: .4byte gMain _08015BF4: .4byte 0x00000439 -_08015BF8: .4byte gUnknown_3004F80 +_08015BF8: .4byte gPreBattleCallback1 _08015BFC: .4byte gEnemyParty thumb_func_end ReturnFromBattleToOverworld @@ -11742,7 +11742,7 @@ _08015C3C: .4byte gUnknown_2023BE3 _08015C40: .4byte gBattleResources _08015C44: .4byte gUnknown_3004F84 _08015C48: - ldr r0, _08015C68 @ =gUnknown_2023BC8 + ldr r0, _08015C68 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08015C62 @@ -11758,7 +11758,7 @@ _08015C62: pop {r0} bx r0 .align 2, 0 -_08015C68: .4byte gUnknown_2023BC8 +_08015C68: .4byte gBattleControllerExecFlags _08015C6C: .4byte gUnknown_825011C _08015C70: .4byte gUnknown_2023D74 thumb_func_end RunBattleScriptCommands_PopCallbacksStack @@ -11766,7 +11766,7 @@ _08015C70: .4byte gUnknown_2023D74 thumb_func_start sub_8015C74 sub_8015C74: @ 8015C74 push {lr} - ldr r0, _08015C94 @ =gUnknown_2023BC8 + ldr r0, _08015C94 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08015C90 @@ -11782,7 +11782,7 @@ _08015C90: pop {r0} bx r0 .align 2, 0 -_08015C94: .4byte gUnknown_2023BC8 +_08015C94: .4byte gBattleControllerExecFlags _08015C98: .4byte gUnknown_825011C _08015C9C: .4byte gUnknown_2023D74 thumb_func_end sub_8015C74 @@ -12615,7 +12615,7 @@ sub_8016374: @ 8016374 strh r2, [r0] ldr r0, _080163F0 @ =gBattle_BG0_Y strh r2, [r0] - ldr r1, _080163F4 @ =gUnknown_2023FF8 + ldr r1, _080163F4 @ =gActionSelectionCursor ldrb r0, [r3] adds r0, r1 strb r2, [r0] @@ -12663,7 +12663,7 @@ _080163E4: .4byte gUnknown_2023BDE _080163E8: .4byte gUnknown_2023BE2 _080163EC: .4byte gBattle_BG0_X _080163F0: .4byte gBattle_BG0_Y -_080163F4: .4byte gUnknown_2023FF8 +_080163F4: .4byte gActionSelectionCursor _080163F8: .4byte gUnknown_2023FFC _080163FC: .4byte gBattleTextBuff1 _08016400: .4byte gBattleStruct diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s index f047db552..cf27334ca 100644 --- a/asm/battle_anim_special.s +++ b/asm/battle_anim_special.s @@ -2538,7 +2538,7 @@ _080F0008: _080F0026: cmp r1, 0x5F bne _080F004C - ldr r0, _080F0044 @ =gUnknown_2024005 + ldr r0, _080F0044 @ =gDoingBattleAnim movs r1, 0 strb r1, [r0] movs r0, 0x1 @@ -2548,7 +2548,7 @@ _080F0026: bl PlaySE b _080F0088 .align 2, 0 -_080F0044: .4byte gUnknown_2024005 +_080F0044: .4byte gDoingBattleAnim _080F0048: .4byte 0x0000013f _080F004C: ldr r0, _080F0094 @ =0x0000013b @@ -3062,7 +3062,7 @@ _080F03F0: strh r5, [r7, 0x2E] ldr r0, _080F0470 @ =sub_80F018C str r0, [r7, 0x1C] - ldr r0, _080F0474 @ =gUnknown_2024005 + ldr r0, _080F0474 @ =gDoingBattleAnim strb r6, [r0] movs r0, 0x1 bl UpdateOamPriorityInAllHealthboxes @@ -3077,7 +3077,7 @@ _080F0464: .4byte gBattlerSpriteIds _080F0468: .4byte gBattleAnimTarget _080F046C: .4byte gBattleSpritesDataPtr _080F0470: .4byte sub_80F018C -_080F0474: .4byte gUnknown_2024005 +_080F0474: .4byte gDoingBattleAnim thumb_func_end sub_80F0378 thumb_func_start sub_80F0478 @@ -3164,7 +3164,7 @@ _080F050A: strh r0, [r4, 0x2E] ldr r0, _080F0524 @ =sub_80F018C str r0, [r4, 0x1C] - ldr r1, _080F0528 @ =gUnknown_2024005 + ldr r1, _080F0528 @ =gDoingBattleAnim movs r0, 0 strb r0, [r1] movs r0, 0x1 @@ -3175,7 +3175,7 @@ _080F051E: bx r0 .align 2, 0 _080F0524: .4byte sub_80F018C -_080F0528: .4byte gUnknown_2024005 +_080F0528: .4byte gDoingBattleAnim thumb_func_end sub_80F04B4 thumb_func_start sub_80F052C @@ -3237,7 +3237,7 @@ _080F0590: strh r0, [r4, 0x2E] ldr r0, _080F05AC @ =sub_80F018C str r0, [r4, 0x1C] - ldr r0, _080F05B0 @ =gUnknown_2024005 + ldr r0, _080F05B0 @ =gDoingBattleAnim strb r1, [r0] movs r0, 0x1 bl UpdateOamPriorityInAllHealthboxes @@ -3247,7 +3247,7 @@ _080F05A4: bx r0 .align 2, 0 _080F05AC: .4byte sub_80F018C -_080F05B0: .4byte gUnknown_2024005 +_080F05B0: .4byte gDoingBattleAnim thumb_func_end sub_80F0574 thumb_func_start sub_80F05B4 diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s index a52931868..82b94cf6a 100644 --- a/asm/battle_anim_utility_funcs.s +++ b/asm/battle_anim_utility_funcs.s @@ -3488,8 +3488,8 @@ _080BC396: bx r1 thumb_func_end sub_80BC30C - thumb_func_start sub_80BC3A0 -sub_80BC3A0: @ 80BC3A0 + thumb_func_start HandleIntroSlide +HandleIntroSlide: @ 80BC3A0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -3549,7 +3549,7 @@ _080BC3E8: .align 2, 0 _080BC414: .4byte gUnknown_83E7CD4 _080BC418: .4byte gTasks - thumb_func_end sub_80BC3A0 + thumb_func_end HandleIntroSlide thumb_func_start sub_80BC41C sub_80BC41C: @ 80BC41C diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index 86712cef4..6ac812e58 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -12,7 +12,7 @@ nullsub_19: @ 803A664 thumb_func_start sub_803A668 sub_803A668: @ 803A668 - ldr r1, _0803A678 @ =gUnknown_3004FE0 + ldr r1, _0803A678 @ =gBattlerControllerFuncs ldr r0, _0803A67C @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -21,7 +21,7 @@ sub_803A668: @ 803A668 str r1, [r0] bx lr .align 2, 0 -_0803A678: .4byte gUnknown_3004FE0 +_0803A678: .4byte gBattlerControllerFuncs _0803A67C: .4byte gActiveBattler _0803A680: .4byte sub_803A684 thumb_func_end sub_803A668 @@ -29,7 +29,7 @@ _0803A680: .4byte sub_803A684 thumb_func_start sub_803A684 sub_803A684: @ 803A684 push {lr} - ldr r2, _0803A6B8 @ =gUnknown_2023BC8 + ldr r2, _0803A6B8 @ =gBattleControllerExecFlags ldr r1, _0803A6BC @ =gBitTable ldr r0, _0803A6C0 @ =gActiveBattler ldrb r3, [r0] @@ -40,7 +40,7 @@ sub_803A684: @ 803A684 ands r1, r0 cmp r1, 0 beq _0803A6D0 - ldr r0, _0803A6C4 @ =gUnknown_2022BC4 + ldr r0, _0803A6C4 @ =gBattleBufferA lsls r1, r3, 9 adds r1, r0 ldrb r0, [r1] @@ -54,10 +54,10 @@ sub_803A684: @ 803A684 bl _call_via_r0 b _0803A6D0 .align 2, 0 -_0803A6B8: .4byte gUnknown_2023BC8 +_0803A6B8: .4byte gBattleControllerExecFlags _0803A6BC: .4byte gBitTable _0803A6C0: .4byte gActiveBattler -_0803A6C4: .4byte gUnknown_2022BC4 +_0803A6C4: .4byte gBattleBufferA _0803A6C8: .4byte gUnknown_8250B20 _0803A6CC: bl RecordedOpponentBufferExecCompleted @@ -411,7 +411,7 @@ _0803A988: adds r0, r2 movs r1, 0x3 strb r1, [r0, 0x9] - ldr r1, _0803A9C4 @ =gUnknown_3004FE0 + ldr r1, _0803A9C4 @ =gBattlerControllerFuncs ldrb r0, [r3] lsls r0, 2 adds r0, r1 @@ -428,7 +428,7 @@ _0803A9B4: .4byte gMPlayInfo_BGM _0803A9B8: .4byte 0x0000ffff _0803A9BC: .4byte gBattleSpritesDataPtr _0803A9C0: .4byte gActiveBattler -_0803A9C4: .4byte gUnknown_3004FE0 +_0803A9C4: .4byte gBattlerControllerFuncs _0803A9C8: .4byte sub_803A79C thumb_func_end sub_803A7E4 @@ -683,7 +683,7 @@ _0803AB50: negs r0, r0 ands r0, r1 strb r0, [r2, 0x9] - ldr r1, _0803AC0C @ =gUnknown_3004FE0 + ldr r1, _0803AC0C @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -706,7 +706,7 @@ _0803ABFC: .4byte gBattleTypeFlags _0803AC00: .4byte gUnknown_3004FFC _0803AC04: .4byte gSprites _0803AC08: .4byte gHealthboxSpriteIds -_0803AC0C: .4byte gUnknown_3004FE0 +_0803AC0C: .4byte gBattlerControllerFuncs _0803AC10: .4byte sub_803A7E4 thumb_func_end sub_803A9CC @@ -965,7 +965,7 @@ DoHitAnimBlinkSpriteEffect_4: @ 803ADF0 subs r0, 0x5 ands r0, r1 strb r0, [r2] - ldr r0, _0803AE38 @ =gUnknown_2024005 + ldr r0, _0803AE38 @ =gDoingBattleAnim strb r3, [r0] bl RecordedOpponentBufferExecCompleted b _0803AE66 @@ -973,7 +973,7 @@ DoHitAnimBlinkSpriteEffect_4: @ 803ADF0 _0803AE2C: .4byte gBattlerSpriteIds _0803AE30: .4byte gActiveBattler _0803AE34: .4byte gSprites -_0803AE38: .4byte gUnknown_2024005 +_0803AE38: .4byte gDoingBattleAnim _0803AE3C: ldrh r0, [r4, 0x30] movs r1, 0x3 @@ -1037,7 +1037,7 @@ sub_803AE6C: @ 803AE6C movs r3, 0x6 bl InitAndLaunchSpecialAnimation _0803AEAC: - ldr r0, _0803AED4 @ =gUnknown_3004FE0 + ldr r0, _0803AED4 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -1053,7 +1053,7 @@ _0803AEC4: .4byte gHealthboxSpriteIds _0803AEC8: .4byte gActiveBattler _0803AECC: .4byte SpriteCallbackDummy _0803AED0: .4byte gBattleSpritesDataPtr -_0803AED4: .4byte gUnknown_3004FE0 +_0803AED4: .4byte gBattlerControllerFuncs _0803AED8: .4byte sub_803AEDC thumb_func_end sub_803AE6C @@ -1165,7 +1165,7 @@ sub_803AF28: @ 803AF28 bl SetHealthboxSpriteVisible ldrb r0, [r5] bl CopyBattleSpriteInvisibility - ldr r1, _0803AFF4 @ =gUnknown_3004FE0 + ldr r1, _0803AFF4 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -1184,7 +1184,7 @@ _0803AFE4: .4byte gSprites _0803AFE8: .4byte gHealthboxSpriteIds _0803AFEC: .4byte gBattlerPartyIndexes _0803AFF0: .4byte gEnemyParty -_0803AFF4: .4byte gUnknown_3004FE0 +_0803AFF4: .4byte gBattlerControllerFuncs _0803AFF8: .4byte sub_803AE6C thumb_func_end sub_803AF28 @@ -1259,7 +1259,7 @@ _0803B02E: lsrs r1, 16 adds r0, r4, 0 bl SetBattlerShadowSpriteCallback - ldr r1, _0803B0BC @ =gUnknown_3004FE0 + ldr r1, _0803B0BC @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -1277,7 +1277,7 @@ _0803B0AC: .4byte gEnemyParty _0803B0B0: .4byte gSprites _0803B0B4: .4byte gUnknown_3004FFC _0803B0B8: .4byte SpriteCallbackDummy -_0803B0BC: .4byte gUnknown_3004FE0 +_0803B0BC: .4byte gBattlerControllerFuncs _0803B0C0: .4byte sub_803AF28 thumb_func_end sub_803AFFC @@ -1337,7 +1337,7 @@ _0803B120: .4byte gActiveBattler RecordedOpponentBufferExecCompleted: @ 803B124 push {r4,lr} sub sp, 0x4 - ldr r1, _0803B164 @ =gUnknown_3004FE0 + ldr r1, _0803B164 @ =gBattlerControllerFuncs ldr r4, _0803B168 @ =gActiveBattler ldrb r0, [r4] lsls r0, 2 @@ -1357,7 +1357,7 @@ RecordedOpponentBufferExecCompleted: @ 803B124 movs r1, 0x4 mov r2, sp bl PrepareBufferDataTransferLink - ldr r1, _0803B174 @ =gUnknown_2022BC4 + ldr r1, _0803B174 @ =gBattleBufferA ldrb r0, [r4] lsls r0, 9 adds r0, r1 @@ -1365,13 +1365,13 @@ RecordedOpponentBufferExecCompleted: @ 803B124 strb r1, [r0] b _0803B18A .align 2, 0 -_0803B164: .4byte gUnknown_3004FE0 +_0803B164: .4byte gBattlerControllerFuncs _0803B168: .4byte gActiveBattler _0803B16C: .4byte sub_803A684 _0803B170: .4byte gBattleTypeFlags -_0803B174: .4byte gUnknown_2022BC4 +_0803B174: .4byte gBattleBufferA _0803B178: - ldr r2, _0803B194 @ =gUnknown_2023BC8 + ldr r2, _0803B194 @ =gBattleControllerExecFlags ldr r1, _0803B198 @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -1386,7 +1386,7 @@ _0803B18A: pop {r0} bx r0 .align 2, 0 -_0803B194: .4byte gUnknown_2023BC8 +_0803B194: .4byte gBattleControllerExecFlags _0803B198: .4byte gBitTable thumb_func_end RecordedOpponentBufferExecCompleted @@ -1395,7 +1395,7 @@ RecordedOpponentHandleGetMonData: @ 803B19C push {r4-r6,lr} sub sp, 0x100 movs r6, 0 - ldr r1, _0803B1C8 @ =gUnknown_2022BC4 + ldr r1, _0803B1C8 @ =gBattleBufferA ldr r0, _0803B1CC @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -1413,7 +1413,7 @@ RecordedOpponentHandleGetMonData: @ 803B19C adds r6, r0, 0 b _0803B1F6 .align 2, 0 -_0803B1C8: .4byte gUnknown_2022BC4 +_0803B1C8: .4byte gBattleBufferA _0803B1CC: .4byte gActiveBattler _0803B1D0: .4byte gBattlerPartyIndexes _0803B1D4: @@ -1460,7 +1460,7 @@ CopyRecordedOpponentMonData: @ 803B210 lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r2, _0803B244 @ =gUnknown_2022BC4 + ldr r2, _0803B244 @ =gBattleBufferA ldr r3, _0803B248 @ =gActiveBattler ldrb r0, [r3] lsls r0, 9 @@ -1477,7 +1477,7 @@ _0803B23A: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0803B244: .4byte gUnknown_2022BC4 +_0803B244: .4byte gBattleBufferA _0803B248: .4byte gActiveBattler _0803B24C: .4byte _0803B250 .align 2, 0 @@ -2393,7 +2393,7 @@ sub_803B9BC: @ 803B9BC thumb_func_start RecordedOpponentHandleSetMonData RecordedOpponentHandleSetMonData: @ 803B9C8 push {r4,r5,lr} - ldr r1, _0803B9EC @ =gUnknown_2022BC4 + ldr r1, _0803B9EC @ =gBattleBufferA ldr r0, _0803B9F0 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -2409,7 +2409,7 @@ RecordedOpponentHandleSetMonData: @ 803B9C8 bl SetRecordedOpponentMonData b _0803BA16 .align 2, 0 -_0803B9EC: .4byte gUnknown_2022BC4 +_0803B9EC: .4byte gBattleBufferA _0803B9F0: .4byte gActiveBattler _0803B9F4: .4byte gBattlerPartyIndexes _0803B9F8: @@ -2786,7 +2786,7 @@ _0803BD78: muls r0, r5 ldr r1, _0803BD90 @ =gEnemyParty adds r0, r1 - ldr r3, _0803BD94 @ =gUnknown_2022BC4 + ldr r3, _0803BD94 @ =gBattleBufferA ldrb r2, [r6] lsls r2, 9 adds r1, r3, 0x1 @@ -2796,7 +2796,7 @@ _0803BD78: b _0803BE16 .align 2, 0 _0803BD90: .4byte gEnemyParty -_0803BD94: .4byte gUnknown_2022BC4 +_0803BD94: .4byte gBattleBufferA _0803BD98: movs r0, 0x64 adds r4, r5, 0 @@ -2850,7 +2850,7 @@ _0803BE00: muls r0, r5 ldr r1, _0803BE20 @ =gEnemyParty adds r0, r1 - ldr r3, _0803BE24 @ =gUnknown_2022BC4 + ldr r3, _0803BE24 @ =gBattleBufferA ldrb r2, [r6] lsls r2, 9 adds r1, r3, 0x1 @@ -2864,7 +2864,7 @@ _0803BE16: b _0803C32C .align 2, 0 _0803BE20: .4byte gEnemyParty -_0803BE24: .4byte gUnknown_2022BC4 +_0803BE24: .4byte gBattleBufferA _0803BE28: movs r0, 0x64 muls r0, r5 @@ -3488,7 +3488,7 @@ RecordedOpponentHandleSetRawMonData: @ 803C340 movs r0, 0x64 adds r3, r1, 0 muls r3, r0 - ldr r4, _0803C3AC @ =gUnknown_2022BC4 + ldr r4, _0803C3AC @ =gBattleBufferA lsls r2, 9 adds r0, r4, 0x1 adds r0, r2, r0 @@ -3531,7 +3531,7 @@ _0803C398: .align 2, 0 _0803C3A4: .4byte gBattlerPartyIndexes _0803C3A8: .4byte gActiveBattler -_0803C3AC: .4byte gUnknown_2022BC4 +_0803C3AC: .4byte gBattleBufferA _0803C3B0: .4byte gEnemyParty thumb_func_end RecordedOpponentHandleSetRawMonData @@ -3660,7 +3660,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4 lsrs r1, 16 adds r0, r4, 0 bl SetBattlerShadowSpriteCallback - ldr r1, _0803C4FC @ =gUnknown_3004FE0 + ldr r1, _0803C4FC @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -3682,7 +3682,7 @@ _0803C4EC: .4byte gBattlerSpriteIds _0803C4F0: .4byte gSprites _0803C4F4: .4byte 0x0000ff10 _0803C4F8: .4byte gBattleMonForms -_0803C4FC: .4byte gUnknown_3004FE0 +_0803C4FC: .4byte gBattlerControllerFuncs _0803C500: .4byte sub_803AC14 thumb_func_end LinkOpponentHandleLoadPokeSprite @@ -3694,7 +3694,7 @@ LinkOpponentHandleSendOutPoke: @ 803C504 ldrb r0, [r4] lsls r2, r0, 1 adds r2, r1 - ldr r3, _0803C544 @ =gUnknown_2022BC4 + ldr r3, _0803C544 @ =gBattleBufferA lsls r0, 9 adds r1, r3, 0x1 adds r0, r1 @@ -3706,7 +3706,7 @@ LinkOpponentHandleSendOutPoke: @ 803C504 adds r1, r3 ldrb r1, [r1] bl sub_803C550 - ldr r1, _0803C548 @ =gUnknown_3004FE0 + ldr r1, _0803C548 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -3718,8 +3718,8 @@ LinkOpponentHandleSendOutPoke: @ 803C504 .align 2, 0 _0803C53C: .4byte gBattlerPartyIndexes _0803C540: .4byte gActiveBattler -_0803C544: .4byte gUnknown_2022BC4 -_0803C548: .4byte gUnknown_3004FE0 +_0803C544: .4byte gBattleBufferA +_0803C548: .4byte gBattlerControllerFuncs _0803C54C: .4byte sub_803AFFC thumb_func_end LinkOpponentHandleSendOutPoke @@ -3740,7 +3740,7 @@ sub_803C550: @ 803C550 ldr r0, _0803C6AC @ =gBattlerPartyIndexes lsls r4, r6, 1 adds r4, r0 - ldr r0, _0803C6B0 @ =gUnknown_2022BC4 + ldr r0, _0803C6B0 @ =gBattleBufferA lsls r1, r6, 9 adds r0, 0x1 adds r1, r0 @@ -3888,7 +3888,7 @@ sub_803C550: @ 803C550 bx r0 .align 2, 0 _0803C6AC: .4byte gBattlerPartyIndexes -_0803C6B0: .4byte gUnknown_2022BC4 +_0803C6B0: .4byte gBattleBufferA _0803C6B4: .4byte gEnemyParty _0803C6B8: .4byte sub_8033E3C _0803C6BC: .4byte gUnknown_3004FFC @@ -3902,7 +3902,7 @@ _0803C6D0: .4byte SpriteCallbackDummy thumb_func_start LinkOpponentHandleReturnPokeToBall LinkOpponentHandleReturnPokeToBall: @ 803C6D4 push {r4-r6,lr} - ldr r1, _0803C708 @ =gUnknown_2022BC4 + ldr r1, _0803C708 @ =gBattleBufferA ldr r6, _0803C70C @ =gActiveBattler ldrb r2, [r6] lsls r0, r2, 9 @@ -3919,7 +3919,7 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4 lsls r0, 2 adds r0, r1 strb r3, [r0, 0x4] - ldr r1, _0803C714 @ =gUnknown_3004FE0 + ldr r1, _0803C714 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -3927,10 +3927,10 @@ LinkOpponentHandleReturnPokeToBall: @ 803C6D4 str r1, [r0] b _0803C758 .align 2, 0 -_0803C708: .4byte gUnknown_2022BC4 +_0803C708: .4byte gBattleBufferA _0803C70C: .4byte gActiveBattler _0803C710: .4byte gBattleSpritesDataPtr -_0803C714: .4byte gUnknown_3004FE0 +_0803C714: .4byte gBattlerControllerFuncs _0803C718: .4byte sub_803C76C _0803C71C: ldr r5, _0803C760 @ =gBattlerSpriteIds @@ -4027,7 +4027,7 @@ _0803C7C2: adds r1, r2, 0 movs r3, 0x2 bl InitAndLaunchSpecialAnimation - ldr r1, _0803C7F0 @ =gUnknown_3004FE0 + ldr r1, _0803C7F0 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4038,7 +4038,7 @@ _0803C7EA: pop {r0} bx r0 .align 2, 0 -_0803C7F0: .4byte gUnknown_3004FE0 +_0803C7F0: .4byte gBattlerControllerFuncs _0803C7F4: .4byte sub_803AD64 thumb_func_end sub_803C76C @@ -4374,7 +4374,7 @@ _0803C992: adds r0, r4 ldr r1, _0803CAF4 @ =sub_8033EEC str r1, [r0] - ldr r1, _0803CAF8 @ =gUnknown_3004FE0 + ldr r1, _0803CAF8 @ =gBattlerControllerFuncs mov r2, r8 ldrb r0, [r2] lsls r0, 2 @@ -4400,7 +4400,7 @@ _0803CAE8: .4byte gTrainerFrontPicTable _0803CAEC: .4byte 0x000003ff _0803CAF0: .4byte 0xfffffc00 _0803CAF4: .4byte sub_8033EEC -_0803CAF8: .4byte gUnknown_3004FE0 +_0803CAF8: .4byte gBattlerControllerFuncs _0803CAFC: .4byte sub_803A6D4 thumb_func_end sub_803C7F8 @@ -4474,7 +4474,7 @@ sub_803CB0C: @ 803CB0C adds r0, r5 ldr r1, _0803CBAC @ =SpriteCallbackDummy bl StoreSpriteCallbackInData6 - ldr r1, _0803CBB0 @ =gUnknown_3004FE0 + ldr r1, _0803CBB0 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -4489,7 +4489,7 @@ _0803CBA0: .4byte gActiveBattler _0803CBA4: .4byte gSprites _0803CBA8: .4byte sub_8075590 _0803CBAC: .4byte SpriteCallbackDummy -_0803CBB0: .4byte gUnknown_3004FE0 +_0803CBB0: .4byte gBattlerControllerFuncs _0803CBB4: .4byte sub_803A70C thumb_func_end sub_803CB0C @@ -4559,7 +4559,7 @@ _0803CC0C: adds r0, r2 ldr r1, _0803CC58 @ =sub_8011EA0 str r1, [r0] - ldr r1, _0803CC5C @ =gUnknown_3004FE0 + ldr r1, _0803CC5C @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4573,7 +4573,7 @@ _0803CC48: _0803CC50: .4byte gSprites _0803CC54: .4byte gBattlerSpriteIds _0803CC58: .4byte sub_8011EA0 -_0803CC5C: .4byte gUnknown_3004FE0 +_0803CC5C: .4byte gBattlerControllerFuncs _0803CC60: .4byte sub_803AD20 thumb_func_end sub_803CBB8 @@ -4620,7 +4620,7 @@ RecordedOpponentHandleMoveAnimation: @ 803CC94 beq _0803CCA6 b _0803CDBA _0803CCA6: - ldr r0, _0803CD7C @ =gUnknown_2022BC4 + ldr r0, _0803CD7C @ =gBattleBufferA mov r12, r0 ldrb r2, [r6] lsls r2, 9 @@ -4724,7 +4724,7 @@ _0803CCA6: b _0803CDBA .align 2, 0 _0803CD78: .4byte gActiveBattler -_0803CD7C: .4byte gUnknown_2022BC4 +_0803CD7C: .4byte gBattleBufferA _0803CD80: .4byte gAnimMoveTurn _0803CD84: .4byte gAnimMovePower _0803CD88: .4byte gAnimMoveDmg @@ -4742,7 +4742,7 @@ _0803CD9C: lsls r0, 2 adds r0, r2 strb r3, [r0, 0x4] - ldr r1, _0803CDC4 @ =gUnknown_3004FE0 + ldr r1, _0803CDC4 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -4754,7 +4754,7 @@ _0803CDBA: bx r0 .align 2, 0 _0803CDC0: .4byte gBattleSpritesDataPtr -_0803CDC4: .4byte gUnknown_3004FE0 +_0803CDC4: .4byte gBattlerControllerFuncs _0803CDC8: .4byte RecordedOpponentDoMoveAnimation thumb_func_end RecordedOpponentHandleMoveAnimation @@ -4765,7 +4765,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC mov r6, r9 mov r5, r8 push {r5-r7} - ldr r2, _0803CE18 @ =gUnknown_2022BC4 + ldr r2, _0803CE18 @ =gBattleBufferA ldr r6, _0803CE1C @ =gActiveBattler ldrb r3, [r6] lsls r1, r3, 9 @@ -4799,7 +4799,7 @@ RecordedOpponentDoMoveAnimation: @ 803CDCC beq _0803CE2E b _0803CF40 .align 2, 0 -_0803CE18: .4byte gUnknown_2022BC4 +_0803CE18: .4byte gBattleBufferA _0803CE1C: .4byte gActiveBattler _0803CE20: .4byte gBattleSpritesDataPtr _0803CE24: @@ -4963,7 +4963,7 @@ sub_803CF50: @ 803CF50 ldr r0, _0803CF90 @ =gUnknown_2022BC6 adds r4, r0 ldrh r0, [r4] - bl sub_80D7274 + bl BufferStringBattle ldrh r0, [r4] bl sub_80D89B0 lsls r0, 24 @@ -4971,7 +4971,7 @@ sub_803CF50: @ 803CF50 beq _0803CF98 ldr r0, _0803CF94 @ =gDisplayedStringBattle movs r1, 0x40 - bl sub_80D87BC + bl BattlePutTextOnWindow b _0803CFA0 .align 2, 0 _0803CF84: .4byte gBattle_BG0_X @@ -4982,9 +4982,9 @@ _0803CF94: .4byte gDisplayedStringBattle _0803CF98: ldr r0, _0803CFB4 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow _0803CFA0: - ldr r1, _0803CFB8 @ =gUnknown_3004FE0 + ldr r1, _0803CFB8 @ =gBattlerControllerFuncs ldr r0, _0803CFBC @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -4996,7 +4996,7 @@ _0803CFA0: bx r0 .align 2, 0 _0803CFB4: .4byte gDisplayedStringBattle -_0803CFB8: .4byte gUnknown_3004FE0 +_0803CFB8: .4byte gBattlerControllerFuncs _0803CFBC: .4byte gActiveBattler _0803CFC0: .4byte CompleteOnInactiveTextPrinter_5 thumb_func_end sub_803CF50 @@ -5066,7 +5066,7 @@ sub_803D018: @ 803D018 sub sp, 0x4 movs r0, 0 bl LoadBattleBarGfx - ldr r3, _0803D090 @ =gUnknown_2022BC4 + ldr r3, _0803D090 @ =gBattleBufferA ldr r0, _0803D094 @ =gActiveBattler mov r9, r0 ldrb r4, [r0] @@ -5115,7 +5115,7 @@ sub_803D018: @ 803D018 bl SetBattleBarStruct b _0803D0D2 .align 2, 0 -_0803D090: .4byte gUnknown_2022BC4 +_0803D090: .4byte gBattleBufferA _0803D094: .4byte gActiveBattler _0803D098: .4byte 0x00007fff _0803D09C: .4byte gBattlerPartyIndexes @@ -5142,7 +5142,7 @@ _0803D0A8: movs r3, 0 bl SetBattleBarStruct _0803D0D2: - ldr r1, _0803D0FC @ =gUnknown_3004FE0 + ldr r1, _0803D0FC @ =gBattlerControllerFuncs ldr r0, _0803D100 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5160,7 +5160,7 @@ _0803D0D2: _0803D0F0: .4byte gBattlerPartyIndexes _0803D0F4: .4byte gEnemyParty _0803D0F8: .4byte gHealthboxSpriteIds -_0803D0FC: .4byte gUnknown_3004FE0 +_0803D0FC: .4byte gBattlerControllerFuncs _0803D100: .4byte gActiveBattler _0803D104: .4byte CompleteOnHealthbarDone_4 thumb_func_end sub_803D018 @@ -5209,7 +5209,7 @@ sub_803D114: @ 803D114 negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r1, _0803D184 @ =gUnknown_3004FE0 + ldr r1, _0803D184 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5225,7 +5225,7 @@ _0803D174: .4byte gHealthboxSpriteIds _0803D178: .4byte gBattlerPartyIndexes _0803D17C: .4byte gEnemyParty _0803D180: .4byte gBattleSpritesDataPtr -_0803D184: .4byte gUnknown_3004FE0 +_0803D184: .4byte gBattlerControllerFuncs _0803D188: .4byte CompleteOnFinishedStatusAnimation_5 thumb_func_end sub_803D114 @@ -5238,7 +5238,7 @@ sub_803D18C: @ 803D18C lsls r0, 24 cmp r0, 0 bne _0803D1DC - ldr r4, _0803D1E8 @ =gUnknown_2022BC4 + ldr r4, _0803D1E8 @ =gBattleBufferA ldrb r3, [r5] lsls r3, 9 adds r0, r4, 0x1 @@ -5263,7 +5263,7 @@ sub_803D18C: @ 803D18C lsls r2, 24 orrs r1, r2 bl InitAndLaunchChosenStatusAnimation - ldr r1, _0803D1EC @ =gUnknown_3004FE0 + ldr r1, _0803D1EC @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -5275,8 +5275,8 @@ _0803D1DC: bx r0 .align 2, 0 _0803D1E4: .4byte gActiveBattler -_0803D1E8: .4byte gUnknown_2022BC4 -_0803D1EC: .4byte gUnknown_3004FE0 +_0803D1E8: .4byte gBattleBufferA +_0803D1EC: .4byte gBattlerControllerFuncs _0803D1F0: .4byte CompleteOnFinishedStatusAnimation_5 thumb_func_end sub_803D18C @@ -5372,7 +5372,7 @@ _0803D278: .4byte gUnknown_2022870 RecordedOpponentHandleCmd38: @ 803D27C push {lr} ldr r3, _0803D2A8 @ =gUnknown_2022870 - ldr r1, _0803D2AC @ =gUnknown_2022BC4 + ldr r1, _0803D2AC @ =gBattleBufferA ldr r0, _0803D2B0 @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -5392,7 +5392,7 @@ RecordedOpponentHandleCmd38: @ 803D27C bx r0 .align 2, 0 _0803D2A8: .4byte gUnknown_2022870 -_0803D2AC: .4byte gUnknown_2022BC4 +_0803D2AC: .4byte gBattleBufferA _0803D2B0: .4byte gActiveBattler thumb_func_end RecordedOpponentHandleCmd38 @@ -5458,7 +5458,7 @@ _0803D31C: .4byte gSprites _0803D320: .4byte gBattlerSpriteIds _0803D324: .4byte gActiveBattler _0803D328: - ldr r1, _0803D358 @ =gUnknown_2024005 + ldr r1, _0803D358 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r0, [r4] @@ -5472,7 +5472,7 @@ _0803D328: strh r1, [r0, 0x30] ldrb r0, [r4] bl DoHitAnimHealthboxEffect - ldr r1, _0803D35C @ =gUnknown_3004FE0 + ldr r1, _0803D35C @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5483,8 +5483,8 @@ _0803D352: pop {r0} bx r0 .align 2, 0 -_0803D358: .4byte gUnknown_2024005 -_0803D35C: .4byte gUnknown_3004FE0 +_0803D358: .4byte gDoingBattleAnim +_0803D35C: .4byte gBattlerControllerFuncs _0803D360: .4byte DoHitAnimBlinkSpriteEffect_4 thumb_func_end RecordedOpponentHandleHitAnimation @@ -5508,7 +5508,7 @@ RecordedOpponentHandlePlaySE: @ 803D370 bne _0803D384 movs r3, 0xC0 _0803D384: - ldr r2, _0803D3B0 @ =gUnknown_2022BC4 + ldr r2, _0803D3B0 @ =gBattleBufferA ldrb r1, [r4] lsls r1, 9 adds r0, r2, 0x1 @@ -5528,13 +5528,13 @@ _0803D384: bx r0 .align 2, 0 _0803D3AC: .4byte gActiveBattler -_0803D3B0: .4byte gUnknown_2022BC4 +_0803D3B0: .4byte gBattleBufferA thumb_func_end RecordedOpponentHandlePlaySE thumb_func_start LinkOpponentHandlecmd44 LinkOpponentHandlecmd44: @ 803D3B4 push {lr} - ldr r2, _0803D3DC @ =gUnknown_2022BC4 + ldr r2, _0803D3DC @ =gBattleBufferA ldr r0, _0803D3E0 @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -5551,7 +5551,7 @@ LinkOpponentHandlecmd44: @ 803D3B4 pop {r0} bx r0 .align 2, 0 -_0803D3DC: .4byte gUnknown_2022BC4 +_0803D3DC: .4byte gBattleBufferA _0803D3E0: .4byte gActiveBattler thumb_func_end LinkOpponentHandlecmd44 @@ -5587,14 +5587,14 @@ _0803D41C: .4byte gEnemyParty thumb_func_start RecordedOpponentHandleIntroSlide RecordedOpponentHandleIntroSlide: @ 803D420 push {lr} - ldr r1, _0803D448 @ =gUnknown_2022BC4 + ldr r1, _0803D448 @ =gBattleBufferA ldr r0, _0803D44C @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 adds r1, 0x1 adds r0, r1 ldrb r0, [r0] - bl sub_80BC3A0 + bl HandleIntroSlide ldr r2, _0803D450 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 @@ -5604,7 +5604,7 @@ RecordedOpponentHandleIntroSlide: @ 803D420 pop {r0} bx r0 .align 2, 0 -_0803D448: .4byte gUnknown_2022BC4 +_0803D448: .4byte gBattleBufferA _0803D44C: .4byte gActiveBattler _0803D450: .4byte gIntroSlideFlags thumb_func_end RecordedOpponentHandleIntroSlide @@ -5712,7 +5712,7 @@ _0803D516: movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x9] - ldr r1, _0803D55C @ =gUnknown_3004FE0 + ldr r1, _0803D55C @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -5732,7 +5732,7 @@ _0803D54C: .4byte gTasks _0803D550: .4byte gBattleSpritesDataPtr _0803D554: .4byte gUnknown_2024000 _0803D558: .4byte sub_80491B0 -_0803D55C: .4byte gUnknown_3004FE0 +_0803D55C: .4byte gBattlerControllerFuncs _0803D560: .4byte nullsub_19 thumb_func_end sub_803D454 @@ -5767,7 +5767,7 @@ sub_803D564: @ 803D564 cmp r0, 0 beq _0803D5D0 _0803D59E: - ldr r0, _0803D5C8 @ =gUnknown_2022BC4 + ldr r0, _0803D5C8 @ =gBattleBufferA ldrb r1, [r7] lsls r2, r1, 9 adds r0, 0x1 @@ -5785,10 +5785,10 @@ _0803D59E: _0803D5BC: .4byte gActiveBattler _0803D5C0: .4byte gTasks _0803D5C4: .4byte gBattleTypeFlags -_0803D5C8: .4byte gUnknown_2022BC4 +_0803D5C8: .4byte gBattleBufferA _0803D5CC: .4byte gBattlerPartyIndexes _0803D5D0: - ldr r4, _0803D634 @ =gUnknown_2022BC4 + ldr r4, _0803D634 @ =gBattleBufferA ldrb r0, [r7] lsls r1, r0, 9 adds r4, 0x1 @@ -5819,7 +5819,7 @@ _0803D5D0: eors r0, r5 strb r0, [r7] _0803D610: - ldr r1, _0803D63C @ =gUnknown_3004FE0 + ldr r1, _0803D63C @ =gBattlerControllerFuncs ldr r2, _0803D640 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -5837,9 +5837,9 @@ _0803D610: pop {r0} bx r0 .align 2, 0 -_0803D634: .4byte gUnknown_2022BC4 +_0803D634: .4byte gBattleBufferA _0803D638: .4byte gBattlerPartyIndexes -_0803D63C: .4byte gUnknown_3004FE0 +_0803D63C: .4byte gBattlerControllerFuncs _0803D640: .4byte gActiveBattler _0803D644: .4byte sub_803A9CC thumb_func_end sub_803D564 @@ -5873,7 +5873,7 @@ _0803D678: .4byte 0xfffffc00 thumb_func_start RecordedOpponentHandleDrawPartyStatusSummary RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C push {r4-r7,lr} - ldr r1, _0803D6A4 @ =gUnknown_2022BC4 + ldr r1, _0803D6A4 @ =gBattleBufferA ldr r0, _0803D6A8 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -5890,7 +5890,7 @@ RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C bl RecordedOpponentBufferExecCompleted b _0803D776 .align 2, 0 -_0803D6A4: .4byte gUnknown_2022BC4 +_0803D6A4: .4byte gBattleBufferA _0803D6A8: .4byte gActiveBattler _0803D6AC: ldr r4, _0803D704 @ =gBattleSpritesDataPtr @@ -5906,7 +5906,7 @@ _0803D6AC: movs r2, 0x1 orrs r1, r2 strb r1, [r0] - ldr r1, _0803D70C @ =gUnknown_2022BC4 + ldr r1, _0803D70C @ =gBattleBufferA ldrb r2, [r3] lsls r0, r2, 9 adds r1, 0x2 @@ -5939,7 +5939,7 @@ _0803D6AC: .align 2, 0 _0803D704: .4byte gBattleSpritesDataPtr _0803D708: .4byte gActiveBattler -_0803D70C: .4byte gUnknown_2022BC4 +_0803D70C: .4byte gBattleBufferA _0803D710: movs r0, 0x3F negs r0, r0 @@ -5987,7 +5987,7 @@ _0803D718: movs r1, 0x5D strb r1, [r0, 0x5] _0803D76A: - ldr r0, _0803D788 @ =gUnknown_3004FE0 + ldr r0, _0803D788 @ =gBattlerControllerFuncs ldrb r1, [r7] lsls r1, 2 adds r1, r0 @@ -6001,7 +6001,7 @@ _0803D776: _0803D77C: .4byte gUnknown_2022BC8 _0803D780: .4byte gUnknown_2024000 _0803D784: .4byte gBattleSpritesDataPtr -_0803D788: .4byte gUnknown_3004FE0 +_0803D788: .4byte gBattlerControllerFuncs _0803D78C: .4byte sub_803D790 thumb_func_end RecordedOpponentHandleDrawPartyStatusSummary @@ -6108,7 +6108,7 @@ RecordedOpponentHandleSpriteInvisibility: @ 803D834 adds r2, r0 lsls r2, 2 adds r2, r3 - ldr r0, _0803D890 @ =gUnknown_2022BC4 + ldr r0, _0803D890 @ =gBattleBufferA lsls r1, 9 adds r0, 0x1 adds r1, r0 @@ -6134,7 +6134,7 @@ _0803D87A: _0803D884: .4byte gActiveBattler _0803D888: .4byte gSprites _0803D88C: .4byte gBattlerSpriteIds -_0803D890: .4byte gUnknown_2022BC4 +_0803D890: .4byte gBattleBufferA thumb_func_end RecordedOpponentHandleSpriteInvisibility thumb_func_start RecordedOpponentHandleBattleAnimation @@ -6147,7 +6147,7 @@ RecordedOpponentHandleBattleAnimation: @ 803D894 lsls r0, 24 cmp r0, 0 bne _0803D8EC - ldr r5, _0803D8DC @ =gUnknown_2022BC4 + ldr r5, _0803D8DC @ =gBattleBufferA ldrb r2, [r6] lsls r1, r2, 9 adds r0, r5, 0x1 @@ -6172,9 +6172,9 @@ RecordedOpponentHandleBattleAnimation: @ 803D894 b _0803D8EC .align 2, 0 _0803D8D8: .4byte gActiveBattler -_0803D8DC: .4byte gUnknown_2022BC4 +_0803D8DC: .4byte gBattleBufferA _0803D8E0: - ldr r0, _0803D8F4 @ =gUnknown_3004FE0 + ldr r0, _0803D8F4 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -6186,7 +6186,7 @@ _0803D8EC: pop {r0} bx r0 .align 2, 0 -_0803D8F4: .4byte gUnknown_3004FE0 +_0803D8F4: .4byte gBattlerControllerFuncs _0803D8F8: .4byte CompleteOnFinishedBattleAnimation_5 thumb_func_end RecordedOpponentHandleBattleAnimation @@ -6209,7 +6209,7 @@ sub_803D908: @ 803D908 thumb_func_start RecordedOpponentHandleCmd55 RecordedOpponentHandleCmd55: @ 803D914 push {lr} - ldr r1, _0803D930 @ =gUnknown_2022BC4 + ldr r1, _0803D930 @ =gBattleBufferA ldr r0, _0803D934 @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -6222,7 +6222,7 @@ RecordedOpponentHandleCmd55: @ 803D914 strb r2, [r0] b _0803D944 .align 2, 0 -_0803D930: .4byte gUnknown_2022BC4 +_0803D930: .4byte gBattleBufferA _0803D934: .4byte gActiveBattler _0803D938: .4byte gBattleOutcome _0803D93C: @@ -6236,7 +6236,7 @@ _0803D944: movs r0, 0x3 bl BeginFastPaletteFade bl RecordedOpponentBufferExecCompleted - ldr r1, _0803D96C @ =gUnknown_3004FE0 + ldr r1, _0803D96C @ =gBattlerControllerFuncs ldr r0, _0803D970 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -6247,7 +6247,7 @@ _0803D944: bx r0 .align 2, 0 _0803D968: .4byte gBattleOutcome -_0803D96C: .4byte gUnknown_3004FE0 +_0803D96C: .4byte gBattlerControllerFuncs _0803D970: .4byte gActiveBattler _0803D974: .4byte sub_802F6A8 thumb_func_end RecordedOpponentHandleCmd55 diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index f8a83d85e..c2dc58efd 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -12,7 +12,7 @@ nullsub_77: @ 80D4200 thumb_func_start sub_80D4204 sub_80D4204: @ 80D4204 - ldr r1, _080D4214 @ =gUnknown_3004FE0 + ldr r1, _080D4214 @ =gBattlerControllerFuncs ldr r0, _080D4218 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -21,7 +21,7 @@ sub_80D4204: @ 80D4204 str r1, [r0] bx lr .align 2, 0 -_080D4214: .4byte gUnknown_3004FE0 +_080D4214: .4byte gBattlerControllerFuncs _080D4218: .4byte gActiveBattler _080D421C: .4byte LinkPartnerBufferRunCommand thumb_func_end sub_80D4204 @@ -29,7 +29,7 @@ _080D421C: .4byte LinkPartnerBufferRunCommand thumb_func_start LinkPartnerBufferRunCommand LinkPartnerBufferRunCommand: @ 80D4220 push {lr} - ldr r2, _080D4254 @ =gUnknown_2023BC8 + ldr r2, _080D4254 @ =gBattleControllerExecFlags ldr r1, _080D4258 @ =gBitTable ldr r0, _080D425C @ =gActiveBattler ldrb r3, [r0] @@ -40,7 +40,7 @@ LinkPartnerBufferRunCommand: @ 80D4220 ands r1, r0 cmp r1, 0 beq _080D426C - ldr r0, _080D4260 @ =gUnknown_2022BC4 + ldr r0, _080D4260 @ =gBattleBufferA lsls r1, r3, 9 adds r1, r0 ldrb r0, [r1] @@ -54,10 +54,10 @@ LinkPartnerBufferRunCommand: @ 80D4220 bl _call_via_r0 b _080D426C .align 2, 0 -_080D4254: .4byte gUnknown_2023BC8 +_080D4254: .4byte gBattleControllerExecFlags _080D4258: .4byte gBitTable _080D425C: .4byte gActiveBattler -_080D4260: .4byte gUnknown_2022BC4 +_080D4260: .4byte gBattleBufferA _080D4264: .4byte gUnknown_83FB134 _080D4268: bl sub_80D49E8 @@ -273,7 +273,7 @@ _080D43F4: adds r0, r2 movs r1, 0x3 strb r1, [r0, 0x9] - ldr r1, _080D4434 @ =gUnknown_3004FE0 + ldr r1, _080D4434 @ =gBattlerControllerFuncs ldrb r0, [r3] lsls r0, 2 adds r0, r1 @@ -289,7 +289,7 @@ _080D4424: .4byte gHealthboxSpriteIds _080D4428: .4byte gActiveBattler _080D442C: .4byte SpriteCallbackDummy _080D4430: .4byte gBattleSpritesDataPtr -_080D4434: .4byte gUnknown_3004FE0 +_080D4434: .4byte gBattlerControllerFuncs _080D4438: .4byte sub_80D4310 thumb_func_end sub_80D4358 @@ -429,7 +429,7 @@ _080D4500: negs r0, r0 ands r0, r1 strb r0, [r2, 0x9] - ldr r1, _080D4588 @ =gUnknown_3004FE0 + ldr r1, _080D4588 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -448,7 +448,7 @@ _080D4578: .4byte gSprites _080D457C: .4byte gHealthboxSpriteIds _080D4580: .4byte gBattlerPartyIndexes _080D4584: .4byte gPlayerParty -_080D4588: .4byte gUnknown_3004FE0 +_080D4588: .4byte gBattlerControllerFuncs _080D458C: .4byte sub_80D4358 thumb_func_end sub_80D443C @@ -680,7 +680,7 @@ sub_80D4730: @ 80D4730 subs r0, 0x5 ands r0, r1 strb r0, [r2] - ldr r0, _080D4778 @ =gUnknown_2024005 + ldr r0, _080D4778 @ =gDoingBattleAnim strb r3, [r0] bl sub_80D49E8 b _080D47A6 @@ -688,7 +688,7 @@ sub_80D4730: @ 80D4730 _080D476C: .4byte gBattlerSpriteIds _080D4770: .4byte gActiveBattler _080D4774: .4byte gSprites -_080D4778: .4byte gUnknown_2024005 +_080D4778: .4byte gDoingBattleAnim _080D477C: ldrh r0, [r4, 0x30] movs r1, 0x3 @@ -752,7 +752,7 @@ sub_80D47AC: @ 80D47AC movs r3, 0x6 bl InitAndLaunchSpecialAnimation _080D47EC: - ldr r0, _080D4814 @ =gUnknown_3004FE0 + ldr r0, _080D4814 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -768,7 +768,7 @@ _080D4804: .4byte gHealthboxSpriteIds _080D4808: .4byte gActiveBattler _080D480C: .4byte SpriteCallbackDummy _080D4810: .4byte gBattleSpritesDataPtr -_080D4814: .4byte gUnknown_3004FE0 +_080D4814: .4byte gBattlerControllerFuncs _080D4818: .4byte sub_80D481C thumb_func_end sub_80D47AC @@ -882,7 +882,7 @@ sub_80D484C: @ 80D484C bl SetHealthboxSpriteVisible ldrb r0, [r7] bl CopyBattleSpriteInvisibility - ldr r1, _080D493C @ =gUnknown_3004FE0 + ldr r1, _080D493C @ =gBattlerControllerFuncs ldrb r0, [r7] lsls r0, 2 adds r0, r1 @@ -904,7 +904,7 @@ _080D492C: .4byte gPlayerParty _080D4930: .4byte gBattlerSpriteIds _080D4934: .4byte gSprites _080D4938: .4byte gHealthboxSpriteIds -_080D493C: .4byte gUnknown_3004FE0 +_080D493C: .4byte gBattlerControllerFuncs _080D4940: .4byte sub_80D47AC thumb_func_end sub_80D484C @@ -963,7 +963,7 @@ _080D4976: bne _080D49BC adds r0, r3, r5 bl DestroySprite - ldr r1, _080D49E0 @ =gUnknown_3004FE0 + ldr r1, _080D49E0 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -981,7 +981,7 @@ _080D49D0: .4byte gPlayerParty _080D49D4: .4byte gSprites _080D49D8: .4byte gUnknown_3004FFC _080D49DC: .4byte SpriteCallbackDummy -_080D49E0: .4byte gUnknown_3004FE0 +_080D49E0: .4byte gBattlerControllerFuncs _080D49E4: .4byte sub_80D484C thumb_func_end sub_80D4944 @@ -989,7 +989,7 @@ _080D49E4: .4byte sub_80D484C sub_80D49E8: @ 80D49E8 push {r4,lr} sub sp, 0x4 - ldr r1, _080D4A28 @ =gUnknown_3004FE0 + ldr r1, _080D4A28 @ =gBattlerControllerFuncs ldr r4, _080D4A2C @ =gActiveBattler ldrb r0, [r4] lsls r0, 2 @@ -1009,7 +1009,7 @@ sub_80D49E8: @ 80D49E8 movs r1, 0x4 mov r2, sp bl PrepareBufferDataTransferLink - ldr r1, _080D4A38 @ =gUnknown_2022BC4 + ldr r1, _080D4A38 @ =gBattleBufferA ldrb r0, [r4] lsls r0, 9 adds r0, r1 @@ -1017,13 +1017,13 @@ sub_80D49E8: @ 80D49E8 strb r1, [r0] b _080D4A4E .align 2, 0 -_080D4A28: .4byte gUnknown_3004FE0 +_080D4A28: .4byte gBattlerControllerFuncs _080D4A2C: .4byte gActiveBattler _080D4A30: .4byte LinkPartnerBufferRunCommand _080D4A34: .4byte gBattleTypeFlags -_080D4A38: .4byte gUnknown_2022BC4 +_080D4A38: .4byte gBattleBufferA _080D4A3C: - ldr r2, _080D4A58 @ =gUnknown_2023BC8 + ldr r2, _080D4A58 @ =gBattleControllerExecFlags ldr r1, _080D4A5C @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -1038,7 +1038,7 @@ _080D4A4E: pop {r0} bx r0 .align 2, 0 -_080D4A58: .4byte gUnknown_2023BC8 +_080D4A58: .4byte gBattleControllerExecFlags _080D4A5C: .4byte gBitTable thumb_func_end sub_80D49E8 @@ -1099,7 +1099,7 @@ LinkPartnerHandleGetAttributes: @ 80D4AC0 push {r4-r6,lr} sub sp, 0x100 movs r6, 0 - ldr r1, _080D4AEC @ =gUnknown_2022BC4 + ldr r1, _080D4AEC @ =gBattleBufferA ldr r0, _080D4AF0 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -1117,7 +1117,7 @@ LinkPartnerHandleGetAttributes: @ 80D4AC0 adds r6, r0, 0 b _080D4B1A .align 2, 0 -_080D4AEC: .4byte gUnknown_2022BC4 +_080D4AEC: .4byte gBattleBufferA _080D4AF0: .4byte gActiveBattler _080D4AF4: .4byte gBattlerPartyIndexes _080D4AF8: @@ -1164,7 +1164,7 @@ dp01_getattr_by_ch1_for_player_pokemon: @ 80D4B34 lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r2, _080D4B68 @ =gUnknown_2022BC4 + ldr r2, _080D4B68 @ =gBattleBufferA ldr r3, _080D4B6C @ =gActiveBattler ldrb r0, [r3] lsls r0, 9 @@ -1181,7 +1181,7 @@ _080D4B5E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080D4B68: .4byte gUnknown_2022BC4 +_080D4B68: .4byte gBattleBufferA _080D4B6C: .4byte gActiveBattler _080D4B70: .4byte _080D4B74 .align 2, 0 @@ -2097,7 +2097,7 @@ sub_80D52E0: @ 80D52E0 thumb_func_start LinkPartnerHandleSetAttributes LinkPartnerHandleSetAttributes: @ 80D52EC push {r4,r5,lr} - ldr r1, _080D5310 @ =gUnknown_2022BC4 + ldr r1, _080D5310 @ =gBattleBufferA ldr r0, _080D5314 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -2113,7 +2113,7 @@ LinkPartnerHandleSetAttributes: @ 80D52EC bl sub_80D5344 b _080D533A .align 2, 0 -_080D5310: .4byte gUnknown_2022BC4 +_080D5310: .4byte gBattleBufferA _080D5314: .4byte gActiveBattler _080D5318: .4byte gBattlerPartyIndexes _080D531C: @@ -2494,7 +2494,7 @@ _080D56A8: muls r0, r5 ldr r1, _080D56C4 @ =gPlayerParty adds r0, r1 - ldr r3, _080D56C8 @ =gUnknown_2022BC4 + ldr r3, _080D56C8 @ =gBattleBufferA ldr r1, _080D56CC @ =gActiveBattler ldrb r2, [r1] lsls r2, 9 @@ -2505,7 +2505,7 @@ _080D56A8: b _080D574C .align 2, 0 _080D56C4: .4byte gPlayerParty -_080D56C8: .4byte gUnknown_2022BC4 +_080D56C8: .4byte gBattleBufferA _080D56CC: .4byte gActiveBattler _080D56D0: movs r0, 0x64 @@ -2557,7 +2557,7 @@ _080D5734: muls r0, r5 ldr r1, _080D5758 @ =gPlayerParty adds r0, r1 - ldr r3, _080D575C @ =gUnknown_2022BC4 + ldr r3, _080D575C @ =gBattleBufferA ldr r1, _080D5760 @ =gActiveBattler ldrb r2, [r1] lsls r2, 9 @@ -2572,7 +2572,7 @@ _080D574C: b _080D5D0A .align 2, 0 _080D5758: .4byte gPlayerParty -_080D575C: .4byte gUnknown_2022BC4 +_080D575C: .4byte gBattleBufferA _080D5760: .4byte gActiveBattler _080D5764: movs r0, 0x64 @@ -3289,7 +3289,7 @@ LinkPartnerHandlecmd3: @ 80D5D40 movs r0, 0x64 adds r3, r1, 0 muls r3, r0 - ldr r4, _080D5DAC @ =gUnknown_2022BC4 + ldr r4, _080D5DAC @ =gBattleBufferA lsls r2, 9 adds r0, r4, 0x1 adds r0, r2, r0 @@ -3332,7 +3332,7 @@ _080D5D98: .align 2, 0 _080D5DA4: .4byte gBattlerPartyIndexes _080D5DA8: .4byte gActiveBattler -_080D5DAC: .4byte gUnknown_2022BC4 +_080D5DAC: .4byte gBattleBufferA _080D5DB0: .4byte gPlayerParty thumb_func_end LinkPartnerHandlecmd3 @@ -3439,7 +3439,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 adds r2, r1 ldrb r1, [r2] bl StartSpriteAnim - ldr r1, _080D5EC8 @ =gUnknown_3004FE0 + ldr r1, _080D5EC8 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -3459,7 +3459,7 @@ _080D5EB8: .4byte gBattlerSpriteIds _080D5EBC: .4byte gSprites _080D5EC0: .4byte 0x0000ff10 _080D5EC4: .4byte gBattleMonForms -_080D5EC8: .4byte gUnknown_3004FE0 +_080D5EC8: .4byte gBattlerControllerFuncs _080D5ECC: .4byte sub_80D4590 thumb_func_end LinkPartnerHandleLoadPokeSprite @@ -3468,7 +3468,7 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0 push {r4-r6,lr} ldr r5, _080D5F28 @ =gActiveBattler ldrb r0, [r5] - ldr r4, _080D5F2C @ =gUnknown_2022BC4 + ldr r4, _080D5F2C @ =gBattleBufferA lsls r1, r0, 9 adds r6, r4, 0x2 adds r1, r6 @@ -3497,7 +3497,7 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0 adds r1, r6 ldrb r1, [r1] bl sub_80D5F40 - ldr r1, _080D5F38 @ =gUnknown_3004FE0 + ldr r1, _080D5F38 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -3508,10 +3508,10 @@ LinkPartnerHandleSendOutPoke: @ 80D5ED0 bx r0 .align 2, 0 _080D5F28: .4byte gActiveBattler -_080D5F2C: .4byte gUnknown_2022BC4 +_080D5F2C: .4byte gBattleBufferA _080D5F30: .4byte gBattlerPartyIndexes _080D5F34: .4byte gPlayerParty -_080D5F38: .4byte gUnknown_3004FE0 +_080D5F38: .4byte gBattlerControllerFuncs _080D5F3C: .4byte sub_80D4944 thumb_func_end LinkPartnerHandleSendOutPoke @@ -3532,7 +3532,7 @@ sub_80D5F40: @ 80D5F40 ldr r0, _080D6084 @ =gBattlerPartyIndexes lsls r2, r6, 1 adds r2, r0 - ldr r0, _080D6088 @ =gUnknown_2022BC4 + ldr r0, _080D6088 @ =gBattleBufferA lsls r1, r6, 9 adds r0, 0x1 adds r1, r0 @@ -3670,7 +3670,7 @@ sub_80D5F40: @ 80D5F40 bx r0 .align 2, 0 _080D6084: .4byte gBattlerPartyIndexes -_080D6088: .4byte gUnknown_2022BC4 +_080D6088: .4byte gBattleBufferA _080D608C: .4byte gPlayerParty _080D6090: .4byte sub_8033E3C _080D6094: .4byte gUnknown_3004FFC @@ -3684,7 +3684,7 @@ _080D60A8: .4byte SpriteCallbackDummy thumb_func_start LinkPartnerHandleReturnPokeToBall LinkPartnerHandleReturnPokeToBall: @ 80D60AC push {r4-r6,lr} - ldr r1, _080D60E0 @ =gUnknown_2022BC4 + ldr r1, _080D60E0 @ =gBattleBufferA ldr r6, _080D60E4 @ =gActiveBattler ldrb r2, [r6] lsls r0, r2, 9 @@ -3701,7 +3701,7 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC lsls r0, 2 adds r0, r1 strb r3, [r0, 0x4] - ldr r1, _080D60EC @ =gUnknown_3004FE0 + ldr r1, _080D60EC @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -3709,10 +3709,10 @@ LinkPartnerHandleReturnPokeToBall: @ 80D60AC str r1, [r0] b _080D612A .align 2, 0 -_080D60E0: .4byte gUnknown_2022BC4 +_080D60E0: .4byte gBattleBufferA _080D60E4: .4byte gActiveBattler _080D60E8: .4byte gBattleSpritesDataPtr -_080D60EC: .4byte gUnknown_3004FE0 +_080D60EC: .4byte gBattlerControllerFuncs _080D60F0: .4byte sub_80D613C _080D60F4: ldr r5, _080D6130 @ =gBattlerSpriteIds @@ -3807,7 +3807,7 @@ _080D6192: adds r1, r2, 0 movs r3, 0x1 bl InitAndLaunchSpecialAnimation - ldr r1, _080D61C0 @ =gUnknown_3004FE0 + ldr r1, _080D61C0 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -3818,7 +3818,7 @@ _080D61BA: pop {r0} bx r0 .align 2, 0 -_080D61C0: .4byte gUnknown_3004FE0 +_080D61C0: .4byte gBattlerControllerFuncs _080D61C4: .4byte sub_80D46A8 thumb_func_end sub_80D613C @@ -3906,7 +3906,7 @@ _080D6258: bl SetMultiuseSpriteTemplateToTrainerBack ldr r6, _080D631C @ =gMultiuseSpriteTemplate mov r8, r7 - ldr r0, _080D6320 @ =gUnknown_8239F8C + ldr r0, _080D6320 @ =gTrainerBackPicCoords lsls r4, 2 adds r4, r0 ldrb r0, [r4] @@ -3972,7 +3972,7 @@ _080D6258: adds r0, r4 ldr r1, _080D6330 @ =sub_8033EEC str r1, [r0] - ldr r1, _080D6334 @ =gUnknown_3004FE0 + ldr r1, _080D6334 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -3986,12 +3986,12 @@ _080D6258: .align 2, 0 _080D6318: .4byte gActiveBattler _080D631C: .4byte gMultiuseSpriteTemplate -_080D6320: .4byte gUnknown_8239F8C +_080D6320: .4byte gTrainerBackPicCoords _080D6324: .4byte gBattlerSpriteIds _080D6328: .4byte gSprites _080D632C: .4byte 0x0000fffe _080D6330: .4byte sub_8033EEC -_080D6334: .4byte gUnknown_3004FE0 +_080D6334: .4byte gBattlerControllerFuncs _080D6338: .4byte sub_80D4270 thumb_func_end sub_80D61C8 @@ -4064,7 +4064,7 @@ sub_80D6348: @ 80D6348 adds r0, r5 ldr r1, _080D63E8 @ =SpriteCallbackDummy bl StoreSpriteCallbackInData6 - ldr r1, _080D63EC @ =gUnknown_3004FE0 + ldr r1, _080D63EC @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -4080,7 +4080,7 @@ _080D63DC: .4byte gSprites _080D63E0: .4byte 0x0000ffd8 _080D63E4: .4byte sub_8075590 _080D63E8: .4byte SpriteCallbackDummy -_080D63EC: .4byte gUnknown_3004FE0 +_080D63EC: .4byte gBattlerControllerFuncs _080D63F0: .4byte sub_80D42A8 thumb_func_end sub_80D6348 @@ -4178,7 +4178,7 @@ _080D6448: adds r0, r2 ldr r1, _080D64D4 @ =sub_8012110 str r1, [r0] - ldr r1, _080D64D8 @ =gUnknown_3004FE0 + ldr r1, _080D64D8 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4194,7 +4194,7 @@ _080D64C8: .4byte gPlayerParty _080D64CC: .4byte gSprites _080D64D0: .4byte gBattlerSpriteIds _080D64D4: .4byte sub_8012110 -_080D64D8: .4byte gUnknown_3004FE0 +_080D64D8: .4byte gBattlerControllerFuncs _080D64DC: .4byte sub_80D4640 thumb_func_end sub_80D63F4 @@ -4241,7 +4241,7 @@ sub_80D6510: @ 80D6510 beq _080D6522 b _080D6636 _080D6522: - ldr r0, _080D65F8 @ =gUnknown_2022BC4 + ldr r0, _080D65F8 @ =gBattleBufferA mov r12, r0 ldrb r2, [r6] lsls r2, 9 @@ -4345,7 +4345,7 @@ _080D6522: b _080D6636 .align 2, 0 _080D65F4: .4byte gActiveBattler -_080D65F8: .4byte gUnknown_2022BC4 +_080D65F8: .4byte gBattleBufferA _080D65FC: .4byte gAnimMoveTurn _080D6600: .4byte gAnimMovePower _080D6604: .4byte gAnimMoveDmg @@ -4363,7 +4363,7 @@ _080D6618: lsls r0, 2 adds r0, r2 strb r3, [r0, 0x4] - ldr r1, _080D6640 @ =gUnknown_3004FE0 + ldr r1, _080D6640 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -4375,7 +4375,7 @@ _080D6636: bx r0 .align 2, 0 _080D663C: .4byte gBattleSpritesDataPtr -_080D6640: .4byte gUnknown_3004FE0 +_080D6640: .4byte gBattlerControllerFuncs _080D6644: .4byte sub_80D6648 thumb_func_end sub_80D6510 @@ -4386,7 +4386,7 @@ sub_80D6648: @ 80D6648 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r2, _080D6694 @ =gUnknown_2022BC4 + ldr r2, _080D6694 @ =gBattleBufferA ldr r6, _080D6698 @ =gActiveBattler ldrb r3, [r6] lsls r1, r3, 9 @@ -4420,7 +4420,7 @@ sub_80D6648: @ 80D6648 beq _080D66AA b _080D67BC .align 2, 0 -_080D6694: .4byte gUnknown_2022BC4 +_080D6694: .4byte gBattleBufferA _080D6698: .4byte gActiveBattler _080D669C: .4byte gBattleSpritesDataPtr _080D66A0: @@ -4584,7 +4584,7 @@ sub_80D67CC: @ 80D67CC ldr r0, _080D680C @ =gUnknown_2022BC6 adds r4, r0 ldrh r0, [r4] - bl sub_80D7274 + bl BufferStringBattle ldrh r0, [r4] bl sub_80D89B0 lsls r0, 24 @@ -4592,7 +4592,7 @@ sub_80D67CC: @ 80D67CC beq _080D6814 ldr r0, _080D6810 @ =gDisplayedStringBattle movs r1, 0x40 - bl sub_80D87BC + bl BattlePutTextOnWindow b _080D681C .align 2, 0 _080D6800: .4byte gBattle_BG0_X @@ -4603,9 +4603,9 @@ _080D6810: .4byte gDisplayedStringBattle _080D6814: ldr r0, _080D6830 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow _080D681C: - ldr r1, _080D6834 @ =gUnknown_3004FE0 + ldr r1, _080D6834 @ =gBattlerControllerFuncs ldr r0, _080D6838 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -4617,7 +4617,7 @@ _080D681C: bx r0 .align 2, 0 _080D6830: .4byte gDisplayedStringBattle -_080D6834: .4byte gUnknown_3004FE0 +_080D6834: .4byte gBattlerControllerFuncs _080D6838: .4byte gActiveBattler _080D683C: .4byte sub_80D4718 thumb_func_end sub_80D67CC @@ -4687,7 +4687,7 @@ sub_80D6894: @ 80D6894 sub sp, 0x4 movs r0, 0 bl LoadBattleBarGfx - ldr r3, _080D690C @ =gUnknown_2022BC4 + ldr r3, _080D690C @ =gBattleBufferA ldr r0, _080D6910 @ =gActiveBattler mov r9, r0 ldrb r4, [r0] @@ -4736,7 +4736,7 @@ sub_80D6894: @ 80D6894 bl SetBattleBarStruct b _080D694E .align 2, 0 -_080D690C: .4byte gUnknown_2022BC4 +_080D690C: .4byte gBattleBufferA _080D6910: .4byte gActiveBattler _080D6914: .4byte 0x00007fff _080D6918: .4byte gBattlerPartyIndexes @@ -4763,7 +4763,7 @@ _080D6924: movs r3, 0 bl SetBattleBarStruct _080D694E: - ldr r1, _080D6978 @ =gUnknown_3004FE0 + ldr r1, _080D6978 @ =gBattlerControllerFuncs ldr r0, _080D697C @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -4781,7 +4781,7 @@ _080D694E: _080D696C: .4byte gBattlerPartyIndexes _080D6970: .4byte gPlayerParty _080D6974: .4byte gHealthboxSpriteIds -_080D6978: .4byte gUnknown_3004FE0 +_080D6978: .4byte gBattlerControllerFuncs _080D697C: .4byte gActiveBattler _080D6980: .4byte sub_80D45D0 thumb_func_end sub_80D6894 @@ -4830,7 +4830,7 @@ sub_80D6990: @ 80D6990 negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r1, _080D6A00 @ =gUnknown_3004FE0 + ldr r1, _080D6A00 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -4846,7 +4846,7 @@ _080D69F0: .4byte gHealthboxSpriteIds _080D69F4: .4byte gBattlerPartyIndexes _080D69F8: .4byte gPlayerParty _080D69FC: .4byte gBattleSpritesDataPtr -_080D6A00: .4byte gUnknown_3004FE0 +_080D6A00: .4byte gBattlerControllerFuncs _080D6A04: .4byte sub_80D4A60 thumb_func_end sub_80D6990 @@ -4859,7 +4859,7 @@ sub_80D6A08: @ 80D6A08 lsls r0, 24 cmp r0, 0 bne _080D6A58 - ldr r4, _080D6A64 @ =gUnknown_2022BC4 + ldr r4, _080D6A64 @ =gBattleBufferA ldrb r3, [r5] lsls r3, 9 adds r0, r4, 0x1 @@ -4884,7 +4884,7 @@ sub_80D6A08: @ 80D6A08 lsls r2, 24 orrs r1, r2 bl InitAndLaunchChosenStatusAnimation - ldr r1, _080D6A68 @ =gUnknown_3004FE0 + ldr r1, _080D6A68 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4896,8 +4896,8 @@ _080D6A58: bx r0 .align 2, 0 _080D6A60: .4byte gActiveBattler -_080D6A64: .4byte gUnknown_2022BC4 -_080D6A68: .4byte gUnknown_3004FE0 +_080D6A64: .4byte gBattleBufferA +_080D6A68: .4byte gBattlerControllerFuncs _080D6A6C: .4byte sub_80D4A60 thumb_func_end sub_80D6A08 @@ -4993,7 +4993,7 @@ _080D6AF4: .4byte gUnknown_2022870 LinkPartnerHandlecmd38: @ 80D6AF8 push {lr} ldr r3, _080D6B24 @ =gUnknown_2022870 - ldr r1, _080D6B28 @ =gUnknown_2022BC4 + ldr r1, _080D6B28 @ =gBattleBufferA ldr r0, _080D6B2C @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -5013,7 +5013,7 @@ LinkPartnerHandlecmd38: @ 80D6AF8 bx r0 .align 2, 0 _080D6B24: .4byte gUnknown_2022870 -_080D6B28: .4byte gUnknown_2022BC4 +_080D6B28: .4byte gBattleBufferA _080D6B2C: .4byte gActiveBattler thumb_func_end LinkPartnerHandlecmd38 @@ -5079,7 +5079,7 @@ _080D6B98: .4byte gSprites _080D6B9C: .4byte gBattlerSpriteIds _080D6BA0: .4byte gActiveBattler _080D6BA4: - ldr r1, _080D6BD4 @ =gUnknown_2024005 + ldr r1, _080D6BD4 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r0, [r4] @@ -5093,7 +5093,7 @@ _080D6BA4: strh r1, [r0, 0x30] ldrb r0, [r4] bl DoHitAnimHealthboxEffect - ldr r1, _080D6BD8 @ =gUnknown_3004FE0 + ldr r1, _080D6BD8 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5104,8 +5104,8 @@ _080D6BCE: pop {r0} bx r0 .align 2, 0 -_080D6BD4: .4byte gUnknown_2024005 -_080D6BD8: .4byte gUnknown_3004FE0 +_080D6BD4: .4byte gDoingBattleAnim +_080D6BD8: .4byte gBattlerControllerFuncs _080D6BDC: .4byte sub_80D4730 thumb_func_end LinkPartnerHandleHitAnimation @@ -5129,7 +5129,7 @@ LinkPartnerHandleEffectivenessSound: @ 80D6BEC bne _080D6C00 movs r3, 0xC0 _080D6C00: - ldr r2, _080D6C2C @ =gUnknown_2022BC4 + ldr r2, _080D6C2C @ =gBattleBufferA ldrb r1, [r4] lsls r1, 9 adds r0, r2, 0x1 @@ -5149,13 +5149,13 @@ _080D6C00: bx r0 .align 2, 0 _080D6C28: .4byte gActiveBattler -_080D6C2C: .4byte gUnknown_2022BC4 +_080D6C2C: .4byte gBattleBufferA thumb_func_end LinkPartnerHandleEffectivenessSound thumb_func_start LinkPartnerHandlecmd44 LinkPartnerHandlecmd44: @ 80D6C30 push {lr} - ldr r2, _080D6C58 @ =gUnknown_2022BC4 + ldr r2, _080D6C58 @ =gBattleBufferA ldr r0, _080D6C5C @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -5172,7 +5172,7 @@ LinkPartnerHandlecmd44: @ 80D6C30 pop {r0} bx r0 .align 2, 0 -_080D6C58: .4byte gUnknown_2022BC4 +_080D6C58: .4byte gBattleBufferA _080D6C5C: .4byte gActiveBattler thumb_func_end LinkPartnerHandlecmd44 @@ -5209,14 +5209,14 @@ _080D6C9C: .4byte gPlayerParty thumb_func_start LinkPartnerHandleIntroSlide LinkPartnerHandleIntroSlide: @ 80D6CA0 push {lr} - ldr r1, _080D6CC8 @ =gUnknown_2022BC4 + ldr r1, _080D6CC8 @ =gBattleBufferA ldr r0, _080D6CCC @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 adds r1, 0x1 adds r0, r1 ldrb r0, [r0] - bl sub_80BC3A0 + bl HandleIntroSlide ldr r2, _080D6CD0 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 @@ -5226,7 +5226,7 @@ LinkPartnerHandleIntroSlide: @ 80D6CA0 pop {r0} bx r0 .align 2, 0 -_080D6CC8: .4byte gUnknown_2022BC4 +_080D6CC8: .4byte gBattleBufferA _080D6CCC: .4byte gActiveBattler _080D6CD0: .4byte gIntroSlideFlags thumb_func_end LinkPartnerHandleIntroSlide @@ -5441,7 +5441,7 @@ _080D6E86: movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x9] - ldr r1, _080D6EC8 @ =gUnknown_3004FE0 + ldr r1, _080D6EC8 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -5460,7 +5460,7 @@ _080D6EB8: .4byte gTasks _080D6EBC: .4byte gBattleSpritesDataPtr _080D6EC0: .4byte gUnknown_2024000 _080D6EC4: .4byte sub_80491B0 -_080D6EC8: .4byte gUnknown_3004FE0 +_080D6EC8: .4byte gBattlerControllerFuncs _080D6ECC: .4byte nullsub_77 thumb_func_end sub_80D6CD4 @@ -5505,7 +5505,7 @@ _080D6EFC: cmp r0, 0 beq _080D6F4C _080D6F1C: - ldr r0, _080D6F44 @ =gUnknown_2022BC4 + ldr r0, _080D6F44 @ =gBattleBufferA ldrb r1, [r7] lsls r2, r1, 9 adds r0, 0x1 @@ -5522,10 +5522,10 @@ _080D6F1C: .align 2, 0 _080D6F3C: .4byte gActiveBattler _080D6F40: .4byte gBattleTypeFlags -_080D6F44: .4byte gUnknown_2022BC4 +_080D6F44: .4byte gBattleBufferA _080D6F48: .4byte gBattlerPartyIndexes _080D6F4C: - ldr r4, _080D6FC4 @ =gUnknown_2022BC4 + ldr r4, _080D6FC4 @ =gBattleBufferA ldrb r0, [r7] lsls r1, r0, 9 adds r4, 0x1 @@ -5565,7 +5565,7 @@ _080D6F4C: eors r0, r6 strb r0, [r7] _080D6FA0: - ldr r1, _080D6FD0 @ =gUnknown_3004FE0 + ldr r1, _080D6FD0 @ =gBattlerControllerFuncs ldr r2, _080D6FD4 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -5584,10 +5584,10 @@ _080D6FB8: pop {r0} bx r0 .align 2, 0 -_080D6FC4: .4byte gUnknown_2022BC4 +_080D6FC4: .4byte gBattleBufferA _080D6FC8: .4byte gBattlerPartyIndexes _080D6FCC: .4byte gPlayerParty -_080D6FD0: .4byte gUnknown_3004FE0 +_080D6FD0: .4byte gBattlerControllerFuncs _080D6FD4: .4byte gActiveBattler _080D6FD8: .4byte sub_80D443C thumb_func_end sub_80D6ED0 @@ -5595,7 +5595,7 @@ _080D6FD8: .4byte sub_80D443C thumb_func_start sub_80D6FDC sub_80D6FDC: @ 80D6FDC push {r4-r6,lr} - ldr r1, _080D7004 @ =gUnknown_2022BC4 + ldr r1, _080D7004 @ =gBattleBufferA ldr r0, _080D7008 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -5612,7 +5612,7 @@ sub_80D6FDC: @ 80D6FDC bl sub_80D49E8 b _080D7080 .align 2, 0 -_080D7004: .4byte gUnknown_2022BC4 +_080D7004: .4byte gBattleBufferA _080D7008: .4byte gActiveBattler _080D700C: ldr r6, _080D7088 @ =gBattleSpritesDataPtr @@ -5667,7 +5667,7 @@ _080D700C: movs r1, 0x5D strb r1, [r0, 0x5] _080D7074: - ldr r0, _080D7098 @ =gUnknown_3004FE0 + ldr r0, _080D7098 @ =gBattlerControllerFuncs ldrb r1, [r5] lsls r1, 2 adds r1, r0 @@ -5682,7 +5682,7 @@ _080D7088: .4byte gBattleSpritesDataPtr _080D708C: .4byte gActiveBattler _080D7090: .4byte gUnknown_2022BC8 _080D7094: .4byte gUnknown_2024000 -_080D7098: .4byte gUnknown_3004FE0 +_080D7098: .4byte gBattlerControllerFuncs _080D709C: .4byte sub_80D70A0 thumb_func_end sub_80D6FDC @@ -5789,7 +5789,7 @@ LinkPartnerHandleSpriteInvisibility: @ 80D7144 adds r2, r0 lsls r2, 2 adds r2, r3 - ldr r0, _080D71A0 @ =gUnknown_2022BC4 + ldr r0, _080D71A0 @ =gBattleBufferA lsls r1, 9 adds r0, 0x1 adds r1, r0 @@ -5815,7 +5815,7 @@ _080D718A: _080D7194: .4byte gActiveBattler _080D7198: .4byte gSprites _080D719C: .4byte gBattlerSpriteIds -_080D71A0: .4byte gUnknown_2022BC4 +_080D71A0: .4byte gBattleBufferA thumb_func_end LinkPartnerHandleSpriteInvisibility thumb_func_start LinkPartnerHandleBattleAnimation @@ -5828,7 +5828,7 @@ LinkPartnerHandleBattleAnimation: @ 80D71A4 lsls r0, 24 cmp r0, 0 bne _080D71FC - ldr r5, _080D71EC @ =gUnknown_2022BC4 + ldr r5, _080D71EC @ =gBattleBufferA ldrb r2, [r6] lsls r1, r2, 9 adds r0, r5, 0x1 @@ -5853,9 +5853,9 @@ LinkPartnerHandleBattleAnimation: @ 80D71A4 b _080D71FC .align 2, 0 _080D71E8: .4byte gActiveBattler -_080D71EC: .4byte gUnknown_2022BC4 +_080D71EC: .4byte gBattleBufferA _080D71F0: - ldr r0, _080D7204 @ =gUnknown_3004FE0 + ldr r0, _080D7204 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -5867,7 +5867,7 @@ _080D71FC: pop {r0} bx r0 .align 2, 0 -_080D7204: .4byte gUnknown_3004FE0 +_080D7204: .4byte gBattlerControllerFuncs _080D7208: .4byte sub_80D4A90 thumb_func_end LinkPartnerHandleBattleAnimation @@ -5891,7 +5891,7 @@ sub_80D7218: @ 80D7218 LinkPartnerHandlecmd55: @ 80D7224 push {r4,lr} ldr r2, _080D725C @ =gBattleOutcome - ldr r1, _080D7260 @ =gUnknown_2022BC4 + ldr r1, _080D7260 @ =gBattleBufferA ldr r4, _080D7264 @ =gActiveBattler ldrb r0, [r4] lsls r0, 9 @@ -5904,7 +5904,7 @@ LinkPartnerHandlecmd55: @ 80D7224 movs r0, 0x3 bl BeginFastPaletteFade bl sub_80D49E8 - ldr r1, _080D7268 @ =gUnknown_3004FE0 + ldr r1, _080D7268 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5915,9 +5915,9 @@ LinkPartnerHandlecmd55: @ 80D7224 bx r0 .align 2, 0 _080D725C: .4byte gBattleOutcome -_080D7260: .4byte gUnknown_2022BC4 +_080D7260: .4byte gBattleBufferA _080D7264: .4byte gActiveBattler -_080D7268: .4byte gUnknown_3004FE0 +_080D7268: .4byte gBattlerControllerFuncs _080D726C: .4byte sub_802F6A8 thumb_func_end LinkPartnerHandlecmd55 diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 92efcecbc..031525518 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -12,7 +12,7 @@ nullsub_81: @ 80E75AC thumb_func_start sub_80E75B0 sub_80E75B0: @ 80E75B0 - ldr r1, _080E75DC @ =gUnknown_3004FE0 + ldr r1, _080E75DC @ =gBattlerControllerFuncs ldr r0, _080E75E0 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -35,7 +35,7 @@ sub_80E75B0: @ 80E75B0 strb r1, [r0] bx lr .align 2, 0 -_080E75DC: .4byte gUnknown_3004FE0 +_080E75DC: .4byte gBattlerControllerFuncs _080E75E0: .4byte gActiveBattler _080E75E4: .4byte sub_80E75EC _080E75E8: .4byte gBattleStruct @@ -44,7 +44,7 @@ _080E75E8: .4byte gBattleStruct thumb_func_start sub_80E75EC sub_80E75EC: @ 80E75EC push {lr} - ldr r2, _080E7620 @ =gUnknown_2023BC8 + ldr r2, _080E7620 @ =gBattleControllerExecFlags ldr r1, _080E7624 @ =gBitTable ldr r0, _080E7628 @ =gActiveBattler ldrb r3, [r0] @@ -55,7 +55,7 @@ sub_80E75EC: @ 80E75EC ands r1, r0 cmp r1, 0 beq _080E7638 - ldr r0, _080E762C @ =gUnknown_2022BC4 + ldr r0, _080E762C @ =gBattleBufferA lsls r1, r3, 9 adds r1, r0 ldrb r0, [r1] @@ -69,10 +69,10 @@ sub_80E75EC: @ 80E75EC bl _call_via_r0 b _080E7638 .align 2, 0 -_080E7620: .4byte gUnknown_2023BC8 +_080E7620: .4byte gBattleControllerExecFlags _080E7624: .4byte gBitTable _080E7628: .4byte gActiveBattler -_080E762C: .4byte gUnknown_2022BC4 +_080E762C: .4byte gBattleBufferA _080E7630: .4byte gUnknown_84020F8 _080E7634: bl WallyBufferExecCompleted @@ -86,7 +86,7 @@ sub_80E763C: @ 80E763C push {r4-r7,lr} mov r7, r8 push {r7} - ldr r7, _080E769C @ =gUnknown_2022BC4 + ldr r7, _080E769C @ =gBattleBufferA ldr r4, _080E76A0 @ =gActiveBattler ldrb r0, [r4] lsls r2, r0, 9 @@ -116,7 +116,7 @@ sub_80E763C: @ 80E763C beq _080E76D4 movs r0, 0x5 bl PlaySE - ldr r1, _080E76A8 @ =gUnknown_2023FF8 + ldr r1, _080E76A8 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -128,10 +128,10 @@ sub_80E763C: @ 80E763C beq _080E76B6 b _080E781A .align 2, 0 -_080E769C: .4byte gUnknown_2022BC4 +_080E769C: .4byte gBattleBufferA _080E76A0: .4byte gActiveBattler _080E76A4: .4byte gMain -_080E76A8: .4byte gUnknown_2023FF8 +_080E76A8: .4byte gActionSelectionCursor _080E76AC: cmp r0, 0x2 beq _080E76C2 @@ -161,7 +161,7 @@ _080E76D4: ands r0, r1 cmp r0, 0 beq _080E770C - ldr r5, _080E7708 @ =gUnknown_2023FF8 + ldr r5, _080E7708 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -183,13 +183,13 @@ _080E76EE: movs r2, 0x1 b _080E7794 .align 2, 0 -_080E7708: .4byte gUnknown_2023FF8 +_080E7708: .4byte gActionSelectionCursor _080E770C: movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _080E7744 - ldr r5, _080E7740 @ =gUnknown_2023FF8 + ldr r5, _080E7740 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -211,14 +211,14 @@ _080E7726: movs r2, 0x1 b _080E7794 .align 2, 0 -_080E7740: .4byte gUnknown_2023FF8 +_080E7740: .4byte gActionSelectionCursor _080E7744: movs r0, 0x40 mov r8, r0 ands r0, r1 cmp r0, 0 beq _080E7764 - ldr r5, _080E7760 @ =gUnknown_2023FF8 + ldr r5, _080E7760 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -228,13 +228,13 @@ _080E7744: beq _080E7838 b _080E777C .align 2, 0 -_080E7760: .4byte gUnknown_2023FF8 +_080E7760: .4byte gActionSelectionCursor _080E7764: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _080E77AC - ldr r5, _080E77A8 @ =gUnknown_2023FF8 + ldr r5, _080E77A8 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -263,7 +263,7 @@ _080E7794: bl ActionSelectionCreateCursorAt b _080E7838 .align 2, 0 -_080E77A8: .4byte gUnknown_2023FF8 +_080E77A8: .4byte gActionSelectionCursor _080E77AC: movs r0, 0x2 ands r0, r1 @@ -478,7 +478,7 @@ sub_80E7930: @ 80E7930 negs r0, r0 ands r0, r1 strb r0, [r3] - ldr r0, _080E796C @ =gUnknown_3004F80 + ldr r0, _080E796C @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r2] ldr r0, [r2, 0x8] @@ -490,13 +490,13 @@ _080E795A: _080E7960: .4byte gPaletteFade _080E7964: .4byte gMain _080E7968: .4byte 0x00000439 -_080E796C: .4byte gUnknown_3004F80 +_080E796C: .4byte gPreBattleCallback1 thumb_func_end sub_80E7930 thumb_func_start sub_80E7970 sub_80E7970: @ 80E7970 push {lr} - ldr r0, _080E7984 @ =gUnknown_2024005 + ldr r0, _080E7984 @ =gDoingBattleAnim ldrb r0, [r0] cmp r0, 0 bne _080E797E @@ -505,14 +505,14 @@ _080E797E: pop {r0} bx r0 .align 2, 0 -_080E7984: .4byte gUnknown_2024005 +_080E7984: .4byte gDoingBattleAnim thumb_func_end sub_80E7970 thumb_func_start sub_80E7988 sub_80E7988: @ 80E7988 push {lr} bl sub_802EA10 - ldr r2, _080E79AC @ =gUnknown_2023BC8 + ldr r2, _080E79AC @ =gBattleControllerExecFlags ldr r1, _080E79B0 @ =gBitTable ldr r0, _080E79B4 @ =gActiveBattler ldrb r0, [r0] @@ -528,7 +528,7 @@ _080E79A8: pop {r0} bx r0 .align 2, 0 -_080E79AC: .4byte gUnknown_2023BC8 +_080E79AC: .4byte gBattleControllerExecFlags _080E79B0: .4byte gBitTable _080E79B4: .4byte gActiveBattler thumb_func_end sub_80E7988 @@ -542,7 +542,7 @@ sub_80E79B8: @ 80E79B8 ands r0, r1 cmp r0, 0 bne _080E79F6 - ldr r1, _080E7A00 @ =gUnknown_3004FE0 + ldr r1, _080E7A00 @ =gBattlerControllerFuncs ldr r2, _080E7A04 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -569,7 +569,7 @@ _080E79F6: bx r0 .align 2, 0 _080E79FC: .4byte gPaletteFade -_080E7A00: .4byte gUnknown_3004FE0 +_080E7A00: .4byte gBattlerControllerFuncs _080E7A04: .4byte gActiveBattler _080E7A08: .4byte sub_80E7A14 _080E7A0C: .4byte gTasks @@ -581,7 +581,7 @@ sub_80E7A14: @ 80E7A14 push {lr} ldr r0, _080E7A44 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _080E7A48 @ =sub_8011100 + ldr r0, _080E7A48 @ =BattleMainCB2 cmp r1, r0 bne _080E7A6A ldr r0, _080E7A4C @ =gPaletteFade @@ -602,7 +602,7 @@ sub_80E7A14: @ 80E7A14 b _080E7A66 .align 2, 0 _080E7A44: .4byte gMain -_080E7A48: .4byte sub_8011100 +_080E7A48: .4byte BattleMainCB2 _080E7A4C: .4byte gPaletteFade _080E7A50: .4byte gUnknown_203B0C0 _080E7A54: .4byte gUnknown_203B0C1 @@ -628,7 +628,7 @@ sub_80E7A70: @ 80E7A70 ands r0, r1 cmp r0, 0 bne _080E7AC0 - ldr r1, _080E7AAC @ =gUnknown_3004FE0 + ldr r1, _080E7AAC @ =gBattlerControllerFuncs ldr r0, _080E7AB0 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -647,7 +647,7 @@ sub_80E7A70: @ 80E7A70 b _080E7AC0 .align 2, 0 _080E7AA8: .4byte gPaletteFade -_080E7AAC: .4byte gUnknown_3004FE0 +_080E7AAC: .4byte gBattlerControllerFuncs _080E7AB0: .4byte gActiveBattler _080E7AB4: .4byte sub_80E7AC4 _080E7AB8: .4byte gBattleTypeFlags @@ -663,7 +663,7 @@ sub_80E7AC4: @ 80E7AC4 push {lr} ldr r0, _080E7B14 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _080E7B18 @ =sub_8011100 + ldr r0, _080E7B18 @ =BattleMainCB2 cmp r1, r0 bne _080E7B42 ldr r0, _080E7B1C @ =gPaletteFade @@ -689,7 +689,7 @@ sub_80E7AC4: @ 80E7AC4 beq _080E7B34 movs r0, 0x4 bl sub_80EB2F4 - ldr r1, _080E7B28 @ =gUnknown_3004FE0 + ldr r1, _080E7B28 @ =gBattlerControllerFuncs ldr r0, _080E7B2C @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -699,11 +699,11 @@ sub_80E7AC4: @ 80E7AC4 b _080E7B42 .align 2, 0 _080E7B14: .4byte gMain -_080E7B18: .4byte sub_8011100 +_080E7B18: .4byte BattleMainCB2 _080E7B1C: .4byte gPaletteFade _080E7B20: .4byte gSpecialVar_ItemId _080E7B24: .4byte gBattleTypeFlags -_080E7B28: .4byte gUnknown_3004FE0 +_080E7B28: .4byte gBattlerControllerFuncs _080E7B2C: .4byte gActiveBattler _080E7B30: .4byte sub_80E8704 _080E7B34: @@ -881,7 +881,7 @@ _080E7C46: negs r0, r0 ands r0, r1 strb r0, [r2, 0x9] - ldr r1, _080E7CD0 @ =gUnknown_3004FE0 + ldr r1, _080E7CD0 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -900,7 +900,7 @@ _080E7CC0: .4byte gBattleTypeFlags _080E7CC4: .4byte gUnknown_3004FFC _080E7CC8: .4byte gSprites _080E7CCC: .4byte gHealthboxSpriteIds -_080E7CD0: .4byte gUnknown_3004FE0 +_080E7CD0: .4byte gBattlerControllerFuncs _080E7CD4: .4byte sub_80E7CD8 thumb_func_end sub_80E7B4C @@ -1019,7 +1019,7 @@ _080E7D02: ldr r2, _080E7DF8 @ =gPlayerParty adds r0, r2 bl HandleLowHpMusicChange - ldr r1, _080E7DFC @ =gUnknown_3004FE0 + ldr r1, _080E7DFC @ =gBattlerControllerFuncs mov r2, r8 ldrb r0, [r2] lsls r0, 2 @@ -1042,7 +1042,7 @@ _080E7DEC: .4byte 0x000027f9 _080E7DF0: .4byte c3_0802FDF4 _080E7DF4: .4byte gBattlerPartyIndexes _080E7DF8: .4byte gPlayerParty -_080E7DFC: .4byte gUnknown_3004FE0 +_080E7DFC: .4byte gBattlerControllerFuncs _080E7E00: .4byte sub_80E835C thumb_func_end sub_80E7CD8 @@ -1195,7 +1195,7 @@ _080E7F38: adds r0, r6, 0 movs r1, 0x19 bl SetMonData - ldr r1, _080E7F58 @ =gUnknown_3004FE0 + ldr r1, _080E7F58 @ =gBattlerControllerFuncs ldr r3, [sp, 0x8] lsls r0, r3, 2 adds r0, r1 @@ -1205,7 +1205,7 @@ _080E7F38: bl DestroyTask b _080E7F66 .align 2, 0 -_080E7F58: .4byte gUnknown_3004FE0 +_080E7F58: .4byte gBattlerControllerFuncs _080E7F5C: .4byte sub_80E8930 _080E7F60: ldr r0, _080E7F78 @ =sub_80E7F7C @@ -1455,7 +1455,7 @@ _080E815C: adds r0, r5, 0 movs r1, 0x19 bl SetMonData - ldr r1, _080E8188 @ =gUnknown_3004FE0 + ldr r1, _080E8188 @ =gBattlerControllerFuncs lsls r0, r7, 2 adds r0, r1 ldr r1, _080E818C @ =sub_80E8930 @@ -1472,7 +1472,7 @@ _080E8178: pop {r0} bx r0 .align 2, 0 -_080E8188: .4byte gUnknown_3004FE0 +_080E8188: .4byte gBattlerControllerFuncs _080E818C: .4byte sub_80E8930 thumb_func_end sub_80E804C @@ -1632,7 +1632,7 @@ sub_80E82A8: @ 80E82A8 movs r1, 0x38 bl GetMonData ldrb r0, [r4, 0xC] - ldr r1, _080E82EC @ =gUnknown_3004FE0 + ldr r1, _080E82EC @ =gBattlerControllerFuncs lsls r0, 2 adds r0, r1 ldr r1, _080E82F0 @ =sub_80E8930 @@ -1645,7 +1645,7 @@ sub_80E82A8: @ 80E82A8 .align 2, 0 _080E82E4: .4byte gTasks _080E82E8: .4byte gPlayerParty -_080E82EC: .4byte gUnknown_3004FE0 +_080E82EC: .4byte gBattlerControllerFuncs _080E82F0: .4byte sub_80E8930 thumb_func_end sub_80E82A8 @@ -1782,7 +1782,7 @@ _080E8408: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080E841C @ =gDisplayedStringBattle movs r1, 0x18 - bl sub_80D87BC + bl BattlePutTextOnWindow b _080E851E .align 2, 0 _080E8418: .4byte gUnknown_83FDAE2 @@ -1833,7 +1833,7 @@ _080E8468: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080E848C @ =gDisplayedStringBattle movs r1, 0x18 - bl sub_80D87BC + bl BattlePutTextOnWindow b _080E851E .align 2, 0 _080E8484: .4byte gPaletteFade @@ -1883,7 +1883,7 @@ _080E84D8: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080E84FC @ =gDisplayedStringBattle movs r1, 0x18 - bl sub_80D87BC + bl BattlePutTextOnWindow b _080E851E .align 2, 0 _080E84F4: .4byte gPaletteFade @@ -2085,7 +2085,7 @@ _080E8670: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080E8680 @ =gDisplayedStringBattle movs r1, 0x18 - bl sub_80D87BC + bl BattlePutTextOnWindow b _080E86A2 .align 2, 0 _080E8680: .4byte gDisplayedStringBattle @@ -2265,7 +2265,7 @@ _080E87E8: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080E87FC @ =gDisplayedStringBattle movs r1, 0x18 - bl sub_80D87BC + bl BattlePutTextOnWindow b _080E8868 .align 2, 0 _080E87F8: .4byte gUnknown_83FDCD2 @@ -2455,7 +2455,7 @@ DoHitAnimBlinkSpriteEffect_3: @ 80E8948 subs r0, 0x5 ands r0, r1 strb r0, [r2] - ldr r0, _080E8990 @ =gUnknown_2024005 + ldr r0, _080E8990 @ =gDoingBattleAnim strb r3, [r0] bl WallyBufferExecCompleted b _080E89BE @@ -2463,7 +2463,7 @@ DoHitAnimBlinkSpriteEffect_3: @ 80E8948 _080E8984: .4byte gBattlerSpriteIds _080E8988: .4byte gActiveBattler _080E898C: .4byte gSprites -_080E8990: .4byte gUnknown_2024005 +_080E8990: .4byte gDoingBattleAnim _080E8994: ldrh r0, [r4, 0x30] movs r1, 0x3 @@ -2604,7 +2604,7 @@ _080E8A98: .4byte gActiveBattler WallyBufferExecCompleted: @ 80E8A9C push {r4,lr} sub sp, 0x4 - ldr r1, _080E8ADC @ =gUnknown_3004FE0 + ldr r1, _080E8ADC @ =gBattlerControllerFuncs ldr r4, _080E8AE0 @ =gActiveBattler ldrb r0, [r4] lsls r0, 2 @@ -2624,7 +2624,7 @@ WallyBufferExecCompleted: @ 80E8A9C movs r1, 0x4 mov r2, sp bl PrepareBufferDataTransferLink - ldr r1, _080E8AEC @ =gUnknown_2022BC4 + ldr r1, _080E8AEC @ =gBattleBufferA ldrb r0, [r4] lsls r0, 9 adds r0, r1 @@ -2632,13 +2632,13 @@ WallyBufferExecCompleted: @ 80E8A9C strb r1, [r0] b _080E8B02 .align 2, 0 -_080E8ADC: .4byte gUnknown_3004FE0 +_080E8ADC: .4byte gBattlerControllerFuncs _080E8AE0: .4byte gActiveBattler _080E8AE4: .4byte sub_80E75EC _080E8AE8: .4byte gBattleTypeFlags -_080E8AEC: .4byte gUnknown_2022BC4 +_080E8AEC: .4byte gBattleBufferA _080E8AF0: - ldr r2, _080E8B0C @ =gUnknown_2023BC8 + ldr r2, _080E8B0C @ =gBattleControllerExecFlags ldr r1, _080E8B10 @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -2653,7 +2653,7 @@ _080E8B02: pop {r0} bx r0 .align 2, 0 -_080E8B0C: .4byte gUnknown_2023BC8 +_080E8B0C: .4byte gBattleControllerExecFlags _080E8B10: .4byte gBitTable thumb_func_end WallyBufferExecCompleted @@ -2688,7 +2688,7 @@ WallyHandleGetMonData: @ 80E8B44 push {r4-r6,lr} sub sp, 0x100 movs r6, 0 - ldr r1, _080E8B70 @ =gUnknown_2022BC4 + ldr r1, _080E8B70 @ =gBattleBufferA ldr r0, _080E8B74 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -2706,7 +2706,7 @@ WallyHandleGetMonData: @ 80E8B44 adds r6, r0, 0 b _080E8B9E .align 2, 0 -_080E8B70: .4byte gUnknown_2022BC4 +_080E8B70: .4byte gBattleBufferA _080E8B74: .4byte gActiveBattler _080E8B78: .4byte gBattlerPartyIndexes _080E8B7C: @@ -2753,7 +2753,7 @@ CopyWallyMonData: @ 80E8BB8 lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r2, _080E8BEC @ =gUnknown_2022BC4 + ldr r2, _080E8BEC @ =gBattleBufferA ldr r3, _080E8BF0 @ =gActiveBattler ldrb r0, [r3] lsls r0, 9 @@ -2770,7 +2770,7 @@ _080E8BE2: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080E8BEC: .4byte gUnknown_2022BC4 +_080E8BEC: .4byte gBattleBufferA _080E8BF0: .4byte gActiveBattler _080E8BF4: .4byte _080E8BF8 .align 2, 0 @@ -3686,7 +3686,7 @@ WallyHandleGetRawMonData: @ 80E9364 thumb_func_start WallyHandleSetMonData WallyHandleSetMonData: @ 80E9370 push {r4,r5,lr} - ldr r1, _080E9394 @ =gUnknown_2022BC4 + ldr r1, _080E9394 @ =gBattleBufferA ldr r0, _080E9398 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -3702,7 +3702,7 @@ WallyHandleSetMonData: @ 80E9370 bl SetWallyMonData b _080E93BE .align 2, 0 -_080E9394: .4byte gUnknown_2022BC4 +_080E9394: .4byte gBattleBufferA _080E9398: .4byte gActiveBattler _080E939C: .4byte gBattlerPartyIndexes _080E93A0: @@ -4083,7 +4083,7 @@ _080E972C: muls r0, r5 ldr r1, _080E9748 @ =gPlayerParty adds r0, r1 - ldr r3, _080E974C @ =gUnknown_2022BC4 + ldr r3, _080E974C @ =gBattleBufferA ldr r1, _080E9750 @ =gActiveBattler ldrb r2, [r1] lsls r2, 9 @@ -4094,7 +4094,7 @@ _080E972C: b _080E97D0 .align 2, 0 _080E9748: .4byte gPlayerParty -_080E974C: .4byte gUnknown_2022BC4 +_080E974C: .4byte gBattleBufferA _080E9750: .4byte gActiveBattler _080E9754: movs r0, 0x64 @@ -4146,7 +4146,7 @@ _080E97B8: muls r0, r5 ldr r1, _080E97DC @ =gPlayerParty adds r0, r1 - ldr r3, _080E97E0 @ =gUnknown_2022BC4 + ldr r3, _080E97E0 @ =gBattleBufferA ldr r1, _080E97E4 @ =gActiveBattler ldrb r2, [r1] lsls r2, 9 @@ -4161,7 +4161,7 @@ _080E97D0: b _080E9D8E .align 2, 0 _080E97DC: .4byte gPlayerParty -_080E97E0: .4byte gUnknown_2022BC4 +_080E97E0: .4byte gBattleBufferA _080E97E4: .4byte gActiveBattler _080E97E8: movs r0, 0x64 @@ -4893,7 +4893,7 @@ sub_80E9DDC: @ 80E9DDC thumb_func_start WallyHandleReturnMonToBall WallyHandleReturnMonToBall: @ 80E9DE8 push {r4-r6,lr} - ldr r0, _080E9E14 @ =gUnknown_2022BC4 + ldr r0, _080E9E14 @ =gBattleBufferA ldr r6, _080E9E18 @ =gActiveBattler ldrb r2, [r6] lsls r1, r2, 9 @@ -4906,7 +4906,7 @@ WallyHandleReturnMonToBall: @ 80E9DE8 adds r1, r2, 0 movs r3, 0x1 bl InitAndLaunchSpecialAnimation - ldr r0, _080E9E1C @ =gUnknown_3004FE0 + ldr r0, _080E9E1C @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -4914,9 +4914,9 @@ WallyHandleReturnMonToBall: @ 80E9DE8 str r0, [r1] b _080E9E5A .align 2, 0 -_080E9E14: .4byte gUnknown_2022BC4 +_080E9E14: .4byte gBattleBufferA _080E9E18: .4byte gActiveBattler -_080E9E1C: .4byte gUnknown_3004FE0 +_080E9E1C: .4byte gBattlerControllerFuncs _080E9E20: .4byte sub_80E89C4 _080E9E24: ldr r5, _080E9E60 @ =gBattlerSpriteIds @@ -4977,7 +4977,7 @@ sub_80E9E6C: @ 80E9E6C adds r0, r5, 0 bl SetMultiuseSpriteTemplateToTrainerBack ldr r0, _080E9ED4 @ =gMultiuseSpriteTemplate - ldr r2, _080E9ED8 @ =gUnknown_8239F8C + ldr r2, _080E9ED8 @ =gTrainerBackPicCoords ldr r1, [r4] ldrb r1, [r1, 0x8] lsls r1, 2 @@ -5001,7 +5001,7 @@ _080E9EC8: .4byte gBattleTypeFlags _080E9ECC: .4byte gSaveBlock2Ptr _080E9ED0: .4byte gActiveBattler _080E9ED4: .4byte gMultiuseSpriteTemplate -_080E9ED8: .4byte gUnknown_8239F8C +_080E9ED8: .4byte gTrainerBackPicCoords _080E9EDC: .4byte gBattlerSpriteIds _080E9EE0: ldr r4, _080E9F8C @ =gActiveBattler @@ -5016,7 +5016,7 @@ _080E9EE0: movs r0, 0x5 bl SetMultiuseSpriteTemplateToTrainerBack ldr r0, _080E9F90 @ =gMultiuseSpriteTemplate - ldr r1, _080E9F94 @ =gUnknown_8239F8C + ldr r1, _080E9F94 @ =gTrainerBackPicCoords ldrb r1, [r1, 0x14] movs r2, 0x8 subs r2, r1 @@ -5077,7 +5077,7 @@ _080E9F1C: adds r0, r4 ldr r1, _080E9FA4 @ =sub_8033EEC str r1, [r0] - ldr r1, _080E9FA8 @ =gUnknown_3004FE0 + ldr r1, _080E9FA8 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -5089,12 +5089,12 @@ _080E9F1C: .align 2, 0 _080E9F8C: .4byte gActiveBattler _080E9F90: .4byte gMultiuseSpriteTemplate -_080E9F94: .4byte gUnknown_8239F8C +_080E9F94: .4byte gTrainerBackPicCoords _080E9F98: .4byte gBattlerSpriteIds _080E9F9C: .4byte gSprites _080E9FA0: .4byte 0x0000fffe _080E9FA4: .4byte sub_8033EEC -_080E9FA8: .4byte gUnknown_3004FE0 +_080E9FA8: .4byte gBattlerControllerFuncs _080E9FAC: .4byte sub_80E78E0 thumb_func_end sub_80E9E6C @@ -5123,7 +5123,7 @@ sub_80E9FB0: @ 80E9FB0 adds r0, r5, 0 bl SetMultiuseSpriteTemplateToTrainerBack ldr r0, _080EA018 @ =gMultiuseSpriteTemplate - ldr r2, _080EA01C @ =gUnknown_8239F8C + ldr r2, _080EA01C @ =gTrainerBackPicCoords ldr r1, [r4] ldrb r1, [r1, 0x8] lsls r1, 2 @@ -5147,7 +5147,7 @@ _080EA00C: .4byte gBattleTypeFlags _080EA010: .4byte gSaveBlock2Ptr _080EA014: .4byte gActiveBattler _080EA018: .4byte gMultiuseSpriteTemplate -_080EA01C: .4byte gUnknown_8239F8C +_080EA01C: .4byte gTrainerBackPicCoords _080EA020: .4byte gBattlerSpriteIds _080EA024: ldr r4, _080EA0D0 @ =gActiveBattler @@ -5162,7 +5162,7 @@ _080EA024: movs r0, 0x5 bl SetMultiuseSpriteTemplateToTrainerBack ldr r0, _080EA0D4 @ =gMultiuseSpriteTemplate - ldr r1, _080EA0D8 @ =gUnknown_8239F8C + ldr r1, _080EA0D8 @ =gTrainerBackPicCoords ldrb r1, [r1, 0x14] movs r2, 0x8 subs r2, r1 @@ -5223,7 +5223,7 @@ _080EA060: adds r0, r4 ldr r1, _080EA0E8 @ =sub_8033EEC str r1, [r0] - ldr r1, _080EA0EC @ =gUnknown_3004FE0 + ldr r1, _080EA0EC @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -5235,12 +5235,12 @@ _080EA060: .align 2, 0 _080EA0D0: .4byte gActiveBattler _080EA0D4: .4byte gMultiuseSpriteTemplate -_080EA0D8: .4byte gUnknown_8239F8C +_080EA0D8: .4byte gTrainerBackPicCoords _080EA0DC: .4byte gBattlerSpriteIds _080EA0E0: .4byte gSprites _080EA0E4: .4byte 0x0000ffa0 _080EA0E8: .4byte sub_8033EEC -_080EA0EC: .4byte gUnknown_3004FE0 +_080EA0EC: .4byte gBattlerControllerFuncs _080EA0F0: .4byte sub_80E8A34 thumb_func_end sub_80E9FB0 @@ -5346,7 +5346,7 @@ _080EA154: adds r0, r2 ldr r1, _080EA1E0 @ =sub_8012110 str r1, [r0] - ldr r1, _080EA1E4 @ =gUnknown_3004FE0 + ldr r1, _080EA1E4 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -5362,7 +5362,7 @@ _080EA1D4: .4byte gPlayerParty _080EA1D8: .4byte gSprites _080EA1DC: .4byte gBattlerSpriteIds _080EA1E0: .4byte sub_8012110 -_080EA1E4: .4byte gUnknown_3004FE0 +_080EA1E4: .4byte gBattlerControllerFuncs _080EA1E8: .4byte sub_80E82F4 thumb_func_end sub_80EA100 @@ -5382,7 +5382,7 @@ sub_80EA1F8: @ 80EA1F8 ldr r1, [r0, 0x8] movs r0, 0x4 strb r0, [r1, 0x8] - ldr r1, _080EA23C @ =gUnknown_2024005 + ldr r1, _080EA23C @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldr r5, _080EA240 @ =gActiveBattler @@ -5396,7 +5396,7 @@ sub_80EA1F8: @ 80EA1F8 adds r1, r4, 0 movs r3, 0x4 bl InitAndLaunchSpecialAnimation - ldr r1, _080EA244 @ =gUnknown_3004FE0 + ldr r1, _080EA244 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -5407,16 +5407,16 @@ sub_80EA1F8: @ 80EA1F8 bx r0 .align 2, 0 _080EA238: .4byte gBattleSpritesDataPtr -_080EA23C: .4byte gUnknown_2024005 +_080EA23C: .4byte gDoingBattleAnim _080EA240: .4byte gActiveBattler -_080EA244: .4byte gUnknown_3004FE0 +_080EA244: .4byte gBattlerControllerFuncs _080EA248: .4byte sub_80E7970 thumb_func_end sub_80EA1F8 thumb_func_start sub_80EA24C sub_80EA24C: @ 80EA24C push {r4,r5,lr} - ldr r1, _080EA294 @ =gUnknown_2022BC4 + ldr r1, _080EA294 @ =gBattleBufferA ldr r5, _080EA298 @ =gActiveBattler ldrb r0, [r5] lsls r0, 9 @@ -5427,7 +5427,7 @@ sub_80EA24C: @ 80EA24C ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] - ldr r1, _080EA2A0 @ =gUnknown_2024005 + ldr r1, _080EA2A0 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r4, [r5] @@ -5440,7 +5440,7 @@ sub_80EA24C: @ 80EA24C adds r1, r4, 0 movs r3, 0x4 bl InitAndLaunchSpecialAnimation - ldr r1, _080EA2A4 @ =gUnknown_3004FE0 + ldr r1, _080EA2A4 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -5450,11 +5450,11 @@ sub_80EA24C: @ 80EA24C pop {r0} bx r0 .align 2, 0 -_080EA294: .4byte gUnknown_2022BC4 +_080EA294: .4byte gBattleBufferA _080EA298: .4byte gActiveBattler _080EA29C: .4byte gBattleSpritesDataPtr -_080EA2A0: .4byte gUnknown_2024005 -_080EA2A4: .4byte gUnknown_3004FE0 +_080EA2A0: .4byte gDoingBattleAnim +_080EA2A4: .4byte gBattlerControllerFuncs _080EA2A8: .4byte sub_80E7970 thumb_func_end sub_80EA24C @@ -5469,7 +5469,7 @@ sub_80EA2AC: @ 80EA2AC thumb_func_start sub_80EA2B8 sub_80EA2B8: @ 80EA2B8 push {r4-r6,lr} - ldr r0, _080EA38C @ =gUnknown_2022BC4 + ldr r0, _080EA38C @ =gBattleBufferA mov r12, r0 ldr r6, _080EA390 @ =gActiveBattler ldrb r2, [r6] @@ -5573,7 +5573,7 @@ sub_80EA2B8: @ 80EA2B8 bl WallyBufferExecCompleted b _080EA3CE .align 2, 0 -_080EA38C: .4byte gUnknown_2022BC4 +_080EA38C: .4byte gBattleBufferA _080EA390: .4byte gActiveBattler _080EA394: .4byte gAnimMoveTurn _080EA398: .4byte gAnimMovePower @@ -5592,7 +5592,7 @@ _080EA3B0: lsls r0, 2 adds r0, r2 strb r3, [r0, 0x4] - ldr r1, _080EA3D8 @ =gUnknown_3004FE0 + ldr r1, _080EA3D8 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -5604,7 +5604,7 @@ _080EA3CE: bx r0 .align 2, 0 _080EA3D4: .4byte gBattleSpritesDataPtr -_080EA3D8: .4byte gUnknown_3004FE0 +_080EA3D8: .4byte gBattlerControllerFuncs _080EA3DC: .4byte sub_80EA3E0 thumb_func_end sub_80EA2B8 @@ -5614,7 +5614,7 @@ sub_80EA3E0: @ 80EA3E0 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r2, _080EA424 @ =gUnknown_2022BC4 + ldr r2, _080EA424 @ =gBattleBufferA ldr r6, _080EA428 @ =gActiveBattler ldrb r3, [r6] lsls r1, r3, 9 @@ -5644,7 +5644,7 @@ sub_80EA3E0: @ 80EA3E0 beq _080EA43A b _080EA520 .align 2, 0 -_080EA424: .4byte gUnknown_2022BC4 +_080EA424: .4byte gBattleBufferA _080EA428: .4byte gActiveBattler _080EA42C: .4byte gBattleSpritesDataPtr _080EA430: @@ -5806,7 +5806,7 @@ _080EA568: .4byte gUnknown_2022BC6 _080EA56C: .4byte gBattleTypeFlags _080EA570: ldrh r0, [r4] - bl sub_80D7274 + bl BufferStringBattle ldrh r0, [r4] bl sub_80D89B0 lsls r0, 24 @@ -5814,14 +5814,14 @@ _080EA570: beq _080EA590 ldr r0, _080EA58C @ =gDisplayedStringBattle movs r1, 0x40 - bl sub_80D87BC + bl BattlePutTextOnWindow b _080EA598 .align 2, 0 _080EA58C: .4byte gDisplayedStringBattle _080EA590: ldr r0, _080EA5B4 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow _080EA598: ldr r0, _080EA5B8 @ =gBattleTypeFlags ldr r0, [r0] @@ -5857,7 +5857,7 @@ _080EA5CC: bne _080EA64C movs r0, 0x2 bl sub_80EB2F4 - ldr r1, _080EA5EC @ =gUnknown_3004FE0 + ldr r1, _080EA5EC @ =gBattlerControllerFuncs ldr r0, _080EA5F0 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5865,11 +5865,11 @@ _080EA5CC: ldr r1, _080EA5F4 @ =sub_80E8584 b _080EA658 .align 2, 0 -_080EA5EC: .4byte gUnknown_3004FE0 +_080EA5EC: .4byte gBattlerControllerFuncs _080EA5F0: .4byte gActiveBattler _080EA5F4: .4byte sub_80E8584 _080EA5F8: - ldr r1, _080EA608 @ =gUnknown_3004FE0 + ldr r1, _080EA608 @ =gBattlerControllerFuncs ldr r0, _080EA60C @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5877,11 +5877,11 @@ _080EA5F8: ldr r1, _080EA610 @ =sub_80E85AC b _080EA658 .align 2, 0 -_080EA608: .4byte gUnknown_3004FE0 +_080EA608: .4byte gBattlerControllerFuncs _080EA60C: .4byte gActiveBattler _080EA610: .4byte sub_80E85AC _080EA614: - ldr r1, _080EA624 @ =gUnknown_3004FE0 + ldr r1, _080EA624 @ =gBattlerControllerFuncs ldr r0, _080EA628 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5889,11 +5889,11 @@ _080EA614: ldr r1, _080EA62C @ =sub_80E85C0 b _080EA658 .align 2, 0 -_080EA624: .4byte gUnknown_3004FE0 +_080EA624: .4byte gBattlerControllerFuncs _080EA628: .4byte gActiveBattler _080EA62C: .4byte sub_80E85C0 _080EA630: - ldr r1, _080EA640 @ =gUnknown_3004FE0 + ldr r1, _080EA640 @ =gBattlerControllerFuncs ldr r0, _080EA644 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5901,11 +5901,11 @@ _080EA630: ldr r1, _080EA648 @ =sub_80E8598 b _080EA658 .align 2, 0 -_080EA640: .4byte gUnknown_3004FE0 +_080EA640: .4byte gBattlerControllerFuncs _080EA644: .4byte gActiveBattler _080EA648: .4byte sub_80E8598 _080EA64C: - ldr r1, _080EA660 @ =gUnknown_3004FE0 + ldr r1, _080EA660 @ =gBattlerControllerFuncs ldr r0, _080EA664 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5918,7 +5918,7 @@ _080EA65A: pop {r0} bx r0 .align 2, 0 -_080EA660: .4byte gUnknown_3004FE0 +_080EA660: .4byte gBattlerControllerFuncs _080EA664: .4byte gActiveBattler _080EA668: .4byte sub_80E7918 thumb_func_end sub_80EA52C @@ -5962,7 +5962,7 @@ sub_80EA690: @ 80EA690 ands r0, r1 cmp r0, 0 beq _080EA6DC - ldr r1, _080EA6D0 @ =gUnknown_3004FE0 + ldr r1, _080EA6D0 @ =gBattlerControllerFuncs ldr r0, _080EA6D4 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5973,11 +5973,11 @@ sub_80EA690: @ 80EA690 _080EA6C4: .4byte gBattle_BG0_X _080EA6C8: .4byte gBattle_BG0_Y _080EA6CC: .4byte gBattleTypeFlags -_080EA6D0: .4byte gUnknown_3004FE0 +_080EA6D0: .4byte gBattlerControllerFuncs _080EA6D4: .4byte gActiveBattler _080EA6D8: .4byte sub_80E763C _080EA6DC: - ldr r1, _080EA6F0 @ =gUnknown_3004FE0 + ldr r1, _080EA6F0 @ =gBattlerControllerFuncs ldr r0, _080EA6F4 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5989,7 +5989,7 @@ _080EA6EA: pop {r0} bx r0 .align 2, 0 -_080EA6F0: .4byte gUnknown_3004FE0 +_080EA6F0: .4byte gBattlerControllerFuncs _080EA6F4: .4byte gActiveBattler _080EA6F8: .4byte sub_80E7844 thumb_func_end sub_80EA690 @@ -5997,7 +5997,7 @@ _080EA6F8: .4byte sub_80E7844 thumb_func_start sub_80EA6FC sub_80EA6FC: @ 80EA6FC push {r4,lr} - ldr r1, _080EA750 @ =gUnknown_3004FE0 + ldr r1, _080EA750 @ =gBattlerControllerFuncs ldr r0, _080EA754 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -6006,10 +6006,10 @@ sub_80EA6FC: @ 80EA6FC str r1, [r0] ldr r0, _080EA75C @ =gUnknown_83FDA4C movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080EA760 @ =gUnknown_83FE725 movs r1, 0x2 - bl sub_80D87BC + bl BattlePutTextOnWindow movs r4, 0 _080EA71E: lsls r0, r4, 24 @@ -6018,7 +6018,7 @@ _080EA71E: adds r4, 0x1 cmp r4, 0x3 ble _080EA71E - ldr r1, _080EA764 @ =gUnknown_2023FF8 + ldr r1, _080EA764 @ =gActionSelectionCursor ldr r0, _080EA754 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -6035,12 +6035,12 @@ _080EA71E: bl BattleStringExpandPlaceholdersToDisplayedString b _080EA776 .align 2, 0 -_080EA750: .4byte gUnknown_3004FE0 +_080EA750: .4byte gBattlerControllerFuncs _080EA754: .4byte gActiveBattler _080EA758: .4byte sub_80EA690 _080EA75C: .4byte gUnknown_83FDA4C _080EA760: .4byte gUnknown_83FE725 -_080EA764: .4byte gUnknown_2023FF8 +_080EA764: .4byte gActionSelectionCursor _080EA768: .4byte gBattleTypeFlags _080EA76C: .4byte gUnknown_83FE6D5 _080EA770: @@ -6049,7 +6049,7 @@ _080EA770: _080EA776: ldr r0, _080EA788 @ =gDisplayedStringBattle movs r1, 0x1 - bl sub_80D87BC + bl BattlePutTextOnWindow pop {r4} pop {r0} bx r0 @@ -6081,7 +6081,7 @@ sub_80EA798: @ 80EA798 lsls r2, 1 adds r0, r2, 0 strh r0, [r1] - ldr r1, _080EA7D0 @ =gUnknown_3004FE0 + ldr r1, _080EA7D0 @ =gBattlerControllerFuncs ldr r0, _080EA7D4 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -6094,7 +6094,7 @@ _080EA7C2: .align 2, 0 _080EA7C8: .4byte gBattle_BG0_X _080EA7CC: .4byte gBattle_BG0_Y -_080EA7D0: .4byte gUnknown_3004FE0 +_080EA7D0: .4byte gBattlerControllerFuncs _080EA7D4: .4byte gActiveBattler _080EA7D8: .4byte sub_80E7988 thumb_func_end sub_80EA798 @@ -6109,7 +6109,7 @@ sub_80EA7DC: @ 80EA7DC cmp r0, 0 beq _080EA810 bl sub_8032CB4 - ldr r1, _080EA804 @ =gUnknown_3004FE0 + ldr r1, _080EA804 @ =gBattlerControllerFuncs ldr r0, _080EA808 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -6119,7 +6119,7 @@ sub_80EA7DC: @ 80EA7DC b _080EA866 .align 2, 0 _080EA800: .4byte gBattleTypeFlags -_080EA804: .4byte gUnknown_3004FE0 +_080EA804: .4byte gBattlerControllerFuncs _080EA808: .4byte gActiveBattler _080EA80C: .4byte sub_80EA798 _080EA810: @@ -6182,7 +6182,7 @@ sub_80EA870: @ 80EA870 movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r1, _080EA8BC @ =gUnknown_3004FE0 + ldr r1, _080EA8BC @ =gBattlerControllerFuncs ldr r2, _080EA8C0 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -6194,7 +6194,7 @@ sub_80EA870: @ 80EA870 strb r0, [r1] movs r3, 0 ldr r5, _080EA8CC @ =gUnknown_203B0DC - ldr r4, _080EA8D0 @ =gUnknown_2022BC4 + ldr r4, _080EA8D0 @ =gBattleBufferA _080EA89E: adds r0, r3, r5 ldrb r1, [r2] @@ -6212,12 +6212,12 @@ _080EA89E: pop {r0} bx r0 .align 2, 0 -_080EA8BC: .4byte gUnknown_3004FE0 +_080EA8BC: .4byte gBattlerControllerFuncs _080EA8C0: .4byte gActiveBattler _080EA8C4: .4byte sub_80E7A70 _080EA8C8: .4byte gBattlerInMenuId _080EA8CC: .4byte gUnknown_203B0DC -_080EA8D0: .4byte gUnknown_2022BC4 +_080EA8D0: .4byte gBattleBufferA thumb_func_end sub_80EA870 thumb_func_start sub_80EA8D4 @@ -6240,7 +6240,7 @@ sub_80EA8D4: @ 80EA8D4 adds r1, r0 lsls r1, 3 adds r1, r5 - ldr r5, _080EA994 @ =gUnknown_2022BC4 + ldr r5, _080EA994 @ =gBattleBufferA lsls r2, 9 adds r6, r5, 0x1 adds r2, r6 @@ -6294,7 +6294,7 @@ _080EA940: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r1, _080EA9A0 @ =gUnknown_3004FE0 + ldr r1, _080EA9A0 @ =gBattlerControllerFuncs ldr r2, _080EA98C @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -6313,10 +6313,10 @@ _080EA984: .4byte TaskDummy _080EA988: .4byte gUnknown_3004FFC _080EA98C: .4byte gActiveBattler _080EA990: .4byte gTasks -_080EA994: .4byte gUnknown_2022BC4 +_080EA994: .4byte gBattleBufferA _080EA998: .4byte gBattleStruct _080EA99C: .4byte gUnknown_203B0DC -_080EA9A0: .4byte gUnknown_3004FE0 +_080EA9A0: .4byte gBattlerControllerFuncs _080EA9A4: .4byte sub_80E79B8 _080EA9A8: .4byte gBattlerInMenuId thumb_func_end sub_80EA8D4 @@ -6338,7 +6338,7 @@ sub_80EA9B8: @ 80EA9B8 sub sp, 0x4 movs r0, 0 bl LoadBattleBarGfx - ldr r3, _080EAA30 @ =gUnknown_2022BC4 + ldr r3, _080EAA30 @ =gBattleBufferA ldr r0, _080EAA34 @ =gActiveBattler mov r9, r0 ldrb r4, [r0] @@ -6387,7 +6387,7 @@ sub_80EA9B8: @ 80EA9B8 bl SetBattleBarStruct b _080EAA82 .align 2, 0 -_080EAA30: .4byte gUnknown_2022BC4 +_080EAA30: .4byte gBattleBufferA _080EAA34: .4byte gActiveBattler _080EAA38: .4byte 0x00007fff _080EAA3C: .4byte gBattlerPartyIndexes @@ -6421,7 +6421,7 @@ _080EAA48: movs r2, 0 bl sub_8048440 _080EAA82: - ldr r1, _080EAAAC @ =gUnknown_3004FE0 + ldr r1, _080EAAAC @ =gBattlerControllerFuncs ldr r0, _080EAAB0 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -6439,7 +6439,7 @@ _080EAA82: _080EAAA0: .4byte gBattlerPartyIndexes _080EAAA4: .4byte gPlayerParty _080EAAA8: .4byte gHealthboxSpriteIds -_080EAAAC: .4byte gUnknown_3004FE0 +_080EAAAC: .4byte gBattlerControllerFuncs _080EAAB0: .4byte gActiveBattler _080EAAB4: .4byte sub_80E88C0 thumb_func_end sub_80EA9B8 @@ -6447,7 +6447,7 @@ _080EAAB4: .4byte sub_80E88C0 thumb_func_start sub_80EAAB8 sub_80EAAB8: @ 80EAAB8 push {r4-r7,lr} - ldr r5, _080EAAE4 @ =gUnknown_2022BC4 + ldr r5, _080EAAE4 @ =gBattleBufferA ldr r6, _080EAAE8 @ =gActiveBattler ldrb r0, [r6] lsls r0, 9 @@ -6467,7 +6467,7 @@ sub_80EAAB8: @ 80EAAB8 bl WallyBufferExecCompleted b _080EAB3C .align 2, 0 -_080EAAE4: .4byte gUnknown_2022BC4 +_080EAAE4: .4byte gBattleBufferA _080EAAE8: .4byte gActiveBattler _080EAAEC: .4byte gPlayerParty _080EAAF0: @@ -6500,7 +6500,7 @@ _080EAAF0: strh r4, [r1, 0xA] ldrb r0, [r6] strh r0, [r1, 0xC] - ldr r1, _080EAB4C @ =gUnknown_3004FE0 + ldr r1, _080EAB4C @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -6513,7 +6513,7 @@ _080EAB3C: .align 2, 0 _080EAB44: .4byte sub_80E7E04 _080EAB48: .4byte gTasks -_080EAB4C: .4byte gUnknown_3004FE0 +_080EAB4C: .4byte gBattlerControllerFuncs _080EAB50: .4byte nullsub_81 thumb_func_end sub_80EAAB8 @@ -6662,7 +6662,7 @@ _080EAC30: .4byte gSprites _080EAC34: .4byte gBattlerSpriteIds _080EAC38: .4byte gActiveBattler _080EAC3C: - ldr r1, _080EAC6C @ =gUnknown_2024005 + ldr r1, _080EAC6C @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r0, [r4] @@ -6676,7 +6676,7 @@ _080EAC3C: strh r1, [r0, 0x30] ldrb r0, [r4] bl DoHitAnimHealthboxEffect - ldr r1, _080EAC70 @ =gUnknown_3004FE0 + ldr r1, _080EAC70 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -6687,8 +6687,8 @@ _080EAC66: pop {r0} bx r0 .align 2, 0 -_080EAC6C: .4byte gUnknown_2024005 -_080EAC70: .4byte gUnknown_3004FE0 +_080EAC6C: .4byte gDoingBattleAnim +_080EAC70: .4byte gBattlerControllerFuncs _080EAC74: .4byte DoHitAnimBlinkSpriteEffect_3 thumb_func_end sub_80EAC08 @@ -6703,7 +6703,7 @@ sub_80EAC78: @ 80EAC78 thumb_func_start sub_80EAC84 sub_80EAC84: @ 80EAC84 push {lr} - ldr r2, _080EACAC @ =gUnknown_2022BC4 + ldr r2, _080EACAC @ =gBattleBufferA ldr r0, _080EACB0 @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -6720,14 +6720,14 @@ sub_80EAC84: @ 80EAC84 pop {r0} bx r0 .align 2, 0 -_080EACAC: .4byte gUnknown_2022BC4 +_080EACAC: .4byte gBattleBufferA _080EACB0: .4byte gActiveBattler thumb_func_end sub_80EAC84 thumb_func_start sub_80EACB4 sub_80EACB4: @ 80EACB4 push {lr} - ldr r2, _080EACDC @ =gUnknown_2022BC4 + ldr r2, _080EACDC @ =gBattleBufferA ldr r0, _080EACE0 @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -6744,7 +6744,7 @@ sub_80EACB4: @ 80EACB4 pop {r0} bx r0 .align 2, 0 -_080EACDC: .4byte gUnknown_2022BC4 +_080EACDC: .4byte gBattleBufferA _080EACE0: .4byte gActiveBattler thumb_func_end sub_80EACB4 @@ -6779,14 +6779,14 @@ _080EAD1C: .4byte gPlayerParty thumb_func_start sub_80EAD20 sub_80EAD20: @ 80EAD20 push {lr} - ldr r1, _080EAD48 @ =gUnknown_2022BC4 + ldr r1, _080EAD48 @ =gBattleBufferA ldr r0, _080EAD4C @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 adds r1, 0x1 adds r0, r1 ldrb r0, [r0] - bl sub_80BC3A0 + bl HandleIntroSlide ldr r2, _080EAD50 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 @@ -6796,7 +6796,7 @@ sub_80EAD20: @ 80EAD20 pop {r0} bx r0 .align 2, 0 -_080EAD48: .4byte gUnknown_2022BC4 +_080EAD48: .4byte gBattleBufferA _080EAD4C: .4byte gActiveBattler _080EAD50: .4byte gIntroSlideFlags thumb_func_end sub_80EAD20 @@ -6957,7 +6957,7 @@ _080EAE84: movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x9] - ldr r1, _080EAEDC @ =gUnknown_3004FE0 + ldr r1, _080EAEDC @ =gBattlerControllerFuncs ldrb r0, [r7] lsls r0, 2 adds r0, r1 @@ -6980,7 +6980,7 @@ _080EAECC: .4byte gTasks _080EAED0: .4byte gBattleSpritesDataPtr _080EAED4: .4byte gUnknown_2024000 _080EAED8: .4byte sub_80491B0 -_080EAEDC: .4byte gUnknown_3004FE0 +_080EAEDC: .4byte gBattlerControllerFuncs _080EAEE0: .4byte nullsub_13 _080EAEE4: ldr r0, _080EAF20 @ =gBattleSpritesDataPtr @@ -7041,7 +7041,7 @@ sub_80EAF34: @ 80EAF34 ldr r0, _080EB080 @ =gBattlerPartyIndexes lsls r2, r6, 1 adds r2, r0 - ldr r0, _080EB084 @ =gUnknown_2022BC4 + ldr r0, _080EB084 @ =gBattleBufferA lsls r1, r6, 9 adds r0, 0x1 adds r1, r0 @@ -7180,7 +7180,7 @@ sub_80EAF34: @ 80EAF34 .align 2, 0 _080EB07C: .4byte gBattleSpritesDataPtr _080EB080: .4byte gBattlerPartyIndexes -_080EB084: .4byte gUnknown_2022BC4 +_080EB084: .4byte gBattleBufferA _080EB088: .4byte gPlayerParty _080EB08C: .4byte sub_8033E3C _080EB090: .4byte gUnknown_3004FFC @@ -7216,7 +7216,7 @@ _080EB0CC: ldrb r5, [r4] ldrh r0, [r1, 0x8] strb r0, [r4] - ldr r0, _080EB10C @ =gUnknown_2022BC4 + ldr r0, _080EB10C @ =gBattleBufferA ldrb r1, [r4] lsls r2, r1, 9 adds r0, 0x1 @@ -7228,7 +7228,7 @@ _080EB0CC: strb r0, [r2] ldrb r0, [r4] bl sub_80EAF34 - ldr r1, _080EB114 @ =gUnknown_3004FE0 + ldr r1, _080EB114 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -7243,16 +7243,16 @@ _080EB102: bx r0 .align 2, 0 _080EB108: .4byte gActiveBattler -_080EB10C: .4byte gUnknown_2022BC4 +_080EB10C: .4byte gBattleBufferA _080EB110: .4byte gBattlerPartyIndexes -_080EB114: .4byte gUnknown_3004FE0 +_080EB114: .4byte gBattlerControllerFuncs _080EB118: .4byte sub_80E7B4C thumb_func_end sub_80EB0A8 thumb_func_start sub_80EB11C sub_80EB11C: @ 80EB11C push {r4,r5,lr} - ldr r1, _080EB144 @ =gUnknown_2022BC4 + ldr r1, _080EB144 @ =gBattleBufferA ldr r0, _080EB148 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -7269,7 +7269,7 @@ sub_80EB11C: @ 80EB11C bl WallyBufferExecCompleted b _080EB18A .align 2, 0 -_080EB144: .4byte gUnknown_2022BC4 +_080EB144: .4byte gBattleBufferA _080EB148: .4byte gActiveBattler _080EB14C: ldr r0, _080EB190 @ =gBattleSpritesDataPtr @@ -7350,7 +7350,7 @@ sub_80EB1D0: @ 80EB1D0 sub_80EB1DC: @ 80EB1DC push {r4-r6,lr} sub sp, 0x4 - ldr r5, _080EB214 @ =gUnknown_2022BC4 + ldr r5, _080EB214 @ =gBattleBufferA ldr r6, _080EB218 @ =gActiveBattler ldrb r2, [r6] lsls r1, r2, 9 @@ -7375,10 +7375,10 @@ sub_80EB1DC: @ 80EB1DC bl WallyBufferExecCompleted b _080EB228 .align 2, 0 -_080EB214: .4byte gUnknown_2022BC4 +_080EB214: .4byte gBattleBufferA _080EB218: .4byte gActiveBattler _080EB21C: - ldr r0, _080EB230 @ =gUnknown_3004FE0 + ldr r0, _080EB230 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -7390,14 +7390,14 @@ _080EB228: pop {r0} bx r0 .align 2, 0 -_080EB230: .4byte gUnknown_3004FE0 +_080EB230: .4byte gBattlerControllerFuncs _080EB234: .4byte CompleteOnFinishedBattleAnimation_4 thumb_func_end sub_80EB1DC thumb_func_start sub_80EB238 sub_80EB238: @ 80EB238 push {r4,lr} - ldr r1, _080EB26C @ =gUnknown_2022BC4 + ldr r1, _080EB26C @ =gBattleBufferA ldr r4, _080EB270 @ =gActiveBattler ldrb r2, [r4] lsls r0, r2, 9 @@ -7420,7 +7420,7 @@ _080EB260: pop {r0} bx r0 .align 2, 0 -_080EB26C: .4byte gUnknown_2022BC4 +_080EB26C: .4byte gBattleBufferA _080EB270: .4byte gActiveBattler thumb_func_end sub_80EB238 @@ -7436,7 +7436,7 @@ sub_80EB274: @ 80EB274 sub_80EB280: @ 80EB280 push {r4,lr} ldr r2, _080EB2C4 @ =gBattleOutcome - ldr r1, _080EB2C8 @ =gUnknown_2022BC4 + ldr r1, _080EB2C8 @ =gBattleBufferA ldr r4, _080EB2CC @ =gActiveBattler ldrb r0, [r4] lsls r0, 9 @@ -7455,7 +7455,7 @@ sub_80EB280: @ 80EB280 ands r0, r1 cmp r0, 0x2 bne _080EB2BC - ldr r0, _080EB2D4 @ =gUnknown_3004FE0 + ldr r0, _080EB2D4 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -7467,10 +7467,10 @@ _080EB2BC: bx r0 .align 2, 0 _080EB2C4: .4byte gBattleOutcome -_080EB2C8: .4byte gUnknown_2022BC4 +_080EB2C8: .4byte gBattleBufferA _080EB2CC: .4byte gActiveBattler _080EB2D0: .4byte gBattleTypeFlags -_080EB2D4: .4byte gUnknown_3004FE0 +_080EB2D4: .4byte gBattlerControllerFuncs _080EB2D8: .4byte sub_80E7930 thumb_func_end sub_80EB280 diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index 3bc790216..6f9097ed6 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -12,7 +12,7 @@ nullsub_17: @ 8035A78 thumb_func_start sub_8035A7C sub_8035A7C: @ 8035A7C - ldr r1, _08035A8C @ =gUnknown_3004FE0 + ldr r1, _08035A8C @ =gBattlerControllerFuncs ldr r0, _08035A90 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -21,7 +21,7 @@ sub_8035A7C: @ 8035A7C str r1, [r0] bx lr .align 2, 0 -_08035A8C: .4byte gUnknown_3004FE0 +_08035A8C: .4byte gBattlerControllerFuncs _08035A90: .4byte gActiveBattler _08035A94: .4byte sub_8035A98 thumb_func_end sub_8035A7C @@ -29,7 +29,7 @@ _08035A94: .4byte sub_8035A98 thumb_func_start sub_8035A98 sub_8035A98: @ 8035A98 push {lr} - ldr r2, _08035ACC @ =gUnknown_2023BC8 + ldr r2, _08035ACC @ =gBattleControllerExecFlags ldr r1, _08035AD0 @ =gBitTable ldr r0, _08035AD4 @ =gActiveBattler ldrb r3, [r0] @@ -40,7 +40,7 @@ sub_8035A98: @ 8035A98 ands r1, r0 cmp r1, 0 beq _08035AE4 - ldr r0, _08035AD8 @ =gUnknown_2022BC4 + ldr r0, _08035AD8 @ =gBattleBufferA lsls r1, r3, 9 adds r1, r0 ldrb r0, [r1] @@ -54,10 +54,10 @@ sub_8035A98: @ 8035A98 bl _call_via_r0 b _08035AE4 .align 2, 0 -_08035ACC: .4byte gUnknown_2023BC8 +_08035ACC: .4byte gBattleControllerExecFlags _08035AD0: .4byte gBitTable _08035AD4: .4byte gActiveBattler -_08035AD8: .4byte gUnknown_2022BC4 +_08035AD8: .4byte gBattleBufferA _08035ADC: .4byte gUnknown_8250A34 _08035AE0: bl OpponentBufferExecCompleted @@ -424,7 +424,7 @@ _08035DB0: adds r0, r2 movs r1, 0x3 strb r1, [r0, 0x9] - ldr r1, _08035DE8 @ =gUnknown_3004FE0 + ldr r1, _08035DE8 @ =gBattlerControllerFuncs ldrb r0, [r3] lsls r0, 2 adds r0, r1 @@ -439,7 +439,7 @@ _08035DD8: .4byte gMPlayInfo_BGM _08035DDC: .4byte 0x0000ffff _08035DE0: .4byte gBattleSpritesDataPtr _08035DE4: .4byte gActiveBattler -_08035DE8: .4byte gUnknown_3004FE0 +_08035DE8: .4byte gBattlerControllerFuncs _08035DEC: .4byte sub_8035BE8 thumb_func_end sub_8035C30 @@ -655,7 +655,7 @@ _08035F28: negs r0, r0 ands r0, r1 strb r0, [r2, 0x9] - ldr r1, _08035FE0 @ =gUnknown_3004FE0 + ldr r1, _08035FE0 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -677,7 +677,7 @@ _08035FD0: .4byte gBattleTypeFlags _08035FD4: .4byte gUnknown_3004FFC _08035FD8: .4byte gSprites _08035FDC: .4byte gHealthboxSpriteIds -_08035FE0: .4byte gUnknown_3004FE0 +_08035FE0: .4byte gBattlerControllerFuncs _08035FE4: .4byte sub_8035C30 thumb_func_end sub_8035DF0 @@ -815,7 +815,7 @@ _080360E8: beq _08036120 movs r0, 0x1 bl sub_80EB2F4 - ldr r0, _08036118 @ =gUnknown_3004FE0 + ldr r0, _08036118 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -824,7 +824,7 @@ _080360E8: b _08036124 .align 2, 0 _08036114: .4byte gBattleTypeFlags -_08036118: .4byte gUnknown_3004FE0 +_08036118: .4byte gBattlerControllerFuncs _0803611C: .4byte sub_80E8570 _08036120: bl OpponentBufferExecCompleted @@ -961,7 +961,7 @@ sub_80361FC: @ 80361FC subs r0, 0x5 ands r0, r1 strb r0, [r2] - ldr r0, _08036244 @ =gUnknown_2024005 + ldr r0, _08036244 @ =gDoingBattleAnim strb r3, [r0] bl OpponentBufferExecCompleted b _08036272 @@ -969,7 +969,7 @@ sub_80361FC: @ 80361FC _08036238: .4byte gBattlerSpriteIds _0803623C: .4byte gActiveBattler _08036240: .4byte gSprites -_08036244: .4byte gUnknown_2024005 +_08036244: .4byte gDoingBattleAnim _08036248: ldrh r0, [r4, 0x30] movs r1, 0x3 @@ -1033,7 +1033,7 @@ sub_8036278: @ 8036278 movs r3, 0x6 bl InitAndLaunchSpecialAnimation _080362B8: - ldr r0, _080362E0 @ =gUnknown_3004FE0 + ldr r0, _080362E0 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -1049,7 +1049,7 @@ _080362D0: .4byte gHealthboxSpriteIds _080362D4: .4byte gActiveBattler _080362D8: .4byte SpriteCallbackDummy _080362DC: .4byte gBattleSpritesDataPtr -_080362E0: .4byte gUnknown_3004FE0 +_080362E0: .4byte gBattlerControllerFuncs _080362E4: .4byte sub_80362E8 thumb_func_end sub_8036278 @@ -1161,7 +1161,7 @@ sub_8036334: @ 8036334 bl SetHealthboxSpriteVisible ldrb r0, [r5] bl CopyBattleSpriteInvisibility - ldr r1, _08036400 @ =gUnknown_3004FE0 + ldr r1, _08036400 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -1180,7 +1180,7 @@ _080363F0: .4byte gSprites _080363F4: .4byte gHealthboxSpriteIds _080363F8: .4byte gBattlerPartyIndexes _080363FC: .4byte gEnemyParty -_08036400: .4byte gUnknown_3004FE0 +_08036400: .4byte gBattlerControllerFuncs _08036404: .4byte sub_8036278 thumb_func_end sub_8036334 @@ -1255,7 +1255,7 @@ _0803643A: lsrs r1, 16 adds r0, r4, 0 bl SetBattlerShadowSpriteCallback - ldr r1, _080364C8 @ =gUnknown_3004FE0 + ldr r1, _080364C8 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -1273,7 +1273,7 @@ _080364B8: .4byte gEnemyParty _080364BC: .4byte gSprites _080364C0: .4byte gUnknown_3004FFC _080364C4: .4byte SpriteCallbackDummy -_080364C8: .4byte gUnknown_3004FE0 +_080364C8: .4byte gBattlerControllerFuncs _080364CC: .4byte sub_8036334 thumb_func_end sub_8036408 @@ -1331,14 +1331,14 @@ _0803652C: .4byte gActiveBattler thumb_func_start OpponentBufferExecCompleted OpponentBufferExecCompleted: @ 8036530 - ldr r1, _08036554 @ =gUnknown_3004FE0 + ldr r1, _08036554 @ =gBattlerControllerFuncs ldr r2, _08036558 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 adds r0, r1 ldr r1, _0803655C @ =sub_8035A98 str r1, [r0] - ldr r3, _08036560 @ =gUnknown_2023BC8 + ldr r3, _08036560 @ =gBattleControllerExecFlags ldr r1, _08036564 @ =gBitTable ldrb r0, [r2] lsls r0, 2 @@ -1349,10 +1349,10 @@ OpponentBufferExecCompleted: @ 8036530 str r0, [r3] bx lr .align 2, 0 -_08036554: .4byte gUnknown_3004FE0 +_08036554: .4byte gBattlerControllerFuncs _08036558: .4byte gActiveBattler _0803655C: .4byte sub_8035A98 -_08036560: .4byte gUnknown_2023BC8 +_08036560: .4byte gBattleControllerExecFlags _08036564: .4byte gBitTable thumb_func_end OpponentBufferExecCompleted @@ -1361,7 +1361,7 @@ OpponentHandleGetAttributes: @ 8036568 push {r4-r6,lr} sub sp, 0x100 movs r6, 0 - ldr r1, _08036594 @ =gUnknown_2022BC4 + ldr r1, _08036594 @ =gBattleBufferA ldr r0, _08036598 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -1379,7 +1379,7 @@ OpponentHandleGetAttributes: @ 8036568 adds r6, r0, 0 b _080365C2 .align 2, 0 -_08036594: .4byte gUnknown_2022BC4 +_08036594: .4byte gBattleBufferA _08036598: .4byte gActiveBattler _0803659C: .4byte gBattlerPartyIndexes _080365A0: @@ -1426,7 +1426,7 @@ sub_80365DC: @ 80365DC lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r2, _08036610 @ =gUnknown_2022BC4 + ldr r2, _08036610 @ =gBattleBufferA ldr r3, _08036614 @ =gActiveBattler ldrb r0, [r3] lsls r0, 9 @@ -1443,7 +1443,7 @@ _08036606: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08036610: .4byte gUnknown_2022BC4 +_08036610: .4byte gBattleBufferA _08036614: .4byte gActiveBattler _08036618: .4byte _0803661C .align 2, 0 @@ -2361,7 +2361,7 @@ OpponentHandlecmd1: @ 8036D88 movs r0, 0x64 adds r4, r2, 0 muls r4, r0 - ldr r3, _08036E08 @ =gUnknown_2022BC4 + ldr r3, _08036E08 @ =gBattleBufferA lsls r1, 9 adds r0, r3, 0x1 adds r0, r1, r0 @@ -2412,14 +2412,14 @@ _08036DDE: .align 2, 0 _08036E00: .4byte gBattlerPartyIndexes _08036E04: .4byte gActiveBattler -_08036E08: .4byte gUnknown_2022BC4 +_08036E08: .4byte gBattleBufferA _08036E0C: .4byte gEnemyParty thumb_func_end OpponentHandlecmd1 thumb_func_start OpponentHandleSetAttributes OpponentHandleSetAttributes: @ 8036E10 push {r4,r5,lr} - ldr r1, _08036E34 @ =gUnknown_2022BC4 + ldr r1, _08036E34 @ =gBattleBufferA ldr r0, _08036E38 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -2435,7 +2435,7 @@ OpponentHandleSetAttributes: @ 8036E10 bl sub_8036E68 b _08036E5E .align 2, 0 -_08036E34: .4byte gUnknown_2022BC4 +_08036E34: .4byte gBattleBufferA _08036E38: .4byte gActiveBattler _08036E3C: .4byte gBattlerPartyIndexes _08036E40: @@ -2812,7 +2812,7 @@ _080371C0: muls r0, r5 ldr r1, _080371D8 @ =gEnemyParty adds r0, r1 - ldr r3, _080371DC @ =gUnknown_2022BC4 + ldr r3, _080371DC @ =gBattleBufferA ldrb r2, [r6] lsls r2, 9 adds r1, r3, 0x1 @@ -2822,7 +2822,7 @@ _080371C0: b _0803725E .align 2, 0 _080371D8: .4byte gEnemyParty -_080371DC: .4byte gUnknown_2022BC4 +_080371DC: .4byte gBattleBufferA _080371E0: movs r0, 0x64 adds r4, r5, 0 @@ -2876,7 +2876,7 @@ _08037248: muls r0, r5 ldr r1, _08037268 @ =gEnemyParty adds r0, r1 - ldr r3, _0803726C @ =gUnknown_2022BC4 + ldr r3, _0803726C @ =gBattleBufferA ldrb r2, [r6] lsls r2, 9 adds r1, r3, 0x1 @@ -2890,7 +2890,7 @@ _0803725E: b _08037774 .align 2, 0 _08037268: .4byte gEnemyParty -_0803726C: .4byte gUnknown_2022BC4 +_0803726C: .4byte gBattleBufferA _08037270: movs r0, 0x64 muls r0, r5 @@ -3514,7 +3514,7 @@ OpponentHandlecmd3: @ 8037788 movs r0, 0x64 adds r3, r1, 0 muls r3, r0 - ldr r4, _080377F4 @ =gUnknown_2022BC4 + ldr r4, _080377F4 @ =gBattleBufferA lsls r2, 9 adds r0, r4, 0x1 adds r0, r2, r0 @@ -3557,7 +3557,7 @@ _080377E0: .align 2, 0 _080377EC: .4byte gBattlerPartyIndexes _080377F0: .4byte gActiveBattler -_080377F4: .4byte gUnknown_2022BC4 +_080377F4: .4byte gBattleBufferA _080377F8: .4byte gEnemyParty thumb_func_end OpponentHandlecmd3 @@ -3745,7 +3745,7 @@ _080378AA: adds r0, r4, 0 bl SetBattlerShadowSpriteCallback _08037986: - ldr r0, _080379C0 @ =gUnknown_3004FE0 + ldr r0, _080379C0 @ =gBattlerControllerFuncs ldrb r1, [r7] lsls r1, 2 adds r1, r0 @@ -3766,7 +3766,7 @@ _080379B0: .4byte gBattleMonForms _080379B4: .4byte gBattleTypeFlags _080379B8: .4byte gBattlerPartyIndexes _080379BC: .4byte gEnemyParty -_080379C0: .4byte gUnknown_3004FE0 +_080379C0: .4byte gBattlerControllerFuncs _080379C4: .4byte sub_8035FE8 thumb_func_end sub_80377FC @@ -3785,7 +3785,7 @@ OpponentHandleSwitchInAnim: @ 80379C8 ldrb r0, [r4] lsls r2, r0, 1 adds r2, r1 - ldr r3, _08037A1C @ =gUnknown_2022BC4 + ldr r3, _08037A1C @ =gBattleBufferA lsls r0, 9 adds r1, r3, 0x1 adds r0, r1 @@ -3797,7 +3797,7 @@ OpponentHandleSwitchInAnim: @ 80379C8 adds r1, r3 ldrb r1, [r1] bl sub_8037A28 - ldr r1, _08037A20 @ =gUnknown_3004FE0 + ldr r1, _08037A20 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -3810,8 +3810,8 @@ OpponentHandleSwitchInAnim: @ 80379C8 _08037A10: .4byte gActiveBattler _08037A14: .4byte gBattleStruct _08037A18: .4byte gBattlerPartyIndexes -_08037A1C: .4byte gUnknown_2022BC4 -_08037A20: .4byte gUnknown_3004FE0 +_08037A1C: .4byte gBattleBufferA +_08037A20: .4byte gBattlerControllerFuncs _08037A24: .4byte sub_8036408 thumb_func_end OpponentHandleSwitchInAnim @@ -3832,7 +3832,7 @@ sub_8037A28: @ 8037A28 ldr r0, _08037B84 @ =gBattlerPartyIndexes lsls r4, r6, 1 adds r4, r0 - ldr r0, _08037B88 @ =gUnknown_2022BC4 + ldr r0, _08037B88 @ =gBattleBufferA lsls r1, r6, 9 adds r0, 0x1 adds r1, r0 @@ -3980,7 +3980,7 @@ sub_8037A28: @ 8037A28 bx r0 .align 2, 0 _08037B84: .4byte gBattlerPartyIndexes -_08037B88: .4byte gUnknown_2022BC4 +_08037B88: .4byte gBattleBufferA _08037B8C: .4byte gEnemyParty _08037B90: .4byte sub_8033E3C _08037B94: .4byte gUnknown_3004FFC @@ -3994,7 +3994,7 @@ _08037BA8: .4byte SpriteCallbackDummy thumb_func_start sub_8037BAC sub_8037BAC: @ 8037BAC push {r4-r6,lr} - ldr r1, _08037BE0 @ =gUnknown_2022BC4 + ldr r1, _08037BE0 @ =gBattleBufferA ldr r6, _08037BE4 @ =gActiveBattler ldrb r2, [r6] lsls r0, r2, 9 @@ -4011,7 +4011,7 @@ sub_8037BAC: @ 8037BAC lsls r0, 2 adds r0, r1 strb r3, [r0, 0x4] - ldr r1, _08037BEC @ =gUnknown_3004FE0 + ldr r1, _08037BEC @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -4019,10 +4019,10 @@ sub_8037BAC: @ 8037BAC str r1, [r0] b _08037C30 .align 2, 0 -_08037BE0: .4byte gUnknown_2022BC4 +_08037BE0: .4byte gBattleBufferA _08037BE4: .4byte gActiveBattler _08037BE8: .4byte gBattleSpritesDataPtr -_08037BEC: .4byte gUnknown_3004FE0 +_08037BEC: .4byte gBattlerControllerFuncs _08037BF0: .4byte sub_8037C44 _08037BF4: ldr r5, _08037C38 @ =gBattlerSpriteIds @@ -4119,7 +4119,7 @@ _08037C9A: adds r1, r2, 0 movs r3, 0x2 bl InitAndLaunchSpecialAnimation - ldr r1, _08037CC8 @ =gUnknown_3004FE0 + ldr r1, _08037CC8 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4130,7 +4130,7 @@ _08037CC2: pop {r0} bx r0 .align 2, 0 -_08037CC8: .4byte gUnknown_3004FE0 +_08037CC8: .4byte gBattlerControllerFuncs _08037CCC: .4byte sub_8036170 thumb_func_end sub_8037C44 @@ -4323,7 +4323,7 @@ _08037D3A: adds r0, r4 ldr r1, _08037E98 @ =sub_8033EEC str r1, [r0] - ldr r1, _08037E9C @ =gUnknown_3004FE0 + ldr r1, _08037E9C @ =gBattlerControllerFuncs mov r2, r8 ldrb r0, [r2] lsls r0, 2 @@ -4349,7 +4349,7 @@ _08037E8C: .4byte gTrainerFrontPicTable _08037E90: .4byte 0x000003ff _08037E94: .4byte 0xfffffc00 _08037E98: .4byte sub_8033EEC -_08037E9C: .4byte gUnknown_3004FE0 +_08037E9C: .4byte gBattlerControllerFuncs _08037EA0: .4byte sub_8035AE8 thumb_func_end sub_8037CD0 @@ -4544,7 +4544,7 @@ _08037F0E: adds r0, r4 ldr r1, _0803806C @ =sub_8033EEC str r1, [r0] - ldr r1, _08038070 @ =gUnknown_3004FE0 + ldr r1, _08038070 @ =gBattlerControllerFuncs ldrb r0, [r3] lsls r0, 2 adds r0, r1 @@ -4569,7 +4569,7 @@ _08038060: .4byte gTrainerFrontPicTable _08038064: .4byte 0x000003ff _08038068: .4byte 0xfffffc00 _0803806C: .4byte sub_8033EEC -_08038070: .4byte gUnknown_3004FE0 +_08038070: .4byte gBattlerControllerFuncs _08038074: .4byte sub_8035B20 thumb_func_end sub_8037EA4 @@ -4635,7 +4635,7 @@ sub_8038078: @ 8038078 adds r0, r5 ldr r1, _08038118 @ =SpriteCallbackDummy bl StoreSpriteCallbackInData6 - ldr r1, _0803811C @ =gUnknown_3004FE0 + ldr r1, _0803811C @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -4650,7 +4650,7 @@ _0803810C: .4byte gActiveBattler _08038110: .4byte gSprites _08038114: .4byte sub_8075590 _08038118: .4byte SpriteCallbackDummy -_0803811C: .4byte gUnknown_3004FE0 +_0803811C: .4byte gBattlerControllerFuncs _08038120: .4byte sub_8035B58 thumb_func_end sub_8038078 @@ -4720,7 +4720,7 @@ _08038178: adds r0, r2 ldr r1, _080381C4 @ =sub_8011EA0 str r1, [r0] - ldr r1, _080381C8 @ =gUnknown_3004FE0 + ldr r1, _080381C8 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4734,7 +4734,7 @@ _080381B4: _080381BC: .4byte gSprites _080381C0: .4byte gBattlerSpriteIds _080381C4: .4byte sub_8011EA0 -_080381C8: .4byte gUnknown_3004FE0 +_080381C8: .4byte gBattlerControllerFuncs _080381CC: .4byte sub_803612C thumb_func_end sub_8038124 @@ -4781,7 +4781,7 @@ sub_8038200: @ 8038200 beq _08038212 b _08038326 _08038212: - ldr r0, _080382E8 @ =gUnknown_2022BC4 + ldr r0, _080382E8 @ =gBattleBufferA mov r12, r0 ldrb r2, [r6] lsls r2, 9 @@ -4885,7 +4885,7 @@ _08038212: b _08038326 .align 2, 0 _080382E4: .4byte gActiveBattler -_080382E8: .4byte gUnknown_2022BC4 +_080382E8: .4byte gBattleBufferA _080382EC: .4byte gAnimMoveTurn _080382F0: .4byte gAnimMovePower _080382F4: .4byte gAnimMoveDmg @@ -4903,7 +4903,7 @@ _08038308: lsls r0, 2 adds r0, r2 strb r3, [r0, 0x4] - ldr r1, _08038330 @ =gUnknown_3004FE0 + ldr r1, _08038330 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -4915,7 +4915,7 @@ _08038326: bx r0 .align 2, 0 _0803832C: .4byte gBattleSpritesDataPtr -_08038330: .4byte gUnknown_3004FE0 +_08038330: .4byte gBattlerControllerFuncs _08038334: .4byte sub_8038338 thumb_func_end sub_8038200 @@ -4926,7 +4926,7 @@ sub_8038338: @ 8038338 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r2, _08038384 @ =gUnknown_2022BC4 + ldr r2, _08038384 @ =gBattleBufferA ldr r6, _08038388 @ =gActiveBattler ldrb r3, [r6] lsls r1, r3, 9 @@ -4960,7 +4960,7 @@ sub_8038338: @ 8038338 beq _0803839A b _080384AC .align 2, 0 -_08038384: .4byte gUnknown_2022BC4 +_08038384: .4byte gBattleBufferA _08038388: .4byte gActiveBattler _0803838C: .4byte gBattleSpritesDataPtr _08038390: @@ -5124,7 +5124,7 @@ sub_80384BC: @ 80384BC ldr r1, _080384FC @ =gUnknown_2022BC6 adds r4, r0, r1 ldrh r0, [r4] - bl sub_80D7274 + bl BufferStringBattle ldrh r0, [r4] bl sub_80D89B0 lsls r0, 24 @@ -5132,7 +5132,7 @@ sub_80384BC: @ 80384BC beq _08038504 ldr r0, _08038500 @ =gDisplayedStringBattle movs r1, 0x40 - bl sub_80D87BC + bl BattlePutTextOnWindow b _0803850C .align 2, 0 _080384F0: .4byte gBattle_BG0_X @@ -5143,7 +5143,7 @@ _08038500: .4byte gDisplayedStringBattle _08038504: ldr r0, _08038534 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow _0803850C: ldr r0, _08038538 @ =gBattleTypeFlags ldr r0, [r0] @@ -5157,7 +5157,7 @@ _0803850C: ldr r0, _0803853C @ =0x0000017f cmp r1, r0 bne _08038568 - ldr r1, _08038540 @ =gUnknown_3004FE0 + ldr r1, _08038540 @ =gBattlerControllerFuncs ldr r0, _08038544 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5168,11 +5168,11 @@ _0803850C: _08038534: .4byte gDisplayedStringBattle _08038538: .4byte gBattleTypeFlags _0803853C: .4byte 0x0000017f -_08038540: .4byte gUnknown_3004FE0 +_08038540: .4byte gBattlerControllerFuncs _08038544: .4byte gActiveBattler _08038548: .4byte sub_80E85C0 _0803854C: - ldr r1, _0803855C @ =gUnknown_3004FE0 + ldr r1, _0803855C @ =gBattlerControllerFuncs ldr r0, _08038560 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5180,11 +5180,11 @@ _0803854C: ldr r1, _08038564 @ =sub_80E8598 b _08038574 .align 2, 0 -_0803855C: .4byte gUnknown_3004FE0 +_0803855C: .4byte gBattlerControllerFuncs _08038560: .4byte gActiveBattler _08038564: .4byte sub_80E8598 _08038568: - ldr r1, _0803857C @ =gUnknown_3004FE0 + ldr r1, _0803857C @ =gBattlerControllerFuncs ldr r0, _08038580 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5196,7 +5196,7 @@ _08038574: pop {r0} bx r0 .align 2, 0 -_0803857C: .4byte gUnknown_3004FE0 +_0803857C: .4byte gBattlerControllerFuncs _08038580: .4byte gActiveBattler _08038584: .4byte sub_80361E4 thumb_func_end sub_80384BC @@ -5555,7 +5555,7 @@ sub_8038844: @ 8038844 sub sp, 0x4 movs r0, 0 bl LoadBattleBarGfx - ldr r3, _080388BC @ =gUnknown_2022BC4 + ldr r3, _080388BC @ =gBattleBufferA ldr r0, _080388C0 @ =gActiveBattler mov r9, r0 ldrb r4, [r0] @@ -5604,7 +5604,7 @@ sub_8038844: @ 8038844 bl SetBattleBarStruct b _080388FE .align 2, 0 -_080388BC: .4byte gUnknown_2022BC4 +_080388BC: .4byte gBattleBufferA _080388C0: .4byte gActiveBattler _080388C4: .4byte 0x00007fff _080388C8: .4byte gBattlerPartyIndexes @@ -5631,7 +5631,7 @@ _080388D4: movs r3, 0 bl SetBattleBarStruct _080388FE: - ldr r1, _08038928 @ =gUnknown_3004FE0 + ldr r1, _08038928 @ =gBattlerControllerFuncs ldr r0, _0803892C @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5649,7 +5649,7 @@ _080388FE: _0803891C: .4byte gBattlerPartyIndexes _08038920: .4byte gEnemyParty _08038924: .4byte gHealthboxSpriteIds -_08038928: .4byte gUnknown_3004FE0 +_08038928: .4byte gBattlerControllerFuncs _0803892C: .4byte gActiveBattler _08038930: .4byte sub_80360A0 thumb_func_end sub_8038844 @@ -5698,7 +5698,7 @@ sub_8038940: @ 8038940 negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r1, _080389B0 @ =gUnknown_3004FE0 + ldr r1, _080389B0 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5714,7 +5714,7 @@ _080389A0: .4byte gHealthboxSpriteIds _080389A4: .4byte gBattlerPartyIndexes _080389A8: .4byte gEnemyParty _080389AC: .4byte gBattleSpritesDataPtr -_080389B0: .4byte gUnknown_3004FE0 +_080389B0: .4byte gBattlerControllerFuncs _080389B4: .4byte sub_80364D0 thumb_func_end sub_8038940 @@ -5727,7 +5727,7 @@ sub_80389B8: @ 80389B8 lsls r0, 24 cmp r0, 0 bne _08038A08 - ldr r4, _08038A14 @ =gUnknown_2022BC4 + ldr r4, _08038A14 @ =gBattleBufferA ldrb r3, [r5] lsls r3, 9 adds r0, r4, 0x1 @@ -5752,7 +5752,7 @@ sub_80389B8: @ 80389B8 lsls r2, 24 orrs r1, r2 bl InitAndLaunchChosenStatusAnimation - ldr r1, _08038A18 @ =gUnknown_3004FE0 + ldr r1, _08038A18 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -5764,8 +5764,8 @@ _08038A08: bx r0 .align 2, 0 _08038A10: .4byte gActiveBattler -_08038A14: .4byte gUnknown_2022BC4 -_08038A18: .4byte gUnknown_3004FE0 +_08038A14: .4byte gBattleBufferA +_08038A18: .4byte gBattlerControllerFuncs _08038A1C: .4byte sub_80364D0 thumb_func_end sub_80389B8 @@ -5861,7 +5861,7 @@ _08038AA4: .4byte gUnknown_2022870 OpponentHandlecmd38: @ 8038AA8 push {lr} ldr r3, _08038AD4 @ =gUnknown_2022870 - ldr r1, _08038AD8 @ =gUnknown_2022BC4 + ldr r1, _08038AD8 @ =gBattleBufferA ldr r0, _08038ADC @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -5881,7 +5881,7 @@ OpponentHandlecmd38: @ 8038AA8 bx r0 .align 2, 0 _08038AD4: .4byte gUnknown_2022870 -_08038AD8: .4byte gUnknown_2022BC4 +_08038AD8: .4byte gBattleBufferA _08038ADC: .4byte gActiveBattler thumb_func_end OpponentHandlecmd38 @@ -5947,7 +5947,7 @@ _08038B48: .4byte gSprites _08038B4C: .4byte gBattlerSpriteIds _08038B50: .4byte gActiveBattler _08038B54: - ldr r1, _08038B84 @ =gUnknown_2024005 + ldr r1, _08038B84 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r0, [r4] @@ -5961,7 +5961,7 @@ _08038B54: strh r1, [r0, 0x30] ldrb r0, [r4] bl DoHitAnimHealthboxEffect - ldr r1, _08038B88 @ =gUnknown_3004FE0 + ldr r1, _08038B88 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5972,8 +5972,8 @@ _08038B7E: pop {r0} bx r0 .align 2, 0 -_08038B84: .4byte gUnknown_2024005 -_08038B88: .4byte gUnknown_3004FE0 +_08038B84: .4byte gDoingBattleAnim +_08038B88: .4byte gBattlerControllerFuncs _08038B8C: .4byte sub_80361FC thumb_func_end OpponentHandleHitAnimation @@ -5997,7 +5997,7 @@ OpponentHandleEffectivenessSound: @ 8038B9C bne _08038BB0 movs r3, 0xC0 _08038BB0: - ldr r2, _08038BDC @ =gUnknown_2022BC4 + ldr r2, _08038BDC @ =gBattleBufferA ldrb r1, [r4] lsls r1, 9 adds r0, r2, 0x1 @@ -6017,13 +6017,13 @@ _08038BB0: bx r0 .align 2, 0 _08038BD8: .4byte gActiveBattler -_08038BDC: .4byte gUnknown_2022BC4 +_08038BDC: .4byte gBattleBufferA thumb_func_end OpponentHandleEffectivenessSound thumb_func_start OpponentHandlecmd44 OpponentHandlecmd44: @ 8038BE0 push {lr} - ldr r2, _08038C08 @ =gUnknown_2022BC4 + ldr r2, _08038C08 @ =gBattleBufferA ldr r0, _08038C0C @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -6040,7 +6040,7 @@ OpponentHandlecmd44: @ 8038BE0 pop {r0} bx r0 .align 2, 0 -_08038C08: .4byte gUnknown_2022BC4 +_08038C08: .4byte gBattleBufferA _08038C0C: .4byte gActiveBattler thumb_func_end OpponentHandlecmd44 @@ -6076,14 +6076,14 @@ _08038C48: .4byte gEnemyParty thumb_func_start OpponentHandleIntroSlide OpponentHandleIntroSlide: @ 8038C4C push {lr} - ldr r1, _08038C74 @ =gUnknown_2022BC4 + ldr r1, _08038C74 @ =gBattleBufferA ldr r0, _08038C78 @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 adds r1, 0x1 adds r0, r1 ldrb r0, [r0] - bl sub_80BC3A0 + bl HandleIntroSlide ldr r2, _08038C7C @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 @@ -6093,7 +6093,7 @@ OpponentHandleIntroSlide: @ 8038C4C pop {r0} bx r0 .align 2, 0 -_08038C74: .4byte gUnknown_2022BC4 +_08038C74: .4byte gBattleBufferA _08038C78: .4byte gActiveBattler _08038C7C: .4byte gIntroSlideFlags thumb_func_end OpponentHandleIntroSlide @@ -6201,7 +6201,7 @@ _08038D42: movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x9] - ldr r1, _08038D88 @ =gUnknown_3004FE0 + ldr r1, _08038D88 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -6221,7 +6221,7 @@ _08038D78: .4byte gTasks _08038D7C: .4byte gBattleSpritesDataPtr _08038D80: .4byte gUnknown_2024000 _08038D84: .4byte sub_80491B0 -_08038D88: .4byte gUnknown_3004FE0 +_08038D88: .4byte gBattlerControllerFuncs _08038D8C: .4byte nullsub_17 thumb_func_end sub_8038C80 @@ -6282,7 +6282,7 @@ sub_8038DC4: @ 8038DC4 cmp r0, 0 beq _08038E30 _08038DFE: - ldr r0, _08038E28 @ =gUnknown_2022BC4 + ldr r0, _08038E28 @ =gBattleBufferA ldrb r1, [r7] lsls r2, r1, 9 adds r0, 0x1 @@ -6300,10 +6300,10 @@ _08038DFE: _08038E1C: .4byte gActiveBattler _08038E20: .4byte gTasks _08038E24: .4byte gBattleTypeFlags -_08038E28: .4byte gUnknown_2022BC4 +_08038E28: .4byte gBattleBufferA _08038E2C: .4byte gBattlerPartyIndexes _08038E30: - ldr r4, _08038E94 @ =gUnknown_2022BC4 + ldr r4, _08038E94 @ =gBattleBufferA ldrb r0, [r7] lsls r1, r0, 9 adds r4, 0x1 @@ -6334,7 +6334,7 @@ _08038E30: eors r0, r5 strb r0, [r7] _08038E70: - ldr r1, _08038E9C @ =gUnknown_3004FE0 + ldr r1, _08038E9C @ =gBattlerControllerFuncs ldr r2, _08038EA0 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -6352,9 +6352,9 @@ _08038E70: pop {r0} bx r0 .align 2, 0 -_08038E94: .4byte gUnknown_2022BC4 +_08038E94: .4byte gBattleBufferA _08038E98: .4byte gBattlerPartyIndexes -_08038E9C: .4byte gUnknown_3004FE0 +_08038E9C: .4byte gBattlerControllerFuncs _08038EA0: .4byte gActiveBattler _08038EA4: .4byte sub_8035DF0 thumb_func_end sub_8038DC4 @@ -6362,7 +6362,7 @@ _08038EA4: .4byte sub_8035DF0 thumb_func_start sub_8038EA8 sub_8038EA8: @ 8038EA8 push {r4-r7,lr} - ldr r1, _08038ED0 @ =gUnknown_2022BC4 + ldr r1, _08038ED0 @ =gBattleBufferA ldr r0, _08038ED4 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -6379,7 +6379,7 @@ sub_8038EA8: @ 8038EA8 bl OpponentBufferExecCompleted b _08038FA2 .align 2, 0 -_08038ED0: .4byte gUnknown_2022BC4 +_08038ED0: .4byte gBattleBufferA _08038ED4: .4byte gActiveBattler _08038ED8: ldr r4, _08038F30 @ =gBattleSpritesDataPtr @@ -6395,7 +6395,7 @@ _08038ED8: movs r2, 0x1 orrs r1, r2 strb r1, [r0] - ldr r1, _08038F38 @ =gUnknown_2022BC4 + ldr r1, _08038F38 @ =gBattleBufferA ldrb r2, [r3] lsls r0, r2, 9 adds r1, 0x2 @@ -6428,7 +6428,7 @@ _08038ED8: .align 2, 0 _08038F30: .4byte gBattleSpritesDataPtr _08038F34: .4byte gActiveBattler -_08038F38: .4byte gUnknown_2022BC4 +_08038F38: .4byte gBattleBufferA _08038F3C: movs r0, 0x3F negs r0, r0 @@ -6476,7 +6476,7 @@ _08038F44: movs r1, 0x5D strb r1, [r0, 0x5] _08038F96: - ldr r0, _08038FB4 @ =gUnknown_3004FE0 + ldr r0, _08038FB4 @ =gBattlerControllerFuncs ldrb r1, [r7] lsls r1, 2 adds r1, r0 @@ -6490,7 +6490,7 @@ _08038FA2: _08038FA8: .4byte gUnknown_2022BC8 _08038FAC: .4byte gUnknown_2024000 _08038FB0: .4byte gBattleSpritesDataPtr -_08038FB4: .4byte gUnknown_3004FE0 +_08038FB4: .4byte gBattlerControllerFuncs _08038FB8: .4byte sub_8038FBC thumb_func_end sub_8038EA8 @@ -6597,7 +6597,7 @@ sub_8039060: @ 8039060 adds r2, r0 lsls r2, 2 adds r2, r3 - ldr r0, _080390BC @ =gUnknown_2022BC4 + ldr r0, _080390BC @ =gBattleBufferA lsls r1, 9 adds r0, 0x1 adds r1, r0 @@ -6623,7 +6623,7 @@ _080390A6: _080390B0: .4byte gActiveBattler _080390B4: .4byte gSprites _080390B8: .4byte gBattlerSpriteIds -_080390BC: .4byte gUnknown_2022BC4 +_080390BC: .4byte gBattleBufferA thumb_func_end sub_8039060 thumb_func_start sub_80390C0 @@ -6636,7 +6636,7 @@ sub_80390C0: @ 80390C0 lsls r0, 24 cmp r0, 0 bne _08039118 - ldr r5, _08039108 @ =gUnknown_2022BC4 + ldr r5, _08039108 @ =gBattleBufferA ldrb r2, [r6] lsls r1, r2, 9 adds r0, r5, 0x1 @@ -6661,9 +6661,9 @@ sub_80390C0: @ 80390C0 b _08039118 .align 2, 0 _08039104: .4byte gActiveBattler -_08039108: .4byte gUnknown_2022BC4 +_08039108: .4byte gBattleBufferA _0803910C: - ldr r0, _08039120 @ =gUnknown_3004FE0 + ldr r0, _08039120 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -6675,7 +6675,7 @@ _08039118: pop {r0} bx r0 .align 2, 0 -_08039120: .4byte gUnknown_3004FE0 +_08039120: .4byte gBattlerControllerFuncs _08039124: .4byte sub_8036500 thumb_func_end sub_80390C0 @@ -6712,7 +6712,7 @@ OpponentHandleCmd55: @ 8039140 negs r0, r0 ands r0, r1 strb r0, [r3] - ldr r0, _08039180 @ =gUnknown_3004F80 + ldr r0, _08039180 @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r2] ldr r0, [r2, 0x8] @@ -6725,7 +6725,7 @@ _0803916A: _08039174: .4byte gBattleTypeFlags _08039178: .4byte gMain _0803917C: .4byte 0x00000439 -_08039180: .4byte gUnknown_3004F80 +_08039180: .4byte gPreBattleCallback1 thumb_func_end OpponentHandleCmd55 thumb_func_start nullsub_18 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 913e020cb..029834bf8 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -12,29 +12,29 @@ nullsub_13: @ 802E310 thumb_func_start SetBankFuncToPlayerBufferRunCommand SetBankFuncToPlayerBufferRunCommand: @ 802E314 - ldr r1, _0802E32C @ =gUnknown_3004FE0 + ldr r1, _0802E32C @ =gBattlerControllerFuncs ldr r0, _0802E330 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 adds r0, r1 ldr r1, _0802E334 @ =PlayerBufferRunCommand str r1, [r0] - ldr r1, _0802E338 @ =gUnknown_2024005 + ldr r1, _0802E338 @ =gDoingBattleAnim movs r0, 0 strb r0, [r1] bx lr .align 2, 0 -_0802E32C: .4byte gUnknown_3004FE0 +_0802E32C: .4byte gBattlerControllerFuncs _0802E330: .4byte gActiveBattler _0802E334: .4byte PlayerBufferRunCommand -_0802E338: .4byte gUnknown_2024005 +_0802E338: .4byte gDoingBattleAnim thumb_func_end SetBankFuncToPlayerBufferRunCommand thumb_func_start PlayerBufferExecCompleted PlayerBufferExecCompleted: @ 802E33C push {r4,lr} sub sp, 0x4 - ldr r1, _0802E37C @ =gUnknown_3004FE0 + ldr r1, _0802E37C @ =gBattlerControllerFuncs ldr r4, _0802E380 @ =gActiveBattler ldrb r0, [r4] lsls r0, 2 @@ -54,7 +54,7 @@ PlayerBufferExecCompleted: @ 802E33C movs r1, 0x4 mov r2, sp bl PrepareBufferDataTransferLink - ldr r1, _0802E38C @ =gUnknown_2022BC4 + ldr r1, _0802E38C @ =gBattleBufferA ldrb r0, [r4] lsls r0, 9 adds r0, r1 @@ -62,13 +62,13 @@ PlayerBufferExecCompleted: @ 802E33C strb r1, [r0] b _0802E3A2 .align 2, 0 -_0802E37C: .4byte gUnknown_3004FE0 +_0802E37C: .4byte gBattlerControllerFuncs _0802E380: .4byte gActiveBattler _0802E384: .4byte PlayerBufferRunCommand _0802E388: .4byte gBattleTypeFlags -_0802E38C: .4byte gUnknown_2022BC4 +_0802E38C: .4byte gBattleBufferA _0802E390: - ldr r2, _0802E3AC @ =gUnknown_2023BC8 + ldr r2, _0802E3AC @ =gBattleControllerExecFlags ldr r1, _0802E3B0 @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -83,14 +83,14 @@ _0802E3A2: pop {r0} bx r0 .align 2, 0 -_0802E3AC: .4byte gUnknown_2023BC8 +_0802E3AC: .4byte gBattleControllerExecFlags _0802E3B0: .4byte gBitTable thumb_func_end PlayerBufferExecCompleted thumb_func_start PlayerBufferRunCommand PlayerBufferRunCommand: @ 802E3B4 push {lr} - ldr r2, _0802E3E8 @ =gUnknown_2023BC8 + ldr r2, _0802E3E8 @ =gBattleControllerExecFlags ldr r1, _0802E3EC @ =gBitTable ldr r0, _0802E3F0 @ =gActiveBattler ldrb r3, [r0] @@ -101,7 +101,7 @@ PlayerBufferRunCommand: @ 802E3B4 ands r1, r0 cmp r1, 0 beq _0802E400 - ldr r0, _0802E3F4 @ =gUnknown_2022BC4 + ldr r0, _0802E3F4 @ =gBattleBufferA lsls r1, r3, 9 adds r1, r0 ldrb r0, [r1] @@ -115,10 +115,10 @@ PlayerBufferRunCommand: @ 802E3B4 bl _call_via_r0 b _0802E400 .align 2, 0 -_0802E3E8: .4byte gUnknown_2023BC8 +_0802E3E8: .4byte gBattleControllerExecFlags _0802E3EC: .4byte gBitTable _0802E3F0: .4byte gActiveBattler -_0802E3F4: .4byte gUnknown_2022BC4 +_0802E3F4: .4byte gBattleBufferA _0802E3F8: .4byte gUnknown_825089C _0802E3FC: bl PlayerBufferExecCompleted @@ -159,7 +159,7 @@ sub_802E438: @ 802E438 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r7, _0802E498 @ =gUnknown_2022BC4 + ldr r7, _0802E498 @ =gBattleBufferA ldr r4, _0802E49C @ =gActiveBattler ldrb r0, [r4] lsls r2, r0, 9 @@ -189,7 +189,7 @@ sub_802E438: @ 802E438 beq _0802E4D0 movs r0, 0x5 bl PlaySE - ldr r1, _0802E4A4 @ =gUnknown_2023FF8 + ldr r1, _0802E4A4 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -201,10 +201,10 @@ sub_802E438: @ 802E438 beq _0802E4B2 b _0802E616 .align 2, 0 -_0802E498: .4byte gUnknown_2022BC4 +_0802E498: .4byte gBattleBufferA _0802E49C: .4byte gActiveBattler _0802E4A0: .4byte gMain -_0802E4A4: .4byte gUnknown_2023FF8 +_0802E4A4: .4byte gActionSelectionCursor _0802E4A8: cmp r0, 0x2 beq _0802E4BE @@ -234,7 +234,7 @@ _0802E4D0: ands r0, r1 cmp r0, 0 beq _0802E508 - ldr r5, _0802E504 @ =gUnknown_2023FF8 + ldr r5, _0802E504 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -256,13 +256,13 @@ _0802E4EA: movs r2, 0x1 b _0802E590 .align 2, 0 -_0802E504: .4byte gUnknown_2023FF8 +_0802E504: .4byte gActionSelectionCursor _0802E508: movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _0802E540 - ldr r5, _0802E53C @ =gUnknown_2023FF8 + ldr r5, _0802E53C @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -284,14 +284,14 @@ _0802E522: movs r2, 0x1 b _0802E590 .align 2, 0 -_0802E53C: .4byte gUnknown_2023FF8 +_0802E53C: .4byte gActionSelectionCursor _0802E540: movs r0, 0x40 mov r8, r0 ands r0, r1 cmp r0, 0 beq _0802E560 - ldr r5, _0802E55C @ =gUnknown_2023FF8 + ldr r5, _0802E55C @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -301,13 +301,13 @@ _0802E540: beq _0802E634 b _0802E578 .align 2, 0 -_0802E55C: .4byte gUnknown_2023FF8 +_0802E55C: .4byte gActionSelectionCursor _0802E560: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _0802E5A8 - ldr r5, _0802E5A4 @ =gUnknown_2023FF8 + ldr r5, _0802E5A4 @ =gActionSelectionCursor ldrb r0, [r4] adds r0, r5 ldrb r1, [r0] @@ -336,7 +336,7 @@ _0802E590: bl ActionSelectionCreateCursorAt b _0802E634 .align 2, 0 -_0802E5A4: .4byte gUnknown_2023FF8 +_0802E5A4: .4byte gActionSelectionCursor _0802E5A8: movs r0, 0x2 ands r0, r1 @@ -421,7 +421,7 @@ sub_802E640: @ 802E640 ldrb r0, [r4] movs r1, 0 bl dp11b_obj_free - ldr r1, _0802E66C @ =gUnknown_3004FE0 + ldr r1, _0802E66C @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -432,7 +432,7 @@ sub_802E640: @ 802E640 bx r0 .align 2, 0 _0802E668: .4byte gActiveBattler -_0802E66C: .4byte gUnknown_3004FE0 +_0802E66C: .4byte gBattlerControllerFuncs _0802E670: .4byte sub_802E674 thumb_func_end sub_802E640 @@ -538,7 +538,7 @@ _0802E72C: adds r0, r2 ldr r1, _0802E790 @ =sub_8012098 str r1, [r0] - ldr r1, _0802E794 @ =gUnknown_3004FE0 + ldr r1, _0802E794 @ =gBattlerControllerFuncs ldr r4, _0802E798 @ =gActiveBattler ldrb r0, [r4] lsls r0, 2 @@ -564,7 +564,7 @@ _0802E784: .4byte gSprites _0802E788: .4byte gBattlerSpriteIds _0802E78C: .4byte gUnknown_3004FF4 _0802E790: .4byte sub_8012098 -_0802E794: .4byte gUnknown_3004FE0 +_0802E794: .4byte gBattlerControllerFuncs _0802E798: .4byte gActiveBattler _0802E79C: .4byte sub_802EA10 _0802E7A0: @@ -958,7 +958,7 @@ _0802EAA8: ldr r1, _0802EAF0 @ =gUnknown_3004FF4 strb r0, [r1] _0802EAC2: - ldr r3, _0802EAF4 @ =gUnknown_2022BC4 + ldr r3, _0802EAF4 @ =gBattleBufferA ldr r5, _0802EAEC @ =gActiveBattler ldrb r2, [r5] lsls r1, r2, 9 @@ -982,7 +982,7 @@ _0802EAC2: .align 2, 0 _0802EAEC: .4byte gActiveBattler _0802EAF0: .4byte gUnknown_3004FF4 -_0802EAF4: .4byte gUnknown_2022BC4 +_0802EAF4: .4byte gBattleBufferA _0802EAF8: movs r0, 0x7D ands r0, r4 @@ -1050,7 +1050,7 @@ _0802EB7C: .4byte gUnknown_3004FF4 _0802EB80: .4byte 0x00007fff _0802EB84: .4byte gActiveBattler _0802EB88: - ldr r1, _0802EBA4 @ =gUnknown_3004FE0 + ldr r1, _0802EBA4 @ =gBattlerControllerFuncs ldr r2, _0802EBA8 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -1065,7 +1065,7 @@ _0802EB88: ldrb r0, [r2] b _0802EBE4 .align 2, 0 -_0802EBA4: .4byte gUnknown_3004FE0 +_0802EBA4: .4byte gBattlerControllerFuncs _0802EBA8: .4byte gActiveBattler _0802EBAC: .4byte sub_802E674 _0802EBB0: .4byte gUnknown_3004FF4 @@ -1308,8 +1308,8 @@ _0802ED9C: bl MoveSelectionCreateCursorAt ldr r0, _0802EDCC @ =gUnknown_83FE7A0 movs r1, 0xB - bl sub_80D87BC - ldr r1, _0802EDD0 @ =gUnknown_3004FE0 + bl BattlePutTextOnWindow + ldr r1, _0802EDD0 @ =gBattlerControllerFuncs ldr r0, _0802EDD4 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -1327,7 +1327,7 @@ _0802EDBA: .align 2, 0 _0802EDC8: .4byte gUnknown_3004FF4 _0802EDCC: .4byte gUnknown_83FE7A0 -_0802EDD0: .4byte gUnknown_3004FE0 +_0802EDD0: .4byte gBattlerControllerFuncs _0802EDD4: .4byte gActiveBattler _0802EDD8: .4byte sub_802EF58 thumb_func_end sub_802EA10 @@ -1964,7 +1964,7 @@ _0802F2C8: ands r0, r1 cmp r0, 0 beq _0802F318 - ldr r1, _0802F310 @ =gUnknown_3004FE0 + ldr r1, _0802F310 @ =gBattlerControllerFuncs ldr r2, _0802F2EC @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -1983,10 +1983,10 @@ _0802F300: .4byte gBattleMons _0802F304: .4byte gBattlerPartyIndexes _0802F308: .4byte gPlayerParty _0802F30C: .4byte gBattleTypeFlags -_0802F310: .4byte gUnknown_3004FE0 +_0802F310: .4byte gBattlerControllerFuncs _0802F314: .4byte sub_80E7988 _0802F318: - ldr r1, _0802F390 @ =gUnknown_3004FE0 + ldr r1, _0802F390 @ =gBattlerControllerFuncs ldr r2, _0802F394 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -2034,14 +2034,14 @@ _0802F34C: ands r0, r1 cmp r0, 0 beq _0802F3B0 - ldr r0, _0802F390 @ =gUnknown_3004FE0 + ldr r0, _0802F390 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 ldr r0, _0802F3AC @ =sub_80E7988 b _0802F3BA .align 2, 0 -_0802F390: .4byte gUnknown_3004FE0 +_0802F390: .4byte gBattlerControllerFuncs _0802F394: .4byte gActiveBattler _0802F398: .4byte sub_802EA10 _0802F39C: .4byte gUnknown_2023FFC @@ -2050,7 +2050,7 @@ _0802F3A4: .4byte gMain _0802F3A8: .4byte gBattleTypeFlags _0802F3AC: .4byte sub_80E7988 _0802F3B0: - ldr r0, _0802F3F8 @ =gUnknown_3004FE0 + ldr r0, _0802F3F8 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -2085,7 +2085,7 @@ _0802F3C8: bl MoveSelectionCreateCursorAt b _0802F416 .align 2, 0 -_0802F3F8: .4byte gUnknown_3004FE0 +_0802F3F8: .4byte gBattlerControllerFuncs _0802F3FC: .4byte sub_802EA10 _0802F400: .4byte gMain _0802F404: .4byte gUnknown_3004FF4 @@ -2348,7 +2348,7 @@ sub_802F610: @ 802F610 negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r0, _0802F65C @ =gUnknown_3004F80 + ldr r0, _0802F65C @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r3] ldr r0, _0802F660 @ =sub_8011A1C @@ -2360,7 +2360,7 @@ _0802F64C: .4byte gWirelessCommType _0802F650: .4byte gReceivedRemoteLinkPlayers _0802F654: .4byte gMain _0802F658: .4byte 0x00000439 -_0802F65C: .4byte gUnknown_3004F80 +_0802F65C: .4byte gPreBattleCallback1 _0802F660: .4byte sub_8011A1C _0802F664: bl sub_800A4BC @@ -2377,7 +2377,7 @@ _0802F664: negs r0, r0 ands r0, r1 strb r0, [r2] - ldr r0, _0802F6A0 @ =gUnknown_3004F80 + ldr r0, _0802F6A0 @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r3] ldr r0, _0802F6A4 @ =sub_8011A1C @@ -2389,7 +2389,7 @@ _0802F694: .align 2, 0 _0802F698: .4byte gMain _0802F69C: .4byte 0x00000439 -_0802F6A0: .4byte gUnknown_3004F80 +_0802F6A0: .4byte gPreBattleCallback1 _0802F6A4: .4byte sub_8011A1C thumb_func_end sub_802F610 @@ -2421,7 +2421,7 @@ _0802F6D8: .4byte gWirelessCommType _0802F6DC: bl sub_800AB9C _0802F6E0: - ldr r1, _0802F6F0 @ =gUnknown_3004FE0 + ldr r1, _0802F6F0 @ =gBattlerControllerFuncs ldr r0, _0802F6F4 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -2430,7 +2430,7 @@ _0802F6E0: str r1, [r0] b _0802F71E .align 2, 0 -_0802F6F0: .4byte gUnknown_3004FE0 +_0802F6F0: .4byte gBattlerControllerFuncs _0802F6F4: .4byte gActiveBattler _0802F6F8: .4byte sub_802F610 _0802F6FC: @@ -2444,7 +2444,7 @@ _0802F6FC: negs r0, r0 ands r0, r1 strb r0, [r3] - ldr r0, _0802F72C @ =gUnknown_3004F80 + ldr r0, _0802F72C @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r2] ldr r0, [r2, 0x8] @@ -2455,7 +2455,7 @@ _0802F71E: .align 2, 0 _0802F724: .4byte gMain _0802F728: .4byte 0x00000439 -_0802F72C: .4byte gUnknown_3004F80 +_0802F72C: .4byte gPreBattleCallback1 thumb_func_end sub_802F6A8 thumb_func_start sub_802F730 @@ -2829,7 +2829,7 @@ _0802FA12: adds r0, r2 movs r1, 0x3 strb r1, [r0, 0x9] - ldr r1, _0802FA50 @ =gUnknown_3004FE0 + ldr r1, _0802FA50 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -2846,7 +2846,7 @@ _0802FA40: .4byte gBattlerPartyIndexes _0802FA44: .4byte gActiveBattler _0802FA48: .4byte gPlayerParty _0802FA4C: .4byte gBattleSpritesDataPtr -_0802FA50: .4byte gUnknown_3004FE0 +_0802FA50: .4byte gBattlerControllerFuncs _0802FA54: .4byte sub_802F810 thumb_func_end sub_802F858 @@ -3019,7 +3019,7 @@ _0802FB5C: negs r0, r0 ands r0, r1 strb r0, [r2, 0x9] - ldr r1, _0802FBEC @ =gUnknown_3004FE0 + ldr r1, _0802FBEC @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -3041,7 +3041,7 @@ _0802FBDC: .4byte gBattleTypeFlags _0802FBE0: .4byte gUnknown_3004FFC _0802FBE4: .4byte gSprites _0802FBE8: .4byte gHealthboxSpriteIds -_0802FBEC: .4byte gUnknown_3004FE0 +_0802FBEC: .4byte gBattlerControllerFuncs _0802FBF0: .4byte sub_802F858 thumb_func_end sub_802FA58 @@ -3111,7 +3111,7 @@ sub_802FBF4: @ 802FBF4 movs r3, 0x6 bl InitAndLaunchSpecialAnimation _0802FC78: - ldr r0, _0802FCA4 @ =gUnknown_3004FE0 + ldr r0, _0802FCA4 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -3128,7 +3128,7 @@ _0802FC94: .4byte gActiveBattler _0802FC98: .4byte SpriteCallbackDummy _0802FC9C: .4byte gBattleSpritesDataPtr _0802FCA0: .4byte 0x000027f9 -_0802FCA4: .4byte gUnknown_3004FE0 +_0802FCA4: .4byte gBattlerControllerFuncs _0802FCA8: .4byte sub_802FCAC thumb_func_end sub_802FBF4 @@ -3259,7 +3259,7 @@ _0802FD4A: bl SetHealthboxSpriteVisible ldrb r0, [r5] bl CopyBattleSpriteInvisibility - ldr r1, _0802FDEC @ =gUnknown_3004FE0 + ldr r1, _0802FDEC @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -3278,7 +3278,7 @@ _0802FDDC: .4byte gSprites _0802FDE0: .4byte gUnknown_3004FFC _0802FDE4: .4byte SpriteCallbackDummy _0802FDE8: .4byte gHealthboxSpriteIds -_0802FDEC: .4byte gUnknown_3004FE0 +_0802FDEC: .4byte gBattlerControllerFuncs _0802FDF0: .4byte sub_802FBF4 thumb_func_end sub_802FD18 @@ -3524,7 +3524,7 @@ _0802FFE0: adds r0, r6, 0 movs r1, 0x19 bl SetMonData - ldr r1, _08030000 @ =gUnknown_3004FE0 + ldr r1, _08030000 @ =gBattlerControllerFuncs ldr r3, [sp, 0x8] lsls r0, r3, 2 adds r0, r1 @@ -3534,7 +3534,7 @@ _0802FFE0: bl DestroyTask b _0803000E .align 2, 0 -_08030000: .4byte gUnknown_3004FE0 +_08030000: .4byte gBattlerControllerFuncs _08030004: .4byte sub_802FE94 _08030008: ldr r0, _08030020 @ =sub_8030024 @@ -3784,7 +3784,7 @@ _08030204: adds r0, r5, 0 movs r1, 0x19 bl SetMonData - ldr r1, _08030230 @ =gUnknown_3004FE0 + ldr r1, _08030230 @ =gBattlerControllerFuncs lsls r0, r7, 2 adds r0, r1 ldr r1, _08030234 @ =sub_802FE94 @@ -3801,7 +3801,7 @@ _08030220: pop {r0} bx r0 .align 2, 0 -_08030230: .4byte gUnknown_3004FE0 +_08030230: .4byte gBattlerControllerFuncs _08030234: .4byte sub_802FE94 thumb_func_end sub_80300F4 @@ -3970,7 +3970,7 @@ sub_8030350: @ 8030350 _08030380: .4byte gTasks _08030384: .4byte sub_80303A8 _08030388: - ldr r0, _080303A0 @ =gUnknown_3004FE0 + ldr r0, _080303A0 @ =gBattlerControllerFuncs lsls r1, r6, 2 adds r1, r0 ldr r0, _080303A4 @ =sub_802FE94 @@ -3982,7 +3982,7 @@ _08030398: pop {r0} bx r0 .align 2, 0 -_080303A0: .4byte gUnknown_3004FE0 +_080303A0: .4byte gBattlerControllerFuncs _080303A4: .4byte sub_802FE94 thumb_func_end sub_8030350 @@ -4154,7 +4154,7 @@ _08030500: _08030508: ldrh r0, [r5, 0x1A] strh r0, [r1] - ldr r0, _08030530 @ =gUnknown_3004FE0 + ldr r0, _08030530 @ =gBattlerControllerFuncs lsls r1, r7, 2 adds r1, r0 ldr r0, _08030534 @ =sub_802FE94 @@ -4171,7 +4171,7 @@ _0803051C: .align 2, 0 _08030528: .4byte gBattle_BG2_X _0803052C: .4byte gBattle_BG2_Y -_08030530: .4byte gUnknown_3004FE0 +_08030530: .4byte gBattlerControllerFuncs _08030534: .4byte sub_802FE94 thumb_func_end sub_80303A8 @@ -4299,7 +4299,7 @@ sub_8030628: @ 8030628 ands r0, r1 cmp r0, 0 bne _08030666 - ldr r1, _08030670 @ =gUnknown_3004FE0 + ldr r1, _08030670 @ =gBattlerControllerFuncs ldr r2, _08030674 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -4326,7 +4326,7 @@ _08030666: bx r0 .align 2, 0 _0803066C: .4byte gPaletteFade -_08030670: .4byte gUnknown_3004FE0 +_08030670: .4byte gBattlerControllerFuncs _08030674: .4byte gActiveBattler _08030678: .4byte sub_8030684 _0803067C: .4byte gTasks @@ -4338,7 +4338,7 @@ sub_8030684: @ 8030684 push {lr} ldr r0, _080306B4 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _080306B8 @ =sub_8011100 + ldr r0, _080306B8 @ =BattleMainCB2 cmp r1, r0 bne _080306F4 ldr r0, _080306BC @ =gPaletteFade @@ -4359,7 +4359,7 @@ sub_8030684: @ 8030684 b _080306D6 .align 2, 0 _080306B4: .4byte gMain -_080306B8: .4byte sub_8011100 +_080306B8: .4byte BattleMainCB2 _080306BC: .4byte gPaletteFade _080306C0: .4byte gUnknown_203B0C0 _080306C4: .4byte gUnknown_203B0C1 @@ -4370,7 +4370,7 @@ _080306CC: movs r2, 0 bl EmitChosenMonReturnValue _080306D6: - ldr r1, _080306F8 @ =gUnknown_2022BC4 + ldr r1, _080306F8 @ =gBattleBufferA ldr r0, _080306FC @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -4388,7 +4388,7 @@ _080306F4: pop {r0} bx r0 .align 2, 0 -_080306F8: .4byte gUnknown_2022BC4 +_080306F8: .4byte gBattleBufferA _080306FC: .4byte gActiveBattler thumb_func_end sub_8030684 @@ -4401,7 +4401,7 @@ sub_8030700: @ 8030700 ands r0, r1 cmp r0, 0 bne _08030728 - ldr r1, _08030730 @ =gUnknown_3004FE0 + ldr r1, _08030730 @ =gBattlerControllerFuncs ldr r0, _08030734 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -4416,7 +4416,7 @@ _08030728: bx r0 .align 2, 0 _0803072C: .4byte gPaletteFade -_08030730: .4byte gUnknown_3004FE0 +_08030730: .4byte gBattlerControllerFuncs _08030734: .4byte gActiveBattler _08030738: .4byte CompleteWhenChoseItem thumb_func_end sub_8030700 @@ -4426,7 +4426,7 @@ CompleteWhenChoseItem: @ 803073C push {lr} ldr r0, _08030768 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _0803076C @ =sub_8011100 + ldr r0, _0803076C @ =BattleMainCB2 cmp r1, r0 bne _08030762 ldr r0, _08030770 @ =gPaletteFade @@ -4445,7 +4445,7 @@ _08030762: bx r0 .align 2, 0 _08030768: .4byte gMain -_0803076C: .4byte sub_8011100 +_0803076C: .4byte BattleMainCB2 _08030770: .4byte gPaletteFade _08030774: .4byte gSpecialVar_ItemId thumb_func_end CompleteWhenChoseItem @@ -4453,7 +4453,7 @@ _08030774: .4byte gSpecialVar_ItemId thumb_func_start CompleteOnSpecialAnimDone CompleteOnSpecialAnimDone: @ 8030778 push {lr} - ldr r0, _080307A8 @ =gUnknown_2024005 + ldr r0, _080307A8 @ =gDoingBattleAnim ldrb r0, [r0] cmp r0, 0 beq _0803079E @@ -4477,7 +4477,7 @@ _080307A2: pop {r0} bx r0 .align 2, 0 -_080307A8: .4byte gUnknown_2024005 +_080307A8: .4byte gDoingBattleAnim _080307AC: .4byte gBattleSpritesDataPtr _080307B0: .4byte gActiveBattler thumb_func_end CompleteOnSpecialAnimDone @@ -4508,7 +4508,7 @@ DoHitAnimBlinkSpriteEffect: @ 80307B4 subs r0, 0x5 ands r0, r1 strb r0, [r2] - ldr r0, _080307FC @ =gUnknown_2024005 + ldr r0, _080307FC @ =gDoingBattleAnim strb r3, [r0] bl PlayerBufferExecCompleted b _0803082A @@ -4516,7 +4516,7 @@ DoHitAnimBlinkSpriteEffect: @ 80307B4 _080307F0: .4byte gBattlerSpriteIds _080307F4: .4byte gActiveBattler _080307F8: .4byte gSprites -_080307FC: .4byte gUnknown_2024005 +_080307FC: .4byte gDoingBattleAnim _08030800: ldrh r0, [r4, 0x30] movs r1, 0x3 @@ -4578,7 +4578,7 @@ _08030848: lsls r1, 24 lsrs r1, 24 adds r0, r6, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldrh r0, [r4] cmp r0, 0 beq _08030880 @@ -4611,7 +4611,7 @@ MoveSelectionDisplayPpString: @ 80308A8 bl StringCopy adds r0, r4, 0 movs r1, 0x7 - bl sub_80D87BC + bl BattlePutTextOnWindow pop {r4} pop {r0} bx r0 @@ -4623,7 +4623,7 @@ _080308C8: .4byte gUnknown_83FE766 thumb_func_start MoveSelectionDisplayPpNumber MoveSelectionDisplayPpNumber: @ 80308CC push {r4-r7,lr} - ldr r5, _08030930 @ =gUnknown_2022BC4 + ldr r5, _08030930 @ =gBattleBufferA ldr r7, _08030934 @ =gActiveBattler ldrb r0, [r7] lsls r0, 9 @@ -4663,13 +4663,13 @@ MoveSelectionDisplayPpNumber: @ 80308CC bl ConvertIntToDecimalStringN adds r0, r6, 0 movs r1, 0x9 - bl sub_80D87BC + bl BattlePutTextOnWindow _08030928: pop {r4-r7} pop {r0} bx r0 .align 2, 0 -_08030930: .4byte gUnknown_2022BC4 +_08030930: .4byte gBattleBufferA _08030934: .4byte gActiveBattler _08030938: .4byte gDisplayedStringBattle _0803093C: .4byte gUnknown_2023FFC @@ -4722,7 +4722,7 @@ MoveSelectionDisplayMoveType: @ 8030940 bl StringCopy adds r0, r6, 0 movs r1, 0x8 - bl sub_80D87BC + bl BattlePutTextOnWindow pop {r4-r6} pop {r0} bx r0 @@ -4971,7 +4971,7 @@ PrintLinkStandbyMsg: @ 8030B5C strh r1, [r0] ldr r0, _08030B8C @ =gUnknown_83FE714 movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow _08030B7C: pop {r0} bx r0 @@ -4987,7 +4987,7 @@ PlayerHandleGetMonData: @ 8030B90 push {r4-r6,lr} sub sp, 0x100 movs r6, 0 - ldr r1, _08030BBC @ =gUnknown_2022BC4 + ldr r1, _08030BBC @ =gBattleBufferA ldr r0, _08030BC0 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -5005,7 +5005,7 @@ PlayerHandleGetMonData: @ 8030B90 adds r6, r0, 0 b _08030BEA .align 2, 0 -_08030BBC: .4byte gUnknown_2022BC4 +_08030BBC: .4byte gBattleBufferA _08030BC0: .4byte gActiveBattler _08030BC4: .4byte gBattlerPartyIndexes _08030BC8: @@ -5052,7 +5052,7 @@ CopyPlayerMonData: @ 8030C04 lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r2, _08030C38 @ =gUnknown_2022BC4 + ldr r2, _08030C38 @ =gBattleBufferA ldr r3, _08030C3C @ =gActiveBattler ldrb r0, [r3] lsls r0, 9 @@ -5069,7 +5069,7 @@ _08030C2E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08030C38: .4byte gUnknown_2022BC4 +_08030C38: .4byte gBattleBufferA _08030C3C: .4byte gActiveBattler _08030C40: .4byte _08030C44 .align 2, 0 @@ -5987,7 +5987,7 @@ PlayerHandleGetRawMonData: @ 80313B0 movs r0, 0x64 adds r4, r2, 0 muls r4, r0 - ldr r3, _08031430 @ =gUnknown_2022BC4 + ldr r3, _08031430 @ =gBattleBufferA lsls r1, 9 adds r0, r3, 0x1 adds r0, r1, r0 @@ -6038,14 +6038,14 @@ _08031406: .align 2, 0 _08031428: .4byte gBattlerPartyIndexes _0803142C: .4byte gActiveBattler -_08031430: .4byte gUnknown_2022BC4 +_08031430: .4byte gBattleBufferA _08031434: .4byte gPlayerParty thumb_func_end PlayerHandleGetRawMonData thumb_func_start PlayerHandleSetMonData PlayerHandleSetMonData: @ 8031438 push {r4,r5,lr} - ldr r1, _0803145C @ =gUnknown_2022BC4 + ldr r1, _0803145C @ =gBattleBufferA ldr r0, _08031460 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -6061,7 +6061,7 @@ PlayerHandleSetMonData: @ 8031438 bl SetPlayerMonData b _08031486 .align 2, 0 -_0803145C: .4byte gUnknown_2022BC4 +_0803145C: .4byte gBattleBufferA _08031460: .4byte gActiveBattler _08031464: .4byte gBattlerPartyIndexes _08031468: @@ -6442,7 +6442,7 @@ _080317F4: muls r0, r5 ldr r1, _08031810 @ =gPlayerParty adds r0, r1 - ldr r3, _08031814 @ =gUnknown_2022BC4 + ldr r3, _08031814 @ =gBattleBufferA ldr r1, _08031818 @ =gActiveBattler ldrb r2, [r1] lsls r2, 9 @@ -6453,7 +6453,7 @@ _080317F4: b _08031898 .align 2, 0 _08031810: .4byte gPlayerParty -_08031814: .4byte gUnknown_2022BC4 +_08031814: .4byte gBattleBufferA _08031818: .4byte gActiveBattler _0803181C: movs r0, 0x64 @@ -6505,7 +6505,7 @@ _08031880: muls r0, r5 ldr r1, _080318A4 @ =gPlayerParty adds r0, r1 - ldr r3, _080318A8 @ =gUnknown_2022BC4 + ldr r3, _080318A8 @ =gBattleBufferA ldr r1, _080318AC @ =gActiveBattler ldrb r2, [r1] lsls r2, 9 @@ -6520,7 +6520,7 @@ _08031898: b _08031E56 .align 2, 0 _080318A4: .4byte gPlayerParty -_080318A8: .4byte gUnknown_2022BC4 +_080318A8: .4byte gBattleBufferA _080318AC: .4byte gActiveBattler _080318B0: movs r0, 0x64 @@ -7237,7 +7237,7 @@ PlayerHandleSetRawMonData: @ 8031E8C movs r0, 0x64 adds r3, r1, 0 muls r3, r0 - ldr r4, _08031EF8 @ =gUnknown_2022BC4 + ldr r4, _08031EF8 @ =gBattleBufferA lsls r2, 9 adds r0, r4, 0x1 adds r0, r2, r0 @@ -7280,7 +7280,7 @@ _08031EE4: .align 2, 0 _08031EF0: .4byte gBattlerPartyIndexes _08031EF4: .4byte gActiveBattler -_08031EF8: .4byte gUnknown_2022BC4 +_08031EF8: .4byte gBattleBufferA _08031EFC: .4byte gPlayerParty thumb_func_end PlayerHandleSetRawMonData @@ -7313,7 +7313,7 @@ PlayerHandleLoadMonSprite: @ 8031F00 ands r0, r2 orrs r0, r3 strb r0, [r1, 0x5] - ldr r1, _08031F60 @ =gUnknown_3004FE0 + ldr r1, _08031F60 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -7328,7 +7328,7 @@ _08031F50: .4byte gActiveBattler _08031F54: .4byte gPlayerParty _08031F58: .4byte gSprites _08031F5C: .4byte gBattlerSpriteIds -_08031F60: .4byte gUnknown_3004FE0 +_08031F60: .4byte gBattlerControllerFuncs _08031F64: .4byte CompleteOnBankSpritePosX_0 thumb_func_end PlayerHandleLoadMonSprite @@ -7337,7 +7337,7 @@ PlayerHandleSwitchInAnim: @ 8031F68 push {r4-r6,lr} ldr r5, _08031FD4 @ =gActiveBattler ldrb r0, [r5] - ldr r4, _08031FD8 @ =gUnknown_2022BC4 + ldr r4, _08031FD8 @ =gBattleBufferA lsls r1, r0, 9 adds r6, r4, 0x2 adds r1, r6 @@ -7362,7 +7362,7 @@ PlayerHandleSwitchInAnim: @ 8031F68 ldr r2, _08031FE0 @ =gPlayerParty adds r0, r2 bl BattleLoadPlayerMonSpriteGfx - ldr r1, _08031FE4 @ =gUnknown_2023FF8 + ldr r1, _08031FE4 @ =gActionSelectionCursor ldrb r0, [r5] adds r0, r1 strb r4, [r0] @@ -7375,7 +7375,7 @@ PlayerHandleSwitchInAnim: @ 8031F68 adds r1, r6 ldrb r1, [r1] bl sub_8031FF4 - ldr r1, _08031FEC @ =gUnknown_3004FE0 + ldr r1, _08031FEC @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -7386,12 +7386,12 @@ PlayerHandleSwitchInAnim: @ 8031F68 bx r0 .align 2, 0 _08031FD4: .4byte gActiveBattler -_08031FD8: .4byte gUnknown_2022BC4 +_08031FD8: .4byte gBattleBufferA _08031FDC: .4byte gBattlerPartyIndexes _08031FE0: .4byte gPlayerParty -_08031FE4: .4byte gUnknown_2023FF8 +_08031FE4: .4byte gActionSelectionCursor _08031FE8: .4byte gUnknown_2023FFC -_08031FEC: .4byte gUnknown_3004FE0 +_08031FEC: .4byte gBattlerControllerFuncs _08031FF0: .4byte sub_802FD18 thumb_func_end PlayerHandleSwitchInAnim @@ -7412,7 +7412,7 @@ sub_8031FF4: @ 8031FF4 ldr r0, _08032138 @ =gBattlerPartyIndexes lsls r2, r6, 1 adds r2, r0 - ldr r0, _0803213C @ =gUnknown_2022BC4 + ldr r0, _0803213C @ =gBattleBufferA lsls r1, r6, 9 adds r0, 0x1 adds r1, r0 @@ -7550,7 +7550,7 @@ sub_8031FF4: @ 8031FF4 bx r0 .align 2, 0 _08032138: .4byte gBattlerPartyIndexes -_0803213C: .4byte gUnknown_2022BC4 +_0803213C: .4byte gBattleBufferA _08032140: .4byte gPlayerParty _08032144: .4byte sub_8033E3C _08032148: .4byte gUnknown_3004FFC @@ -7564,7 +7564,7 @@ _0803215C: .4byte SpriteCallbackDummy thumb_func_start PlayerHandleReturnPokeToBall PlayerHandleReturnPokeToBall: @ 8032160 push {r4-r6,lr} - ldr r1, _08032194 @ =gUnknown_2022BC4 + ldr r1, _08032194 @ =gBattleBufferA ldr r6, _08032198 @ =gActiveBattler ldrb r2, [r6] lsls r0, r2, 9 @@ -7581,7 +7581,7 @@ PlayerHandleReturnPokeToBall: @ 8032160 lsls r0, 2 adds r0, r1 strb r3, [r0, 0x4] - ldr r1, _080321A0 @ =gUnknown_3004FE0 + ldr r1, _080321A0 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -7589,10 +7589,10 @@ PlayerHandleReturnPokeToBall: @ 8032160 str r1, [r0] b _080321DE .align 2, 0 -_08032194: .4byte gUnknown_2022BC4 +_08032194: .4byte gBattleBufferA _08032198: .4byte gActiveBattler _0803219C: .4byte gBattleSpritesDataPtr -_080321A0: .4byte gUnknown_3004FE0 +_080321A0: .4byte gBattlerControllerFuncs _080321A4: .4byte sub_80321F0 _080321A8: ldr r5, _080321E4 @ =gBattlerSpriteIds @@ -7687,7 +7687,7 @@ _08032246: adds r1, r2, 0 movs r3, 0x1 bl InitAndLaunchSpecialAnimation - ldr r1, _08032274 @ =gUnknown_3004FE0 + ldr r1, _08032274 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -7698,7 +7698,7 @@ _0803226E: pop {r0} bx r0 .align 2, 0 -_08032274: .4byte gUnknown_3004FE0 +_08032274: .4byte gBattlerControllerFuncs _08032278: .4byte sub_80305A0 thumb_func_end sub_80321F0 @@ -7813,7 +7813,7 @@ _08032342: bl SetMultiuseSpriteTemplateToTrainerBack ldr r6, _08032408 @ =gMultiuseSpriteTemplate mov r8, r7 - ldr r0, _0803240C @ =gUnknown_8239F8C + ldr r0, _0803240C @ =gTrainerBackPicCoords lsls r4, 2 adds r4, r0 ldrb r0, [r4] @@ -7879,7 +7879,7 @@ _08032342: adds r0, r4 ldr r1, _0803241C @ =sub_8033EEC str r1, [r0] - ldr r1, _08032420 @ =gUnknown_3004FE0 + ldr r1, _08032420 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -7894,12 +7894,12 @@ _08032342: _08032400: .4byte gSaveBlock2Ptr _08032404: .4byte gActiveBattler _08032408: .4byte gMultiuseSpriteTemplate -_0803240C: .4byte gUnknown_8239F8C +_0803240C: .4byte gTrainerBackPicCoords _08032410: .4byte gBattlerSpriteIds _08032414: .4byte gSprites _08032418: .4byte 0x0000fffe _0803241C: .4byte sub_8033EEC -_08032420: .4byte gUnknown_3004FE0 +_08032420: .4byte gBattlerControllerFuncs _08032424: .4byte sub_802F730 thumb_func_end sub_803227C @@ -7989,7 +7989,7 @@ _080324BE: adds r0, r4, 0 bl SetMultiuseSpriteTemplateToTrainerBack ldr r0, _08032570 @ =gMultiuseSpriteTemplate - ldr r1, _08032574 @ =gUnknown_8239F8C + ldr r1, _08032574 @ =gTrainerBackPicCoords lsls r4, 2 adds r4, r1 ldrb r1, [r4] @@ -8049,7 +8049,7 @@ _080324BE: adds r0, r4 ldr r1, _08032584 @ =sub_8033EEC str r1, [r0] - ldr r1, _08032588 @ =gUnknown_3004FE0 + ldr r1, _08032588 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -8062,12 +8062,12 @@ _080324BE: _08032568: .4byte gSaveBlock2Ptr _0803256C: .4byte gActiveBattler _08032570: .4byte gMultiuseSpriteTemplate -_08032574: .4byte gUnknown_8239F8C +_08032574: .4byte gTrainerBackPicCoords _08032578: .4byte gBattlerSpriteIds _0803257C: .4byte gSprites _08032580: .4byte 0x0000ffa0 _08032584: .4byte sub_8033EEC -_08032588: .4byte gUnknown_3004FE0 +_08032588: .4byte gBattlerControllerFuncs _0803258C: .4byte sub_802F768 thumb_func_end sub_8032428 @@ -8141,7 +8141,7 @@ PlayerHandleTrainerSlideBack: @ 8032590 adds r0, r4 movs r1, 0x1 bl StartSpriteAnim - ldr r1, _08032648 @ =gUnknown_3004FE0 + ldr r1, _08032648 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -8157,7 +8157,7 @@ _08032638: .4byte gSprites _0803263C: .4byte 0x0000ffd8 _08032640: .4byte sub_8075590 _08032644: .4byte SpriteCallbackDummy -_08032648: .4byte gUnknown_3004FE0 +_08032648: .4byte gBattlerControllerFuncs _0803264C: .4byte sub_802F7A0 thumb_func_end PlayerHandleTrainerSlideBack @@ -8255,7 +8255,7 @@ _080326A4: adds r0, r2 ldr r1, _08032730 @ =sub_8012110 str r1, [r0] - ldr r1, _08032734 @ =gUnknown_3004FE0 + ldr r1, _08032734 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -8271,7 +8271,7 @@ _08032724: .4byte gPlayerParty _08032728: .4byte gSprites _0803272C: .4byte gBattlerSpriteIds _08032730: .4byte sub_8012110 -_08032734: .4byte gUnknown_3004FE0 +_08032734: .4byte gBattlerControllerFuncs _08032738: .4byte sub_8030538 thumb_func_end sub_8032650 @@ -8301,7 +8301,7 @@ sub_803275C: @ 803275C ldr r1, [r0, 0x8] movs r0, 0x4 strb r0, [r1, 0x8] - ldr r1, _080327A0 @ =gUnknown_2024005 + ldr r1, _080327A0 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldr r5, _080327A4 @ =gActiveBattler @@ -8315,7 +8315,7 @@ sub_803275C: @ 803275C adds r1, r4, 0 movs r3, 0x3 bl InitAndLaunchSpecialAnimation - ldr r1, _080327A8 @ =gUnknown_3004FE0 + ldr r1, _080327A8 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -8326,16 +8326,16 @@ sub_803275C: @ 803275C bx r0 .align 2, 0 _0803279C: .4byte gBattleSpritesDataPtr -_080327A0: .4byte gUnknown_2024005 +_080327A0: .4byte gDoingBattleAnim _080327A4: .4byte gActiveBattler -_080327A8: .4byte gUnknown_3004FE0 +_080327A8: .4byte gBattlerControllerFuncs _080327AC: .4byte CompleteOnSpecialAnimDone thumb_func_end sub_803275C thumb_func_start PlayerHandleBallThrowAnim PlayerHandleBallThrowAnim: @ 80327B0 push {r4,r5,lr} - ldr r1, _080327F8 @ =gUnknown_2022BC4 + ldr r1, _080327F8 @ =gBattleBufferA ldr r5, _080327FC @ =gActiveBattler ldrb r0, [r5] lsls r0, 9 @@ -8346,7 +8346,7 @@ PlayerHandleBallThrowAnim: @ 80327B0 ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] - ldr r1, _08032804 @ =gUnknown_2024005 + ldr r1, _08032804 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r4, [r5] @@ -8359,7 +8359,7 @@ PlayerHandleBallThrowAnim: @ 80327B0 adds r1, r4, 0 movs r3, 0x3 bl InitAndLaunchSpecialAnimation - ldr r1, _08032808 @ =gUnknown_3004FE0 + ldr r1, _08032808 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -8369,18 +8369,18 @@ PlayerHandleBallThrowAnim: @ 80327B0 pop {r0} bx r0 .align 2, 0 -_080327F8: .4byte gUnknown_2022BC4 +_080327F8: .4byte gBattleBufferA _080327FC: .4byte gActiveBattler _08032800: .4byte gBattleSpritesDataPtr -_08032804: .4byte gUnknown_2024005 -_08032808: .4byte gUnknown_3004FE0 +_08032804: .4byte gDoingBattleAnim +_08032808: .4byte gBattlerControllerFuncs _0803280C: .4byte CompleteOnSpecialAnimDone thumb_func_end PlayerHandleBallThrowAnim thumb_func_start PlayerHandlePause PlayerHandlePause: @ 8032810 push {lr} - ldr r1, _08032838 @ =gUnknown_2022BC4 + ldr r1, _08032838 @ =gBattleBufferA ldr r0, _0803283C @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -8400,7 +8400,7 @@ _0803282E: pop {r0} bx r0 .align 2, 0 -_08032838: .4byte gUnknown_2022BC4 +_08032838: .4byte gBattleBufferA _0803283C: .4byte gActiveBattler thumb_func_end PlayerHandlePause @@ -8415,7 +8415,7 @@ PlayerHandleMoveAnimation: @ 8032840 beq _08032852 b _08032966 _08032852: - ldr r0, _08032928 @ =gUnknown_2022BC4 + ldr r0, _08032928 @ =gBattleBufferA mov r12, r0 ldrb r2, [r6] lsls r2, 9 @@ -8519,7 +8519,7 @@ _08032852: b _08032966 .align 2, 0 _08032924: .4byte gActiveBattler -_08032928: .4byte gUnknown_2022BC4 +_08032928: .4byte gBattleBufferA _0803292C: .4byte gAnimMoveTurn _08032930: .4byte gAnimMovePower _08032934: .4byte gAnimMoveDmg @@ -8537,7 +8537,7 @@ _08032948: lsls r0, 2 adds r0, r2 strb r3, [r0, 0x4] - ldr r1, _08032970 @ =gUnknown_3004FE0 + ldr r1, _08032970 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -8549,7 +8549,7 @@ _08032966: bx r0 .align 2, 0 _0803296C: .4byte gBattleSpritesDataPtr -_08032970: .4byte gUnknown_3004FE0 +_08032970: .4byte gBattlerControllerFuncs _08032974: .4byte sub_8032978 thumb_func_end PlayerHandleMoveAnimation @@ -8560,7 +8560,7 @@ sub_8032978: @ 8032978 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r2, _080329C4 @ =gUnknown_2022BC4 + ldr r2, _080329C4 @ =gBattleBufferA ldr r6, _080329C8 @ =gActiveBattler ldrb r3, [r6] lsls r1, r3, 9 @@ -8594,7 +8594,7 @@ sub_8032978: @ 8032978 beq _080329DA b _08032AEC .align 2, 0 -_080329C4: .4byte gUnknown_2022BC4 +_080329C4: .4byte gBattleBufferA _080329C8: .4byte gActiveBattler _080329CC: .4byte gBattleSpritesDataPtr _080329D0: @@ -8758,7 +8758,7 @@ sub_8032AFC: @ 8032AFC ldr r0, _08032B3C @ =gUnknown_2022BC6 adds r4, r0 ldrh r0, [r4] - bl sub_80D7274 + bl BufferStringBattle ldrh r0, [r4] bl sub_80D89B0 lsls r0, 24 @@ -8766,7 +8766,7 @@ sub_8032AFC: @ 8032AFC beq _08032B44 ldr r0, _08032B40 @ =gDisplayedStringBattle movs r1, 0x40 - bl sub_80D87BC + bl BattlePutTextOnWindow b _08032B4C .align 2, 0 _08032B30: .4byte gBattle_BG0_X @@ -8777,9 +8777,9 @@ _08032B40: .4byte gDisplayedStringBattle _08032B44: ldr r0, _08032B60 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow _08032B4C: - ldr r1, _08032B64 @ =gUnknown_3004FE0 + ldr r1, _08032B64 @ =gBattlerControllerFuncs ldr r0, _08032B68 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -8791,7 +8791,7 @@ _08032B4C: bx r0 .align 2, 0 _08032B60: .4byte gDisplayedStringBattle -_08032B64: .4byte gUnknown_3004FE0 +_08032B64: .4byte gBattlerControllerFuncs _08032B68: .4byte gActiveBattler _08032B6C: .4byte sub_8030610 thumb_func_end sub_8032AFC @@ -8829,7 +8829,7 @@ sub_8032B94: @ 8032B94 ldr r1, _08032BC4 @ =gBattle_BG0_Y movs r0, 0xA0 strh r0, [r1] - ldr r1, _08032BC8 @ =gUnknown_3004FE0 + ldr r1, _08032BC8 @ =gBattlerControllerFuncs ldr r0, _08032BCC @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -8842,7 +8842,7 @@ _08032BBA: .align 2, 0 _08032BC0: .4byte gBattle_BG0_X _08032BC4: .4byte gBattle_BG0_Y -_08032BC8: .4byte gUnknown_3004FE0 +_08032BC8: .4byte gBattlerControllerFuncs _08032BCC: .4byte gActiveBattler _08032BD0: .4byte sub_802E438 thumb_func_end sub_8032B94 @@ -8850,7 +8850,7 @@ _08032BD0: .4byte sub_802E438 thumb_func_start sub_8032BD4 sub_8032BD4: @ 8032BD4 push {r4,lr} - ldr r1, _08032C28 @ =gUnknown_3004FE0 + ldr r1, _08032C28 @ =gBattlerControllerFuncs ldr r0, _08032C2C @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -8859,10 +8859,10 @@ sub_8032BD4: @ 8032BD4 str r1, [r0] ldr r0, _08032C34 @ =gUnknown_83FDA4C movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _08032C38 @ =gUnknown_83FE725 movs r1, 0x2 - bl sub_80D87BC + bl BattlePutTextOnWindow movs r4, 0 _08032BF6: lsls r0, r4, 24 @@ -8871,7 +8871,7 @@ _08032BF6: adds r4, 0x1 cmp r4, 0x3 ble _08032BF6 - ldr r1, _08032C3C @ =gUnknown_2023FF8 + ldr r1, _08032C3C @ =gActionSelectionCursor ldr r0, _08032C2C @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -8882,17 +8882,17 @@ _08032BF6: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _08032C44 @ =gDisplayedStringBattle movs r1, 0x1 - bl sub_80D87BC + bl BattlePutTextOnWindow pop {r4} pop {r0} bx r0 .align 2, 0 -_08032C28: .4byte gUnknown_3004FE0 +_08032C28: .4byte gBattlerControllerFuncs _08032C2C: .4byte gActiveBattler _08032C30: .4byte sub_8032B94 _08032C34: .4byte gUnknown_83FDA4C _08032C38: .4byte gUnknown_83FE725 -_08032C3C: .4byte gUnknown_2023FF8 +_08032C3C: .4byte gActionSelectionCursor _08032C40: .4byte gUnknown_83FE6D5 _08032C44: .4byte gDisplayedStringBattle thumb_func_end sub_8032BD4 @@ -8917,7 +8917,7 @@ sub_8032C4C: @ 8032C4C lsls r2, 1 adds r0, r2, 0 strh r0, [r1] - ldr r1, _08032C84 @ =gUnknown_3004FE0 + ldr r1, _08032C84 @ =gBattlerControllerFuncs ldr r0, _08032C88 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -8930,7 +8930,7 @@ _08032C76: .align 2, 0 _08032C7C: .4byte gBattle_BG0_X _08032C80: .4byte gBattle_BG0_Y -_08032C84: .4byte gUnknown_3004FE0 +_08032C84: .4byte gBattlerControllerFuncs _08032C88: .4byte gActiveBattler _08032C8C: .4byte sub_802EA10 thumb_func_end sub_8032C4C @@ -8939,7 +8939,7 @@ _08032C8C: .4byte sub_802EA10 sub_8032C90: @ 8032C90 push {lr} bl sub_8032CB4 - ldr r1, _08032CA8 @ =gUnknown_3004FE0 + ldr r1, _08032CA8 @ =gBattlerControllerFuncs ldr r0, _08032CAC @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -8949,7 +8949,7 @@ sub_8032C90: @ 8032C90 pop {r0} bx r0 .align 2, 0 -_08032CA8: .4byte gUnknown_3004FE0 +_08032CA8: .4byte gBattlerControllerFuncs _08032CAC: .4byte gActiveBattler _08032CB0: .4byte sub_8032C4C thumb_func_end sub_8032C90 @@ -8990,7 +8990,7 @@ sub_8032CEC: @ 8032CEC movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r1, _08032D38 @ =gUnknown_3004FE0 + ldr r1, _08032D38 @ =gBattlerControllerFuncs ldr r2, _08032D3C @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -9002,7 +9002,7 @@ sub_8032CEC: @ 8032CEC strb r0, [r1] movs r3, 0 ldr r5, _08032D48 @ =gUnknown_203B0DC - ldr r4, _08032D4C @ =gUnknown_2022BC4 + ldr r4, _08032D4C @ =gBattleBufferA _08032D1A: adds r0, r3, r5 ldrb r1, [r2] @@ -9020,12 +9020,12 @@ _08032D1A: pop {r0} bx r0 .align 2, 0 -_08032D38: .4byte gUnknown_3004FE0 +_08032D38: .4byte gBattlerControllerFuncs _08032D3C: .4byte gActiveBattler _08032D40: .4byte sub_8030700 _08032D44: .4byte gBattlerInMenuId _08032D48: .4byte gUnknown_203B0DC -_08032D4C: .4byte gUnknown_2022BC4 +_08032D4C: .4byte gBattleBufferA thumb_func_end sub_8032CEC thumb_func_start sub_8032D50 @@ -9048,7 +9048,7 @@ sub_8032D50: @ 8032D50 adds r1, r0 lsls r1, 3 adds r1, r5 - ldr r5, _08032E10 @ =gUnknown_2022BC4 + ldr r5, _08032E10 @ =gBattleBufferA lsls r2, 9 adds r6, r5, 0x1 adds r2, r6 @@ -9102,7 +9102,7 @@ _08032DBC: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r1, _08032E1C @ =gUnknown_3004FE0 + ldr r1, _08032E1C @ =gBattlerControllerFuncs ldr r2, _08032E08 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -9121,10 +9121,10 @@ _08032E00: .4byte TaskDummy _08032E04: .4byte gUnknown_3004FFC _08032E08: .4byte gActiveBattler _08032E0C: .4byte gTasks -_08032E10: .4byte gUnknown_2022BC4 +_08032E10: .4byte gBattleBufferA _08032E14: .4byte gBattleStruct _08032E18: .4byte gUnknown_203B0DC -_08032E1C: .4byte gUnknown_3004FE0 +_08032E1C: .4byte gBattlerControllerFuncs _08032E20: .4byte sub_8030628 _08032E24: .4byte gBattlerInMenuId thumb_func_end sub_8032D50 @@ -9157,7 +9157,7 @@ sub_8032E4C: @ 8032E4C sub sp, 0x4 movs r0, 0 bl LoadBattleBarGfx - ldr r3, _08032EC4 @ =gUnknown_2022BC4 + ldr r3, _08032EC4 @ =gBattleBufferA ldr r0, _08032EC8 @ =gActiveBattler mov r9, r0 ldrb r4, [r0] @@ -9206,7 +9206,7 @@ sub_8032E4C: @ 8032E4C bl SetBattleBarStruct b _08032F16 .align 2, 0 -_08032EC4: .4byte gUnknown_2022BC4 +_08032EC4: .4byte gBattleBufferA _08032EC8: .4byte gActiveBattler _08032ECC: .4byte 0x00007fff _08032ED0: .4byte gBattlerPartyIndexes @@ -9240,7 +9240,7 @@ _08032EDC: movs r2, 0 bl sub_8048440 _08032F16: - ldr r1, _08032F40 @ =gUnknown_3004FE0 + ldr r1, _08032F40 @ =gBattlerControllerFuncs ldr r0, _08032F44 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -9258,7 +9258,7 @@ _08032F16: _08032F34: .4byte gBattlerPartyIndexes _08032F38: .4byte gPlayerParty _08032F3C: .4byte gHealthboxSpriteIds -_08032F40: .4byte gUnknown_3004FE0 +_08032F40: .4byte gBattlerControllerFuncs _08032F44: .4byte gActiveBattler _08032F48: .4byte CompleteOnHealthbarDone thumb_func_end sub_8032E4C @@ -9266,7 +9266,7 @@ _08032F48: .4byte CompleteOnHealthbarDone thumb_func_start PlayerHandleExpUpdate PlayerHandleExpUpdate: @ 8032F4C push {r4-r7,lr} - ldr r5, _08032F78 @ =gUnknown_2022BC4 + ldr r5, _08032F78 @ =gBattleBufferA ldr r6, _08032F7C @ =gActiveBattler ldrb r0, [r6] lsls r0, 9 @@ -9286,7 +9286,7 @@ PlayerHandleExpUpdate: @ 8032F4C bl PlayerBufferExecCompleted b _08032FD0 .align 2, 0 -_08032F78: .4byte gUnknown_2022BC4 +_08032F78: .4byte gBattleBufferA _08032F7C: .4byte gActiveBattler _08032F80: .4byte gPlayerParty _08032F84: @@ -9319,7 +9319,7 @@ _08032F84: strh r4, [r1, 0xA] ldrb r0, [r6] strh r0, [r1, 0xC] - ldr r1, _08032FE0 @ =gUnknown_3004FE0 + ldr r1, _08032FE0 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -9332,7 +9332,7 @@ _08032FD0: .align 2, 0 _08032FD8: .4byte sub_802FEAC _08032FDC: .4byte gTasks -_08032FE0: .4byte gUnknown_3004FE0 +_08032FE0: .4byte gBattlerControllerFuncs _08032FE4: .4byte nullsub_13 thumb_func_end PlayerHandleExpUpdate @@ -9372,7 +9372,7 @@ sub_8032FE8: @ 8032FE8 negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r1, _08033058 @ =gUnknown_3004FE0 + ldr r1, _08033058 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -9388,7 +9388,7 @@ _08033048: .4byte gHealthboxSpriteIds _0803304C: .4byte gBattlerPartyIndexes _08033050: .4byte gPlayerParty _08033054: .4byte gBattleSpritesDataPtr -_08033058: .4byte gUnknown_3004FE0 +_08033058: .4byte gBattlerControllerFuncs _0803305C: .4byte CompleteOnFinishedStatusAnimation thumb_func_end sub_8032FE8 @@ -9401,7 +9401,7 @@ sub_8033060: @ 8033060 lsls r0, 24 cmp r0, 0 bne _080330B0 - ldr r4, _080330BC @ =gUnknown_2022BC4 + ldr r4, _080330BC @ =gBattleBufferA ldrb r3, [r5] lsls r3, 9 adds r0, r4, 0x1 @@ -9426,7 +9426,7 @@ sub_8033060: @ 8033060 lsls r2, 24 orrs r1, r2 bl InitAndLaunchChosenStatusAnimation - ldr r1, _080330C0 @ =gUnknown_3004FE0 + ldr r1, _080330C0 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -9438,8 +9438,8 @@ _080330B0: bx r0 .align 2, 0 _080330B8: .4byte gActiveBattler -_080330BC: .4byte gUnknown_2022BC4 -_080330C0: .4byte gUnknown_3004FE0 +_080330BC: .4byte gBattleBufferA +_080330C0: .4byte gBattlerControllerFuncs _080330C4: .4byte CompleteOnFinishedStatusAnimation thumb_func_end sub_8033060 @@ -9462,7 +9462,7 @@ PlayerHandleStatusXor: @ 80330C8 adds r0, r5 movs r1, 0x37 bl GetMonData - ldr r2, _08033130 @ =gUnknown_2022BC4 + ldr r2, _08033130 @ =gBattleBufferA ldrb r1, [r4] lsls r1, 9 adds r2, 0x1 @@ -9491,7 +9491,7 @@ PlayerHandleStatusXor: @ 80330C8 _08033124: .4byte gBattlerPartyIndexes _08033128: .4byte gActiveBattler _0803312C: .4byte gPlayerParty -_08033130: .4byte gUnknown_2022BC4 +_08033130: .4byte gBattleBufferA thumb_func_end PlayerHandleStatusXor thumb_func_start sub_8033134 @@ -9505,7 +9505,7 @@ sub_8033134: @ 8033134 thumb_func_start PlayerHandleDMA3Transfer PlayerHandleDMA3Transfer: @ 8033140 push {r4,r5,lr} - ldr r3, _080331A4 @ =gUnknown_2022BC4 + ldr r3, _080331A4 @ =gBattleBufferA ldr r0, _080331A8 @ =gActiveBattler ldrb r2, [r0] lsls r2, 9 @@ -9554,7 +9554,7 @@ PlayerHandleDMA3Transfer: @ 8033140 ldr r0, [r0, 0x8] b _080331DC .align 2, 0 -_080331A4: .4byte gUnknown_2022BC4 +_080331A4: .4byte gBattleBufferA _080331A8: .4byte gActiveBattler _080331AC: .4byte 0x040000d4 _080331B0: @@ -9594,7 +9594,7 @@ _080331F0: .4byte 0xfffff000 thumb_func_start PlayerHandlePlayBGM PlayerHandlePlayBGM: @ 80331F4 push {lr} - ldr r2, _0803321C @ =gUnknown_2022BC4 + ldr r2, _0803321C @ =gBattleBufferA ldr r0, _08033220 @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -9611,7 +9611,7 @@ PlayerHandlePlayBGM: @ 80331F4 pop {r0} bx r0 .align 2, 0 -_0803321C: .4byte gUnknown_2022BC4 +_0803321C: .4byte gBattleBufferA _08033220: .4byte gActiveBattler thumb_func_end PlayerHandlePlayBGM @@ -9689,7 +9689,7 @@ _08033298: .4byte gUnknown_2022870 PlayerHandleCmd38: @ 803329C push {lr} ldr r3, _080332C8 @ =gUnknown_2022870 - ldr r1, _080332CC @ =gUnknown_2022BC4 + ldr r1, _080332CC @ =gBattleBufferA ldr r0, _080332D0 @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -9709,7 +9709,7 @@ PlayerHandleCmd38: @ 803329C bx r0 .align 2, 0 _080332C8: .4byte gUnknown_2022870 -_080332CC: .4byte gUnknown_2022BC4 +_080332CC: .4byte gBattleBufferA _080332D0: .4byte gActiveBattler thumb_func_end PlayerHandleCmd38 @@ -9775,7 +9775,7 @@ _0803333C: .4byte gSprites _08033340: .4byte gBattlerSpriteIds _08033344: .4byte gActiveBattler _08033348: - ldr r1, _08033378 @ =gUnknown_2024005 + ldr r1, _08033378 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r0, [r4] @@ -9789,7 +9789,7 @@ _08033348: strh r1, [r0, 0x30] ldrb r0, [r4] bl DoHitAnimHealthboxEffect - ldr r1, _0803337C @ =gUnknown_3004FE0 + ldr r1, _0803337C @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -9800,8 +9800,8 @@ _08033372: pop {r0} bx r0 .align 2, 0 -_08033378: .4byte gUnknown_2024005 -_0803337C: .4byte gUnknown_3004FE0 +_08033378: .4byte gDoingBattleAnim +_0803337C: .4byte gBattlerControllerFuncs _08033380: .4byte DoHitAnimBlinkSpriteEffect thumb_func_end PlayerHandleHitAnimation @@ -9825,7 +9825,7 @@ PlayerHandlePlaySE: @ 8033390 bne _080333A4 movs r3, 0xC0 _080333A4: - ldr r2, _080333D0 @ =gUnknown_2022BC4 + ldr r2, _080333D0 @ =gBattleBufferA ldrb r1, [r4] lsls r1, 9 adds r0, r2, 0x1 @@ -9845,13 +9845,13 @@ _080333A4: bx r0 .align 2, 0 _080333CC: .4byte gActiveBattler -_080333D0: .4byte gUnknown_2022BC4 +_080333D0: .4byte gBattleBufferA thumb_func_end PlayerHandlePlaySE thumb_func_start PlayerHandlecmd44 PlayerHandlecmd44: @ 80333D4 push {lr} - ldr r2, _080333FC @ =gUnknown_2022BC4 + ldr r2, _080333FC @ =gBattleBufferA ldr r0, _08033400 @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -9868,7 +9868,7 @@ PlayerHandlecmd44: @ 80333D4 pop {r0} bx r0 .align 2, 0 -_080333FC: .4byte gUnknown_2022BC4 +_080333FC: .4byte gBattleBufferA _08033400: .4byte gActiveBattler thumb_func_end PlayerHandlecmd44 @@ -9905,14 +9905,14 @@ _08033440: .4byte gPlayerParty thumb_func_start PlayerHandleIntroSlide PlayerHandleIntroSlide: @ 8033444 push {lr} - ldr r1, _0803346C @ =gUnknown_2022BC4 + ldr r1, _0803346C @ =gBattleBufferA ldr r0, _08033470 @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 adds r1, 0x1 adds r0, r1 ldrb r0, [r0] - bl sub_80BC3A0 + bl HandleIntroSlide ldr r2, _08033474 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 @@ -9922,7 +9922,7 @@ PlayerHandleIntroSlide: @ 8033444 pop {r0} bx r0 .align 2, 0 -_0803346C: .4byte gUnknown_2022BC4 +_0803346C: .4byte gBattleBufferA _08033470: .4byte gActiveBattler _08033474: .4byte gIntroSlideFlags thumb_func_end PlayerHandleIntroSlide @@ -10075,7 +10075,7 @@ _0803359A: movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x9] - ldr r1, _080335F0 @ =gUnknown_3004FE0 + ldr r1, _080335F0 @ =gBattlerControllerFuncs ldrb r0, [r7] lsls r0, 2 adds r0, r1 @@ -10099,7 +10099,7 @@ _080335E0: .4byte gTasks _080335E4: .4byte gBattleSpritesDataPtr _080335E8: .4byte gUnknown_2024000 _080335EC: .4byte sub_80491B0 -_080335F0: .4byte gUnknown_3004FE0 +_080335F0: .4byte gBattlerControllerFuncs _080335F4: .4byte nullsub_13 thumb_func_end PlayerHandleIntroTrainerBallThrow @@ -10190,7 +10190,7 @@ _0803368C: cmp r0, 0 beq _080336DC _080336AC: - ldr r0, _080336D4 @ =gUnknown_2022BC4 + ldr r0, _080336D4 @ =gBattleBufferA ldrb r1, [r7] lsls r2, r1, 9 adds r0, 0x1 @@ -10207,10 +10207,10 @@ _080336AC: .align 2, 0 _080336CC: .4byte gActiveBattler _080336D0: .4byte gBattleTypeFlags -_080336D4: .4byte gUnknown_2022BC4 +_080336D4: .4byte gBattleBufferA _080336D8: .4byte gBattlerPartyIndexes _080336DC: - ldr r4, _08033754 @ =gUnknown_2022BC4 + ldr r4, _08033754 @ =gBattleBufferA ldrb r0, [r7] lsls r1, r0, 9 adds r4, 0x1 @@ -10250,7 +10250,7 @@ _080336DC: eors r0, r6 strb r0, [r7] _08033730: - ldr r1, _08033760 @ =gUnknown_3004FE0 + ldr r1, _08033760 @ =gBattlerControllerFuncs ldr r2, _08033764 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -10269,10 +10269,10 @@ _08033748: pop {r0} bx r0 .align 2, 0 -_08033754: .4byte gUnknown_2022BC4 +_08033754: .4byte gBattleBufferA _08033758: .4byte gBattlerPartyIndexes _0803375C: .4byte gPlayerParty -_08033760: .4byte gUnknown_3004FE0 +_08033760: .4byte gBattlerControllerFuncs _08033764: .4byte gActiveBattler _08033768: .4byte sub_802FA58 thumb_func_end task05_08033660 @@ -10280,7 +10280,7 @@ _08033768: .4byte sub_802FA58 thumb_func_start PlayerHandleDrawPartyStatusSummary PlayerHandleDrawPartyStatusSummary: @ 803376C push {r4-r6,lr} - ldr r1, _08033794 @ =gUnknown_2022BC4 + ldr r1, _08033794 @ =gBattleBufferA ldr r0, _08033798 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -10297,7 +10297,7 @@ PlayerHandleDrawPartyStatusSummary: @ 803376C bl PlayerBufferExecCompleted b _08033810 .align 2, 0 -_08033794: .4byte gUnknown_2022BC4 +_08033794: .4byte gBattleBufferA _08033798: .4byte gActiveBattler _0803379C: ldr r6, _08033818 @ =gBattleSpritesDataPtr @@ -10352,7 +10352,7 @@ _0803379C: movs r1, 0x5D strb r1, [r0, 0x5] _08033804: - ldr r0, _08033828 @ =gUnknown_3004FE0 + ldr r0, _08033828 @ =gBattlerControllerFuncs ldrb r1, [r5] lsls r1, 2 adds r1, r0 @@ -10367,7 +10367,7 @@ _08033818: .4byte gBattleSpritesDataPtr _0803381C: .4byte gActiveBattler _08033820: .4byte gUnknown_2022BC8 _08033824: .4byte gUnknown_2024000 -_08033828: .4byte gUnknown_3004FE0 +_08033828: .4byte gBattlerControllerFuncs _0803382C: .4byte sub_8033830 thumb_func_end PlayerHandleDrawPartyStatusSummary @@ -10484,7 +10484,7 @@ PlayerHandleSpriteInvisibility: @ 80338EC adds r2, r0 lsls r2, 2 adds r2, r3 - ldr r0, _08033948 @ =gUnknown_2022BC4 + ldr r0, _08033948 @ =gBattleBufferA lsls r1, 9 adds r0, 0x1 adds r1, r0 @@ -10510,7 +10510,7 @@ _08033932: _0803393C: .4byte gActiveBattler _08033940: .4byte gSprites _08033944: .4byte gBattlerSpriteIds -_08033948: .4byte gUnknown_2022BC4 +_08033948: .4byte gBattleBufferA thumb_func_end PlayerHandleSpriteInvisibility thumb_func_start PlayerHandleBattleAnimation @@ -10523,7 +10523,7 @@ PlayerHandleBattleAnimation: @ 803394C lsls r0, 24 cmp r0, 0 bne _080339A4 - ldr r5, _08033994 @ =gUnknown_2022BC4 + ldr r5, _08033994 @ =gBattleBufferA ldrb r2, [r6] lsls r1, r2, 9 adds r0, r5, 0x1 @@ -10548,9 +10548,9 @@ PlayerHandleBattleAnimation: @ 803394C b _080339A4 .align 2, 0 _08033990: .4byte gActiveBattler -_08033994: .4byte gUnknown_2022BC4 +_08033994: .4byte gBattleBufferA _08033998: - ldr r0, _080339AC @ =gUnknown_3004FE0 + ldr r0, _080339AC @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -10562,14 +10562,14 @@ _080339A4: pop {r0} bx r0 .align 2, 0 -_080339AC: .4byte gUnknown_3004FE0 +_080339AC: .4byte gBattlerControllerFuncs _080339B0: .4byte CompleteOnFinishedBattleAnimation thumb_func_end PlayerHandleBattleAnimation thumb_func_start PlayerHandleLinkStandbyMsg PlayerHandleLinkStandbyMsg: @ 80339B4 push {r4,lr} - ldr r1, _080339D4 @ =gUnknown_2022BC4 + ldr r1, _080339D4 @ =gBattleBufferA ldr r0, _080339D8 @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -10584,7 +10584,7 @@ PlayerHandleLinkStandbyMsg: @ 80339B4 beq _080339E2 b _08033A04 .align 2, 0 -_080339D4: .4byte gUnknown_2022BC4 +_080339D4: .4byte gBattleBufferA _080339D8: .4byte gActiveBattler _080339DC: cmp r0, 0x2 @@ -10615,7 +10615,7 @@ _08033A04: thumb_func_start PlayerHandleResetActionMoveSelection PlayerHandleResetActionMoveSelection: @ 8033A10 push {r4,lr} - ldr r1, _08033A30 @ =gUnknown_2022BC4 + ldr r1, _08033A30 @ =gBattleBufferA ldr r4, _08033A34 @ =gActiveBattler ldrb r3, [r4] lsls r0, r3, 9 @@ -10630,14 +10630,14 @@ PlayerHandleResetActionMoveSelection: @ 8033A10 beq _08033A3E b _08033A68 .align 2, 0 -_08033A30: .4byte gUnknown_2022BC4 +_08033A30: .4byte gBattleBufferA _08033A34: .4byte gActiveBattler _08033A38: cmp r2, 0x2 beq _08033A60 b _08033A68 _08033A3E: - ldr r0, _08033A50 @ =gUnknown_2023FF8 + ldr r0, _08033A50 @ =gActionSelectionCursor adds r0, r3, r0 strb r2, [r0] ldr r1, _08033A54 @ =gUnknown_2023FFC @@ -10646,13 +10646,13 @@ _08033A3E: strb r2, [r0] b _08033A68 .align 2, 0 -_08033A50: .4byte gUnknown_2023FF8 +_08033A50: .4byte gActionSelectionCursor _08033A54: .4byte gUnknown_2023FFC _08033A58: - ldr r0, _08033A5C @ =gUnknown_2023FF8 + ldr r0, _08033A5C @ =gActionSelectionCursor b _08033A62 .align 2, 0 -_08033A5C: .4byte gUnknown_2023FF8 +_08033A5C: .4byte gActionSelectionCursor _08033A60: ldr r0, _08033A74 @ =gUnknown_2023FFC _08033A62: @@ -10672,7 +10672,7 @@ _08033A74: .4byte gUnknown_2023FFC PlayerHandlecmd55: @ 8033A78 push {r4,lr} ldr r2, _08033AB0 @ =gBattleOutcome - ldr r1, _08033AB4 @ =gUnknown_2022BC4 + ldr r1, _08033AB4 @ =gBattleBufferA ldr r4, _08033AB8 @ =gActiveBattler ldrb r0, [r4] lsls r0, 9 @@ -10685,7 +10685,7 @@ PlayerHandlecmd55: @ 8033A78 movs r0, 0x3 bl BeginFastPaletteFade bl PlayerBufferExecCompleted - ldr r1, _08033ABC @ =gUnknown_3004FE0 + ldr r1, _08033ABC @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -10696,9 +10696,9 @@ PlayerHandlecmd55: @ 8033A78 bx r0 .align 2, 0 _08033AB0: .4byte gBattleOutcome -_08033AB4: .4byte gUnknown_2022BC4 +_08033AB4: .4byte gBattleBufferA _08033AB8: .4byte gActiveBattler -_08033ABC: .4byte gUnknown_3004FE0 +_08033ABC: .4byte gBattlerControllerFuncs _08033AC0: .4byte sub_802F6A8 thumb_func_end PlayerHandlecmd55 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 72e71cf23..afc8ffef3 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -12,7 +12,7 @@ nullsub_99: @ 81560A0 thumb_func_start sub_81560A4 sub_81560A4: @ 81560A4 - ldr r1, _081560C8 @ =gUnknown_3004FE0 + ldr r1, _081560C8 @ =gBattlerControllerFuncs ldr r0, _081560CC @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -31,7 +31,7 @@ sub_81560A4: @ 81560A4 strb r1, [r0] bx lr .align 2, 0 -_081560C8: .4byte gUnknown_3004FE0 +_081560C8: .4byte gBattlerControllerFuncs _081560CC: .4byte gActiveBattler _081560D0: .4byte sub_81560DC _081560D4: .4byte gBattleStruct @@ -41,7 +41,7 @@ _081560D8: .4byte gSpecialVar_0x8004 thumb_func_start sub_81560DC sub_81560DC: @ 81560DC push {r4,r5,lr} - ldr r2, _08156120 @ =gUnknown_2023BC8 + ldr r2, _08156120 @ =gBattleControllerExecFlags ldr r1, _08156124 @ =gBitTable ldr r5, _08156128 @ =gActiveBattler ldrb r3, [r5] @@ -52,7 +52,7 @@ sub_81560DC: @ 81560DC ands r1, r0 cmp r1, 0 beq _08156138 - ldr r4, _0815612C @ =gUnknown_2022BC4 + ldr r4, _0815612C @ =gBattleBufferA lsls r0, r3, 9 adds r0, r4 ldrb r0, [r0] @@ -73,10 +73,10 @@ sub_81560DC: @ 81560DC bl _call_via_r0 b _08156138 .align 2, 0 -_08156120: .4byte gUnknown_2023BC8 +_08156120: .4byte gBattleControllerExecFlags _08156124: .4byte gBitTable _08156128: .4byte gActiveBattler -_0815612C: .4byte gUnknown_2022BC4 +_0815612C: .4byte gBattleBufferA _08156130: .4byte gUnknown_8478F1C _08156134: bl PlayerPartnerBufferExecCompleted @@ -241,7 +241,7 @@ sub_8156254: @ 8156254 negs r0, r0 ands r0, r1 strb r0, [r3] - ldr r0, _08156290 @ =gUnknown_3004F80 + ldr r0, _08156290 @ =gPreBattleCallback1 ldr r0, [r0] str r0, [r2] ldr r0, [r2, 0x8] @@ -253,7 +253,7 @@ _0815627E: _08156284: .4byte gPaletteFade _08156288: .4byte gMain _0815628C: .4byte 0x00000439 -_08156290: .4byte gUnknown_3004F80 +_08156290: .4byte gPreBattleCallback1 thumb_func_end sub_8156254 thumb_func_start sub_8156294 @@ -365,7 +365,7 @@ sub_81562F0: @ 81562F0 movs r3, 0x6 bl InitAndLaunchSpecialAnimation _08156374: - ldr r0, _081563A0 @ =gUnknown_3004FE0 + ldr r0, _081563A0 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -382,7 +382,7 @@ _08156390: .4byte gActiveBattler _08156394: .4byte SpriteCallbackDummy _08156398: .4byte gBattleSpritesDataPtr _0815639C: .4byte 0x000027f9 -_081563A0: .4byte gUnknown_3004FE0 +_081563A0: .4byte gBattlerControllerFuncs _081563A4: .4byte sub_8156294 thumb_func_end sub_81562F0 @@ -463,7 +463,7 @@ _081563DA: bl SetHealthboxSpriteVisible ldrb r0, [r5] bl CopyBattleSpriteInvisibility - ldr r1, _0815647C @ =gUnknown_3004FE0 + ldr r1, _0815647C @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -482,14 +482,14 @@ _0815646C: .4byte gSprites _08156470: .4byte gUnknown_3004FFC _08156474: .4byte SpriteCallbackDummy _08156478: .4byte gHealthboxSpriteIds -_0815647C: .4byte gUnknown_3004FE0 +_0815647C: .4byte gBattlerControllerFuncs _08156480: .4byte sub_81562F0 thumb_func_end sub_81563A8 thumb_func_start sub_8156484 sub_8156484: @ 8156484 push {lr} - ldr r0, _08156498 @ =gUnknown_2024005 + ldr r0, _08156498 @ =gDoingBattleAnim ldrb r0, [r0] cmp r0, 0 bne _08156492 @@ -498,7 +498,7 @@ _08156492: pop {r0} bx r0 .align 2, 0 -_08156498: .4byte gUnknown_2024005 +_08156498: .4byte gDoingBattleAnim thumb_func_end sub_8156484 thumb_func_start sub_815649C @@ -556,7 +556,7 @@ sub_81564F0: @ 81564F0 ands r0, r1 cmp r0, 0 bne _08156520 - ldr r1, _08156528 @ =gUnknown_3004FE0 + ldr r1, _08156528 @ =gBattlerControllerFuncs ldr r2, _0815652C @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -575,7 +575,7 @@ _08156520: bx r0 .align 2, 0 _08156524: .4byte gPaletteFade -_08156528: .4byte gUnknown_3004FE0 +_08156528: .4byte gBattlerControllerFuncs _0815652C: .4byte gActiveBattler _08156530: .4byte sub_8156538 _08156534: .4byte gUnknown_3004FFC @@ -586,7 +586,7 @@ sub_8156538: @ 8156538 push {lr} ldr r0, _08156568 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _0815656C @ =sub_8011100 + ldr r0, _0815656C @ =BattleMainCB2 cmp r1, r0 bne _0815658E ldr r0, _08156570 @ =gPaletteFade @@ -607,7 +607,7 @@ sub_8156538: @ 8156538 b _0815658A .align 2, 0 _08156568: .4byte gMain -_0815656C: .4byte sub_8011100 +_0815656C: .4byte BattleMainCB2 _08156570: .4byte gPaletteFade _08156574: .4byte gUnknown_203B0C0 _08156578: .4byte gUnknown_203B0C1 @@ -633,7 +633,7 @@ sub_8156594: @ 8156594 ands r0, r1 cmp r0, 0 bne _081565E2 - ldr r1, _081565CC @ =gUnknown_3004FE0 + ldr r1, _081565CC @ =gBattlerControllerFuncs ldr r0, _081565D0 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -653,7 +653,7 @@ _081565C4: b _081565DE .align 2, 0 _081565C8: .4byte gPaletteFade -_081565CC: .4byte gUnknown_3004FE0 +_081565CC: .4byte gBattlerControllerFuncs _081565D0: .4byte gActiveBattler _081565D4: .4byte sub_81565E8 _081565D8: .4byte gSpecialVar_0x8004 @@ -671,7 +671,7 @@ sub_81565E8: @ 81565E8 push {lr} ldr r0, _08156614 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _08156618 @ =sub_8011100 + ldr r0, _08156618 @ =BattleMainCB2 cmp r1, r0 bne _0815660E ldr r0, _0815661C @ =gPaletteFade @@ -690,7 +690,7 @@ _0815660E: bx r0 .align 2, 0 _08156614: .4byte gMain -_08156618: .4byte sub_8011100 +_08156618: .4byte BattleMainCB2 _0815661C: .4byte gPaletteFade _08156620: .4byte gSpecialVar_ItemId thumb_func_end sub_81565E8 @@ -857,7 +857,7 @@ _0815671E: negs r0, r0 ands r0, r1 strb r0, [r2, 0x9] - ldr r1, _081567A8 @ =gUnknown_3004FE0 + ldr r1, _081567A8 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -876,7 +876,7 @@ _08156798: .4byte gBattleTypeFlags _0815679C: .4byte gUnknown_3004FFC _081567A0: .4byte gSprites _081567A4: .4byte gHealthboxSpriteIds -_081567A8: .4byte gUnknown_3004FE0 +_081567A8: .4byte gBattlerControllerFuncs _081567AC: .4byte sub_81567B0 thumb_func_end sub_8156624 @@ -995,7 +995,7 @@ _081567DA: ldr r2, _081568D0 @ =gPlayerParty adds r0, r2 bl HandleLowHpMusicChange - ldr r1, _081568D4 @ =gUnknown_3004FE0 + ldr r1, _081568D4 @ =gBattlerControllerFuncs mov r2, r8 ldrb r0, [r2] lsls r0, 2 @@ -1018,7 +1018,7 @@ _081568C4: .4byte 0x000027f9 _081568C8: .4byte c3_0802FDF4 _081568CC: .4byte gBattlerPartyIndexes _081568D0: .4byte gPlayerParty -_081568D4: .4byte gUnknown_3004FE0 +_081568D4: .4byte gBattlerControllerFuncs _081568D8: .4byte sub_815649C thumb_func_end sub_81567B0 @@ -1171,7 +1171,7 @@ _08156A10: adds r0, r6, 0 movs r1, 0x19 bl SetMonData - ldr r1, _08156A30 @ =gUnknown_3004FE0 + ldr r1, _08156A30 @ =gBattlerControllerFuncs ldr r3, [sp, 0x8] lsls r0, r3, 2 adds r0, r1 @@ -1181,7 +1181,7 @@ _08156A10: bl DestroyTask b _08156A3E .align 2, 0 -_08156A30: .4byte gUnknown_3004FE0 +_08156A30: .4byte gBattlerControllerFuncs _08156A34: .4byte sub_8156EE8 _08156A38: ldr r0, _08156A50 @ =sub_8156A54 @@ -1431,7 +1431,7 @@ _08156C34: adds r0, r5, 0 movs r1, 0x19 bl SetMonData - ldr r1, _08156C60 @ =gUnknown_3004FE0 + ldr r1, _08156C60 @ =gBattlerControllerFuncs lsls r0, r7, 2 adds r0, r1 ldr r1, _08156C64 @ =sub_8156EE8 @@ -1448,7 +1448,7 @@ _08156C50: pop {r0} bx r0 .align 2, 0 -_08156C60: .4byte gUnknown_3004FE0 +_08156C60: .4byte gBattlerControllerFuncs _08156C64: .4byte sub_8156EE8 thumb_func_end sub_8156B24 @@ -1608,7 +1608,7 @@ sub_8156D80: @ 8156D80 movs r1, 0x38 bl GetMonData ldrb r0, [r4, 0xC] - ldr r1, _08156DC4 @ =gUnknown_3004FE0 + ldr r1, _08156DC4 @ =gBattlerControllerFuncs lsls r0, 2 adds r0, r1 ldr r1, _08156DC8 @ =sub_8156EE8 @@ -1621,7 +1621,7 @@ sub_8156D80: @ 8156D80 .align 2, 0 _08156DBC: .4byte gTasks _08156DC0: .4byte gPlayerParty -_08156DC4: .4byte gUnknown_3004FE0 +_08156DC4: .4byte gBattlerControllerFuncs _08156DC8: .4byte sub_8156EE8 thumb_func_end sub_8156D80 @@ -1798,7 +1798,7 @@ sub_8156F00: @ 8156F00 subs r0, 0x5 ands r0, r1 strb r0, [r2] - ldr r0, _08156F48 @ =gUnknown_2024005 + ldr r0, _08156F48 @ =gDoingBattleAnim strb r3, [r0] bl PlayerPartnerBufferExecCompleted b _08156F76 @@ -1806,7 +1806,7 @@ sub_8156F00: @ 8156F00 _08156F3C: .4byte gBattlerSpriteIds _08156F40: .4byte gActiveBattler _08156F44: .4byte gSprites -_08156F48: .4byte gUnknown_2024005 +_08156F48: .4byte gDoingBattleAnim _08156F4C: ldrh r0, [r4, 0x30] movs r1, 0x3 @@ -1973,7 +1973,7 @@ _08157080: .4byte gActiveBattler PlayerPartnerBufferExecCompleted: @ 8157084 push {r4,lr} sub sp, 0x4 - ldr r1, _081570C4 @ =gUnknown_3004FE0 + ldr r1, _081570C4 @ =gBattlerControllerFuncs ldr r4, _081570C8 @ =gActiveBattler ldrb r0, [r4] lsls r0, 2 @@ -1993,7 +1993,7 @@ PlayerPartnerBufferExecCompleted: @ 8157084 movs r1, 0x4 mov r2, sp bl PrepareBufferDataTransferLink - ldr r1, _081570D4 @ =gUnknown_2022BC4 + ldr r1, _081570D4 @ =gBattleBufferA ldrb r0, [r4] lsls r0, 9 adds r0, r1 @@ -2001,13 +2001,13 @@ PlayerPartnerBufferExecCompleted: @ 8157084 strb r1, [r0] b _081570EA .align 2, 0 -_081570C4: .4byte gUnknown_3004FE0 +_081570C4: .4byte gBattlerControllerFuncs _081570C8: .4byte gActiveBattler _081570CC: .4byte sub_81560DC _081570D0: .4byte gBattleTypeFlags -_081570D4: .4byte gUnknown_2022BC4 +_081570D4: .4byte gBattleBufferA _081570D8: - ldr r2, _081570F4 @ =gUnknown_2023BC8 + ldr r2, _081570F4 @ =gBattleControllerExecFlags ldr r1, _081570F8 @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -2022,7 +2022,7 @@ _081570EA: pop {r0} bx r0 .align 2, 0 -_081570F4: .4byte gUnknown_2023BC8 +_081570F4: .4byte gBattleControllerExecFlags _081570F8: .4byte gBitTable thumb_func_end PlayerPartnerBufferExecCompleted @@ -2057,7 +2057,7 @@ sub_815712C: @ 815712C push {r4-r6,lr} sub sp, 0x100 movs r6, 0 - ldr r1, _08157158 @ =gUnknown_2022BC4 + ldr r1, _08157158 @ =gBattleBufferA ldr r0, _0815715C @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -2075,7 +2075,7 @@ sub_815712C: @ 815712C adds r6, r0, 0 b _08157186 .align 2, 0 -_08157158: .4byte gUnknown_2022BC4 +_08157158: .4byte gBattleBufferA _0815715C: .4byte gActiveBattler _08157160: .4byte gBattlerPartyIndexes _08157164: @@ -2143,7 +2143,7 @@ _081571D4: ldr r0, _081571FC @ =gEnemyParty _081571DC: adds r6, r1, r0 - ldr r3, _08157200 @ =gUnknown_2022BC4 + ldr r3, _08157200 @ =gBattleBufferA ldr r2, _08157204 @ =gActiveBattler ldrb r0, [r2] lsls r0, 9 @@ -2161,7 +2161,7 @@ _081571F2: mov pc, r0 .align 2, 0 _081571FC: .4byte gEnemyParty -_08157200: .4byte gUnknown_2022BC4 +_08157200: .4byte gBattleBufferA _08157204: .4byte gActiveBattler _08157208: .4byte _0815720C .align 2, 0 @@ -2806,7 +2806,7 @@ sub_8157750: @ 8157750 thumb_func_start sub_815775C sub_815775C: @ 815775C push {r4,r5,lr} - ldr r1, _08157780 @ =gUnknown_2022BC4 + ldr r1, _08157780 @ =gBattleBufferA ldr r0, _08157784 @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -2822,7 +2822,7 @@ sub_815775C: @ 815775C bl sub_81577B4 b _081577AA .align 2, 0 -_08157780: .4byte gUnknown_2022BC4 +_08157780: .4byte gBattleBufferA _08157784: .4byte gActiveBattler _08157788: .4byte gBattlerPartyIndexes _0815778C: @@ -2885,7 +2885,7 @@ _081577F0: ldr r0, _0815781C @ =gEnemyParty _081577F8: adds r6, r1, r0 - ldr r2, _08157820 @ =gUnknown_2022BC4 + ldr r2, _08157820 @ =gBattleBufferA ldr r0, _08157824 @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 @@ -2904,7 +2904,7 @@ _08157812: mov pc, r0 .align 2, 0 _0815781C: .4byte gEnemyParty -_08157820: .4byte gUnknown_2022BC4 +_08157820: .4byte gBattleBufferA _08157824: .4byte gActiveBattler _08157828: .4byte _0815782C .align 2, 0 @@ -4019,7 +4019,7 @@ sub_81580E0: @ 81580E0 lsrs r1, 16 adds r0, r4, 0 bl SetBattlerShadowSpriteCallback - ldr r1, _08158234 @ =gUnknown_3004FE0 + ldr r1, _08158234 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -4042,7 +4042,7 @@ _08158224: .4byte gBattlerSpriteIds _08158228: .4byte gSprites _0815822C: .4byte 0x0000ff10 _08158230: .4byte gBattleMonForms -_08158234: .4byte gUnknown_3004FE0 +_08158234: .4byte gBattlerControllerFuncs _08158238: .4byte sub_8156184 thumb_func_end sub_81580E0 @@ -4051,7 +4051,7 @@ sub_815823C: @ 815823C push {r4,r5,lr} ldr r5, _081582A0 @ =gActiveBattler ldrb r0, [r5] - ldr r4, _081582A4 @ =gUnknown_2022BC4 + ldr r4, _081582A4 @ =gBattleBufferA lsls r1, r0, 9 adds r2, r4, 0x2 adds r1, r2 @@ -4076,7 +4076,7 @@ sub_815823C: @ 815823C ldr r2, _081582AC @ =gPlayerParty adds r0, r2 bl BattleLoadPlayerMonSpriteGfx - ldr r1, _081582B0 @ =gUnknown_2023FF8 + ldr r1, _081582B0 @ =gActionSelectionCursor ldrb r0, [r5] adds r0, r1 strb r4, [r0] @@ -4086,7 +4086,7 @@ sub_815823C: @ 815823C strb r4, [r0] ldrb r0, [r5] bl sub_8159478 - ldr r1, _081582B8 @ =gUnknown_3004FE0 + ldr r1, _081582B8 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4097,19 +4097,19 @@ sub_815823C: @ 815823C bx r0 .align 2, 0 _081582A0: .4byte gActiveBattler -_081582A4: .4byte gUnknown_2022BC4 +_081582A4: .4byte gBattleBufferA _081582A8: .4byte gBattlerPartyIndexes _081582AC: .4byte gPlayerParty -_081582B0: .4byte gUnknown_2023FF8 +_081582B0: .4byte gActionSelectionCursor _081582B4: .4byte gUnknown_2023FFC -_081582B8: .4byte gUnknown_3004FE0 +_081582B8: .4byte gBattlerControllerFuncs _081582BC: .4byte sub_81563A8 thumb_func_end sub_815823C thumb_func_start sub_81582C0 sub_81582C0: @ 81582C0 push {r4-r6,lr} - ldr r0, _081582EC @ =gUnknown_2022BC4 + ldr r0, _081582EC @ =gBattleBufferA ldr r6, _081582F0 @ =gActiveBattler ldrb r2, [r6] lsls r1, r2, 9 @@ -4122,7 +4122,7 @@ sub_81582C0: @ 81582C0 adds r1, r2, 0 movs r3, 0x1 bl InitAndLaunchSpecialAnimation - ldr r0, _081582F4 @ =gUnknown_3004FE0 + ldr r0, _081582F4 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -4130,9 +4130,9 @@ sub_81582C0: @ 81582C0 str r0, [r1] b _08158332 .align 2, 0 -_081582EC: .4byte gUnknown_2022BC4 +_081582EC: .4byte gBattleBufferA _081582F0: .4byte gActiveBattler -_081582F4: .4byte gUnknown_3004FE0 +_081582F4: .4byte gBattlerControllerFuncs _081582F8: .4byte sub_8156F7C _081582FC: ldr r5, _08158338 @ =gBattlerSpriteIds @@ -4190,7 +4190,7 @@ sub_8158344: @ 8158344 movs r0, 0x4 bl SetMultiuseSpriteTemplateToTrainerBack ldr r0, _081583DC @ =gMultiuseSpriteTemplate - ldr r1, _081583E0 @ =gUnknown_8239F8C + ldr r1, _081583E0 @ =gTrainerBackPicCoords ldrb r1, [r1, 0x10] movs r2, 0x8 subs r2, r1 @@ -4242,7 +4242,7 @@ sub_8158344: @ 8158344 .align 2, 0 _081583D8: .4byte gActiveBattler _081583DC: .4byte gMultiuseSpriteTemplate -_081583E0: .4byte gUnknown_8239F8C +_081583E0: .4byte gTrainerBackPicCoords _081583E4: .4byte gBattlerSpriteIds _081583E8: .4byte gSprites _081583EC: .4byte 0x0000fffe @@ -4372,7 +4372,7 @@ _081584E2: adds r0, r4 ldr r1, _08158534 @ =sub_8033EEC str r1, [r0] - ldr r1, _08158538 @ =gUnknown_3004FE0 + ldr r1, _08158538 @ =gBattlerControllerFuncs ldr r0, _0815853C @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -4395,7 +4395,7 @@ _08158528: .4byte gTrainerFrontPicTable _0815852C: .4byte 0x000003ff _08158530: .4byte 0xfffffc00 _08158534: .4byte sub_8033EEC -_08158538: .4byte gUnknown_3004FE0 +_08158538: .4byte gBattlerControllerFuncs _0815853C: .4byte gActiveBattler _08158540: .4byte sub_815614C thumb_func_end sub_8158344 @@ -4415,7 +4415,7 @@ sub_8158544: @ 8158544 movs r0, 0x4 bl SetMultiuseSpriteTemplateToTrainerBack ldr r0, _081585F0 @ =gMultiuseSpriteTemplate - ldr r1, _081585F4 @ =gUnknown_8239F8C + ldr r1, _081585F4 @ =gTrainerBackPicCoords ldrb r1, [r1, 0x10] movs r2, 0x8 subs r2, r1 @@ -4473,7 +4473,7 @@ sub_8158544: @ 8158544 adds r0, r5 ldr r1, _08158604 @ =sub_8033EEC str r1, [r0] - ldr r1, _08158608 @ =gUnknown_3004FE0 + ldr r1, _08158608 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -4485,12 +4485,12 @@ sub_8158544: @ 8158544 .align 2, 0 _081585EC: .4byte gActiveBattler _081585F0: .4byte gMultiuseSpriteTemplate -_081585F4: .4byte gUnknown_8239F8C +_081585F4: .4byte gTrainerBackPicCoords _081585F8: .4byte gBattlerSpriteIds _081585FC: .4byte gSprites _08158600: .4byte 0x0000ffa0 _08158604: .4byte sub_8033EEC -_08158608: .4byte gUnknown_3004FE0 +_08158608: .4byte gBattlerControllerFuncs _0815860C: .4byte sub_8156FEC thumb_func_end sub_8158544 @@ -4625,7 +4625,7 @@ _081586FC: ldr r1, _08158738 @ =sub_8011EA0 _0815871A: str r1, [r0] - ldr r1, _0815873C @ =gUnknown_3004FE0 + ldr r1, _0815873C @ =gBattlerControllerFuncs ldr r0, _08158740 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -4640,7 +4640,7 @@ _0815872A: _08158730: .4byte gSprites _08158734: .4byte gBattlerSpriteIds _08158738: .4byte sub_8011EA0 -_0815873C: .4byte gUnknown_3004FE0 +_0815873C: .4byte gBattlerControllerFuncs _08158740: .4byte gActiveBattler _08158744: .4byte sub_8156DCC thumb_func_end sub_815861C @@ -4661,7 +4661,7 @@ sub_8158754: @ 8158754 ldr r1, [r0, 0x8] movs r0, 0x4 strb r0, [r1, 0x8] - ldr r1, _08158798 @ =gUnknown_2024005 + ldr r1, _08158798 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldr r5, _0815879C @ =gActiveBattler @@ -4675,7 +4675,7 @@ sub_8158754: @ 8158754 adds r1, r4, 0 movs r3, 0x3 bl InitAndLaunchSpecialAnimation - ldr r1, _081587A0 @ =gUnknown_3004FE0 + ldr r1, _081587A0 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4686,16 +4686,16 @@ sub_8158754: @ 8158754 bx r0 .align 2, 0 _08158794: .4byte gBattleSpritesDataPtr -_08158798: .4byte gUnknown_2024005 +_08158798: .4byte gDoingBattleAnim _0815879C: .4byte gActiveBattler -_081587A0: .4byte gUnknown_3004FE0 +_081587A0: .4byte gBattlerControllerFuncs _081587A4: .4byte sub_8156484 thumb_func_end sub_8158754 thumb_func_start sub_81587A8 sub_81587A8: @ 81587A8 push {r4,r5,lr} - ldr r1, _081587F0 @ =gUnknown_2022BC4 + ldr r1, _081587F0 @ =gBattleBufferA ldr r5, _081587F4 @ =gActiveBattler ldrb r0, [r5] lsls r0, 9 @@ -4706,7 +4706,7 @@ sub_81587A8: @ 81587A8 ldr r0, [r0] ldr r0, [r0, 0x8] strb r1, [r0, 0x8] - ldr r1, _081587FC @ =gUnknown_2024005 + ldr r1, _081587FC @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r4, [r5] @@ -4719,7 +4719,7 @@ sub_81587A8: @ 81587A8 adds r1, r4, 0 movs r3, 0x3 bl InitAndLaunchSpecialAnimation - ldr r1, _08158800 @ =gUnknown_3004FE0 + ldr r1, _08158800 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -4729,11 +4729,11 @@ sub_81587A8: @ 81587A8 pop {r0} bx r0 .align 2, 0 -_081587F0: .4byte gUnknown_2022BC4 +_081587F0: .4byte gBattleBufferA _081587F4: .4byte gActiveBattler _081587F8: .4byte gBattleSpritesDataPtr -_081587FC: .4byte gUnknown_2024005 -_08158800: .4byte gUnknown_3004FE0 +_081587FC: .4byte gDoingBattleAnim +_08158800: .4byte gBattlerControllerFuncs _08158804: .4byte sub_8156484 thumb_func_end sub_81587A8 @@ -4748,7 +4748,7 @@ sub_8158808: @ 8158808 thumb_func_start sub_8158814 sub_8158814: @ 8158814 push {r4-r6,lr} - ldr r0, _081588E8 @ =gUnknown_2022BC4 + ldr r0, _081588E8 @ =gBattleBufferA mov r12, r0 ldr r6, _081588EC @ =gActiveBattler ldrb r2, [r6] @@ -4852,7 +4852,7 @@ sub_8158814: @ 8158814 bl PlayerPartnerBufferExecCompleted b _0815892A .align 2, 0 -_081588E8: .4byte gUnknown_2022BC4 +_081588E8: .4byte gBattleBufferA _081588EC: .4byte gActiveBattler _081588F0: .4byte gAnimMoveTurn _081588F4: .4byte gAnimMovePower @@ -4871,7 +4871,7 @@ _0815890C: lsls r0, 2 adds r0, r2 strb r3, [r0, 0x4] - ldr r1, _08158934 @ =gUnknown_3004FE0 + ldr r1, _08158934 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -4883,7 +4883,7 @@ _0815892A: bx r0 .align 2, 0 _08158930: .4byte gBattleSpritesDataPtr -_08158934: .4byte gUnknown_3004FE0 +_08158934: .4byte gBattlerControllerFuncs _08158938: .4byte sub_815893C thumb_func_end sub_8158814 @@ -4893,7 +4893,7 @@ sub_815893C: @ 815893C mov r7, r9 mov r6, r8 push {r6,r7} - ldr r2, _08158980 @ =gUnknown_2022BC4 + ldr r2, _08158980 @ =gBattleBufferA ldr r6, _08158984 @ =gActiveBattler ldrb r3, [r6] lsls r1, r3, 9 @@ -4923,7 +4923,7 @@ sub_815893C: @ 815893C beq _08158996 b _08158A7C .align 2, 0 -_08158980: .4byte gUnknown_2022BC4 +_08158980: .4byte gBattleBufferA _08158984: .4byte gActiveBattler _08158988: .4byte gBattleSpritesDataPtr _0815898C: @@ -5066,7 +5066,7 @@ sub_8158A88: @ 8158A88 ldr r0, _08158AC8 @ =gUnknown_2022BC6 adds r4, r0 ldrh r0, [r4] - bl sub_80D7274 + bl BufferStringBattle ldrh r0, [r4] bl sub_80D89B0 lsls r0, 24 @@ -5074,7 +5074,7 @@ sub_8158A88: @ 8158A88 beq _08158AD0 ldr r0, _08158ACC @ =gDisplayedStringBattle movs r1, 0x40 - bl sub_80D87BC + bl BattlePutTextOnWindow b _08158AD8 .align 2, 0 _08158ABC: .4byte gBattle_BG0_X @@ -5085,9 +5085,9 @@ _08158ACC: .4byte gDisplayedStringBattle _08158AD0: ldr r0, _08158AEC @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow _08158AD8: - ldr r1, _08158AF0 @ =gUnknown_3004FE0 + ldr r1, _08158AF0 @ =gBattlerControllerFuncs ldr r0, _08158AF4 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5099,7 +5099,7 @@ _08158AD8: bx r0 .align 2, 0 _08158AEC: .4byte gDisplayedStringBattle -_08158AF0: .4byte gUnknown_3004FE0 +_08158AF0: .4byte gBattlerControllerFuncs _08158AF4: .4byte gActiveBattler _08158AF8: .4byte sub_815623C thumb_func_end sub_8158A88 @@ -5137,7 +5137,7 @@ sub_8158B20: @ 8158B20 ldr r1, _08158B50 @ =gBattle_BG0_Y movs r0, 0xA0 strh r0, [r1] - ldr r1, _08158B54 @ =gUnknown_3004FE0 + ldr r1, _08158B54 @ =gBattlerControllerFuncs ldr r0, _08158B58 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5150,7 +5150,7 @@ _08158B46: .align 2, 0 _08158B4C: .4byte gBattle_BG0_X _08158B50: .4byte gBattle_BG0_Y -_08158B54: .4byte gUnknown_3004FE0 +_08158B54: .4byte gBattlerControllerFuncs _08158B58: .4byte gActiveBattler _08158B5C: .4byte sub_8156140 thumb_func_end sub_8158B20 @@ -5164,7 +5164,7 @@ sub_8158B60: @ 8158B60 lsls r0, 24 cmp r0, 0 bne _08158BDC - ldr r1, _08158BC0 @ =gUnknown_3004FE0 + ldr r1, _08158BC0 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5172,10 +5172,10 @@ sub_8158B60: @ 8158B60 str r1, [r0] ldr r0, _08158BC8 @ =gUnknown_83FDA4C movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _08158BCC @ =gUnknown_83FE725 movs r1, 0x2 - bl sub_80D87BC + bl BattlePutTextOnWindow movs r4, 0 _08158B8E: lsls r0, r4, 24 @@ -5184,7 +5184,7 @@ _08158B8E: adds r4, 0x1 cmp r4, 0x3 ble _08158B8E - ldr r1, _08158BD0 @ =gUnknown_2023FF8 + ldr r1, _08158BD0 @ =gActionSelectionCursor ldr r0, _08158BBC @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -5195,19 +5195,19 @@ _08158B8E: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _08158BD8 @ =gDisplayedStringBattle movs r1, 0x1 - bl sub_80D87BC + bl BattlePutTextOnWindow b _08158BE8 .align 2, 0 _08158BBC: .4byte gActiveBattler -_08158BC0: .4byte gUnknown_3004FE0 +_08158BC0: .4byte gBattlerControllerFuncs _08158BC4: .4byte sub_8158B20 _08158BC8: .4byte gUnknown_83FDA4C _08158BCC: .4byte gUnknown_83FE725 -_08158BD0: .4byte gUnknown_2023FF8 +_08158BD0: .4byte gActionSelectionCursor _08158BD4: .4byte gUnknown_83FE6D5 _08158BD8: .4byte gDisplayedStringBattle _08158BDC: - ldr r0, _08158BF0 @ =gUnknown_3004FE0 + ldr r0, _08158BF0 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -5218,7 +5218,7 @@ _08158BE8: pop {r0} bx r0 .align 2, 0 -_08158BF0: .4byte gUnknown_3004FE0 +_08158BF0: .4byte gBattlerControllerFuncs _08158BF4: .4byte sub_8156140 thumb_func_end sub_8158B60 @@ -5245,7 +5245,7 @@ sub_8158C04: @ 8158C04 lsls r2, 1 adds r0, r2, 0 strh r0, [r1] - ldr r1, _08158C3C @ =gUnknown_3004FE0 + ldr r1, _08158C3C @ =gBattlerControllerFuncs ldr r0, _08158C40 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5258,7 +5258,7 @@ _08158C2E: .align 2, 0 _08158C34: .4byte gBattle_BG0_X _08158C38: .4byte gBattle_BG0_Y -_08158C3C: .4byte gUnknown_3004FE0 +_08158C3C: .4byte gBattlerControllerFuncs _08158C40: .4byte gActiveBattler _08158C44: .4byte sub_81564E4 thumb_func_end sub_8158C04 @@ -5273,7 +5273,7 @@ sub_8158C48: @ 8158C48 cmp r0, 0 bne _08158C74 bl sub_8032CB4 - ldr r0, _08158C6C @ =gUnknown_3004FE0 + ldr r0, _08158C6C @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -5281,10 +5281,10 @@ sub_8158C48: @ 8158C48 b _08158C7E .align 2, 0 _08158C68: .4byte gActiveBattler -_08158C6C: .4byte gUnknown_3004FE0 +_08158C6C: .4byte gBattlerControllerFuncs _08158C70: .4byte sub_8158C04 _08158C74: - ldr r0, _08158C88 @ =gUnknown_3004FE0 + ldr r0, _08158C88 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -5295,7 +5295,7 @@ _08158C7E: pop {r0} bx r0 .align 2, 0 -_08158C88: .4byte gUnknown_3004FE0 +_08158C88: .4byte gBattlerControllerFuncs _08158C8C: .4byte sub_81564E4 thumb_func_end sub_8158C48 @@ -5310,7 +5310,7 @@ sub_8158C90: @ 8158C90 movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r1, _08158CDC @ =gUnknown_3004FE0 + ldr r1, _08158CDC @ =gBattlerControllerFuncs ldr r2, _08158CE0 @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -5322,7 +5322,7 @@ sub_8158C90: @ 8158C90 strb r0, [r1] movs r3, 0 ldr r5, _08158CEC @ =gUnknown_203B0DC - ldr r4, _08158CF0 @ =gUnknown_2022BC4 + ldr r4, _08158CF0 @ =gBattleBufferA _08158CBE: adds r0, r3, r5 ldrb r1, [r2] @@ -5340,12 +5340,12 @@ _08158CBE: pop {r0} bx r0 .align 2, 0 -_08158CDC: .4byte gUnknown_3004FE0 +_08158CDC: .4byte gBattlerControllerFuncs _08158CE0: .4byte gActiveBattler _08158CE4: .4byte sub_8156594 _08158CE8: .4byte gBattlerInMenuId _08158CEC: .4byte gUnknown_203B0DC -_08158CF0: .4byte gUnknown_2022BC4 +_08158CF0: .4byte gBattleBufferA thumb_func_end sub_8158C90 thumb_func_start sub_8158CF4 @@ -5368,7 +5368,7 @@ sub_8158CF4: @ 8158CF4 adds r1, r0 lsls r1, 3 adds r1, r5 - ldr r5, _08158DB4 @ =gUnknown_2022BC4 + ldr r5, _08158DB4 @ =gBattleBufferA lsls r2, 9 adds r6, r5, 0x1 adds r2, r6 @@ -5422,7 +5422,7 @@ _08158D60: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r1, _08158DC0 @ =gUnknown_3004FE0 + ldr r1, _08158DC0 @ =gBattlerControllerFuncs ldr r2, _08158DAC @ =gActiveBattler ldrb r0, [r2] lsls r0, 2 @@ -5441,10 +5441,10 @@ _08158DA4: .4byte TaskDummy _08158DA8: .4byte gUnknown_3004FFC _08158DAC: .4byte gActiveBattler _08158DB0: .4byte gTasks -_08158DB4: .4byte gUnknown_2022BC4 +_08158DB4: .4byte gBattleBufferA _08158DB8: .4byte gBattleStruct _08158DBC: .4byte gUnknown_203B0DC -_08158DC0: .4byte gUnknown_3004FE0 +_08158DC0: .4byte gBattlerControllerFuncs _08158DC4: .4byte sub_81564F0 _08158DC8: .4byte gBattlerInMenuId thumb_func_end sub_8158CF4 @@ -5493,7 +5493,7 @@ _08158E18: adds r5, r1, r0 movs r0, 0 bl LoadBattleBarGfx - ldr r3, _08158E70 @ =gUnknown_2022BC4 + ldr r3, _08158E70 @ =gBattleBufferA ldr r7, _08158E74 @ =gActiveBattler ldrb r1, [r7] lsls r1, 9 @@ -5529,7 +5529,7 @@ _08158E18: .align 2, 0 _08158E68: .4byte gBattlerPartyIndexes _08158E6C: .4byte gEnemyParty -_08158E70: .4byte gUnknown_2022BC4 +_08158E70: .4byte gBattleBufferA _08158E74: .4byte gActiveBattler _08158E78: .4byte 0x00007fff _08158E7C: .4byte gHealthboxSpriteIds @@ -5552,7 +5552,7 @@ _08158E80: movs r2, 0 bl sub_8048440 _08158EA8: - ldr r1, _08158EC4 @ =gUnknown_3004FE0 + ldr r1, _08158EC4 @ =gBattlerControllerFuncs ldr r0, _08158EC8 @ =gActiveBattler ldrb r0, [r0] lsls r0, 2 @@ -5565,7 +5565,7 @@ _08158EA8: bx r0 .align 2, 0 _08158EC0: .4byte gHealthboxSpriteIds -_08158EC4: .4byte gUnknown_3004FE0 +_08158EC4: .4byte gBattlerControllerFuncs _08158EC8: .4byte gActiveBattler _08158ECC: .4byte sub_8156E78 thumb_func_end sub_8158DD8 @@ -5573,7 +5573,7 @@ _08158ECC: .4byte sub_8156E78 thumb_func_start sub_8158ED0 sub_8158ED0: @ 8158ED0 push {r4-r7,lr} - ldr r5, _08158EFC @ =gUnknown_2022BC4 + ldr r5, _08158EFC @ =gBattleBufferA ldr r6, _08158F00 @ =gActiveBattler ldrb r0, [r6] lsls r0, 9 @@ -5593,7 +5593,7 @@ sub_8158ED0: @ 8158ED0 bl PlayerPartnerBufferExecCompleted b _08158F54 .align 2, 0 -_08158EFC: .4byte gUnknown_2022BC4 +_08158EFC: .4byte gBattleBufferA _08158F00: .4byte gActiveBattler _08158F04: .4byte gPlayerParty _08158F08: @@ -5626,7 +5626,7 @@ _08158F08: strh r4, [r1, 0xA] ldrb r0, [r6] strh r0, [r1, 0xC] - ldr r1, _08158F64 @ =gUnknown_3004FE0 + ldr r1, _08158F64 @ =gBattlerControllerFuncs ldrb r0, [r6] lsls r0, 2 adds r0, r1 @@ -5639,7 +5639,7 @@ _08158F54: .align 2, 0 _08158F5C: .4byte sub_81568DC _08158F60: .4byte gTasks -_08158F64: .4byte gUnknown_3004FE0 +_08158F64: .4byte gBattlerControllerFuncs _08158F68: .4byte nullsub_99 thumb_func_end sub_8158ED0 @@ -5702,7 +5702,7 @@ _08158FB8: negs r0, r0 ands r0, r2 strb r0, [r1] - ldr r1, _0815900C @ =gUnknown_3004FE0 + ldr r1, _0815900C @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5718,7 +5718,7 @@ _08158FFC: .4byte gEnemyParty _08159000: .4byte gHealthboxSpriteIds _08159004: .4byte gActiveBattler _08159008: .4byte gBattleSpritesDataPtr -_0815900C: .4byte gUnknown_3004FE0 +_0815900C: .4byte gBattlerControllerFuncs _08159010: .4byte sub_8157054 thumb_func_end sub_8158F6C @@ -5731,7 +5731,7 @@ sub_8159014: @ 8159014 lsls r0, 24 cmp r0, 0 bne _08159064 - ldr r4, _08159070 @ =gUnknown_2022BC4 + ldr r4, _08159070 @ =gBattleBufferA ldrb r3, [r5] lsls r3, 9 adds r0, r4, 0x1 @@ -5756,7 +5756,7 @@ sub_8159014: @ 8159014 lsls r2, 24 orrs r1, r2 bl InitAndLaunchChosenStatusAnimation - ldr r1, _08159074 @ =gUnknown_3004FE0 + ldr r1, _08159074 @ =gBattlerControllerFuncs ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -5768,8 +5768,8 @@ _08159064: bx r0 .align 2, 0 _0815906C: .4byte gActiveBattler -_08159070: .4byte gUnknown_2022BC4 -_08159074: .4byte gUnknown_3004FE0 +_08159070: .4byte gBattleBufferA +_08159074: .4byte gBattlerControllerFuncs _08159078: .4byte sub_8157054 thumb_func_end sub_8159014 @@ -5810,7 +5810,7 @@ _081590BC: adds r0, r4, 0 movs r1, 0x37 bl GetMonData - ldr r2, _081590F8 @ =gUnknown_2022BC4 + ldr r2, _081590F8 @ =gBattleBufferA ldr r1, _081590FC @ =gActiveBattler ldrb r1, [r1] lsls r1, 9 @@ -5832,7 +5832,7 @@ _081590BC: .align 2, 0 _081590F0: .4byte gBattlerPartyIndexes _081590F4: .4byte gEnemyParty -_081590F8: .4byte gUnknown_2022BC4 +_081590F8: .4byte gBattleBufferA _081590FC: .4byte gActiveBattler thumb_func_end sub_815907C @@ -5957,7 +5957,7 @@ _081591B8: .4byte gSprites _081591BC: .4byte gBattlerSpriteIds _081591C0: .4byte gActiveBattler _081591C4: - ldr r1, _081591F4 @ =gUnknown_2024005 + ldr r1, _081591F4 @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldrb r0, [r4] @@ -5971,7 +5971,7 @@ _081591C4: strh r1, [r0, 0x30] ldrb r0, [r4] bl DoHitAnimHealthboxEffect - ldr r1, _081591F8 @ =gUnknown_3004FE0 + ldr r1, _081591F8 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -5982,8 +5982,8 @@ _081591EE: pop {r0} bx r0 .align 2, 0 -_081591F4: .4byte gUnknown_2024005 -_081591F8: .4byte gUnknown_3004FE0 +_081591F4: .4byte gDoingBattleAnim +_081591F8: .4byte gBattlerControllerFuncs _081591FC: .4byte sub_8156F00 thumb_func_end sub_8159190 @@ -5998,7 +5998,7 @@ sub_8159200: @ 8159200 thumb_func_start sub_815920C sub_815920C: @ 815920C push {lr} - ldr r2, _08159234 @ =gUnknown_2022BC4 + ldr r2, _08159234 @ =gBattleBufferA ldr r0, _08159238 @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -6015,14 +6015,14 @@ sub_815920C: @ 815920C pop {r0} bx r0 .align 2, 0 -_08159234: .4byte gUnknown_2022BC4 +_08159234: .4byte gBattleBufferA _08159238: .4byte gActiveBattler thumb_func_end sub_815920C thumb_func_start sub_815923C sub_815923C: @ 815923C push {lr} - ldr r2, _08159264 @ =gUnknown_2022BC4 + ldr r2, _08159264 @ =gBattleBufferA ldr r0, _08159268 @ =gActiveBattler ldrb r1, [r0] lsls r1, 9 @@ -6039,7 +6039,7 @@ sub_815923C: @ 815923C pop {r0} bx r0 .align 2, 0 -_08159264: .4byte gUnknown_2022BC4 +_08159264: .4byte gBattleBufferA _08159268: .4byte gActiveBattler thumb_func_end sub_815923C @@ -6094,14 +6094,14 @@ _081592CC: .4byte gEnemyParty thumb_func_start sub_81592D0 sub_81592D0: @ 81592D0 push {lr} - ldr r1, _081592F8 @ =gUnknown_2022BC4 + ldr r1, _081592F8 @ =gBattleBufferA ldr r0, _081592FC @ =gActiveBattler ldrb r0, [r0] lsls r0, 9 adds r1, 0x1 adds r0, r1 ldrb r0, [r0] - bl sub_80BC3A0 + bl HandleIntroSlide ldr r2, _08159300 @ =gIntroSlideFlags ldrh r0, [r2] movs r1, 0x1 @@ -6111,7 +6111,7 @@ sub_81592D0: @ 81592D0 pop {r0} bx r0 .align 2, 0 -_081592F8: .4byte gUnknown_2022BC4 +_081592F8: .4byte gBattleBufferA _081592FC: .4byte gActiveBattler _08159300: .4byte gIntroSlideFlags thumb_func_end sub_81592D0 @@ -6259,7 +6259,7 @@ _0815941C: movs r1, 0x1 orrs r0, r1 strb r0, [r2, 0x9] - ldr r1, _08159470 @ =gUnknown_3004FE0 + ldr r1, _08159470 @ =gBattlerControllerFuncs ldrb r0, [r7] lsls r0, 2 adds r0, r1 @@ -6282,7 +6282,7 @@ _08159460: .4byte gTasks _08159464: .4byte gBattleSpritesDataPtr _08159468: .4byte gUnknown_2024000 _0815946C: .4byte sub_80491B0 -_08159470: .4byte gUnknown_3004FE0 +_08159470: .4byte gBattlerControllerFuncs _08159474: .4byte nullsub_99 thumb_func_end sub_8159304 @@ -6306,7 +6306,7 @@ sub_8159478: @ 8159478 ldr r0, _081595C4 @ =gBattlerPartyIndexes lsls r2, r6, 1 adds r2, r0 - ldr r0, _081595C8 @ =gUnknown_2022BC4 + ldr r0, _081595C8 @ =gBattleBufferA lsls r1, r6, 9 adds r0, 0x1 adds r1, r0 @@ -6445,7 +6445,7 @@ sub_8159478: @ 8159478 .align 2, 0 _081595C0: .4byte gBattleSpritesDataPtr _081595C4: .4byte gBattlerPartyIndexes -_081595C8: .4byte gUnknown_2022BC4 +_081595C8: .4byte gBattleBufferA _081595CC: .4byte gPlayerParty _081595D0: .4byte sub_8033E3C _081595D4: .4byte gUnknown_3004FFC @@ -6481,7 +6481,7 @@ _08159610: ldrb r5, [r4] ldrh r0, [r1, 0x8] strb r0, [r4] - ldr r0, _08159650 @ =gUnknown_2022BC4 + ldr r0, _08159650 @ =gBattleBufferA ldrb r1, [r4] lsls r2, r1, 9 adds r0, 0x1 @@ -6493,7 +6493,7 @@ _08159610: strb r0, [r2] ldrb r0, [r4] bl sub_8159478 - ldr r1, _08159658 @ =gUnknown_3004FE0 + ldr r1, _08159658 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -6508,16 +6508,16 @@ _08159646: bx r0 .align 2, 0 _0815964C: .4byte gActiveBattler -_08159650: .4byte gUnknown_2022BC4 +_08159650: .4byte gBattleBufferA _08159654: .4byte gBattlerPartyIndexes -_08159658: .4byte gUnknown_3004FE0 +_08159658: .4byte gBattlerControllerFuncs _0815965C: .4byte sub_8156624 thumb_func_end sub_81595EC thumb_func_start sub_8159660 sub_8159660: @ 8159660 push {r4,r5,lr} - ldr r1, _08159688 @ =gUnknown_2022BC4 + ldr r1, _08159688 @ =gBattleBufferA ldr r0, _0815968C @ =gActiveBattler ldrb r2, [r0] lsls r0, r2, 9 @@ -6534,7 +6534,7 @@ sub_8159660: @ 8159660 bl PlayerPartnerBufferExecCompleted b _081596CE .align 2, 0 -_08159688: .4byte gUnknown_2022BC4 +_08159688: .4byte gBattleBufferA _0815968C: .4byte gActiveBattler _08159690: ldr r0, _081596D4 @ =gBattleSpritesDataPtr @@ -6615,7 +6615,7 @@ sub_8159714: @ 8159714 sub_8159720: @ 8159720 push {r4-r6,lr} sub sp, 0x4 - ldr r5, _08159758 @ =gUnknown_2022BC4 + ldr r5, _08159758 @ =gBattleBufferA ldr r6, _0815975C @ =gActiveBattler ldrb r2, [r6] lsls r1, r2, 9 @@ -6640,10 +6640,10 @@ sub_8159720: @ 8159720 bl PlayerPartnerBufferExecCompleted b _0815976C .align 2, 0 -_08159758: .4byte gUnknown_2022BC4 +_08159758: .4byte gBattleBufferA _0815975C: .4byte gActiveBattler _08159760: - ldr r0, _08159774 @ =gUnknown_3004FE0 + ldr r0, _08159774 @ =gBattlerControllerFuncs ldrb r1, [r6] lsls r1, 2 adds r1, r0 @@ -6655,14 +6655,14 @@ _0815976C: pop {r0} bx r0 .align 2, 0 -_08159774: .4byte gUnknown_3004FE0 +_08159774: .4byte gBattlerControllerFuncs _08159778: .4byte sub_8157024 thumb_func_end sub_8159720 thumb_func_start sub_815977C sub_815977C: @ 815977C push {r4,lr} - ldr r1, _081597B0 @ =gUnknown_2022BC4 + ldr r1, _081597B0 @ =gBattleBufferA ldr r4, _081597B4 @ =gActiveBattler ldrb r2, [r4] lsls r0, r2, 9 @@ -6685,7 +6685,7 @@ _081597A4: pop {r0} bx r0 .align 2, 0 -_081597B0: .4byte gUnknown_2022BC4 +_081597B0: .4byte gBattleBufferA _081597B4: .4byte gActiveBattler thumb_func_end sub_815977C @@ -6701,7 +6701,7 @@ sub_81597B8: @ 81597B8 sub_81597C4: @ 81597C4 push {r4,lr} ldr r2, _08159808 @ =gBattleOutcome - ldr r1, _0815980C @ =gUnknown_2022BC4 + ldr r1, _0815980C @ =gBattleBufferA ldr r4, _08159810 @ =gActiveBattler ldrb r0, [r4] lsls r0, 9 @@ -6720,7 +6720,7 @@ sub_81597C4: @ 81597C4 ands r0, r1 cmp r0, 0x2 bne _08159800 - ldr r0, _08159818 @ =gUnknown_3004FE0 + ldr r0, _08159818 @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -6732,10 +6732,10 @@ _08159800: bx r0 .align 2, 0 _08159808: .4byte gBattleOutcome -_0815980C: .4byte gUnknown_2022BC4 +_0815980C: .4byte gBattleBufferA _08159810: .4byte gActiveBattler _08159814: .4byte gBattleTypeFlags -_08159818: .4byte gUnknown_3004FE0 +_08159818: .4byte gBattlerControllerFuncs _0815981C: .4byte sub_8156254 thumb_func_end sub_81597C4 @@ -6875,7 +6875,7 @@ _081598F0: _08159924: .4byte gUnknown_3005EE0 _08159928: .4byte gActiveBattler _0815992C: - ldr r5, _0815998C @ =gUnknown_2023FF8 + ldr r5, _0815998C @ =gActionSelectionCursor adds r0, r2, r5 ldrb r0, [r0] ldrb r2, [r3] @@ -6922,7 +6922,7 @@ _08159984: pop {r0} bx r0 .align 2, 0 -_0815998C: .4byte gUnknown_2023FF8 +_0815998C: .4byte gActionSelectionCursor _08159990: .4byte gUnknown_3005EE0 _08159994: .4byte gActiveBattler thumb_func_end sub_8159824 @@ -7116,7 +7116,7 @@ _08159B04: ldr r2, [r0, 0x4] cmp r2, 0 beq _08159B6C - ldr r1, _08159B64 @ =gUnknown_3004FE0 + ldr r1, _08159B64 @ =gBattlerControllerFuncs ldrb r0, [r4] lsls r0, 2 adds r0, r1 @@ -7151,7 +7151,7 @@ _08159B54: .4byte gUnknown_8479198 _08159B58: .4byte gBattleStruct _08159B5C: .4byte gActiveBattler _08159B60: .4byte gUnknown_2022BC6 -_08159B64: .4byte gUnknown_3004FE0 +_08159B64: .4byte gBattlerControllerFuncs _08159B68: .4byte gUnknown_3005EE0 _08159B6C: adds r0, r1, 0x1 @@ -7174,7 +7174,7 @@ sub_8159B78: @ 8159B78 ldr r1, [r0] movs r0, 0 strb r0, [r1, 0x2] - ldr r1, _08159BA0 @ =gUnknown_3004FE0 + ldr r1, _08159BA0 @ =gBattlerControllerFuncs ldrb r0, [r2] lsls r0, 2 adds r0, r1 @@ -7184,7 +7184,7 @@ sub_8159B78: @ 8159B78 .align 2, 0 _08159B98: .4byte gUnknown_3005EE0 _08159B9C: .4byte gActiveBattler -_08159BA0: .4byte gUnknown_3004FE0 +_08159BA0: .4byte gBattlerControllerFuncs _08159BA4: .4byte sub_81560DC thumb_func_end sub_8159B78 @@ -7269,7 +7269,7 @@ _08159C44: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _08159C60 @ =gDisplayedStringBattle movs r1, 0x18 - bl sub_80D87BC + bl BattlePutTextOnWindow b _08159C94 .align 2, 0 _08159C5C: .4byte gBattle_BG0_Y @@ -7470,7 +7470,7 @@ _08159DF4: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _08159E08 @ =gDisplayedStringBattle movs r1, 0x18 - bl sub_80D87BC + bl BattlePutTextOnWindow b _08159E84 .align 2, 0 _08159E08: .4byte gDisplayedStringBattle diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s deleted file mode 100644 index 634ca455d..000000000 --- a/asm/battle_controller_safari.s +++ /dev/null @@ -1,1534 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_79 -nullsub_79: @ 80DD534 - bx lr - thumb_func_end nullsub_79 - - thumb_func_start sub_80DD538 -sub_80DD538: @ 80DD538 - ldr r1, _080DD548 @ =gUnknown_3004FE0 - ldr r0, _080DD54C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DD550 @ =SafariBufferRunCommand - str r1, [r0] - bx lr - .align 2, 0 -_080DD548: .4byte gUnknown_3004FE0 -_080DD54C: .4byte gActiveBattler -_080DD550: .4byte SafariBufferRunCommand - thumb_func_end sub_80DD538 - - thumb_func_start SafariBufferRunCommand -SafariBufferRunCommand: @ 80DD554 - push {lr} - ldr r2, _080DD588 @ =gUnknown_2023BC8 - ldr r1, _080DD58C @ =gBitTable - ldr r0, _080DD590 @ =gActiveBattler - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080DD5A0 - ldr r0, _080DD594 @ =gUnknown_2022BC4 - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _080DD59C - ldr r0, _080DD598 @ =gUnknown_83FED00 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _080DD5A0 - .align 2, 0 -_080DD588: .4byte gUnknown_2023BC8 -_080DD58C: .4byte gBitTable -_080DD590: .4byte gActiveBattler -_080DD594: .4byte gUnknown_2022BC4 -_080DD598: .4byte gUnknown_83FED00 -_080DD59C: - bl SafariBufferExecCompleted -_080DD5A0: - pop {r0} - bx r0 - thumb_func_end SafariBufferRunCommand - - thumb_func_start HandleInputChooseAction_0 -HandleInputChooseAction_0: @ 80DD5A4 - push {r4,r5,lr} - ldr r0, _080DD5D4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080DD612 - movs r0, 0x5 - bl PlaySE - ldr r1, _080DD5D8 @ =gUnknown_2023FF8 - ldr r0, _080DD5DC @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080DD5F0 - cmp r0, 0x1 - bgt _080DD5E0 - cmp r0, 0 - beq _080DD5EA - b _080DD60C - .align 2, 0 -_080DD5D4: .4byte gMain -_080DD5D8: .4byte gUnknown_2023FF8 -_080DD5DC: .4byte gActiveBattler -_080DD5E0: - cmp r0, 0x2 - beq _080DD5F6 - cmp r0, 0x3 - beq _080DD602 - b _080DD60C -_080DD5EA: - movs r0, 0x1 - movs r1, 0x5 - b _080DD5FA -_080DD5F0: - movs r0, 0x1 - movs r1, 0x6 - b _080DD5FA -_080DD5F6: - movs r0, 0x1 - movs r1, 0x7 -_080DD5FA: - movs r2, 0 - bl EmitTwoReturnValues - b _080DD60C -_080DD602: - movs r0, 0x1 - movs r1, 0x8 - movs r2, 0 - bl EmitTwoReturnValues -_080DD60C: - bl SafariBufferExecCompleted - b _080DD71A -_080DD612: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080DD650 - ldr r5, _080DD648 @ =gUnknown_2023FF8 - ldr r4, _080DD64C @ =gActiveBattler - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080DD71A - 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 _080DD6BE - .align 2, 0 -_080DD648: .4byte gUnknown_2023FF8 -_080DD64C: .4byte gActiveBattler -_080DD650: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080DD68C - ldr r5, _080DD684 @ =gUnknown_2023FF8 - ldr r4, _080DD688 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080DD71A - 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 _080DD6BE - .align 2, 0 -_080DD684: .4byte gUnknown_2023FF8 -_080DD688: .4byte gActiveBattler -_080DD68C: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080DD6D8 - ldr r5, _080DD6D0 @ =gUnknown_2023FF8 - ldr r4, _080DD6D4 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080DD71A - 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 -_080DD6BE: - eors r0, r2 - strb r0, [r1] - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl ActionSelectionCreateCursorAt - b _080DD71A - .align 2, 0 -_080DD6D0: .4byte gUnknown_2023FF8 -_080DD6D4: .4byte gActiveBattler -_080DD6D8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080DD71A - ldr r5, _080DD720 @ =gUnknown_2023FF8 - ldr r4, _080DD724 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080DD71A - 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 -_080DD71A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DD720: .4byte gUnknown_2023FF8 -_080DD724: .4byte gActiveBattler - thumb_func_end HandleInputChooseAction_0 - - thumb_func_start sub_80DD728 -sub_80DD728: @ 80DD728 - push {lr} - ldr r2, _080DD750 @ =gSprites - ldr r1, _080DD754 @ =gBattlerSpriteIds - ldr r0, _080DD758 @ =gActiveBattler - 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, _080DD75C @ =SpriteCallbackDummy - cmp r1, r0 - bne _080DD74C - bl SafariBufferExecCompleted -_080DD74C: - pop {r0} - bx r0 - .align 2, 0 -_080DD750: .4byte gSprites -_080DD754: .4byte gBattlerSpriteIds -_080DD758: .4byte gActiveBattler -_080DD75C: .4byte SpriteCallbackDummy - thumb_func_end sub_80DD728 - - thumb_func_start CompleteOnInactiveTextPrinter_3 -CompleteOnInactiveTextPrinter_3: @ 80DD760 - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080DD772 - bl SafariBufferExecCompleted -_080DD772: - pop {r0} - bx r0 - thumb_func_end CompleteOnInactiveTextPrinter_3 - - thumb_func_start sub_80DD778 -sub_80DD778: @ 80DD778 - push {lr} - ldr r2, _080DD7A0 @ =gSprites - ldr r1, _080DD7A4 @ =gHealthboxSpriteIds - ldr r0, _080DD7A8 @ =gActiveBattler - 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, _080DD7AC @ =SpriteCallbackDummy - cmp r1, r0 - bne _080DD79C - bl SafariBufferExecCompleted -_080DD79C: - pop {r0} - bx r0 - .align 2, 0 -_080DD7A0: .4byte gSprites -_080DD7A4: .4byte gHealthboxSpriteIds -_080DD7A8: .4byte gActiveBattler -_080DD7AC: .4byte SpriteCallbackDummy - thumb_func_end sub_80DD778 - - thumb_func_start sub_80DD7B0 -sub_80DD7B0: @ 80DD7B0 - push {lr} - ldr r0, _080DD7E0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DD7DA - ldr r2, _080DD7E4 @ =gMain - ldr r0, _080DD7E8 @ =0x00000439 - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldr r0, _080DD7EC @ =gUnknown_3004F80 - ldr r0, [r0] - str r0, [r2] - ldr r0, [r2, 0x8] - bl SetMainCallback2 -_080DD7DA: - pop {r0} - bx r0 - .align 2, 0 -_080DD7E0: .4byte gPaletteFade -_080DD7E4: .4byte gMain -_080DD7E8: .4byte 0x00000439 -_080DD7EC: .4byte gUnknown_3004F80 - thumb_func_end sub_80DD7B0 - - thumb_func_start CompleteOnSpecialAnimDone_0 -CompleteOnSpecialAnimDone_0: @ 80DD7F0 - push {lr} - ldr r0, _080DD820 @ =gUnknown_2024005 - ldrb r0, [r0] - cmp r0, 0 - beq _080DD816 - ldr r0, _080DD824 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080DD828 @ =gActiveBattler - 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 _080DD81A -_080DD816: - bl SafariBufferExecCompleted -_080DD81A: - pop {r0} - bx r0 - .align 2, 0 -_080DD820: .4byte gUnknown_2024005 -_080DD824: .4byte gBattleSpritesDataPtr -_080DD828: .4byte gActiveBattler - thumb_func_end CompleteOnSpecialAnimDone_0 - - thumb_func_start sub_80DD82C -sub_80DD82C: @ 80DD82C - push {lr} - ldr r0, _080DD84C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DD848 - ldr r1, _080DD850 @ =gUnknown_3004FE0 - ldr r0, _080DD854 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DD858 @ =CompleteWhenChosePokeblock - str r1, [r0] -_080DD848: - pop {r0} - bx r0 - .align 2, 0 -_080DD84C: .4byte gPaletteFade -_080DD850: .4byte gUnknown_3004FE0 -_080DD854: .4byte gActiveBattler -_080DD858: .4byte CompleteWhenChosePokeblock - thumb_func_end sub_80DD82C - - thumb_func_start CompleteWhenChosePokeblock -CompleteWhenChosePokeblock: @ 80DD85C - push {lr} - ldr r0, _080DD888 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _080DD88C @ =sub_8011100 - cmp r1, r0 - bne _080DD882 - ldr r0, _080DD890 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080DD882 - ldr r0, _080DD894 @ =gSpecialVar_ItemId - ldrh r1, [r0] - movs r0, 0x1 - bl EmitOneReturnValue - bl SafariBufferExecCompleted -_080DD882: - pop {r0} - bx r0 - .align 2, 0 -_080DD888: .4byte gMain -_080DD88C: .4byte sub_8011100 -_080DD890: .4byte gPaletteFade -_080DD894: .4byte gSpecialVar_ItemId - thumb_func_end CompleteWhenChosePokeblock - - thumb_func_start CompleteOnFinishedBattleAnimation_3 -CompleteOnFinishedBattleAnimation_3: @ 80DD898 - push {lr} - ldr r0, _080DD8C0 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080DD8C4 @ =gActiveBattler - 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 _080DD8BA - bl SafariBufferExecCompleted -_080DD8BA: - pop {r0} - bx r0 - .align 2, 0 -_080DD8C0: .4byte gBattleSpritesDataPtr -_080DD8C4: .4byte gActiveBattler - thumb_func_end CompleteOnFinishedBattleAnimation_3 - - thumb_func_start SafariBufferExecCompleted -SafariBufferExecCompleted: @ 80DD8C8 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080DD908 @ =gUnknown_3004FE0 - ldr r4, _080DD90C @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DD910 @ =SafariBufferRunCommand - str r1, [r0] - ldr r0, _080DD914 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080DD91C - bl GetMultiplayerId - mov r1, sp - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - mov r2, sp - bl PrepareBufferDataTransferLink - ldr r1, _080DD918 @ =gUnknown_2022BC4 - ldrb r0, [r4] - lsls r0, 9 - adds r0, r1 - movs r1, 0x38 - strb r1, [r0] - b _080DD92E - .align 2, 0 -_080DD908: .4byte gUnknown_3004FE0 -_080DD90C: .4byte gActiveBattler -_080DD910: .4byte SafariBufferRunCommand -_080DD914: .4byte gBattleTypeFlags -_080DD918: .4byte gUnknown_2022BC4 -_080DD91C: - ldr r2, _080DD938 @ =gUnknown_2023BC8 - ldr r1, _080DD93C @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] -_080DD92E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DD938: .4byte gUnknown_2023BC8 -_080DD93C: .4byte gBitTable - thumb_func_end SafariBufferExecCompleted - - thumb_func_start CompleteOnFinishedStatusAnimation_3 -CompleteOnFinishedStatusAnimation_3: @ 80DD940 - push {lr} - ldr r0, _080DD968 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080DD96C @ =gActiveBattler - 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 _080DD962 - bl SafariBufferExecCompleted -_080DD962: - pop {r0} - bx r0 - .align 2, 0 -_080DD968: .4byte gBattleSpritesDataPtr -_080DD96C: .4byte gActiveBattler - thumb_func_end CompleteOnFinishedStatusAnimation_3 - - thumb_func_start sub_80DD970 -sub_80DD970: @ 80DD970 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DD970 - - thumb_func_start sub_80DD97C -sub_80DD97C: @ 80DD97C - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DD97C - - thumb_func_start sub_80DD988 -sub_80DD988: @ 80DD988 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DD988 - - thumb_func_start sub_80DD994 -sub_80DD994: @ 80DD994 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DD994 - - thumb_func_start sub_80DD9A0 -sub_80DD9A0: @ 80DD9A0 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DD9A0 - - thumb_func_start sub_80DD9AC -sub_80DD9AC: @ 80DD9AC - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DD9AC - - thumb_func_start sub_80DD9B8 -sub_80DD9B8: @ 80DD9B8 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DD9B8 - - thumb_func_start SafariHandleDrawTrainerPic -SafariHandleDrawTrainerPic: @ 80DD9C4 - push {r4-r6,lr} - ldr r4, _080DDA7C @ =gSaveBlock2Ptr - ldr r0, [r4] - ldrb r0, [r0, 0x8] - ldr r5, _080DDA80 @ =gActiveBattler - ldrb r1, [r5] - bl sub_8034750 - ldr r0, [r4] - ldrb r6, [r0, 0x8] - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r0, _080DDA84 @ =gMultiuseSpriteTemplate - ldr r2, _080DDA88 @ =gUnknown_8239F8C - 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, _080DDA8C @ =gBattlerSpriteIds - ldrb r1, [r5] - adds r1, r6 - strb r0, [r1] - ldr r4, _080DDA90 @ =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, _080DDA94 @ =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, _080DDA98 @ =sub_8033EEC - str r1, [r0] - ldr r1, _080DDA9C @ =gUnknown_3004FE0 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDAA0 @ =sub_80DD728 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DDA7C: .4byte gSaveBlock2Ptr -_080DDA80: .4byte gActiveBattler -_080DDA84: .4byte gMultiuseSpriteTemplate -_080DDA88: .4byte gUnknown_8239F8C -_080DDA8C: .4byte gBattlerSpriteIds -_080DDA90: .4byte gSprites -_080DDA94: .4byte 0x0000fffe -_080DDA98: .4byte sub_8033EEC -_080DDA9C: .4byte gUnknown_3004FE0 -_080DDAA0: .4byte sub_80DD728 - thumb_func_end SafariHandleDrawTrainerPic - - thumb_func_start sub_80DDAA4 -sub_80DDAA4: @ 80DDAA4 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDAA4 - - thumb_func_start sub_80DDAB0 -sub_80DDAB0: @ 80DDAB0 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDAB0 - - thumb_func_start sub_80DDABC -sub_80DDABC: @ 80DDABC - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDABC - - thumb_func_start sub_80DDAC8 -sub_80DDAC8: @ 80DDAC8 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDAC8 - - thumb_func_start sub_80DDAD4 -sub_80DDAD4: @ 80DDAD4 - push {r4,r5,lr} - ldr r0, _080DDB14 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x8] - movs r0, 0x4 - strb r0, [r1, 0x8] - ldr r1, _080DDB18 @ =gUnknown_2024005 - movs r0, 0x1 - strb r0, [r1] - ldr r5, _080DDB1C @ =gActiveBattler - ldrb r4, [r5] - movs r0, 0x1 - bl GetBattlerAtPosition - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x4 - bl InitAndLaunchSpecialAnimation - ldr r1, _080DDB20 @ =gUnknown_3004FE0 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDB24 @ =CompleteOnSpecialAnimDone_0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DDB14: .4byte gBattleSpritesDataPtr -_080DDB18: .4byte gUnknown_2024005 -_080DDB1C: .4byte gActiveBattler -_080DDB20: .4byte gUnknown_3004FE0 -_080DDB24: .4byte CompleteOnSpecialAnimDone_0 - thumb_func_end sub_80DDAD4 - - thumb_func_start sub_80DDB28 -sub_80DDB28: @ 80DDB28 - push {r4,r5,lr} - ldr r1, _080DDB70 @ =gUnknown_2022BC4 - ldr r5, _080DDB74 @ =gActiveBattler - ldrb r0, [r5] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r1, [r0] - ldr r0, _080DDB78 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - strb r1, [r0, 0x8] - ldr r1, _080DDB7C @ =gUnknown_2024005 - movs r0, 0x1 - strb r0, [r1] - ldrb r4, [r5] - movs r0, 0x1 - bl GetBattlerAtPosition - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x4 - bl InitAndLaunchSpecialAnimation - ldr r1, _080DDB80 @ =gUnknown_3004FE0 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDB84 @ =CompleteOnSpecialAnimDone_0 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DDB70: .4byte gUnknown_2022BC4 -_080DDB74: .4byte gActiveBattler -_080DDB78: .4byte gBattleSpritesDataPtr -_080DDB7C: .4byte gUnknown_2024005 -_080DDB80: .4byte gUnknown_3004FE0 -_080DDB84: .4byte CompleteOnSpecialAnimDone_0 - thumb_func_end sub_80DDB28 - - thumb_func_start sub_80DDB88 -sub_80DDB88: @ 80DDB88 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDB88 - - thumb_func_start sub_80DDB94 -sub_80DDB94: @ 80DDB94 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDB94 - - thumb_func_start sub_80DDBA0 -sub_80DDBA0: @ 80DDBA0 - push {r4,lr} - ldr r0, _080DDBD4 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080DDBD8 @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _080DDBDC @ =gActiveBattler - ldrb r4, [r0] - lsls r4, 9 - ldr r0, _080DDBE0 @ =gUnknown_2022BC6 - adds r4, r0 - ldrh r0, [r4] - bl sub_80D7274 - ldrh r0, [r4] - bl sub_80D89B0 - lsls r0, 24 - cmp r0, 0 - beq _080DDBE8 - ldr r0, _080DDBE4 @ =gDisplayedStringBattle - movs r1, 0x40 - bl sub_80D87BC - b _080DDBF0 - .align 2, 0 -_080DDBD4: .4byte gBattle_BG0_X -_080DDBD8: .4byte gBattle_BG0_Y -_080DDBDC: .4byte gActiveBattler -_080DDBE0: .4byte gUnknown_2022BC6 -_080DDBE4: .4byte gDisplayedStringBattle -_080DDBE8: - ldr r0, _080DDC04 @ =gDisplayedStringBattle - movs r1, 0 - bl sub_80D87BC -_080DDBF0: - ldr r1, _080DDC08 @ =gUnknown_3004FE0 - ldr r0, _080DDC0C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDC10 @ =CompleteOnInactiveTextPrinter_3 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DDC04: .4byte gDisplayedStringBattle -_080DDC08: .4byte gUnknown_3004FE0 -_080DDC0C: .4byte gActiveBattler -_080DDC10: .4byte CompleteOnInactiveTextPrinter_3 - thumb_func_end sub_80DDBA0 - - thumb_func_start sub_80DDC14 -sub_80DDC14: @ 80DDC14 - push {lr} - ldr r0, _080DDC2C @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080DDC30 - bl sub_80DDBA0 - b _080DDC34 - .align 2, 0 -_080DDC2C: .4byte gActiveBattler -_080DDC30: - bl SafariBufferExecCompleted -_080DDC34: - pop {r0} - bx r0 - thumb_func_end sub_80DDC14 - - thumb_func_start sub_80DDC38 -sub_80DDC38: @ 80DDC38 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080DDC5E - ldr r0, _080DDC64 @ =gBattle_BG0_X - strh r1, [r0] - ldr r1, _080DDC68 @ =gBattle_BG0_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _080DDC6C @ =gUnknown_3004FE0 - ldr r0, _080DDC70 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDC74 @ =HandleInputChooseAction_0 - str r1, [r0] -_080DDC5E: - pop {r0} - bx r0 - .align 2, 0 -_080DDC64: .4byte gBattle_BG0_X -_080DDC68: .4byte gBattle_BG0_Y -_080DDC6C: .4byte gUnknown_3004FE0 -_080DDC70: .4byte gActiveBattler -_080DDC74: .4byte HandleInputChooseAction_0 - thumb_func_end sub_80DDC38 - - thumb_func_start sub_80DDC78 -sub_80DDC78: @ 80DDC78 - push {r4,lr} - ldr r1, _080DDCCC @ =gUnknown_3004FE0 - ldr r0, _080DDCD0 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDCD4 @ =sub_80DDC38 - str r1, [r0] - ldr r0, _080DDCD8 @ =gUnknown_83FDA4C - movs r1, 0 - bl sub_80D87BC - ldr r0, _080DDCDC @ =gUnknown_83FE747 - movs r1, 0x2 - bl sub_80D87BC - movs r4, 0 -_080DDC9A: - lsls r0, r4, 24 - lsrs r0, 24 - bl ActionSelectionDestroyCursorAt - adds r4, 0x1 - cmp r4, 0x3 - ble _080DDC9A - ldr r1, _080DDCE0 @ =gUnknown_2023FF8 - ldr r0, _080DDCD0 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl ActionSelectionCreateCursorAt - ldr r0, _080DDCE4 @ =gUnknown_83FE6E6 - bl BattleStringExpandPlaceholdersToDisplayedString - ldr r0, _080DDCE8 @ =gDisplayedStringBattle - movs r1, 0x1 - bl sub_80D87BC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DDCCC: .4byte gUnknown_3004FE0 -_080DDCD0: .4byte gActiveBattler -_080DDCD4: .4byte sub_80DDC38 -_080DDCD8: .4byte gUnknown_83FDA4C -_080DDCDC: .4byte gUnknown_83FE747 -_080DDCE0: .4byte gUnknown_2023FF8 -_080DDCE4: .4byte gUnknown_83FE6E6 -_080DDCE8: .4byte gDisplayedStringBattle - thumb_func_end sub_80DDC78 - - thumb_func_start sub_80DDCEC -sub_80DDCEC: @ 80DDCEC - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDCEC - - thumb_func_start sub_80DDCF8 -sub_80DDCF8: @ 80DDCF8 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDCF8 - - thumb_func_start sub_80DDD04 -sub_80DDD04: @ 80DDD04 - 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, _080DDD34 @ =gUnknown_3004FE0 - ldr r2, _080DDD38 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDD3C @ =sub_80DD82C - str r1, [r0] - ldr r1, _080DDD40 @ =gBattlerInMenuId - ldrb r0, [r2] - strb r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080DDD34: .4byte gUnknown_3004FE0 -_080DDD38: .4byte gActiveBattler -_080DDD3C: .4byte sub_80DD82C -_080DDD40: .4byte gBattlerInMenuId - thumb_func_end sub_80DDD04 - - thumb_func_start sub_80DDD44 -sub_80DDD44: @ 80DDD44 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDD44 - - thumb_func_start sub_80DDD50 -sub_80DDD50: @ 80DDD50 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDD50 - - thumb_func_start sub_80DDD5C -sub_80DDD5C: @ 80DDD5C - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDD5C - - thumb_func_start sub_80DDD68 -sub_80DDD68: @ 80DDD68 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDD68 - - thumb_func_start SafariHandleStatusIconUpdate -SafariHandleStatusIconUpdate: @ 80DDD74 - push {lr} - ldr r0, _080DDDA0 @ =gHealthboxSpriteIds - ldr r1, _080DDDA4 @ =gActiveBattler - ldrb r1, [r1] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _080DDDA8 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080DDDAC @ =gPlayerParty - adds r1, r2 - movs r2, 0xB - bl UpdateHealthboxAttribute - bl SafariBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080DDDA0: .4byte gHealthboxSpriteIds -_080DDDA4: .4byte gActiveBattler -_080DDDA8: .4byte gBattlerPartyIndexes -_080DDDAC: .4byte gPlayerParty - thumb_func_end SafariHandleStatusIconUpdate - - thumb_func_start sub_80DDDB0 -sub_80DDDB0: @ 80DDDB0 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDDB0 - - thumb_func_start sub_80DDDBC -sub_80DDDBC: @ 80DDDBC - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDDBC - - thumb_func_start sub_80DDDC8 -sub_80DDDC8: @ 80DDDC8 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDDC8 - - thumb_func_start sub_80DDDD4 -sub_80DDDD4: @ 80DDDD4 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDDD4 - - thumb_func_start sub_80DDDE0 -sub_80DDDE0: @ 80DDDE0 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDDE0 - - thumb_func_start sub_80DDDEC -sub_80DDDEC: @ 80DDDEC - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDDEC - - thumb_func_start sub_80DDDF8 -sub_80DDDF8: @ 80DDDF8 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDDF8 - - thumb_func_start sub_80DDE04 -sub_80DDE04: @ 80DDE04 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE04 - - thumb_func_start sub_80DDE10 -sub_80DDE10: @ 80DDE10 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE10 - - thumb_func_start sub_80DDE1C -sub_80DDE1C: @ 80DDE1C - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE1C - - thumb_func_start sub_80DDE28 -sub_80DDE28: @ 80DDE28 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE28 - - thumb_func_start sub_80DDE34 -sub_80DDE34: @ 80DDE34 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE34 - - thumb_func_start sub_80DDE40 -sub_80DDE40: @ 80DDE40 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE40 - - thumb_func_start sub_80DDE4C -sub_80DDE4C: @ 80DDE4C - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE4C - - thumb_func_start sub_80DDE58 -sub_80DDE58: @ 80DDE58 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE58 - - thumb_func_start sub_80DDE64 -sub_80DDE64: @ 80DDE64 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDE64 - - thumb_func_start SafariHandlePlaySE -SafariHandlePlaySE: @ 80DDE70 - push {r4,lr} - ldr r4, _080DDEAC @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _080DDE84 - movs r3, 0xC0 -_080DDE84: - ldr r2, _080DDEB0 @ =gUnknown_2022BC4 - 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 - .align 2, 0 -_080DDEAC: .4byte gActiveBattler -_080DDEB0: .4byte gUnknown_2022BC4 - thumb_func_end SafariHandlePlaySE - - thumb_func_start SafariHandlecmd44 -SafariHandlecmd44: @ 80DDEB4 - push {lr} - ldr r2, _080DDEDC @ =gUnknown_2022BC4 - ldr r0, _080DDEE0 @ =gActiveBattler - 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 PlayFanfare - bl SafariBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080DDEDC: .4byte gUnknown_2022BC4 -_080DDEE0: .4byte gActiveBattler - thumb_func_end SafariHandlecmd44 - - thumb_func_start SafariHandleFaintingCry -SafariHandleFaintingCry: @ 80DDEE4 - push {lr} - ldr r1, _080DDF14 @ =gBattlerPartyIndexes - ldr r0, _080DDF18 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080DDF1C @ =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 - .align 2, 0 -_080DDF14: .4byte gBattlerPartyIndexes -_080DDF18: .4byte gActiveBattler -_080DDF1C: .4byte gPlayerParty - thumb_func_end SafariHandleFaintingCry - - thumb_func_start SafariHandleIntroSlide -SafariHandleIntroSlide: @ 80DDF20 - push {lr} - ldr r1, _080DDF48 @ =gUnknown_2022BC4 - ldr r0, _080DDF4C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl sub_80BC3A0 - ldr r2, _080DDF50 @ =gIntroSlideFlags - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl SafariBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080DDF48: .4byte gUnknown_2022BC4 -_080DDF4C: .4byte gActiveBattler -_080DDF50: .4byte gIntroSlideFlags - thumb_func_end SafariHandleIntroSlide - - thumb_func_start SafariHandleIntroTrainerBallThrow -SafariHandleIntroTrainerBallThrow: @ 80DDF54 - push {r4,r5,lr} - ldr r5, _080DDF98 @ =gHealthboxSpriteIds - ldr r4, _080DDF9C @ =gActiveBattler - ldrb r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - ldr r2, _080DDFA0 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080DDFA4 @ =gPlayerParty - adds r1, r2 - movs r2, 0xA - bl UpdateHealthboxAttribute - ldrb r0, [r4] - bl sub_804BD94 - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldr r1, _080DDFA8 @ =gUnknown_3004FE0 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080DDFAC @ =sub_80DD778 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080DDF98: .4byte gHealthboxSpriteIds -_080DDF9C: .4byte gActiveBattler -_080DDFA0: .4byte gBattlerPartyIndexes -_080DDFA4: .4byte gPlayerParty -_080DDFA8: .4byte gUnknown_3004FE0 -_080DDFAC: .4byte sub_80DD778 - thumb_func_end SafariHandleIntroTrainerBallThrow - - thumb_func_start sub_80DDFB0 -sub_80DDFB0: @ 80DDFB0 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDFB0 - - thumb_func_start sub_80DDFBC -sub_80DDFBC: @ 80DDFBC - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDFBC - - thumb_func_start sub_80DDFC8 -sub_80DDFC8: @ 80DDFC8 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDFC8 - - thumb_func_start sub_80DDFD4 -sub_80DDFD4: @ 80DDFD4 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DDFD4 - - thumb_func_start SafariHandleBattleAnimation -SafariHandleBattleAnimation: @ 80DDFE0 - push {r4-r6,lr} - sub sp, 0x4 - ldr r5, _080DE018 @ =gUnknown_2022BC4 - ldr r6, _080DE01C @ =gActiveBattler - 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 TryHandleLaunchBattleTableAnimation - lsls r0, 24 - cmp r0, 0 - beq _080DE020 - bl SafariBufferExecCompleted - b _080DE02C - .align 2, 0 -_080DE018: .4byte gUnknown_2022BC4 -_080DE01C: .4byte gActiveBattler -_080DE020: - ldr r0, _080DE034 @ =gUnknown_3004FE0 - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _080DE038 @ =CompleteOnFinishedBattleAnimation_3 - str r0, [r1] -_080DE02C: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080DE034: .4byte gUnknown_3004FE0 -_080DE038: .4byte CompleteOnFinishedBattleAnimation_3 - thumb_func_end SafariHandleBattleAnimation - - thumb_func_start sub_80DE03C -sub_80DE03C: @ 80DE03C - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DE03C - - thumb_func_start sub_80DE048 -sub_80DE048: @ 80DE048 - push {lr} - bl SafariBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80DE048 - - thumb_func_start SafariHandleCmd55 -SafariHandleCmd55: @ 80DE054 - push {r4,lr} - ldr r2, _080DE098 @ =gBattleOutcome - ldr r1, _080DE09C @ =gUnknown_2022BC4 - ldr r4, _080DE0A0 @ =gActiveBattler - 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, _080DE0A4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x6 - ands r0, r1 - cmp r0, 0x2 - bne _080DE090 - ldr r0, _080DE0A8 @ =gUnknown_3004FE0 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _080DE0AC @ =sub_80DD7B0 - str r0, [r1] -_080DE090: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080DE098: .4byte gBattleOutcome -_080DE09C: .4byte gUnknown_2022BC4 -_080DE0A0: .4byte gActiveBattler -_080DE0A4: .4byte gBattleTypeFlags -_080DE0A8: .4byte gUnknown_3004FE0 -_080DE0AC: .4byte sub_80DD7B0 - thumb_func_end SafariHandleCmd55 - - thumb_func_start nullsub_80 -nullsub_80: @ 80DE0B0 - bx lr - thumb_func_end nullsub_80 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index cf53430ad..d1de3bb17 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -52,11 +52,11 @@ sub_800D278: @ 800D278 ldr r0, _0800D2EC @ =nullsub_13 mov r8, r0 movs r3, 0 - ldr r1, _0800D2F0 @ =gUnknown_3004FE0 + ldr r1, _0800D2F0 @ =gBattlerControllerFuncs mov r12, r1 ldr r7, _0800D2F4 @ =gBattlerPositions movs r6, 0xFF - ldr r5, _0800D2F8 @ =gUnknown_2023FF8 + ldr r5, _0800D2F8 @ =gActionSelectionCursor ldr r4, _0800D2FC @ =gUnknown_2023FFC _0800D298: mov r0, r8 @@ -77,7 +77,7 @@ _0800D298: cmp r2, 0x3 ble _0800D298 bl sub_800D230 - ldr r0, _0800D300 @ =gUnknown_2023BC8 + ldr r0, _0800D300 @ =gBattleControllerExecFlags movs r4, 0 str r4, [r0] bl ClearBattleAnimationVars @@ -96,11 +96,11 @@ _0800D298: _0800D2E4: .4byte gUnknown_3004F84 _0800D2E8: .4byte nullsub_12 _0800D2EC: .4byte nullsub_13 -_0800D2F0: .4byte gUnknown_3004FE0 +_0800D2F0: .4byte gBattlerControllerFuncs _0800D2F4: .4byte gBattlerPositions -_0800D2F8: .4byte gUnknown_2023FF8 +_0800D2F8: .4byte gActionSelectionCursor _0800D2FC: .4byte gUnknown_2023FFC -_0800D300: .4byte gUnknown_2023BC8 +_0800D300: .4byte gBattleControllerExecFlags _0800D304: .4byte gUnknown_2022B54 _0800D308: .4byte gUnknown_2023DDC thumb_func_end sub_800D278 @@ -170,7 +170,7 @@ sub_800D364: @ 800D364 ands r0, r2 cmp r0, 0 beq _0800D3B4 - ldr r2, _0800D3A4 @ =gUnknown_3004FE0 + ldr r2, _0800D3A4 @ =gBattlerControllerFuncs ldr r1, _0800D3A8 @ =sub_81560A4 str r1, [r2] ldr r0, _0800D3AC @ =gBattlerPositions @@ -184,7 +184,7 @@ sub_800D364: @ 800D364 _0800D398: .4byte gBattleTypeFlags _0800D39C: .4byte gUnknown_3004F84 _0800D3A0: .4byte sub_80123C0 -_0800D3A4: .4byte gUnknown_3004FE0 +_0800D3A4: .4byte gBattlerControllerFuncs _0800D3A8: .4byte sub_81560A4 _0800D3AC: .4byte gBattlerPositions _0800D3B0: .4byte gBattlersCount @@ -193,26 +193,26 @@ _0800D3B4: ands r0, r2 cmp r0, 0 beq _0800D3CC - ldr r1, _0800D3C4 @ =gUnknown_3004FE0 - ldr r0, _0800D3C8 @ =sub_80DD538 + ldr r1, _0800D3C4 @ =gBattlerControllerFuncs + ldr r0, _0800D3C8 @ =SetControllerToSafari b _0800D3E8 .align 2, 0 -_0800D3C4: .4byte gUnknown_3004FE0 -_0800D3C8: .4byte sub_80DD538 +_0800D3C4: .4byte gBattlerControllerFuncs +_0800D3C8: .4byte SetControllerToSafari _0800D3CC: movs r0, 0x84 lsls r0, 2 ands r2, r0 cmp r2, 0 beq _0800D3E4 - ldr r1, _0800D3DC @ =gUnknown_3004FE0 + ldr r1, _0800D3DC @ =gBattlerControllerFuncs ldr r0, _0800D3E0 @ =sub_80E75B0 b _0800D3E8 .align 2, 0 -_0800D3DC: .4byte gUnknown_3004FE0 +_0800D3DC: .4byte gBattlerControllerFuncs _0800D3E0: .4byte sub_80E75B0 _0800D3E4: - ldr r1, _0800D400 @ =gUnknown_3004FE0 + ldr r1, _0800D400 @ =gBattlerControllerFuncs ldr r0, _0800D404 @ =SetBankFuncToPlayerBufferRunCommand _0800D3E8: str r0, [r1] @@ -228,7 +228,7 @@ _0800D3E8: movs r0, 0x2 b _0800D478 .align 2, 0 -_0800D400: .4byte gUnknown_3004FE0 +_0800D400: .4byte gBattlerControllerFuncs _0800D404: .4byte SetBankFuncToPlayerBufferRunCommand _0800D408: .4byte gBattlerPositions _0800D40C: .4byte sub_8035A7C @@ -242,7 +242,7 @@ _0800D414: ands r3, r2 cmp r3, 0 beq _0800D458 - ldr r3, _0800D44C @ =gUnknown_3004FE0 + ldr r3, _0800D44C @ =gBattlerControllerFuncs ldr r1, _0800D450 @ =sub_81560A4 str r1, [r3] ldr r2, _0800D454 @ =gBattlerPositions @@ -260,11 +260,11 @@ _0800D414: .align 2, 0 _0800D444: .4byte gUnknown_3004F84 _0800D448: .4byte sub_80123C0 -_0800D44C: .4byte gUnknown_3004FE0 +_0800D44C: .4byte gBattlerControllerFuncs _0800D450: .4byte sub_81560A4 _0800D454: .4byte gBattlerPositions _0800D458: - ldr r2, _0800D480 @ =gUnknown_3004FE0 + ldr r2, _0800D480 @ =gBattlerControllerFuncs ldr r0, _0800D484 @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2] ldr r1, _0800D488 @ =gBattlerPositions @@ -287,7 +287,7 @@ _0800D478: pop {r0} bx r0 .align 2, 0 -_0800D480: .4byte gUnknown_3004FE0 +_0800D480: .4byte gBattlerControllerFuncs _0800D484: .4byte SetBankFuncToPlayerBufferRunCommand _0800D488: .4byte gBattlerPositions _0800D48C: .4byte sub_8035A7C @@ -315,7 +315,7 @@ sub_800D494: @ 800D494 ldr r1, _0800D4D4 @ =gUnknown_3004F84 ldr r0, _0800D4D8 @ =sub_80123C0 str r0, [r1] - ldr r2, _0800D4DC @ =gUnknown_3004FE0 + ldr r2, _0800D4DC @ =gBattlerControllerFuncs ldr r0, _0800D4E0 @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2] ldr r1, _0800D4E4 @ =gBattlerPositions @@ -330,13 +330,13 @@ sub_800D494: @ 800D494 _0800D4D0: .4byte gBattleTypeFlags _0800D4D4: .4byte gUnknown_3004F84 _0800D4D8: .4byte sub_80123C0 -_0800D4DC: .4byte gUnknown_3004FE0 +_0800D4DC: .4byte gBattlerControllerFuncs _0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand _0800D4E4: .4byte gBattlerPositions _0800D4E8: .4byte sub_803A668 _0800D4EC: .4byte gBattlersCount _0800D4F0: - ldr r2, _0800D508 @ =gUnknown_3004FE0 + ldr r2, _0800D508 @ =gBattlerControllerFuncs ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2, 0x4] ldr r1, _0800D510 @ =gBattlerPositions @@ -348,7 +348,7 @@ _0800D4F0: movs r0, 0x2 b _0800D752 .align 2, 0 -_0800D508: .4byte gUnknown_3004FE0 +_0800D508: .4byte gBattlerControllerFuncs _0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand _0800D510: .4byte gBattlerPositions _0800D514: .4byte sub_803A668 @@ -366,7 +366,7 @@ _0800D51C: ldr r1, _0800D554 @ =gUnknown_3004F84 ldr r0, _0800D558 @ =sub_80123C0 str r0, [r1] - ldr r2, _0800D55C @ =gUnknown_3004FE0 + ldr r2, _0800D55C @ =gBattlerControllerFuncs ldr r4, _0800D560 @ =SetBankFuncToPlayerBufferRunCommand str r4, [r2] ldr r1, _0800D564 @ =gBattlerPositions @@ -385,12 +385,12 @@ _0800D51C: .align 2, 0 _0800D554: .4byte gUnknown_3004F84 _0800D558: .4byte sub_80123C0 -_0800D55C: .4byte gUnknown_3004FE0 +_0800D55C: .4byte gBattlerControllerFuncs _0800D560: .4byte SetBankFuncToPlayerBufferRunCommand _0800D564: .4byte gBattlerPositions _0800D568: .4byte sub_803A668 _0800D56C: - ldr r2, _0800D590 @ =gUnknown_3004FE0 + ldr r2, _0800D590 @ =gBattlerControllerFuncs ldr r0, _0800D594 @ =SetBankFuncToPlayerBufferRunCommand str r0, [r2, 0x4] ldr r1, _0800D598 @ =gBattlerPositions @@ -409,7 +409,7 @@ _0800D588: strb r6, [r0] b _0800D754 .align 2, 0 -_0800D590: .4byte gUnknown_3004FE0 +_0800D590: .4byte gBattlerControllerFuncs _0800D594: .4byte SetBankFuncToPlayerBufferRunCommand _0800D598: .4byte gBattlerPositions _0800D59C: .4byte sub_803A668 @@ -478,7 +478,7 @@ _0800D61A: adds r3, r4, r0 ldrh r1, [r3, 0x18] lsls r1, 2 - ldr r2, _0800D644 @ =gUnknown_3004FE0 + ldr r2, _0800D644 @ =gBattlerControllerFuncs adds r1, r2 ldr r2, _0800D648 @ =SetBankFuncToPlayerBufferRunCommand str r2, [r1] @@ -493,7 +493,7 @@ _0800D61A: b _0800D740 .align 2, 0 _0800D640: .4byte gLinkPlayers -_0800D644: .4byte gUnknown_3004FE0 +_0800D644: .4byte gBattlerControllerFuncs _0800D648: .4byte SetBankFuncToPlayerBufferRunCommand _0800D64C: cmp r1, 0x3 @@ -550,7 +550,7 @@ _0800D6A6: adds r2, r4, r0 ldrh r0, [r2, 0x18] lsls r0, 2 - ldr r1, _0800D6C8 @ =gUnknown_3004FE0 + ldr r1, _0800D6C8 @ =gBattlerControllerFuncs adds r0, r1 ldr r1, _0800D6CC @ =sub_80D4204 str r1, [r0] @@ -563,7 +563,7 @@ _0800D6A6: beq _0800D6D4 b _0800D740 .align 2, 0 -_0800D6C8: .4byte gUnknown_3004FE0 +_0800D6C8: .4byte gBattlerControllerFuncs _0800D6CC: .4byte sub_80D4204 _0800D6D0: cmp r1, 0x3 @@ -587,7 +587,7 @@ _0800D6EC: adds r2, r4, r0 ldrh r0, [r2, 0x18] lsls r0, 2 - ldr r1, _0800D70C @ =gUnknown_3004FE0 + ldr r1, _0800D70C @ =gBattlerControllerFuncs adds r0, r1 ldr r1, _0800D710 @ =sub_803A668 str r1, [r0] @@ -600,7 +600,7 @@ _0800D6EC: beq _0800D718 b _0800D740 .align 2, 0 -_0800D70C: .4byte gUnknown_3004FE0 +_0800D70C: .4byte gBattlerControllerFuncs _0800D710: .4byte sub_803A668 _0800D714: cmp r0, 0x3 @@ -850,7 +850,7 @@ _0800D8E6: movs r3, 0 cmp r3, r2 bge _0800D92E - ldr r6, _0800D908 @ =gUnknown_2022BC4 + ldr r6, _0800D908 @ =gBattleBufferA ldr r5, _0800D90C @ =gActiveBattler _0800D8F0: ldrb r0, [r5] @@ -865,7 +865,7 @@ _0800D8F0: blt _0800D8F0 b _0800D92E .align 2, 0 -_0800D908: .4byte gUnknown_2022BC4 +_0800D908: .4byte gBattleBufferA _0800D90C: .4byte gActiveBattler _0800D910: movs r3, 0 @@ -1603,7 +1603,7 @@ _0800DEBC: beq _0800DF64 b _0800DF7A _0800DEC2: - ldr r2, _0800DF2C @ =gUnknown_2023BC8 + ldr r2, _0800DF2C @ =gBattleControllerExecFlags ldr r1, _0800DF30 @ =gBitTable lsls r0, r4, 2 adds r0, r1 @@ -1613,7 +1613,7 @@ _0800DEC2: cmp r1, 0 bne _0800DF8C lsls r0, r4, 9 - ldr r1, _0800DF34 @ =gUnknown_2022BC4 + ldr r1, _0800DF34 @ =gBattleBufferA adds r0, r1 adds r1, r3, 0 adds r1, 0x8 @@ -1655,9 +1655,9 @@ _0800DEC2: strb r0, [r2] b _0800DF7A .align 2, 0 -_0800DF2C: .4byte gUnknown_2023BC8 +_0800DF2C: .4byte gBattleControllerExecFlags _0800DF30: .4byte gBitTable -_0800DF34: .4byte gUnknown_2022BC4 +_0800DF34: .4byte gBattleBufferA _0800DF38: .4byte gBattleTypeFlags _0800DF3C: .4byte sBattler_AI _0800DF40: .4byte gBattlerTarget @@ -1676,7 +1676,7 @@ _0800DF4C: _0800DF60: .4byte gUnknown_20233C4 _0800DF64: ldrb r2, [r3, 0x8] - ldr r3, _0800DF98 @ =gUnknown_2023BC8 + ldr r3, _0800DF98 @ =gBattleControllerExecFlags ldr r1, _0800DF9C @ =gBitTable lsls r0, r4, 2 adds r0, r1 @@ -1704,7 +1704,7 @@ _0800DF8C: pop {r0} bx r0 .align 2, 0 -_0800DF98: .4byte gUnknown_2023BC8 +_0800DF98: .4byte gBattleControllerExecFlags _0800DF9C: .4byte gBitTable _0800DFA0: .4byte gTasks thumb_func_end Task_HandleCopyReceivedLinkBuffersData diff --git a/asm/battle_message.s b/asm/battle_message.s index efd7e1385..04dc59d1b 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_80D7274 -sub_80D7274: @ 80D7274 + thumb_func_start BufferStringBattle +BufferStringBattle: @ 80D7274 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -701,7 +701,7 @@ _080D77E2: bx r0 .align 2, 0 _080D77F0: .4byte gUnknown_83FDF3C - thumb_func_end sub_80D7274 + thumb_func_end BufferStringBattle thumb_func_start BattleStringExpandPlaceholdersToDisplayedString BattleStringExpandPlaceholdersToDisplayedString: @ 80D77F4 @@ -2649,8 +2649,8 @@ _080D87B0: _080D87B8: .4byte gUnknown_83FD58E thumb_func_end sub_80D8720 - thumb_func_start sub_80D87BC -sub_80D87BC: @ 80D87BC + thumb_func_start BattlePutTextOnWindow +BattlePutTextOnWindow: @ 80D87BC push {r4-r7,lr} mov r7, r8 push {r7} @@ -2907,7 +2907,7 @@ _080D89A4: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_80D87BC + thumb_func_end BattlePutTextOnWindow thumb_func_start sub_80D89B0 sub_80D89B0: @ 80D89B0 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 42d1f653d..5af41017e 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -1291,7 +1291,7 @@ _0801E1D4: .4byte gUnknown_2023E82 thumb_func_start atk02_attackstring atk02_attackstring: @ 801E1D8 push {r4,r5,lr} - ldr r0, _0801E218 @ =gUnknown_2023BC8 + ldr r0, _0801E218 @ =gBattleControllerExecFlags ldr r5, [r0] cmp r5, 0 bne _0801E210 @@ -1323,7 +1323,7 @@ _0801E210: pop {r0} bx r0 .align 2, 0 -_0801E218: .4byte gUnknown_2023BC8 +_0801E218: .4byte gBattleControllerExecFlags _0801E21C: .4byte gUnknown_2023DD0 _0801E220: .4byte sBattler_AI _0801E224: .4byte gUnknown_2023D74 @@ -1339,7 +1339,7 @@ atk03_ppreduce: @ 801E22C push {r5-r7} sub sp, 0x4 movs r6, 0x1 - ldr r0, _0801E27C @ =gUnknown_2023BC8 + ldr r0, _0801E27C @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801E244 @@ -1374,7 +1374,7 @@ _0801E244: beq _0801E2AC b _0801E2C6 .align 2, 0 -_0801E27C: .4byte gUnknown_2023BC8 +_0801E27C: .4byte gBattleControllerExecFlags _0801E280: .4byte gUnknown_2023ECC _0801E284: .4byte sBattler_AI _0801E288: .4byte gBattleMoves @@ -3640,7 +3640,7 @@ atk09_attackanimation: @ 801F440 mov r6, r8 push {r6} sub sp, 0xC - ldr r0, _0801F488 @ =gUnknown_2023BC8 + ldr r0, _0801F488 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801F452 @@ -3673,7 +3673,7 @@ _0801F452: strb r0, [r1, 0x19] b _0801F572 .align 2, 0 -_0801F488: .4byte gUnknown_2023BC8 +_0801F488: .4byte gBattleControllerExecFlags _0801F48C: .4byte gUnknown_2023DD0 _0801F490: .4byte gCurrentMove _0801F494: .4byte gUnknown_2023D74 @@ -3791,7 +3791,7 @@ _0801F584: .4byte gUnknown_81D89F1 thumb_func_start sub_801F588 sub_801F588: @ 801F588 push {lr} - ldr r0, _0801F5A0 @ =gUnknown_2023BC8 + ldr r0, _0801F5A0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801F59A @@ -3803,14 +3803,14 @@ _0801F59A: pop {r0} bx r0 .align 2, 0 -_0801F5A0: .4byte gUnknown_2023BC8 +_0801F5A0: .4byte gBattleControllerExecFlags _0801F5A4: .4byte gUnknown_2023D74 thumb_func_end sub_801F588 thumb_func_start atk0B_healthbarupdate atk0B_healthbarupdate: @ 801F5A8 push {r4,lr} - ldr r0, _0801F60C @ =gUnknown_2023BC8 + ldr r0, _0801F60C @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801F66A @@ -3858,7 +3858,7 @@ atk0B_healthbarupdate: @ 801F5A8 bl PrepareStringBattle b _0801F662 .align 2, 0 -_0801F60C: .4byte gUnknown_2023BC8 +_0801F60C: .4byte gBattleControllerExecFlags _0801F610: .4byte gMoveResultFlags _0801F614: .4byte gUnknown_2023D74 _0801F618: .4byte gActiveBattler @@ -3914,7 +3914,7 @@ _0801F680: .4byte gUnknown_2023D74 atk0C_datahpupdate: @ 801F684 push {r4-r7,lr} sub sp, 0x4 - ldr r0, _0801F6AC @ =gUnknown_2023BC8 + ldr r0, _0801F6AC @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801F692 @@ -3933,7 +3933,7 @@ _0801F692: ands r6, r1 b _0801F6C4 .align 2, 0 -_0801F6AC: .4byte gUnknown_2023BC8 +_0801F6AC: .4byte gBattleControllerExecFlags _0801F6B0: .4byte gBattleStruct _0801F6B4: ldr r2, _0801F750 @ =gBattleMoves @@ -4403,7 +4403,7 @@ _0801FA78: .4byte 0x0000ffff thumb_func_start atk0D_critmessage atk0D_critmessage: @ 801FA7C push {lr} - ldr r0, _0801FAB8 @ =gUnknown_2023BC8 + ldr r0, _0801FAB8 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FAB2 @@ -4433,7 +4433,7 @@ _0801FAB2: pop {r0} bx r0 .align 2, 0 -_0801FAB8: .4byte gUnknown_2023BC8 +_0801FAB8: .4byte gBattleControllerExecFlags _0801FABC: .4byte gCritMultiplier _0801FAC0: .4byte gMoveResultFlags _0801FAC4: .4byte sBattler_AI @@ -4444,7 +4444,7 @@ _0801FACC: .4byte gUnknown_2023D74 thumb_func_start atk0E_effectivenesssound atk0E_effectivenesssound: @ 801FAD0 push {r4,lr} - ldr r0, _0801FB08 @ =gUnknown_2023BC8 + ldr r0, _0801FB08 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FB90 @@ -4472,7 +4472,7 @@ atk0E_effectivenesssound: @ 801FAD0 beq _0801FB2C b _0801FB42 .align 2, 0 -_0801FB08: .4byte gUnknown_2023BC8 +_0801FB08: .4byte gBattleControllerExecFlags _0801FB0C: .4byte gActiveBattler _0801FB10: .4byte gBattlerTarget _0801FB14: .4byte gMoveResultFlags @@ -4553,7 +4553,7 @@ _0801FB9C: .4byte gUnknown_2023D74 atk0F_resultmessage: @ 801FBA0 push {r4-r7,lr} movs r3, 0 - ldr r0, _0801FBDC @ =gUnknown_2023BC8 + ldr r0, _0801FBDC @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0801FBAE @@ -4584,7 +4584,7 @@ _0801FBCE: strb r4, [r7, 0x7] b _0801FD2A .align 2, 0 -_0801FBDC: .4byte gUnknown_2023BC8 +_0801FBDC: .4byte gBattleControllerExecFlags _0801FBE0: .4byte gMoveResultFlags _0801FBE4: .4byte gUnknown_2023E82 _0801FBE8: .4byte gUnknown_83FE514 @@ -4775,7 +4775,7 @@ _0801FD4C: .4byte gUnknown_2023D74 thumb_func_start atk10_printstring atk10_printstring: @ 801FD50 push {r4,lr} - ldr r0, _0801FD80 @ =gUnknown_2023BC8 + ldr r0, _0801FD80 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FD7A @@ -4799,7 +4799,7 @@ _0801FD7A: pop {r0} bx r0 .align 2, 0 -_0801FD80: .4byte gUnknown_2023BC8 +_0801FD80: .4byte gBattleControllerExecFlags _0801FD84: .4byte gUnknown_2023D74 _0801FD88: .4byte sBattler_AI _0801FD8C: .4byte gUnknown_2023E82 @@ -4841,7 +4841,7 @@ _0801FDD0: .4byte gUnknown_2023E82 thumb_func_start atk12_waitmessage atk12_waitmessage: @ 801FDD4 push {r4-r6,lr} - ldr r0, _0801FDF0 @ =gUnknown_2023BC8 + ldr r0, _0801FDF0 @ =gBattleControllerExecFlags ldr r4, [r0] cmp r4, 0 bne _0801FE22 @@ -4855,7 +4855,7 @@ atk12_waitmessage: @ 801FDD4 str r0, [r1] b _0801FE22 .align 2, 0 -_0801FDF0: .4byte gUnknown_2023BC8 +_0801FDF0: .4byte gBattleControllerExecFlags _0801FDF4: .4byte gUnknown_2023E82 _0801FDF8: .4byte gUnknown_2023D74 _0801FDFC: @@ -4890,7 +4890,7 @@ _0801FE2C: .4byte gUnknown_2023E7C thumb_func_start atk13_printfromtable atk13_printfromtable: @ 801FE30 push {r4,r5,lr} - ldr r0, _0801FE74 @ =gUnknown_2023BC8 + ldr r0, _0801FE74 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FE6E @@ -4924,7 +4924,7 @@ _0801FE6E: pop {r0} bx r0 .align 2, 0 -_0801FE74: .4byte gUnknown_2023BC8 +_0801FE74: .4byte gBattleControllerExecFlags _0801FE78: .4byte gUnknown_2023D74 _0801FE7C: .4byte gUnknown_2023E82 _0801FE80: .4byte sBattler_AI @@ -4933,7 +4933,7 @@ _0801FE80: .4byte sBattler_AI thumb_func_start atk14_printselectionstringfromtable atk14_printselectionstringfromtable: @ 801FE84 push {r4-r6,lr} - ldr r0, _0801FED4 @ =gUnknown_2023BC8 + ldr r0, _0801FED4 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801FECE @@ -4972,7 +4972,7 @@ _0801FECE: pop {r0} bx r0 .align 2, 0 -_0801FED4: .4byte gUnknown_2023BC8 +_0801FED4: .4byte gBattleControllerExecFlags _0801FED8: .4byte gUnknown_2023D74 _0801FEDC: .4byte gUnknown_2023E82 _0801FEE0: .4byte gActiveBattler @@ -7726,7 +7726,7 @@ _08021592: thumb_func_start atk1A_faint_animation atk1A_faint_animation: @ 80215A0 push {r4,r5,lr} - ldr r0, _080215D0 @ =gUnknown_2023BC8 + ldr r0, _080215D0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _080215CA @@ -7748,7 +7748,7 @@ _080215CA: pop {r0} bx r0 .align 2, 0 -_080215D0: .4byte gUnknown_2023BC8 +_080215D0: .4byte gBattleControllerExecFlags _080215D4: .4byte gUnknown_2023D74 _080215D8: .4byte gActiveBattler thumb_func_end atk1A_faint_animation @@ -7757,7 +7757,7 @@ _080215D8: .4byte gActiveBattler atk1B_faint_effects_clear: @ 80215DC push {r4-r6,lr} sub sp, 0x4 - ldr r0, _08021630 @ =gUnknown_2023BC8 + ldr r0, _08021630 @ =gBattleControllerExecFlags ldr r6, [r0] cmp r6, 0 bne _08021628 @@ -7795,7 +7795,7 @@ _08021628: pop {r0} bx r0 .align 2, 0 -_08021630: .4byte gUnknown_2023BC8 +_08021630: .4byte gBattleControllerExecFlags _08021634: .4byte gUnknown_2023D74 _08021638: .4byte gActiveBattler _0802163C: .4byte gBattleMons @@ -8582,7 +8582,7 @@ _08021C52: mov r4, r8 strb r4, [r0] _08021C6A: - ldr r0, _08021CA8 @ =gUnknown_2023BC8 + ldr r0, _08021CA8 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08021C74 @@ -8611,7 +8611,7 @@ _08021C74: _08021C9C: .4byte gUnknown_2023F52 _08021CA0: .4byte gBattleScripting _08021CA4: .4byte gBattleStruct -_08021CA8: .4byte gUnknown_2023BC8 +_08021CA8: .4byte gBattleControllerExecFlags _08021CAC: .4byte gPlayerParty _08021CB0: .4byte gSaveBlock1Ptr _08021CB4: .4byte 0x0000311a @@ -8946,7 +8946,7 @@ _08021F6C: .4byte gPlayerParty _08021F70: .4byte gBattleMons _08021F74: .4byte gUnknown_2023D6D _08021F78: - ldr r0, _0802205C @ =gUnknown_2023BC8 + ldr r0, _0802205C @ =gBattleControllerExecFlags ldr r2, [r0] cmp r2, 0 beq _08021F82 @@ -9053,7 +9053,7 @@ _08022052: strb r0, [r1, 0x1C] b _080223DA .align 2, 0 -_0802205C: .4byte gUnknown_2023BC8 +_0802205C: .4byte gBattleControllerExecFlags _08022060: .4byte gUnknown_20233C4 _08022064: .4byte gBattleStruct _08022068: .4byte gPlayerParty @@ -9062,7 +9062,7 @@ _08022070: .4byte gActiveBattler _08022074: .4byte gBattleMoveDamage _08022078: .4byte gBattleScripting _0802207C: - ldr r0, _08022314 @ =gUnknown_2023BC8 + ldr r0, _08022314 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08022086 @@ -9379,7 +9379,7 @@ _08022256: strh r0, [r1] b _08022356 .align 2, 0 -_08022314: .4byte gUnknown_2023BC8 +_08022314: .4byte gBattleControllerExecFlags _08022318: .4byte gActiveBattler _0802231C: .4byte gBattleStruct _08022320: .4byte gUnknown_20233C4 @@ -9443,7 +9443,7 @@ _080223A4: .align 2, 0 _080223AC: .4byte gBattleScripting _080223B0: - ldr r0, _080223E8 @ =gUnknown_2023BC8 + ldr r0, _080223E8 @ =gBattleControllerExecFlags ldr r5, [r0] cmp r5, 0 bne _080223DA @@ -9472,7 +9472,7 @@ _080223DA: pop {r0} bx r0 .align 2, 0 -_080223E8: .4byte gUnknown_2023BC8 +_080223E8: .4byte gBattleControllerExecFlags _080223EC: .4byte gBattleMons _080223F0: .4byte gUnknown_2023D6D _080223F4: .4byte gUnknown_2023D74 @@ -9484,7 +9484,7 @@ sub_80223F8: @ 80223F8 mov r7, r8 push {r7} movs r6, 0 - ldr r0, _08022534 @ =gUnknown_2023BC8 + ldr r0, _08022534 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0802240A @@ -9645,7 +9645,7 @@ _0802251E: bgt _08022560 b _0802257A .align 2, 0 -_08022534: .4byte gUnknown_2023BC8 +_08022534: .4byte gBattleControllerExecFlags _08022538: .4byte gPlayerParty _0802253C: .4byte gBattleOutcome _08022540: .4byte gEnemyParty @@ -10610,7 +10610,7 @@ _08022C04: .4byte gUnknown_2023D74 thumb_func_start atk39_pause atk39_pause: @ 8022C08 push {r4,r5,lr} - ldr r0, _08022C3C @ =gUnknown_2023BC8 + ldr r0, _08022C3C @ =gBattleControllerExecFlags ldr r4, [r0] cmp r4, 0 bne _08022C34 @@ -10636,7 +10636,7 @@ _08022C34: pop {r0} bx r0 .align 2, 0 -_08022C3C: .4byte gUnknown_2023BC8 +_08022C3C: .4byte gBattleControllerExecFlags _08022C40: .4byte gUnknown_2023D74 _08022C44: .4byte gUnknown_2023E7C thumb_func_end atk39_pause @@ -10644,7 +10644,7 @@ _08022C44: .4byte gUnknown_2023E7C thumb_func_start sub_8022C48 sub_8022C48: @ 8022C48 push {lr} - ldr r0, _08022C60 @ =gUnknown_2023BC8 + ldr r0, _08022C60 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08022C5A @@ -10656,7 +10656,7 @@ _08022C5A: pop {r0} bx r0 .align 2, 0 -_08022C60: .4byte gUnknown_2023BC8 +_08022C60: .4byte gBattleControllerExecFlags _08022C64: .4byte gUnknown_2023D74 thumb_func_end sub_8022C48 @@ -12993,7 +12993,7 @@ _08023ED4: .4byte gUnknown_2023D74 thumb_func_start atk4C_getswitchedmondata atk4C_getswitchedmondata: @ 8023ED8 push {r4,r5,lr} - ldr r0, _08023F30 @ =gUnknown_2023BC8 + ldr r0, _08023F30 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08023F28 @@ -13034,7 +13034,7 @@ _08023F28: pop {r0} bx r0 .align 2, 0 -_08023F30: .4byte gUnknown_2023BC8 +_08023F30: .4byte gBattleControllerExecFlags _08023F34: .4byte gUnknown_2023D74 _08023F38: .4byte gActiveBattler _08023F3C: .4byte gBattlerPartyIndexes @@ -13046,7 +13046,7 @@ _08023F44: .4byte gBitTable sub_8023F48: @ 8023F48 push {r4-r7,lr} sub sp, 0x58 - ldr r0, _080240A0 @ =gUnknown_2023BC8 + ldr r0, _080240A0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08023F56 @@ -13218,7 +13218,7 @@ _08024098: pop {r0} bx r0 .align 2, 0 -_080240A0: .4byte gUnknown_2023BC8 +_080240A0: .4byte gBattleControllerExecFlags _080240A4: .4byte gUnknown_2023D74 _080240A8: .4byte gActiveBattler _080240AC: .4byte gBattleMons @@ -13236,7 +13236,7 @@ _080240D0: .4byte gBattleTextBuff1 thumb_func_start sub_80240D4 sub_80240D4: @ 80240D4 push {r4-r6,lr} - ldr r0, _08024168 @ =gUnknown_2023BC8 + ldr r0, _08024168 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08024160 @@ -13305,7 +13305,7 @@ _08024160: pop {r0} bx r0 .align 2, 0 -_08024168: .4byte gUnknown_2023BC8 +_08024168: .4byte gBattleControllerExecFlags _0802416C: .4byte gUnknown_2023D74 _08024170: .4byte gActiveBattler _08024174: .4byte gBattleTypeFlags @@ -14623,7 +14623,7 @@ _08024C44: .4byte gBitTable thumb_func_start sub_8024C48 sub_8024C48: @ 8024C48 push {r4-r7,lr} - ldr r0, _08024C74 @ =gUnknown_2023BC8 + ldr r0, _08024C74 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _08024C54 @@ -14645,7 +14645,7 @@ _08024C54: beq _08024C86 b _08024E0E .align 2, 0 -_08024C74: .4byte gUnknown_2023BC8 +_08024C74: .4byte gBattleControllerExecFlags _08024C78: .4byte gUnknown_2023D74 _08024C7C: .4byte gActiveBattler _08024C80: @@ -15559,7 +15559,7 @@ _080253C4: bl sub_802DB7C ldr r0, _080253F0 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _080253F4 @ =gBattleScripting ldrb r0, [r1, 0x1F] adds r0, 0x1 @@ -15702,7 +15702,7 @@ _08025500: _0802550E: ldr r0, _08025530 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _08025534 @ =sub_8011100 + ldr r0, _08025534 @ =BattleMainCB2 cmp r1, r0 beq _0802551A b _080256D0 @@ -15718,7 +15718,7 @@ _0802551A: .align 2, 0 _0802552C: .4byte gPaletteFade _08025530: .4byte gMain -_08025534: .4byte sub_8011100 +_08025534: .4byte BattleMainCB2 _08025538: .4byte gBattleScripting _0802553C: ldr r6, _08025578 @ =gBattleStruct @@ -15897,7 +15897,7 @@ _080256A4: .align 2, 0 _080256C0: .4byte gUnknown_2023D74 _080256C4: - ldr r0, _080256DC @ =gUnknown_2023BC8 + ldr r0, _080256DC @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _080256D0 @@ -15911,7 +15911,7 @@ _080256D0: pop {r0} bx r0 .align 2, 0 -_080256DC: .4byte gUnknown_2023BC8 +_080256DC: .4byte gBattleControllerExecFlags thumb_func_end sub_802537C thumb_func_start sub_80256E0 @@ -15936,7 +15936,7 @@ _080256F8: bl sub_802DB7C ldr r0, _08025720 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r0, [r5, 0x1F] adds r0, 0x1 strb r0, [r5, 0x1F] @@ -16401,7 +16401,7 @@ _08025AA0: strb r0, [r5] b _08025B0C _08025AB8: - ldr r0, _08025B18 @ =gUnknown_2023BC8 + ldr r0, _08025B18 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025B0C @@ -16451,7 +16451,7 @@ _08025B0C: pop {r0} bx r0 .align 2, 0 -_08025B18: .4byte gUnknown_2023BC8 +_08025B18: .4byte gBattleControllerExecFlags _08025B1C: .4byte gUnknown_20233C8 _08025B20: .4byte gUnknown_2023C08 thumb_func_end atk5E @@ -16529,7 +16529,7 @@ atk61_drawpartystatussummary: @ 8025BA4 mov r7, r8 push {r7} sub sp, 0x30 - ldr r0, _08025C08 @ =gUnknown_2023BC8 + ldr r0, _08025C08 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025C58 @@ -16575,7 +16575,7 @@ _08025C00: movs r0, 0 b _08025C32 .align 2, 0 -_08025C08: .4byte gUnknown_2023BC8 +_08025C08: .4byte gBattleControllerExecFlags _08025C0C: .4byte gUnknown_2023D74 _08025C10: .4byte gActiveBattler _08025C14: .4byte gEnemyParty @@ -16696,7 +16696,7 @@ _08025CFC: .4byte gBattleMoves thumb_func_start atk64_statusanimation atk64_statusanimation: @ 8025D00 push {r4,lr} - ldr r0, _08025D70 @ =gUnknown_2023BC8 + ldr r0, _08025D70 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025D68 @@ -16750,7 +16750,7 @@ _08025D68: pop {r0} bx r0 .align 2, 0 -_08025D70: .4byte gUnknown_2023BC8 +_08025D70: .4byte gBattleControllerExecFlags _08025D74: .4byte gUnknown_2023D74 _08025D78: .4byte gActiveBattler _08025D7C: .4byte gStatuses3 @@ -16763,7 +16763,7 @@ _08025D8C: .4byte gBattleMons thumb_func_start atk65_status2animation atk65_status2animation: @ 8025D90 push {r4,r5,lr} - ldr r0, _08025E18 @ =gUnknown_2023BC8 + ldr r0, _08025E18 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025E10 @@ -16829,7 +16829,7 @@ _08025E10: pop {r0} bx r0 .align 2, 0 -_08025E18: .4byte gUnknown_2023BC8 +_08025E18: .4byte gBattleControllerExecFlags _08025E1C: .4byte gUnknown_2023D74 _08025E20: .4byte gActiveBattler _08025E24: .4byte gStatuses3 @@ -16842,7 +16842,7 @@ _08025E34: .4byte gBattleMons thumb_func_start atk66_chosenstatusanimation atk66_chosenstatusanimation: @ 8025E38 push {r4,r5,lr} - ldr r0, _08025EB0 @ =gUnknown_2023BC8 + ldr r0, _08025EB0 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08025EAA @@ -16901,7 +16901,7 @@ _08025EAA: pop {r0} bx r0 .align 2, 0 -_08025EB0: .4byte gUnknown_2023BC8 +_08025EB0: .4byte gBattleControllerExecFlags _08025EB4: .4byte gUnknown_2023D74 _08025EB8: .4byte gActiveBattler _08025EBC: .4byte gStatuses3 @@ -16932,7 +16932,7 @@ _08025EE4: bl sub_802DB7C ldr r0, _08025F08 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] @@ -19133,7 +19133,7 @@ atk78_faintifabilitynotdamp: @ 80270A4 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _08027160 @ =gUnknown_2023BC8 + ldr r0, _08027160 @ =gBattleControllerExecFlags ldr r2, [r0] cmp r2, 0 bne _080271A8 @@ -19227,7 +19227,7 @@ _08027152: bcc _0802713C b _080271A8 .align 2, 0 -_08027160: .4byte gUnknown_2023BC8 +_08027160: .4byte gBattleControllerExecFlags _08027164: .4byte gBattlerTarget _08027168: .4byte gBattlersCount _0802716C: .4byte gBattleMons @@ -19268,7 +19268,7 @@ _080271BC: .4byte gUnknown_81D93AF atk79_setatkhptozero: @ 80271C0 push {r4,lr} sub sp, 0x4 - ldr r0, _0802720C @ =gUnknown_2023BC8 + ldr r0, _0802720C @ =gBattleControllerExecFlags ldr r3, [r0] cmp r3, 0 bne _08027204 @@ -19304,7 +19304,7 @@ _08027204: pop {r0} bx r0 .align 2, 0 -_0802720C: .4byte gUnknown_2023BC8 +_0802720C: .4byte gBattleControllerExecFlags _08027210: .4byte gActiveBattler _08027214: .4byte sBattler_AI _08027218: .4byte gBattleMons @@ -23131,7 +23131,7 @@ _08029044: .4byte gUnknown_2023D74 thumb_func_start sub_8029048 sub_8029048: @ 8029048 push {r4-r7,lr} - ldr r0, _080290B8 @ =gUnknown_2023BC8 + ldr r0, _080290B8 @ =gBattleControllerExecFlags ldr r1, [r0] cmp r1, 0 beq _08029054 @@ -23187,7 +23187,7 @@ _080290A2: bcc _08029074 b _08029164 .align 2, 0 -_080290B8: .4byte gUnknown_2023BC8 +_080290B8: .4byte gBattleControllerExecFlags _080290BC: .4byte gUnknown_2023D74 _080290C0: .4byte gActiveBattler _080290C4: .4byte gBattlersCount @@ -31742,7 +31742,7 @@ _0802D430: .4byte gUnknown_2023D74 sub_802D434: @ 802D434 push {r4-r6,lr} movs r4, 0 - ldr r0, _0802D474 @ =gUnknown_2023BC8 + ldr r0, _0802D474 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 beq _0802D442 @@ -31772,7 +31772,7 @@ _0802D442: ldr r0, _0802D48C @ =gUnknown_81D9AD1 b _0802D7EC .align 2, 0 -_0802D474: .4byte gUnknown_2023BC8 +_0802D474: .4byte gBattleControllerExecFlags _0802D478: .4byte gActiveBattler _0802D47C: .4byte sBattler_AI _0802D480: .4byte gBattlerTarget @@ -32471,7 +32471,7 @@ _0802DA64: _0802DA72: ldr r0, _0802DAB0 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _0802DAB4 @ =sub_8011100 + ldr r0, _0802DAB4 @ =BattleMainCB2 cmp r1, r0 bne _0802DB6C ldr r2, _0802DAB8 @ =gTasks @@ -32499,7 +32499,7 @@ _0802DA72: .align 2, 0 _0802DAAC: .4byte gPaletteFade _0802DAB0: .4byte gMain -_0802DAB4: .4byte sub_8011100 +_0802DAB4: .4byte BattleMainCB2 _0802DAB8: .4byte gTasks _0802DABC: .4byte gUnknown_2023E82 _0802DAC0: .4byte 0x05006000 @@ -32863,7 +32863,7 @@ _0802DD78: bl sub_802DB7C ldr r0, _0802DDA0 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _0802DDA4 @ =gUnknown_2023E82 ldrb r0, [r1] adds r0, 0x1 @@ -33023,7 +33023,7 @@ _0802DE4E: ldr r1, [r2] adds r1, 0x6D str r0, [sp] - ldr r0, _0802DF10 @ =sub_8011100 + ldr r0, _0802DF10 @ =BattleMainCB2 str r0, [sp, 0x4] movs r0, 0x2 adds r2, r6, 0 @@ -33040,12 +33040,12 @@ _0802DF00: .4byte gBattlerPartyIndexes _0802DF04: .4byte sBattler_AI _0802DF08: .4byte gEnemyParty _0802DF0C: .4byte gBattleStruct -_0802DF10: .4byte sub_8011100 +_0802DF10: .4byte BattleMainCB2 _0802DF14: .4byte gUnknown_2023E82 _0802DF18: ldr r0, _0802DF54 @ =gMain ldr r1, [r0, 0x4] - ldr r0, _0802DF58 @ =sub_8011100 + ldr r0, _0802DF58 @ =BattleMainCB2 cmp r1, r0 bne _0802DFA6 ldr r0, _0802DF5C @ =gPaletteFade @@ -33074,7 +33074,7 @@ _0802DF18: b _0802DF8C .align 2, 0 _0802DF54: .4byte gMain -_0802DF58: .4byte sub_8011100 +_0802DF58: .4byte BattleMainCB2 _0802DF5C: .4byte gPaletteFade _0802DF60: .4byte gBattlerPartyIndexes _0802DF64: .4byte sBattler_AI diff --git a/asm/battle_util.s b/asm/battle_util.s index 50f5210aa..739f10609 100644 --- a/asm/battle_util.s +++ b/asm/battle_util.s @@ -495,7 +495,7 @@ MarkAllBufferBanksForExecution: @ 80171D8 ldrb r0, [r4] cmp r2, r0 bge _08017236 - ldr r3, _08017210 @ =gUnknown_2023BC8 + ldr r3, _08017210 @ =gBattleControllerExecFlags ldr r5, _08017214 @ =gBitTable _080171F4: ldm r5!, {r1} @@ -511,7 +511,7 @@ _080171F4: .align 2, 0 _08017208: .4byte gBattleTypeFlags _0801720C: .4byte gBattlersCount -_08017210: .4byte gUnknown_2023BC8 +_08017210: .4byte gBattleControllerExecFlags _08017214: .4byte gBitTable _08017218: movs r2, 0 @@ -519,7 +519,7 @@ _08017218: ldrb r0, [r4] cmp r2, r0 bge _08017236 - ldr r3, _08017240 @ =gUnknown_2023BC8 + ldr r3, _08017240 @ =gBattleControllerExecFlags ldr r5, _08017244 @ =gBitTable _08017226: ldr r0, [r3] @@ -536,7 +536,7 @@ _08017236: bx r0 .align 2, 0 _0801723C: .4byte gBattlersCount -_08017240: .4byte gUnknown_2023BC8 +_08017240: .4byte gBattleControllerExecFlags _08017244: .4byte gBitTable thumb_func_end MarkAllBufferBanksForExecution @@ -551,7 +551,7 @@ MarkBufferBankForExecution: @ 8017248 ands r0, r1 cmp r0, 0 beq _0801727C - ldr r2, _08017274 @ =gUnknown_2023BC8 + ldr r2, _08017274 @ =gBattleControllerExecFlags ldr r1, _08017278 @ =gBitTable lsls r0, r3, 2 adds r0, r1 @@ -563,10 +563,10 @@ MarkBufferBankForExecution: @ 8017248 b _0801728C .align 2, 0 _08017270: .4byte gBattleTypeFlags -_08017274: .4byte gUnknown_2023BC8 +_08017274: .4byte gBattleControllerExecFlags _08017278: .4byte gBitTable _0801727C: - ldr r2, _08017290 @ =gUnknown_2023BC8 + ldr r2, _08017290 @ =gBattleControllerExecFlags ldr r1, _08017294 @ =gBitTable lsls r0, r3, 2 adds r0, r1 @@ -578,7 +578,7 @@ _0801728C: pop {r0} bx r0 .align 2, 0 -_08017290: .4byte gUnknown_2023BC8 +_08017290: .4byte gBattleControllerExecFlags _08017294: .4byte gBitTable thumb_func_end MarkBufferBankForExecution @@ -588,13 +588,13 @@ sub_8017298: @ 8017298 lsls r0, 24 lsrs r7, r0, 24 movs r4, 0 - ldr r5, _080172AC @ =gUnknown_2023BC8 + ldr r5, _080172AC @ =gBattleControllerExecFlags ldr r1, _080172B0 @ =gBitTable lsls r0, r7, 2 adds r6, r0, r1 b _080172C2 .align 2, 0 -_080172AC: .4byte gUnknown_2023BC8 +_080172AC: .4byte gBattleControllerExecFlags _080172B0: .4byte gBitTable _080172B4: lsls r0, r4, 2 @@ -610,7 +610,7 @@ _080172C2: lsrs r0, 24 cmp r4, r0 blt _080172B4 - ldr r2, _080172E4 @ =gUnknown_2023BC8 + ldr r2, _080172E4 @ =gBattleControllerExecFlags movs r1, 0x80 lsls r1, 21 lsls r1, r7 @@ -621,7 +621,7 @@ _080172C2: pop {r0} bx r0 .align 2, 0 -_080172E4: .4byte gUnknown_2023BC8 +_080172E4: .4byte gBattleControllerExecFlags thumb_func_end sub_8017298 thumb_func_start CancelMultiTurnMoves @@ -11970,7 +11970,7 @@ _0801D02C: .4byte 0xffffbfff thumb_func_start sub_801D030 sub_801D030: @ 801D030 push {lr} - ldr r0, _0801D050 @ =gUnknown_2023BC8 + ldr r0, _0801D050 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801D04C @@ -11986,7 +11986,7 @@ _0801D04C: pop {r0} bx r0 .align 2, 0 -_0801D050: .4byte gUnknown_2023BC8 +_0801D050: .4byte gBattleControllerExecFlags _0801D054: .4byte gUnknown_825011C _0801D058: .4byte gUnknown_2023D74 thumb_func_end sub_801D030 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index e151e6d7d..8830ae009 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -1497,7 +1497,7 @@ _080CEAA0: bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CEACC @ =gTasks mov r2, r8 adds r1, r2, r7 @@ -1802,7 +1802,7 @@ _080CED3A: bl StringExpandPlaceholders adds r0, r4, 0 movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CEDB0 @ =0x00000103 bl PlayBGM ldr r2, _080CEDB4 @ =gTasks @@ -2055,7 +2055,7 @@ _080CEF70: _080CEF78: ldr r0, _080CEF90 @ =gStringVar4 movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _080CEF98 @ =gTasks mov r2, r8 adds r0, r2, r7 @@ -2090,7 +2090,7 @@ _080CEFB6: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CEFF0 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CEFF4 @ =gTasks mov r3, r8 adds r1, r3, r7 @@ -2193,7 +2193,7 @@ _080CF0A2: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF0CC @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CF0D0 @ =gTasks mov r2, r8 adds r1, r2, r7 @@ -2225,7 +2225,7 @@ _080CF0EE: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF114 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CF118 @ =gTasks mov r3, r8 adds r1, r3, r7 @@ -2253,7 +2253,7 @@ _080CF11C: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF1AC @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CF1B0 @ =gTasks mov r2, r8 adds r1, r2, r7 @@ -2289,7 +2289,7 @@ _080CF176: bl sub_802DB7C ldr r0, _080CF1B4 @ =gUnknown_83FE791 movs r1, 0xE - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CF1B0 @ =gTasks mov r3, r8 adds r1, r3, r7 @@ -2510,7 +2510,7 @@ _080CF34C: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF390 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _080CF394 @ =gTasks mov r2, r8 adds r0, r2, r7 @@ -2566,7 +2566,7 @@ _080CF3E0: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF40C @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CF410 @ =gTasks mov r2, r8 adds r1, r2, r7 @@ -2598,7 +2598,7 @@ _080CF42E: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF454 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r0, _080CF458 @ =gTasks mov r3, r8 adds r1, r3, r7 @@ -2629,7 +2629,7 @@ _080CF45C: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF49C @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _080CF4A0 @ =gTasks mov r2, r8 adds r0, r2, r7 @@ -2648,7 +2648,7 @@ _080CF4A4: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF4D0 @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _080CF4D4 @ =gTasks mov r3, r8 adds r0, r3, r7 @@ -2671,7 +2671,7 @@ _080CF4D8: bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _080CF4FC @ =gDisplayedStringBattle movs r1, 0 - bl sub_80D87BC + bl BattlePutTextOnWindow ldr r1, _080CF500 @ =gTasks mov r2, r8 adds r0, r2, r7 diff --git a/asm/pokeball.s b/asm/pokeball.s index ed9586d1d..3bbf3568b 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -14,7 +14,7 @@ DoPokeballSendOutAnimation: @ 804A938 lsrs r4, 16 lsls r5, 24 lsrs r5, 24 - ldr r1, _0804A98C @ =gUnknown_2024005 + ldr r1, _0804A98C @ =gDoingBattleAnim movs r0, 0x1 strb r0, [r1] ldr r0, _0804A990 @ =gBattleSpritesDataPtr @@ -49,7 +49,7 @@ DoPokeballSendOutAnimation: @ 804A938 pop {r1} bx r1 .align 2, 0 -_0804A98C: .4byte gUnknown_2024005 +_0804A98C: .4byte gDoingBattleAnim _0804A990: .4byte gBattleSpritesDataPtr _0804A994: .4byte gActiveBattler _0804A998: .4byte sub_804A9A0 @@ -1519,7 +1519,7 @@ _0804B52C: movs r2, 0 movs r1, 0 strh r1, [r0, 0x26] - ldr r0, _0804B5C0 @ =gUnknown_2024005 + ldr r0, _0804B5C0 @ =gDoingBattleAnim strb r2, [r0] ldr r4, _0804B5C4 @ =gBattleSpritesDataPtr ldr r0, [r4] @@ -1572,7 +1572,7 @@ _0804B5AE: _0804B5B4: .4byte 0xfffffee0 _0804B5B8: .4byte gSprites _0804B5BC: .4byte gBattlerSpriteIds -_0804B5C0: .4byte gUnknown_2024005 +_0804B5C0: .4byte gDoingBattleAnim _0804B5C4: .4byte gBattleSpritesDataPtr thumb_func_end HandleBallAnimEnd @@ -1592,7 +1592,7 @@ sub_804B5C8: @ 804B5C8 beq _0804B666 cmp r1, 0x5F bne _0804B600 - ldr r0, _0804B5F8 @ =gUnknown_2024005 + ldr r0, _0804B5F8 @ =gDoingBattleAnim movs r1, 0 strb r1, [r0] bl m4aMPlayAllStop @@ -1600,7 +1600,7 @@ sub_804B5C8: @ 804B5C8 bl PlaySE b _0804B666 .align 2, 0 -_0804B5F8: .4byte gUnknown_2024005 +_0804B5F8: .4byte gDoingBattleAnim _0804B5FC: .4byte 0x0000013f _0804B600: ldr r0, _0804B66C @ =0x0000013b diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 483314c54..c9faf0be7 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -317,7 +317,7 @@ _080779B0: adds r0, r4, 0 bl SetBattlerShadowSpriteCallback _08077A14: - ldr r1, _08077A4C @ =gUnknown_2023FF8 + ldr r1, _08077A4C @ =gActionSelectionCursor ldr r0, _08077A50 @ =gBattlerInMenuId ldrb r0, [r0] adds r0, r1 @@ -340,7 +340,7 @@ _08077A14: .align 2, 0 _08077A44: .4byte gBattlerPartyIndexes _08077A48: .4byte gEnemyParty -_08077A4C: .4byte gUnknown_2023FF8 +_08077A4C: .4byte gActionSelectionCursor _08077A50: .4byte gBattlerInMenuId _08077A54: .4byte gWirelessCommType _08077A58: .4byte gReceivedRemoteLinkPlayers @@ -360,7 +360,7 @@ _08077A5C: movs r0, 0x7F ands r0, r1 strb r0, [r2, 0x8] - ldr r0, _08077AA4 @ =sub_8011100 + ldr r0, _08077AA4 @ =BattleMainCB2 bl SetMainCallback2 bl sub_80357C8 _08077A8A: @@ -376,7 +376,7 @@ _08077A8A: .align 2, 0 _08077A9C: .4byte sub_80116F4 _08077AA0: .4byte gPaletteFade -_08077AA4: .4byte sub_8011100 +_08077AA4: .4byte BattleMainCB2 _08077AA8: .4byte gBattleScripting thumb_func_end sub_80777E8 @@ -759,7 +759,7 @@ _08077DAC: adds r0, r4, 0 bl SetMultiuseSpriteTemplateToTrainerBack ldr r6, _08077E08 @ =gMultiuseSpriteTemplate - ldr r1, _08077E0C @ =gUnknown_8239F8C + ldr r1, _08077E0C @ =gTrainerBackPicCoords ldr r0, [r5] ldrb r0, [r0, 0x8] lsls r0, 2 @@ -783,7 +783,7 @@ _08077DAC: _08077E00: .4byte gBattleTypeFlags _08077E04: .4byte gSaveBlock2Ptr _08077E08: .4byte gMultiuseSpriteTemplate -_08077E0C: .4byte gUnknown_8239F8C +_08077E0C: .4byte gTrainerBackPicCoords _08077E10: ldr r0, [r0] movs r1, 0x80 @@ -801,7 +801,7 @@ _08077E10: movs r0, 0x5 bl SetMultiuseSpriteTemplateToTrainerBack ldr r5, _08077E94 @ =gMultiuseSpriteTemplate - ldr r0, _08077E98 @ =gUnknown_8239F8C + ldr r0, _08077E98 @ =gTrainerBackPicCoords ldrb r0, [r0, 0x14] movs r4, 0x8 subs r4, r0 @@ -850,7 +850,7 @@ _08077E54: b _08077F84 .align 2, 0 _08077E94: .4byte gMultiuseSpriteTemplate -_08077E98: .4byte gUnknown_8239F8C +_08077E98: .4byte gTrainerBackPicCoords _08077E9C: .4byte gBattlerSpriteIds _08077EA0: .4byte gSprites _08077EA4: .4byte SpriteCallbackDummy -- cgit v1.2.3 From 604347808138a0514933b3b994ac0f4eb62237a8 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 29 Jul 2019 08:34:15 +0800 Subject: ported battle_util2 from pokeem --- asm/battle_2.s | 8 +- asm/battle_controllers.s | 20 +-- asm/battle_script_commands.s | 2 +- asm/battle_util2.s | 333 ------------------------------------------- 4 files changed, 15 insertions(+), 348 deletions(-) delete mode 100644 asm/battle_util2.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index 27dd08f04..d17cd21ee 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -9,7 +9,7 @@ sub_800FD9C: @ 800FD9C push {r4,lr} bl MoveSaveBlocks_ResetHeap - bl sub_802E03C + bl AllocateBattleResources bl AllocateBattleSpritesData bl AllocateMonSpritesGfx ldr r4, _0800FDCC @ =gBattleTypeFlags @@ -2425,7 +2425,7 @@ FreeRestoreBattleData: @ 8011174 bl m4aSongNumStop bl FreeMonSpritesGfx bl FreeBattleSpritesData - bl sub_802E138 + bl FreeBattleResources pop {r0} bx r0 .align 2, 0 @@ -3738,7 +3738,7 @@ _08011C10: bl sub_812C224 bl FreeMonSpritesGfx bl FreeBattleSpritesData - bl sub_802E138 + bl FreeBattleResources _08011C34: add sp, 0x4 pop {r4} @@ -11524,7 +11524,7 @@ _08015A70: bne _08015A8E bl FreeMonSpritesGfx bl FreeBattleSpritesData - bl sub_802E138 + bl FreeBattleResources _08015A8E: pop {r0} bx r0 diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index d1de3bb17..98a38a8d3 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -1028,7 +1028,7 @@ _0800DA3E: adds r0, r5 movs r2, 0x24 ldrsh r1, [r0, r2] - ldr r4, _0800DB54 @ =gUnknown_2023FEC + ldr r4, _0800DB54 @ =gLinkBattleSendBuffer ldr r0, [r4] adds r0, r1 strb r6, [r0] @@ -1161,7 +1161,7 @@ _0800DB2C: .align 2, 0 _0800DB4C: .4byte gTasks _0800DB50: .4byte gUnknown_202286C -_0800DB54: .4byte gUnknown_2023FEC +_0800DB54: .4byte gLinkBattleSendBuffer _0800DB58: .4byte gActiveBattler _0800DB5C: .4byte sBattler_AI _0800DB60: .4byte gBattlerTarget @@ -1315,7 +1315,7 @@ _0800DC80: adds r4, r7 movs r0, 0x26 ldrsh r1, [r4, r0] - ldr r5, _0800DCBC @ =gUnknown_2023FEC + ldr r5, _0800DCBC @ =gLinkBattleSendBuffer ldr r0, [r5] adds r1, r0 ldrb r0, [r1, 0x4] @@ -1339,7 +1339,7 @@ _0800DC80: strh r0, [r4, 0x1E] b _0800DD20 .align 2, 0 -_0800DCBC: .4byte gUnknown_2023FEC +_0800DCBC: .4byte gLinkBattleSendBuffer _0800DCC0: subs r0, 0x1 strh r0, [r2, 0x22] @@ -1356,7 +1356,7 @@ _0800DCC6: adds r1, r0 movs r3, 0x26 ldrsh r2, [r1, r3] - ldr r0, _0800DD00 @ =gUnknown_2023FEC + ldr r0, _0800DD00 @ =gLinkBattleSendBuffer ldr r0, [r0] adds r2, r0 ldrb r0, [r2, 0x4] @@ -1372,7 +1372,7 @@ _0800DCC6: b _0800DD1C .align 2, 0 _0800DCFC: .4byte gTasks -_0800DD00: .4byte gUnknown_2023FEC +_0800DD00: .4byte gLinkBattleSendBuffer _0800DD04: lsls r0, r4, 2 adds r0, r4 @@ -1477,7 +1477,7 @@ _0800DD70: movs r1, 0 strh r1, [r0, 0x24] _0800DDD0: - ldr r2, _0800DE48 @ =gUnknown_2023FF0 + ldr r2, _0800DE48 @ =gLinkBattleRecvBuffer mov r4, r12 ldrb r1, [r4] lsls r0, r1, 2 @@ -1537,7 +1537,7 @@ _0800DE38: .4byte gBitTable _0800DE3C: .4byte gBlockRecvBuffer + 4 _0800DE40: .4byte gTasks _0800DE44: .4byte gUnknown_202286D -_0800DE48: .4byte gUnknown_2023FF0 +_0800DE48: .4byte gLinkBattleRecvBuffer thumb_func_end sub_800DD28 thumb_func_start Task_HandleCopyReceivedLinkBuffersData @@ -1577,7 +1577,7 @@ _0800DE82: adds r5, r0, r1 movs r0, 0x26 ldrsh r1, [r5, r0] - ldr r3, _0800DEB8 @ =gUnknown_2023FF0 + ldr r3, _0800DEB8 @ =gLinkBattleRecvBuffer mov r8, r3 ldr r0, [r3] adds r3, r1, r0 @@ -1597,7 +1597,7 @@ _0800DE82: b _0800DF7A .align 2, 0 _0800DEB4: .4byte gTasks -_0800DEB8: .4byte gUnknown_2023FF0 +_0800DEB8: .4byte gLinkBattleRecvBuffer _0800DEBC: cmp r0, 0x2 beq _0800DF64 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 5af41017e..11c522a5e 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -7510,7 +7510,7 @@ _08021392: strb r0, [r1] _080213C8: ldrb r0, [r7] - bl sub_802E228 + bl AdjustFriendshipOnBattleFaint b _0802142C .align 2, 0 _080213D0: .4byte gActiveBattler diff --git a/asm/battle_util2.s b/asm/battle_util2.s deleted file mode 100644 index 8cfbe3120..000000000 --- a/asm/battle_util2.s +++ /dev/null @@ -1,333 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_802E03C -sub_802E03C: @ 802E03C - push {r4,r5,lr} - ldr r4, _0802E118 @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - beq _0802E050 - bl sub_815DA54 -_0802E050: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - beq _0802E06E - ldr r5, _0802E11C @ =gUnknown_3005EE0 - movs r4, 0x3 -_0802E060: - movs r0, 0x8 - bl AllocZeroed - stm r5!, {r0} - subs r4, 0x1 - cmp r4, 0 - bge _0802E060 -_0802E06E: - ldr r4, _0802E120 @ =gBattleStruct - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - ldr r4, _0802E124 @ =gBattleResources - movs r0, 0x20 - bl AllocZeroed - str r0, [r4] - movs r0, 0xA0 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - movs r0, 0xC - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x10] - movs r0, 0x1C - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x14] - movs r0, 0x30 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x18] - movs r0, 0x24 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x1C] - ldr r4, _0802E128 @ =gUnknown_2023FEC - movs r5, 0x80 - lsls r5, 5 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r4, _0802E12C @ =gUnknown_2023FF0 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - ldr r4, _0802E130 @ =gUnknown_2022BB8 - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - str r0, [r4] - ldr r4, _0802E134 @ =gUnknown_2022BBC - adds r0, r5, 0 - bl AllocZeroed - adds r1, r0, 0 - str r1, [r4] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0x2 - bl SetBgTilemapBuffer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802E118: .4byte gBattleTypeFlags -_0802E11C: .4byte gUnknown_3005EE0 -_0802E120: .4byte gBattleStruct -_0802E124: .4byte gBattleResources -_0802E128: .4byte gUnknown_2023FEC -_0802E12C: .4byte gUnknown_2023FF0 -_0802E130: .4byte gUnknown_2022BB8 -_0802E134: .4byte gUnknown_2022BBC - thumb_func_end sub_802E03C - - thumb_func_start sub_802E138 -sub_802E138: @ 802E138 - push {r4-r6,lr} - ldr r4, _0802E208 @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - beq _0802E14C - bl sub_815DBDC -_0802E14C: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - beq _0802E16C - ldr r5, _0802E20C @ =gUnknown_3005EE0 - movs r6, 0 - movs r4, 0x3 -_0802E15E: - ldr r0, [r5] - bl Free - stm r5!, {r6} - subs r4, 0x1 - cmp r4, 0 - bge _0802E15E -_0802E16C: - ldr r6, _0802E210 @ =gBattleResources - ldr r0, [r6] - cmp r0, 0 - beq _0802E200 - ldr r4, _0802E214 @ =gBattleStruct - ldr r0, [r4] - bl Free - movs r5, 0 - str r5, [r4] - ldr r0, [r6] - ldr r0, [r0] - bl Free - ldr r0, [r6] - str r5, [r0] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r6] - str r5, [r0, 0x4] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r6] - str r5, [r0, 0x8] - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r6] - str r5, [r0, 0xC] - ldr r0, [r0, 0x10] - bl Free - ldr r0, [r6] - str r5, [r0, 0x10] - ldr r0, [r0, 0x14] - bl Free - ldr r0, [r6] - str r5, [r0, 0x14] - ldr r0, [r0, 0x18] - bl Free - ldr r0, [r6] - str r5, [r0, 0x18] - ldr r0, [r0, 0x1C] - bl Free - ldr r0, [r6] - str r5, [r0, 0x1C] - bl Free - str r5, [r6] - ldr r4, _0802E218 @ =gUnknown_2023FEC - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, _0802E21C @ =gUnknown_2023FF0 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, _0802E220 @ =gUnknown_2022BB8 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r4, _0802E224 @ =gUnknown_2022BBC - ldr r0, [r4] - bl Free - str r5, [r4] -_0802E200: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802E208: .4byte gBattleTypeFlags -_0802E20C: .4byte gUnknown_3005EE0 -_0802E210: .4byte gBattleResources -_0802E214: .4byte gBattleStruct -_0802E218: .4byte gUnknown_2023FEC -_0802E21C: .4byte gUnknown_2023FF0 -_0802E220: .4byte gUnknown_2022BB8 -_0802E224: .4byte gUnknown_2022BBC - thumb_func_end sub_802E138 - - thumb_func_start sub_802E228 -sub_802E228: @ 802E228 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0802E26C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802E274 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _0802E270 @ =gBattleMons - movs r0, 0x58 - adds r1, r3, 0 - muls r1, r0 - adds r1, r2 - adds r1, 0x2A - muls r0, r4 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _0802E27E - adds r4, r3, 0 - b _0802E27E - .align 2, 0 -_0802E26C: .4byte gBattleTypeFlags -_0802E270: .4byte gBattleMons -_0802E274: - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 -_0802E27E: - ldr r2, _0802E2C0 @ =gBattleMons - movs r1, 0x58 - adds r0, r4, 0 - muls r0, r1 - adds r0, r2 - adds r3, r0, 0 - adds r3, 0x2A - adds r0, r5, 0 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x2A - ldrb r0, [r3] - ldrb r2, [r1] - cmp r0, r2 - bls _0802E2EC - ldrb r1, [r1] - subs r0, r1 - cmp r0, 0x1D - ble _0802E2CC - ldr r1, _0802E2C4 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802E2C8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x9 - bl AdjustFriendship - b _0802E302 - .align 2, 0 -_0802E2C0: .4byte gBattleMons -_0802E2C4: .4byte gBattlerPartyIndexes -_0802E2C8: .4byte gPlayerParty -_0802E2CC: - ldr r1, _0802E2E4 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802E2E8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x7 - bl AdjustFriendship - b _0802E302 - .align 2, 0 -_0802E2E4: .4byte gBattlerPartyIndexes -_0802E2E8: .4byte gPlayerParty -_0802E2EC: - ldr r1, _0802E308 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802E30C @ =gPlayerParty - adds r0, r1 - movs r1, 0x7 - bl AdjustFriendship -_0802E302: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802E308: .4byte gBattlerPartyIndexes -_0802E30C: .4byte gPlayerParty - thumb_func_end sub_802E228 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 045331d139f04169df59f4550fd2f5fadac14a58 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 30 Jul 2019 02:54:50 +0800 Subject: ported battle_controllers from pokeem --- asm/battle_2.s | 432 ++--- asm/battle_ai_switch_items.s | 14 +- asm/battle_anim.s | 4 +- asm/battle_anim_special.s | 28 +- asm/battle_anim_utility_funcs.s | 12 +- asm/battle_controller_link_opponent.s | 8 +- asm/battle_controller_link_partner.s | 8 +- asm/battle_controller_oak.s | 28 +- asm/battle_controller_opponent.s | 24 +- asm/battle_controller_player.s | 166 +- asm/battle_controller_pokedude.s | 32 +- asm/battle_controllers.s | 3392 --------------------------------- asm/battle_message.s | 60 +- asm/battle_script_commands.s | 1166 ++++++------ asm/battle_util.s | 338 ++-- asm/berry_crush_2.s | 36 +- asm/berry_crush_3.s | 2 +- asm/cable_club.s | 16 +- asm/dodrio_berry_picking.s | 16 +- asm/dragon.s | 4 +- asm/field_fadetransition.s | 2 +- asm/fighting.s | 8 +- asm/link.s | 28 +- asm/link_rfu_2.s | 6 +- asm/link_rfu_3.s | 30 +- asm/party_menu.s | 2 +- asm/pokemon_jump_2.s | 2 +- asm/trade.s | 32 +- asm/union_room_chat.s | 18 +- 29 files changed, 1261 insertions(+), 4653 deletions(-) delete mode 100644 asm/battle_controllers.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index d17cd21ee..910b37d65 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -18,7 +18,7 @@ sub_800FD9C: @ 800FD9C ands r0, r1 cmp r0, 0 beq _0800FDD8 - bl sub_800D230 + bl HandleLinkBattleSetup ldr r0, _0800FDD0 @ =sub_80109C8 bl SetMainCallback2 ldr r1, _0800FDD4 @ =gUnknown_2023E82 @@ -171,7 +171,7 @@ _0800FEA6: strb r0, [r1] ldr r0, _0800FF6C @ =sub_80116F4 bl SetVBlankCallback - bl sub_800D278 + bl SetUpBattleVars ldr r0, _0800FF70 @ =gBattleTypeFlags ldr r0, [r0] movs r1, 0x40 @@ -1029,7 +1029,7 @@ _080105D4: bne _080105EC b _080108B8 _080105EC: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801062A @@ -1142,7 +1142,7 @@ _080106E8: .4byte gBattleStruct _080106EC: .4byte gBlockRecvBuffer _080106F0: .4byte gUnknown_2023E82 _080106F4: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08010700 @@ -1181,7 +1181,7 @@ _08010740: .4byte gEnemyParty _08010744: .4byte gBlockRecvBuffer _08010748: .4byte gUnknown_2023E82 _0801074C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08010758 @@ -1220,7 +1220,7 @@ _08010798: .4byte gUnknown_20240F4 _0801079C: .4byte gBlockRecvBuffer _080107A0: .4byte gUnknown_2023E82 _080107A4: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _080107B0 @@ -1521,7 +1521,7 @@ _08010A20: bne _08010A2A b _08010B82 _08010A2A: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08010A36 @@ -1775,7 +1775,7 @@ _08010C5C: bne _08010C66 b _080110F0 _08010C66: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08010CAA @@ -1931,7 +1931,7 @@ _08010D9C: adds r0, 0x1 strb r0, [r1] _08010DB6: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08010DC2 @@ -2084,7 +2084,7 @@ _08010EBE: _08010ED0: .4byte gUnknown_2024158 _08010ED4: .4byte gUnknown_2023E82 _08010ED8: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08010EE4 @@ -4772,28 +4772,28 @@ nullsub_12: @ 80123BC bx lr thumb_func_end nullsub_12 - thumb_func_start sub_80123C0 -sub_80123C0: @ 80123C0 + thumb_func_start BeginBattleIntro +BeginBattleIntro: @ 80123C0 push {lr} bl sub_8012434 ldr r1, _080123D8 @ =gUnknown_2023E82 movs r0, 0 strb r0, [r1, 0x1] - ldr r1, _080123DC @ =gUnknown_3004F84 + ldr r1, _080123DC @ =gBattleMainFunc ldr r0, _080123E0 @ =BattleIntroGetMonsData str r0, [r1] pop {r0} bx r0 .align 2, 0 _080123D8: .4byte gUnknown_2023E82 -_080123DC: .4byte gUnknown_3004F84 +_080123DC: .4byte gBattleMainFunc _080123E0: .4byte BattleIntroGetMonsData - thumb_func_end sub_80123C0 + thumb_func_end BeginBattleIntro thumb_func_start sub_80123E4 sub_80123E4: @ 80123E4 push {r4,r5,lr} - ldr r0, _08012424 @ =gUnknown_3004F84 + ldr r0, _08012424 @ =gBattleMainFunc ldr r0, [r0] bl _call_via_r0 ldr r1, _08012428 @ =gActiveBattler @@ -4825,7 +4825,7 @@ _0801241E: pop {r0} bx r0 .align 2, 0 -_08012424: .4byte gUnknown_3004F84 +_08012424: .4byte gBattleMainFunc _08012428: .4byte gActiveBattler _0801242C: .4byte gBattlersCount _08012430: .4byte gBattlerControllerFuncs @@ -4921,7 +4921,7 @@ _080124CA: cmp r2, 0 bge _080124C6 movs r1, 0 - ldr r2, _08012700 @ =sBattler_AI + ldr r2, _08012700 @ =gBattlerAttacker strb r1, [r2] ldr r0, _08012704 @ =gBattlerTarget strb r1, [r0] @@ -5184,7 +5184,7 @@ _080126F0: .4byte gUnknown_2023DC0 _080126F4: .4byte gBattleResources _080126F8: .4byte gSideTimers _080126FC: .4byte gSideAffecting -_08012700: .4byte sBattler_AI +_08012700: .4byte gBattlerAttacker _08012704: .4byte gBattlerTarget _08012708: .4byte gBattleWeather _0801270C: .4byte gUnknown_2023F20 @@ -5481,7 +5481,7 @@ _0801296C: movs r1, 0 strb r1, [r0] ldrb r0, [r6] - ldr r2, _08012B9C @ =gUnknown_2023FFC + ldr r2, _08012B9C @ =gMoveSelectionCursor adds r0, r2 strb r1, [r0] ldrb r1, [r6] @@ -5753,7 +5753,7 @@ _08012B8C: .4byte gUnknown_2023C34 _08012B90: .4byte gBitTable _08012B94: .4byte gActiveBattler _08012B98: .4byte 0xffff1fff -_08012B9C: .4byte gUnknown_2023FFC +_08012B9C: .4byte gMoveSelectionCursor _08012BA0: .4byte gCurrentMove _08012BA4: .4byte gBattleMoves _08012BA8: .4byte gMoveResultFlags @@ -5778,7 +5778,7 @@ sub_8012BC8: @ 8012BC8 ldr r6, _08012F60 @ =gStatuses3 ldr r0, _08012F64 @ =gActionSelectionCursor mov r8, r0 - ldr r1, _08012F68 @ =gUnknown_2023FFC + ldr r1, _08012F68 @ =gMoveSelectionCursor mov r9, r1 ldr r2, _08012F6C @ =gUnknown_2023E8C mov r12, r2 @@ -6240,7 +6240,7 @@ _08012F04: _08012F5C: .4byte gActiveBattler _08012F60: .4byte gStatuses3 _08012F64: .4byte gActionSelectionCursor -_08012F68: .4byte gUnknown_2023FFC +_08012F68: .4byte gMoveSelectionCursor _08012F6C: .4byte gUnknown_2023E8C _08012F70: .4byte gBattleMons _08012F74: .4byte gBattlersCount @@ -6301,14 +6301,14 @@ _08012FE4: ldrb r1, [r1] cmp r0, r1 bne _08013018 - ldr r1, _08013010 @ =gUnknown_3004F84 + ldr r1, _08013010 @ =gBattleMainFunc ldr r0, _08013014 @ =BattleIntroPrepareBackgroundSlide str r0, [r1] b _0801301A .align 2, 0 _08013008: .4byte gBattleControllerExecFlags _0801300C: .4byte gBattlersCount -_08013010: .4byte gUnknown_3004F84 +_08013010: .4byte gBattleMainFunc _08013014: .4byte BattleIntroPrepareBackgroundSlide _08013018: strb r2, [r5] @@ -6332,10 +6332,10 @@ BattleIntroPrepareBackgroundSlide: @ 8013020 ldr r0, _08013060 @ =gUnknown_2022B50 ldrb r1, [r0] movs r0, 0 - bl EmitIntroSlide + bl BtlController_EmitIntroSlide ldrb r0, [r4] bl MarkBufferBankForExecution - ldr r1, _08013064 @ =gUnknown_3004F84 + ldr r1, _08013064 @ =gBattleMainFunc ldr r0, _08013068 @ =sub_8013070 str r0, [r1] ldr r0, _0801306C @ =gUnknown_2023E82 @@ -6349,7 +6349,7 @@ _08013050: _08013058: .4byte gBattleControllerExecFlags _0801305C: .4byte gActiveBattler _08013060: .4byte gUnknown_2022B50 -_08013064: .4byte gUnknown_3004F84 +_08013064: .4byte gBattleMainFunc _08013068: .4byte sub_8013070 _0801306C: .4byte gUnknown_2023E82 thumb_func_end BattleIntroPrepareBackgroundSlide @@ -6422,7 +6422,7 @@ _080130E8: adds r3, r0, r2 movs r2, 0 ldr r6, _08013230 @ =gBaseStats - ldr r5, _08013234 @ =gUnknown_20233C4 + ldr r5, _08013234 @ =gBattleBufferB ldr r4, _08013238 @ =gActiveBattler _080130FA: adds r0, r3, r2 @@ -6526,7 +6526,7 @@ _080131B6: cmp r0, 0 bne _080131D0 movs r0, 0 - bl EmitDrawTrainerPic + bl BtlController_EmitDrawTrainerPic ldrb r0, [r4] bl MarkBufferBankForExecution _080131D0: @@ -6543,7 +6543,7 @@ _080131D0: cmp r0, 0x1 bne _080131F6 movs r0, 0 - bl EmitDrawTrainerPic + bl BtlController_EmitDrawTrainerPic ldrb r0, [r4] bl MarkBufferBankForExecution _080131F6: @@ -6574,7 +6574,7 @@ _080131F6: b _080132C2 .align 2, 0 _08013230: .4byte gBaseStats -_08013234: .4byte gUnknown_20233C4 +_08013234: .4byte gBattleBufferB _08013238: .4byte gActiveBattler _0801323C: .4byte gBattleStruct _08013240: .4byte gUnknown_2023BFC @@ -6631,7 +6631,7 @@ _0801328E: bl HandleSetPokedexFlag _080132B4: movs r0, 0 - bl EmitLoadMonSprite + bl BtlController_EmitLoadMonSprite mov r1, r9 ldrb r0, [r1] bl MarkBufferBankForExecution @@ -6657,7 +6657,7 @@ _080132C2: bne _080132F8 _080132EC: movs r0, 0 - bl EmitDrawTrainerPic + bl BtlController_EmitDrawTrainerPic ldrb r0, [r4] bl MarkBufferBankForExecution _080132F8: @@ -6673,7 +6673,7 @@ _080132F8: bcs _0801330E b _080130A0 _0801330E: - ldr r1, _08013334 @ =gUnknown_3004F84 + ldr r1, _08013334 @ =gBattleMainFunc ldr r0, _08013338 @ =BattleIntroDrawPartySummaryScreens str r0, [r1] _08013314: @@ -6689,7 +6689,7 @@ _08013324: .4byte 0x0001aa02 _08013328: .4byte gBattleTypeFlags _0801332C: .4byte gActiveBattler _08013330: .4byte gBattlersCount -_08013334: .4byte gUnknown_3004F84 +_08013334: .4byte gBattleMainFunc _08013338: .4byte BattleIntroDrawPartySummaryScreens thumb_func_end sub_8013070 @@ -6768,7 +6768,7 @@ _080133B6: movs r0, 0 mov r1, sp movs r2, 0x80 - bl EmitDrawPartyStatusSummary + bl BtlController_EmitDrawPartyStatusSummary ldrb r0, [r4] bl MarkBufferBankForExecution movs r7, 0 @@ -6823,15 +6823,15 @@ _0801342E: movs r0, 0 mov r1, sp movs r2, 0x80 - bl EmitDrawPartyStatusSummary + bl BtlController_EmitDrawPartyStatusSummary ldrb r0, [r4] bl MarkBufferBankForExecution - ldr r1, _08013460 @ =gUnknown_3004F84 + ldr r1, _08013460 @ =gBattleMainFunc ldr r0, _08013464 @ =BattleIntroPrintTrainerWantsToBattle b _080134C6 .align 2, 0 _0801345C: .4byte gActiveBattler -_08013460: .4byte gUnknown_3004F84 +_08013460: .4byte gBattleMainFunc _08013464: .4byte BattleIntroPrintTrainerWantsToBattle _08013468: movs r7, 0 @@ -6878,7 +6878,7 @@ _080134B6: adds r7, 0x1 cmp r7, 0x5 ble _0801346E - ldr r1, _080134D4 @ =gUnknown_3004F84 + ldr r1, _080134D4 @ =gBattleMainFunc ldr r0, _080134D8 @ =sub_8013514 _080134C6: str r0, [r1] @@ -6890,7 +6890,7 @@ _080134C8: pop {r0} bx r0 .align 2, 0 -_080134D4: .4byte gUnknown_3004F84 +_080134D4: .4byte gBattleMainFunc _080134D8: .4byte sub_8013514 thumb_func_end BattleIntroDrawPartySummaryScreens @@ -6908,7 +6908,7 @@ BattleIntroPrintTrainerWantsToBattle: @ 80134DC ldrb r1, [r1] movs r0, 0 bl PrepareStringBattle - ldr r1, _0801350C @ =gUnknown_3004F84 + ldr r1, _0801350C @ =gBattleMainFunc ldr r0, _08013510 @ =sub_8013568 str r0, [r1] _080134FE: @@ -6917,7 +6917,7 @@ _080134FE: .align 2, 0 _08013504: .4byte gBattleControllerExecFlags _08013508: .4byte gActiveBattler -_0801350C: .4byte gUnknown_3004F84 +_0801350C: .4byte gBattleMainFunc _08013510: .4byte sub_8013568 thumb_func_end BattleIntroPrintTrainerWantsToBattle @@ -6928,7 +6928,7 @@ sub_8013514: @ 8013514 ldr r0, [r0] cmp r0, 0 bne _0801354A - ldr r1, _08013554 @ =gUnknown_3004F84 + ldr r1, _08013554 @ =gBattleMainFunc ldr r0, _08013558 @ =sub_80136E4 str r0, [r1] movs r0, 0 @@ -6952,7 +6952,7 @@ _0801354A: bx r0 .align 2, 0 _08013550: .4byte gBattleControllerExecFlags -_08013554: .4byte gUnknown_3004F84 +_08013554: .4byte gBattleMainFunc _08013558: .4byte sub_80136E4 _0801355C: .4byte gBattleTypeFlags _08013560: .4byte gBattleScripting @@ -6973,7 +6973,7 @@ sub_8013568: @ 8013568 lsrs r1, 24 movs r0, 0x1 bl PrepareStringBattle - ldr r1, _08013594 @ =gUnknown_3004F84 + ldr r1, _08013594 @ =gBattleMainFunc ldr r0, _08013598 @ =sub_801359C str r0, [r1] _0801358A: @@ -6981,7 +6981,7 @@ _0801358A: bx r0 .align 2, 0 _08013590: .4byte gBattleControllerExecFlags -_08013594: .4byte gUnknown_3004F84 +_08013594: .4byte gBattleMainFunc _08013598: .4byte sub_801359C thumb_func_end sub_8013568 @@ -7007,7 +7007,7 @@ _080135B4: cmp r0, 0x1 bne _080135CE movs r0, 0 - bl EmitIntroTrainerBallThrow + bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] bl MarkBufferBankForExecution _080135CE: @@ -7024,7 +7024,7 @@ _080135CE: cmp r0, 0x3 bne _080135F4 movs r0, 0 - bl EmitIntroTrainerBallThrow + bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] bl MarkBufferBankForExecution _080135F4: @@ -7038,7 +7038,7 @@ _080135F4: cmp r0, r1 bcc _080135B4 _08013606: - ldr r1, _08013624 @ =gUnknown_3004F84 + ldr r1, _08013624 @ =gBattleMainFunc ldr r0, _08013628 @ =sub_801362C str r0, [r1] _0801360C: @@ -7050,7 +7050,7 @@ _08013614: .4byte gBattleControllerExecFlags _08013618: .4byte gActiveBattler _0801361C: .4byte gBattlersCount _08013620: .4byte gBattleTypeFlags -_08013624: .4byte gUnknown_3004F84 +_08013624: .4byte gBattleMainFunc _08013628: .4byte sub_801362C thumb_func_end sub_801359C @@ -7109,7 +7109,7 @@ _08013684: cmp r0, r1 bcc _0801364C _08013696: - ldr r1, _080136BC @ =gUnknown_3004F84 + ldr r1, _080136BC @ =gBattleMainFunc ldr r0, _080136C0 @ =sub_80136E4 str r0, [r1] _0801369C: @@ -7123,7 +7123,7 @@ _080136AC: .4byte gBattlersCount _080136B0: .4byte gBattleMons _080136B4: .4byte gBattleTypeFlags _080136B8: .4byte 0x0001aa02 -_080136BC: .4byte gUnknown_3004F84 +_080136BC: .4byte gBattleMainFunc _080136C0: .4byte sub_80136E4 thumb_func_end sub_801362C @@ -7134,7 +7134,7 @@ sub_80136C4: @ 80136C4 ldr r0, [r0] cmp r0, 0 bne _080136D4 - ldr r1, _080136DC @ =gUnknown_3004F84 + ldr r1, _080136DC @ =gBattleMainFunc ldr r0, _080136E0 @ =sub_80136E4 str r0, [r1] _080136D4: @@ -7142,7 +7142,7 @@ _080136D4: bx r0 .align 2, 0 _080136D8: .4byte gBattleControllerExecFlags -_080136DC: .4byte gUnknown_3004F84 +_080136DC: .4byte gBattleMainFunc _080136E0: .4byte sub_80136E4 thumb_func_end sub_80136C4 @@ -7167,7 +7167,7 @@ sub_80136E4: @ 80136E4 movs r0, 0x1 bl PrepareStringBattle _0801370C: - ldr r1, _08013720 @ =gUnknown_3004F84 + ldr r1, _08013720 @ =gBattleMainFunc ldr r0, _08013724 @ =sub_8013728 str r0, [r1] _08013712: @@ -7176,7 +7176,7 @@ _08013712: .align 2, 0 _08013718: .4byte gBattleControllerExecFlags _0801371C: .4byte gBattleTypeFlags -_08013720: .4byte gUnknown_3004F84 +_08013720: .4byte gBattleMainFunc _08013724: .4byte sub_8013728 thumb_func_end sub_80136E4 @@ -7201,7 +7201,7 @@ _08013740: cmp r0, 0 bne _08013758 movs r0, 0 - bl EmitIntroTrainerBallThrow + bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] bl MarkBufferBankForExecution _08013758: @@ -7218,7 +7218,7 @@ _08013758: cmp r0, 0x2 bne _0801377E movs r0, 0 - bl EmitIntroTrainerBallThrow + bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] bl MarkBufferBankForExecution _0801377E: @@ -7243,7 +7243,7 @@ _08013790: ldr r0, [r2] adds r0, 0xB6 strb r1, [r0] - ldr r1, _080137C8 @ =gUnknown_3004F84 + ldr r1, _080137C8 @ =gBattleMainFunc ldr r0, _080137CC @ =sub_801385C str r0, [r1] _080137AC: @@ -7256,7 +7256,7 @@ _080137B8: .4byte gActiveBattler _080137BC: .4byte gBattlersCount _080137C0: .4byte gBattleTypeFlags _080137C4: .4byte gBattleStruct -_080137C8: .4byte gUnknown_3004F84 +_080137C8: .4byte gBattleMainFunc _080137CC: .4byte sub_801385C thumb_func_end sub_8013728 @@ -7287,7 +7287,7 @@ _080137EA: ldrb r1, [r0] movs r0, 0 movs r2, 0 - bl EmitSwitchInAnim + bl BtlController_EmitSwitchInAnim ldrb r0, [r4] bl MarkBufferBankForExecution _0801380C: @@ -7312,7 +7312,7 @@ _0801381E: ldr r0, [r2] adds r0, 0xB6 strb r1, [r0] - ldr r1, _08013854 @ =gUnknown_3004F84 + ldr r1, _08013854 @ =gBattleMainFunc ldr r0, _08013858 @ =sub_801385C str r0, [r1] _0801383A: @@ -7325,7 +7325,7 @@ _08013844: .4byte gActiveBattler _08013848: .4byte gBattlersCount _0801384C: .4byte gBattlerPartyIndexes _08013850: .4byte gBattleStruct -_08013854: .4byte gUnknown_3004F84 +_08013854: .4byte gBattleMainFunc _08013858: .4byte sub_801385C thumb_func_end sub_80137D0 @@ -7598,7 +7598,7 @@ _08013A32: ldr r1, _08013AFC @ =gAbsentBattlerFlags ldrb r1, [r1] strb r1, [r0] - ldr r1, _08013B00 @ =gUnknown_3004F84 + ldr r1, _08013B00 @ =gBattleMainFunc ldr r0, _08013B04 @ =sub_8014040 str r0, [r1] bl ResetSentPokesToOpponentValue @@ -7673,7 +7673,7 @@ _08013AF0: .4byte gUnknown_2023BDE _08013AF4: .4byte gUnknown_2023D7C _08013AF8: .4byte gUnknown_2023DC4 _08013AFC: .4byte gAbsentBattlerFlags -_08013B00: .4byte gUnknown_3004F84 +_08013B00: .4byte gBattleMainFunc _08013B04: .4byte sub_8014040 _08013B08: .4byte gUnknown_2023E82 _08013B0C: .4byte gBattleScripting @@ -7689,7 +7689,7 @@ sub_8013B1C: @ 8013B1C ldr r0, [r0] cmp r0, 0 bne _08013BAC - ldr r1, _08013BB8 @ =gUnknown_3004F84 + ldr r1, _08013BB8 @ =gBattleMainFunc ldr r0, _08013BBC @ =sub_8013BD4 str r0, [r1] ldr r3, _08013BC0 @ =gBattlersCount @@ -7765,7 +7765,7 @@ _08013BAC: bx r0 .align 2, 0 _08013BB4: .4byte gBattleControllerExecFlags -_08013BB8: .4byte gUnknown_3004F84 +_08013BB8: .4byte gBattleMainFunc _08013BBC: .4byte sub_8013BD4 _08013BC0: .4byte gBattlersCount _08013BC4: .4byte gUnknown_2023E82 @@ -7851,7 +7851,7 @@ _08013C58: ldr r1, _08013CA4 @ =gUnknown_2023BE3 movs r0, 0xC strb r0, [r1] - ldr r1, _08013CA8 @ =gUnknown_3004F84 + ldr r1, _08013CA8 @ =gBattleMainFunc ldr r0, _08013CAC @ =RunTurnActionsFunctions str r0, [r1] b _08013D20 @@ -7868,7 +7868,7 @@ _08013C98: .4byte gBattleMoveDamage _08013C9C: .4byte gMoveResultFlags _08013CA0: .4byte gUnknown_2023E82 _08013CA4: .4byte gUnknown_2023BE3 -_08013CA8: .4byte gUnknown_3004F84 +_08013CA8: .4byte gBattleMainFunc _08013CAC: .4byte RunTurnActionsFunctions _08013CB0: ldr r1, _08013D30 @ =gBattleResults @@ -7882,7 +7882,7 @@ _08013CBC: ldr r4, _08013D34 @ =gBattlersCount ldr r0, _08013D38 @ =gBattleStruct mov r8, r0 - ldr r1, _08013D3C @ =gUnknown_3004F84 + ldr r1, _08013D3C @ =gBattleMainFunc mov r10, r1 ldr r0, _08013D40 @ =gAbsentBattlerFlags mov r12, r0 @@ -7942,7 +7942,7 @@ _08013D20: _08013D30: .4byte gBattleResults _08013D34: .4byte gBattlersCount _08013D38: .4byte gBattleStruct -_08013D3C: .4byte gUnknown_3004F84 +_08013D3C: .4byte gBattleMainFunc _08013D40: .4byte gAbsentBattlerFlags _08013D44: .4byte sub_8014040 _08013D48: .4byte gUnknown_2023D7C @@ -8503,17 +8503,17 @@ _080141B8: .4byte gUnknown_2023E82 _080141BC: ldr r0, _080141D4 @ =gUnknown_2023D7C ldrb r1, [r0] - ldr r0, _080141D8 @ =gUnknown_20233C4 + ldr r0, _080141D8 @ =gBattleBufferB ldrb r2, [r0, 0x1] ldrb r0, [r0, 0x2] lsls r0, 8 orrs r2, r0 movs r0, 0 - bl EmitChooseAction + bl BtlController_EmitChooseAction bl _08014B26 .align 2, 0 _080141D4: .4byte gUnknown_2023D7C -_080141D8: .4byte gUnknown_20233C4 +_080141D8: .4byte gBattleBufferB _080141DC: ldr r4, _08014234 @ =gBattleControllerExecFlags ldr r1, _08014238 @ =gBitTable @@ -8540,7 +8540,7 @@ _080141DC: _0801420A: ldr r2, _08014240 @ =gUnknown_2023D7C adds r2, r5, r2 - ldr r1, _08014244 @ =gUnknown_20233C4 + ldr r1, _08014244 @ =gBattleBufferB lsls r0, r5, 9 adds r1, 0x1 adds r0, r1 @@ -8564,7 +8564,7 @@ _08014234: .4byte gBattleControllerExecFlags _08014238: .4byte gBitTable _0801423C: .4byte gActiveBattler _08014240: .4byte gUnknown_2023D7C -_08014244: .4byte gUnknown_20233C4 +_08014244: .4byte gBattleBufferB _08014248: .4byte _0801424C .align 2, 0 _0801424C: @@ -8608,7 +8608,7 @@ _08014280: ldrb r1, [r3] ldr r2, [r2] adds r2, r1, r2 - ldr r0, _080142D4 @ =gUnknown_20233C4 + ldr r0, _080142D4 @ =gBattleBufferB lsls r1, 9 adds r0, 0x3 adds r1, r0 @@ -8619,7 +8619,7 @@ _08014280: _080142C8: .4byte gUnknown_2023E82 _080142CC: .4byte gActiveBattler _080142D0: .4byte gBattleStruct -_080142D4: .4byte gUnknown_20233C4 +_080142D4: .4byte gBattleBufferB _080142D8: ldr r3, _08014318 @ =gDisableStructs ldr r5, _0801431C @ =gActiveBattler @@ -8736,7 +8736,7 @@ _0801436E: movs r0, 0 movs r2, 0 add r3, sp, 0x4 - bl EmitChooseMove + bl BtlController_EmitChooseMove b _0801460E .align 2, 0 _080143CC: .4byte gBattleMons @@ -8788,7 +8788,7 @@ _08014428: ldr r1, [r2] adds r1, r0 movs r0, 0 - bl EmitChooseItem + bl BtlController_EmitChooseItem ldrb r0, [r4] bl MarkBufferBankForExecution b _080146AC @@ -8934,7 +8934,7 @@ _08014548: str r0, [sp] movs r0, 0 movs r2, 0x6 - bl EmitChoosePokemon + bl BtlController_EmitChoosePokemon b _0801460E .align 2, 0 _08014574: .4byte gActiveBattler @@ -8988,7 +8988,7 @@ _080145D0: movs r1, 0 _080145DE: movs r3, 0 - bl EmitChoosePokemon + bl BtlController_EmitChoosePokemon b _0801460E .align 2, 0 _080145E8: .4byte gUnknown_2023D7C @@ -9007,7 +9007,7 @@ _080145F0: movs r1, 0 movs r2, 0x6 movs r3, 0 - bl EmitChoosePokemon + bl BtlController_EmitChoosePokemon _0801460E: ldr r0, _0801461C @ =gActiveBattler ldrb r0, [r0] @@ -9072,7 +9072,7 @@ _08014670: adds r0, r4 strb r5, [r0] movs r0, 0 - bl EmitCmd50 + bl BtlController_EmitEndBounceEffect mov r3, r8 ldrb r0, [r3] bl MarkBufferBankForExecution @@ -9086,7 +9086,7 @@ _080146AC: ands r0, r1 cmp r0, 0x8 bne _080146EC - ldr r0, _080146DC @ =gUnknown_20233C4 + ldr r0, _080146DC @ =gBattleBufferB ldr r4, _080146E0 @ =gActiveBattler ldrb r1, [r4] lsls r1, 9 @@ -9103,7 +9103,7 @@ _080146AC: b _08014926 .align 2, 0 _080146D8: .4byte gBattleTypeFlags -_080146DC: .4byte gUnknown_20233C4 +_080146DC: .4byte gBattleBufferB _080146E0: .4byte gActiveBattler _080146E4: .4byte gUnknown_81D8924 _080146E8: .4byte gUnknown_2023E82 @@ -9112,7 +9112,7 @@ _080146EC: lsls r0, 24 cmp r0, 0 beq _08014750 - ldr r0, _08014738 @ =gUnknown_20233C4 + ldr r0, _08014738 @ =gBattleBufferB ldr r4, _0801473C @ =gActiveBattler ldrb r2, [r4] lsls r1, r2, 9 @@ -9146,7 +9146,7 @@ _0801472C: strb r3, [r0] b _08014C78 .align 2, 0 -_08014738: .4byte gUnknown_20233C4 +_08014738: .4byte gBattleBufferB _0801473C: .4byte gActiveBattler _08014740: .4byte gUnknown_2023D80 _08014744: .4byte gUnknown_81D8943 @@ -9217,7 +9217,7 @@ _080147BC: .4byte _08014A68 .4byte _08014A8C _080147E4: - ldr r0, _08014804 @ =gUnknown_20233C4 + ldr r0, _08014804 @ =gBattleBufferB mov r1, r8 ldrb r4, [r1] lsls r1, r4, 9 @@ -9233,7 +9233,7 @@ _080147E4: strb r1, [r0] b _08014C78 .align 2, 0 -_08014804: .4byte gUnknown_20233C4 +_08014804: .4byte gBattleBufferB _08014808: adds r3, r7, 0 mov r5, r8 @@ -9333,7 +9333,7 @@ _080148CC: .4byte gUnknown_2023DC4 _080148D0: .4byte gBattleMons _080148D4: .4byte gUnknown_2023E82 _080148D8: - ldr r2, _08014900 @ =gUnknown_20233C4 + ldr r2, _08014900 @ =gBattleBufferB ldr r5, _08014904 @ =gActiveBattler ldrb r4, [r5] lsls r1, r4, 9 @@ -9349,18 +9349,18 @@ _080148D8: bne _080148F6 b _08014C48 _080148F6: - ldr r0, _08014908 @ =gUnknown_2023D68 + ldr r0, _08014908 @ =gLastUsedItem strh r3, [r0] ldr r0, _0801490C @ =gUnknown_2023E82 ldrb r1, [r5] b _08014B30 .align 2, 0 -_08014900: .4byte gUnknown_20233C4 +_08014900: .4byte gBattleBufferB _08014904: .4byte gActiveBattler -_08014908: .4byte gUnknown_2023D68 +_08014908: .4byte gLastUsedItem _0801490C: .4byte gUnknown_2023E82 _08014910: - ldr r6, _0801492C @ =gUnknown_20233C4 + ldr r6, _0801492C @ =gBattleBufferB ldr r7, _08014930 @ =gActiveBattler ldrb r2, [r7] lsls r0, r2, 9 @@ -9376,7 +9376,7 @@ _08014926: strb r1, [r0] b _08014C4E .align 2, 0 -_0801492C: .4byte gUnknown_20233C4 +_0801492C: .4byte gBattleBufferB _08014930: .4byte gActiveBattler _08014934: .4byte gUnknown_2023E82 _08014938: @@ -9602,7 +9602,7 @@ _08014ACA: _08014AFE: movs r0, 0 movs r1, 0 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg b _08014B24 .align 2, 0 _08014B08: .4byte gBattleControllerExecFlags @@ -9613,7 +9613,7 @@ _08014B18: .4byte gBattleStruct _08014B1C: movs r0, 0 movs r1, 0x1 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg _08014B24: ldr r4, _08014B3C @ =gActiveBattler _08014B26: @@ -9684,7 +9684,7 @@ _08014BA8: .4byte gActiveBattler _08014BAC: .4byte gBattleStruct _08014BB0: .4byte gUnknown_2023E82 _08014BB4: - ldr r0, _08014C08 @ =sBattler_AI + ldr r0, _08014C08 @ =gBattlerAttacker strb r2, [r0] ldr r7, _08014C0C @ =gUnknown_2023D74 ldr r6, _08014C10 @ =gUnknown_2023D80 @@ -9726,7 +9726,7 @@ _08014BFA: str r1, [r0] b _08014C4E .align 2, 0 -_08014C08: .4byte sBattler_AI +_08014C08: .4byte gBattlerAttacker _08014C0C: .4byte gUnknown_2023D74 _08014C10: .4byte gUnknown_2023D80 _08014C14: .4byte gBattleControllerExecFlags @@ -9776,7 +9776,7 @@ _08014C68: ldrb r2, [r2] cmp r0, r2 bne _08014C78 - ldr r1, _08014C9C @ =gUnknown_3004F84 + ldr r1, _08014C9C @ =gBattleMainFunc ldr r0, _08014CA0 @ =sub_80150A8 str r0, [r1] _08014C78: @@ -9794,7 +9794,7 @@ _08014C8C: .4byte gBitTable _08014C90: .4byte gActiveBattler _08014C94: .4byte gUnknown_2023E82 _08014C98: .4byte gBattlersCount -_08014C9C: .4byte gUnknown_3004F84 +_08014C9C: .4byte gBattleMainFunc _08014CA0: .4byte sub_80150A8 thumb_func_end sub_8014040 @@ -10434,7 +10434,7 @@ _08015174: movs r3, 0x1 movs r5, 0 adds r4, r1, 0 - ldr r7, _080151E8 @ =gUnknown_3004F84 + ldr r7, _080151E8 @ =gBattleMainFunc mov r10, r7 ldr r0, _080151EC @ =CheckFocusPunch_ClearVarsBeforeTurnStarts mov r12, r0 @@ -10477,7 +10477,7 @@ _080151D8: .4byte gUnknown_2023D7C _080151DC: .4byte gActiveBattler _080151E0: .4byte gUnknown_2023BDA _080151E4: .4byte gUnknown_2023BDE -_080151E8: .4byte gUnknown_3004F84 +_080151E8: .4byte gBattleMainFunc _080151EC: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts _080151F0: .4byte gBattleStruct _080151F4: .4byte gBattlersCount @@ -10617,7 +10617,7 @@ _080152F0: cmp r5, r0 blt _08015298 _080152FA: - ldr r1, _08015324 @ =gUnknown_3004F84 + ldr r1, _08015324 @ =gBattleMainFunc ldr r0, _08015328 @ =CheckFocusPunch_ClearVarsBeforeTurnStarts str r0, [r1] ldr r0, _0801532C @ =gBattleStruct @@ -10637,7 +10637,7 @@ _08015304: _08015318: .4byte gUnknown_2023BDA _0801531C: .4byte gUnknown_2023BDE _08015320: .4byte gBattlersCount -_08015324: .4byte gUnknown_3004F84 +_08015324: .4byte gBattleMainFunc _08015328: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts _0801532C: .4byte gBattleStruct thumb_func_end sub_80150A8 @@ -10854,7 +10854,7 @@ CheckFocusPunch_ClearVarsBeforeTurnStarts: @ 80154A0 cmp r0, r1 bcs _0801555E ldr r5, _08015534 @ =gActiveBattler - ldr r4, _08015538 @ =sBattler_AI + ldr r4, _08015538 @ =gBattlerAttacker movs r7, 0x84 lsls r7, 1 _080154CC: @@ -10908,7 +10908,7 @@ _08015528: .4byte gUnknown_2023DD0 _0801552C: .4byte gBattleStruct _08015530: .4byte gBattlersCount _08015534: .4byte gActiveBattler -_08015538: .4byte sBattler_AI +_08015538: .4byte gBattlerAttacker _0801553C: .4byte gUnknown_2023DC4 _08015540: .4byte gBattleMons _08015544: .4byte gDisableStructs @@ -10938,7 +10938,7 @@ _0801555E: ldr r0, _080155B0 @ =gBattleStruct ldr r0, [r0] strb r2, [r0, 0x13] - ldr r1, _080155B4 @ =gUnknown_3004F84 + ldr r1, _080155B4 @ =gBattleMainFunc ldr r0, _080155B8 @ =RunTurnActionsFunctions str r0, [r1] ldr r0, _080155BC @ =gUnknown_2023E82 @@ -10961,7 +10961,7 @@ _080155A4: .4byte gUnknown_2023BE3 _080155A8: .4byte gUnknown_2023BDA _080155AC: .4byte gDynamicBasePower _080155B0: .4byte gBattleStruct -_080155B4: .4byte gUnknown_3004F84 +_080155B4: .4byte gBattleMainFunc _080155B8: .4byte RunTurnActionsFunctions _080155BC: .4byte gUnknown_2023E82 _080155C0: .4byte gBattleScripting @@ -11001,7 +11001,7 @@ _080155D8: ldr r1, _08015638 @ =0xffefffff ands r0, r1 str r0, [r2] - ldr r3, _0801563C @ =gUnknown_3004F84 + ldr r3, _0801563C @ =gBattleMainFunc ldr r2, _08015640 @ =gUnknown_8250070 ldrb r1, [r6] movs r0, 0x7F @@ -11020,7 +11020,7 @@ _0801562C: .4byte gUnknown_8250038 _08015630: .4byte gBattlersCount _08015634: .4byte gUnknown_2023DD0 _08015638: .4byte 0xffefffff -_0801563C: .4byte gUnknown_3004F84 +_0801563C: .4byte gBattleMainFunc _08015640: .4byte gUnknown_8250070 _08015644: ldr r0, [r5] @@ -11063,7 +11063,7 @@ sub_8015670: @ 8015670 strb r0, [r1] movs r0, 0 bl GetBattlerAtPosition - ldr r1, _080156B8 @ =sBattler_AI + ldr r1, _080156B8 @ =gBattlerAttacker strb r0, [r1] ldr r1, _080156BC @ =gUnknown_2023D74 ldr r0, _080156C0 @ =gUnknown_81D88CC @@ -11078,7 +11078,7 @@ _080156A8: .4byte gUnknown_2023BE3 _080156AC: .4byte gBattleTypeFlags _080156B0: .4byte gBattleTextBuff1 _080156B4: .4byte gBattleOutcome -_080156B8: .4byte sBattler_AI +_080156B8: .4byte gBattlerAttacker _080156BC: .4byte gUnknown_2023D74 _080156C0: .4byte gUnknown_81D88CC _080156C4: @@ -11154,7 +11154,7 @@ _08015768: _0801576C: str r0, [r1] _0801576E: - ldr r1, _08015784 @ =gUnknown_3004F84 + ldr r1, _08015784 @ =gBattleMainFunc ldr r0, _08015788 @ =sub_8015910 str r0, [r1] pop {r4} @@ -11163,7 +11163,7 @@ _0801576E: .align 2, 0 _0801577C: .4byte gUnknown_2023D74 _08015780: .4byte gUnknown_81D8803 -_08015784: .4byte gUnknown_3004F84 +_08015784: .4byte gBattleMainFunc _08015788: .4byte sub_8015910 thumb_func_end sub_8015670 @@ -11186,7 +11186,7 @@ sub_801578C: @ 801578C strb r0, [r1] movs r0, 0 bl GetBattlerAtPosition - ldr r1, _080157D4 @ =sBattler_AI + ldr r1, _080157D4 @ =gBattlerAttacker strb r0, [r1] ldr r1, _080157D8 @ =gUnknown_2023D74 ldr r0, _080157DC @ =gUnknown_81D88CC @@ -11201,7 +11201,7 @@ _080157C4: .4byte gUnknown_2023BE3 _080157C8: .4byte gBattleTypeFlags _080157CC: .4byte gBattleTextBuff1 _080157D0: .4byte gBattleOutcome -_080157D4: .4byte sBattler_AI +_080157D4: .4byte gBattlerAttacker _080157D8: .4byte gUnknown_2023D74 _080157DC: .4byte gUnknown_81D88CC _080157E0: @@ -11231,12 +11231,12 @@ _0801580C: _08015810: movs r0, 0x1 bl GetBattlerAtPosition - ldr r1, _08015820 @ =sBattler_AI + ldr r1, _08015820 @ =gBattlerAttacker strb r0, [r1] b _0801582A .align 2, 0 _0801581C: .4byte gUnknown_2023E82 -_08015820: .4byte sBattler_AI +_08015820: .4byte gBattlerAttacker _08015824: ldr r1, _0801583C @ =gUnknown_2023E82 movs r0, 0 @@ -11246,7 +11246,7 @@ _0801582A: ldr r0, _08015844 @ =gUnknown_81D8806 str r0, [r1] _08015830: - ldr r1, _08015848 @ =gUnknown_3004F84 + ldr r1, _08015848 @ =gBattleMainFunc ldr r0, _0801584C @ =sub_8015910 str r0, [r1] pop {r4} @@ -11256,7 +11256,7 @@ _08015830: _0801583C: .4byte gUnknown_2023E82 _08015840: .4byte gUnknown_2023D74 _08015844: .4byte gUnknown_81D8806 -_08015848: .4byte gUnknown_3004F84 +_08015848: .4byte gBattleMainFunc _0801584C: .4byte sub_8015910 thumb_func_end sub_801578C @@ -11267,7 +11267,7 @@ sub_8015850: @ 8015850 movs r0, 0 strb r0, [r1] ldr r1, _0801587C @ =gUnknown_2023E8C - ldr r0, _08015880 @ =sBattler_AI + ldr r0, _08015880 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -11284,7 +11284,7 @@ sub_8015850: @ 8015850 .align 2, 0 _08015878: .4byte gUnknown_2023BE3 _0801587C: .4byte gUnknown_2023E8C -_08015880: .4byte sBattler_AI +_08015880: .4byte gBattlerAttacker _08015884: .4byte gUnknown_2023D74 _08015888: .4byte gUnknown_81D8916 _0801588C: @@ -11299,7 +11299,7 @@ _0801589C: ldr r0, _080158B0 @ =gUnknown_81D890F _080158A0: str r0, [r1] - ldr r1, _080158B4 @ =gUnknown_3004F84 + ldr r1, _080158B4 @ =gBattleMainFunc ldr r0, _080158B8 @ =sub_8015910 str r0, [r1] pop {r0} @@ -11307,7 +11307,7 @@ _080158A0: .align 2, 0 _080158AC: .4byte gUnknown_2023D74 _080158B0: .4byte gUnknown_81D890F -_080158B4: .4byte gUnknown_3004F84 +_080158B4: .4byte gBattleMainFunc _080158B8: .4byte sub_8015910 thumb_func_end sub_8015850 @@ -11321,7 +11321,7 @@ sub_80158BC: @ 80158BC strb r0, [r1] movs r0, 0x7 strb r0, [r1, 0x1] - ldr r2, _080158F8 @ =sBattler_AI + ldr r2, _080158F8 @ =gBattlerAttacker ldrb r0, [r2] strb r0, [r1, 0x2] ldr r3, _080158FC @ =gBattlerPartyIndexes @@ -11335,18 +11335,18 @@ sub_80158BC: @ 80158BC ldr r1, _08015900 @ =gUnknown_2023D74 ldr r0, _08015904 @ =gUnknown_81D891D str r0, [r1] - ldr r1, _08015908 @ =gUnknown_3004F84 + ldr r1, _08015908 @ =gBattleMainFunc ldr r0, _0801590C @ =sub_8015910 str r0, [r1] bx lr .align 2, 0 _080158F0: .4byte gUnknown_2023BE3 _080158F4: .4byte gBattleTextBuff1 -_080158F8: .4byte sBattler_AI +_080158F8: .4byte gBattlerAttacker _080158FC: .4byte gBattlerPartyIndexes _08015900: .4byte gUnknown_2023D74 _08015904: .4byte gUnknown_81D891D -_08015908: .4byte gUnknown_3004F84 +_08015908: .4byte gBattleMainFunc _0801590C: .4byte sub_8015910 thumb_func_end sub_80158BC @@ -11445,7 +11445,7 @@ _080159D0: bl BeginFastPaletteFade movs r0, 0x5 bl FadeOutMapMusic - ldr r1, _080159F4 @ =gUnknown_3004F84 + ldr r1, _080159F4 @ =gBattleMainFunc ldr r0, _080159F8 @ =sub_8015A30 str r0, [r1] ldr r1, _080159FC @ =gUnknown_300537C @@ -11455,7 +11455,7 @@ _080159D0: .align 2, 0 _080159EC: .4byte gBattlersCount _080159F0: .4byte gBattleTypeFlags -_080159F4: .4byte gUnknown_3004F84 +_080159F4: .4byte gBattleMainFunc _080159F8: .4byte sub_8015A30 _080159FC: .4byte gUnknown_300537C _08015A00: .4byte BattleMainCB2 @@ -11501,17 +11501,17 @@ sub_8015A30: @ 8015A30 cmp r0, 0x1 beq _08015A6C _08015A52: - ldr r1, _08015A64 @ =gUnknown_3004F84 + ldr r1, _08015A64 @ =gBattleMainFunc ldr r0, _08015A68 @ =ReturnFromBattleToOverworld b _08015A70 .align 2, 0 _08015A58: .4byte gPaletteFade _08015A5C: .4byte gUnknown_3004FD4 _08015A60: .4byte gBattleOutcome -_08015A64: .4byte gUnknown_3004F84 +_08015A64: .4byte gBattleMainFunc _08015A68: .4byte ReturnFromBattleToOverworld _08015A6C: - ldr r1, _08015A94 @ =gUnknown_3004F84 + ldr r1, _08015A94 @ =gBattleMainFunc ldr r0, _08015A98 @ =sub_8015AA0 _08015A70: str r0, [r1] @@ -11529,7 +11529,7 @@ _08015A8E: pop {r0} bx r0 .align 2, 0 -_08015A94: .4byte gUnknown_3004F84 +_08015A94: .4byte gBattleMainFunc _08015A98: .4byte sub_8015AA0 _08015A9C: .4byte gBattleTypeFlags thumb_func_end sub_8015A30 @@ -11568,7 +11568,7 @@ _08015AAE: lsrs r2, r0, 16 cmp r2, 0 beq _08015B08 - ldr r0, _08015B00 @ =gUnknown_3004F84 + ldr r0, _08015B00 @ =gBattleMainFunc ldr r1, _08015B04 @ =sub_8015B30 str r1, [r0] lsls r3, r5, 24 @@ -11582,7 +11582,7 @@ _08015AAE: _08015AF4: .4byte gUnknown_3004FD4 _08015AF8: .4byte gBitTable _08015AFC: .4byte gPlayerParty -_08015B00: .4byte gUnknown_3004F84 +_08015B00: .4byte gBattleMainFunc _08015B04: .4byte sub_8015B30 _08015B08: adds r5, 0x1 @@ -11593,7 +11593,7 @@ _08015B08: cmp r0, 0 bne _08015AAC _08015B16: - ldr r1, _08015B28 @ =gUnknown_3004F84 + ldr r1, _08015B28 @ =gBattleMainFunc ldr r0, _08015B2C @ =ReturnFromBattleToOverworld str r0, [r1] _08015B1C: @@ -11602,7 +11602,7 @@ _08015B1C: bx r0 .align 2, 0 _08015B24: .4byte gUnknown_3004FD4 -_08015B28: .4byte gUnknown_3004F84 +_08015B28: .4byte gBattleMainFunc _08015B2C: .4byte ReturnFromBattleToOverworld thumb_func_end sub_8015AA0 @@ -11614,7 +11614,7 @@ sub_8015B30: @ 8015B30 ldr r0, _08015B4C @ =BattleMainCB2 cmp r1, r0 bne _08015B42 - ldr r1, _08015B50 @ =gUnknown_3004F84 + ldr r1, _08015B50 @ =gBattleMainFunc ldr r0, _08015B54 @ =sub_8015AA0 str r0, [r1] _08015B42: @@ -11623,7 +11623,7 @@ _08015B42: .align 2, 0 _08015B48: .4byte gMain _08015B4C: .4byte BattleMainCB2 -_08015B50: .4byte gUnknown_3004F84 +_08015B50: .4byte gBattleMainFunc _08015B54: .4byte sub_8015AA0 thumb_func_end sub_8015B30 @@ -11726,7 +11726,7 @@ RunBattleScriptCommands_PopCallbacksStack: @ 8015C00 subs r0, 0x1 strb r0, [r1] _08015C24: - ldr r2, _08015C44 @ =gUnknown_3004F84 + ldr r2, _08015C44 @ =gBattleMainFunc ldr r0, [r3] ldr r1, [r0, 0xC] adds r0, r1, 0 @@ -11740,7 +11740,7 @@ _08015C24: .align 2, 0 _08015C3C: .4byte gUnknown_2023BE3 _08015C40: .4byte gBattleResources -_08015C44: .4byte gUnknown_3004F84 +_08015C44: .4byte gBattleMainFunc _08015C48: ldr r0, _08015C68 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -11797,7 +11797,7 @@ sub_8015CA0: @ 8015CA0 sub sp, 0x8 movs r0, 0x4 str r0, [sp] - ldr r6, _08015CE0 @ =sBattler_AI + ldr r6, _08015CE0 @ =gBattlerAttacker ldr r1, _08015CE4 @ =gUnknown_2023BDE ldr r0, _08015CE8 @ =gUnknown_2023BE2 ldrb r0, [r0] @@ -11821,7 +11821,7 @@ sub_8015CA0: @ 8015CA0 movs r0, 0xC b _0801634C .align 2, 0 -_08015CE0: .4byte sBattler_AI +_08015CE0: .4byte gBattlerAttacker _08015CE4: .4byte gUnknown_2023BDE _08015CE8: .4byte gUnknown_2023BE2 _08015CEC: .4byte gBattleStruct @@ -11868,7 +11868,7 @@ _08015CF8: ands r0, r1 strb r0, [r3] ldr r2, _08015D90 @ =gCurrentMove - ldr r1, _08015D94 @ =gUnknown_2023D4C + ldr r1, _08015D94 @ =gChosenMove movs r0, 0xA5 strh r0, [r1] strh r0, [r2] @@ -11896,7 +11896,7 @@ _08015D84: .4byte gUnknown_2023D49 _08015D88: .4byte gBattleStruct _08015D8C: .4byte gUnknown_2023E8C _08015D90: .4byte gCurrentMove -_08015D94: .4byte gUnknown_2023D4C +_08015D94: .4byte gChosenMove _08015D98: .4byte gUnknown_2023DD0 _08015D9C: ldr r0, _08015DD4 @ =gBattleMons @@ -11920,7 +11920,7 @@ _08015D9C: beq _08015DE4 _08015DC2: ldr r3, _08015DD8 @ =gCurrentMove - ldr r2, _08015DDC @ =gUnknown_2023D4C + ldr r2, _08015DDC @ =gChosenMove ldr r1, _08015DE0 @ =gUnknown_2023DB8 lsls r0, r4, 1 adds r0, r1 @@ -11931,7 +11931,7 @@ _08015DC2: .align 2, 0 _08015DD4: .4byte gBattleMons _08015DD8: .4byte gCurrentMove -_08015DDC: .4byte gUnknown_2023D4C +_08015DDC: .4byte gChosenMove _08015DE0: .4byte gUnknown_2023DB8 _08015DE4: ldr r3, _08015E38 @ =gDisableStructs @@ -11954,7 +11954,7 @@ _08015DE4: cmp r2, r1 bne _08015E48 ldr r2, _08015E3C @ =gCurrentMove - ldr r0, _08015E40 @ =gUnknown_2023D4C + ldr r0, _08015E40 @ =gChosenMove strh r4, [r0] strh r4, [r2] ldrb r1, [r6] @@ -11977,7 +11977,7 @@ _08015DE4: .align 2, 0 _08015E38: .4byte gDisableStructs _08015E3C: .4byte gCurrentMove -_08015E40: .4byte gUnknown_2023D4C +_08015E40: .4byte gChosenMove _08015E44: .4byte gBattleStruct _08015E48: cmp r2, 0 @@ -11989,7 +11989,7 @@ _08015E48: mov r0, r8 strb r3, [r0] ldr r3, _08015EB0 @ =gCurrentMove - ldr r2, _08015EB4 @ =gUnknown_2023D4C + ldr r2, _08015EB4 @ =gChosenMove ldrb r0, [r0] lsls r0, 1 ldrb r1, [r6] @@ -12032,13 +12032,13 @@ _08015E48: b _08015EF6 .align 2, 0 _08015EB0: .4byte gCurrentMove -_08015EB4: .4byte gUnknown_2023D4C +_08015EB4: .4byte gChosenMove _08015EB8: .4byte gBattleStruct _08015EBC: mov r4, r8 ldrb r0, [r4] lsls r0, 1 - ldr r4, _08015EFC @ =sBattler_AI + ldr r4, _08015EFC @ =gBattlerAttacker ldrb r2, [r4] movs r1, 0x58 muls r1, r2 @@ -12054,7 +12054,7 @@ _08015EBC: cmp r3, r2 beq _08015F10 ldr r1, _08015F04 @ =gCurrentMove - ldr r0, _08015F08 @ =gUnknown_2023D4C + ldr r0, _08015F08 @ =gChosenMove strh r3, [r0] strh r3, [r1] ldrh r0, [r1] @@ -12068,18 +12068,18 @@ _08015EF6: strb r0, [r1, 0xC] b _08015F18 .align 2, 0 -_08015EFC: .4byte sBattler_AI +_08015EFC: .4byte gBattlerAttacker _08015F00: .4byte gUnknown_2023DC4 _08015F04: .4byte gCurrentMove -_08015F08: .4byte gUnknown_2023D4C +_08015F08: .4byte gChosenMove _08015F0C: .4byte gBattleStruct _08015F10: ldr r1, _08015F30 @ =gCurrentMove - ldr r0, _08015F34 @ =gUnknown_2023D4C + ldr r0, _08015F34 @ =gChosenMove strh r3, [r0] strh r3, [r1] _08015F18: - ldr r0, _08015F38 @ =sBattler_AI + ldr r0, _08015F38 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -12092,8 +12092,8 @@ _08015F18: b _08015F48 .align 2, 0 _08015F30: .4byte gCurrentMove -_08015F34: .4byte gUnknown_2023D4C -_08015F38: .4byte sBattler_AI +_08015F34: .4byte gChosenMove +_08015F38: .4byte gBattlerAttacker _08015F3C: .4byte gBattleResults _08015F40: ldr r0, _08015FAC @ =gBattleResults @@ -12101,7 +12101,7 @@ _08015F40: ldrh r1, [r1] strh r1, [r0, 0x24] _08015F48: - ldr r4, _08015FB4 @ =sBattler_AI + ldr r4, _08015FB4 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide movs r1, 0x1 @@ -12150,7 +12150,7 @@ _08015F48: .align 2, 0 _08015FAC: .4byte gBattleResults _08015FB0: .4byte gCurrentMove -_08015FB4: .4byte sBattler_AI +_08015FB4: .4byte gBattlerAttacker _08015FB8: .4byte gSideTimers _08015FBC: .4byte gBattleMoves _08015FC0: .4byte gBattleMons @@ -12160,7 +12160,7 @@ _08015FC8: ldr r1, [r2] movs r0, 0x1 ands r1, r0 - ldr r3, _080160E8 @ =sBattler_AI + ldr r3, _080160E8 @ =gBattlerAttacker adds r7, r2, 0 cmp r1, 0 bne _08015FDA @@ -12192,7 +12192,7 @@ _08015FEC: b _080161F8 _08016008: ldr r3, _080160F8 @ =gBattleMons - ldr r2, _080160E8 @ =sBattler_AI + ldr r2, _080160E8 @ =gBattlerAttacker ldrb r6, [r2] ldr r0, _080160FC @ =gBattleStruct ldr r0, [r0] @@ -12231,7 +12231,7 @@ _08016048: lsrs r0, 24 cmp r6, r0 beq _08016096 - ldr r0, _080160E8 @ =sBattler_AI + ldr r0, _080160E8 @ =gBattlerAttacker ldrb r1, [r0] ldr r0, _080160FC @ =gBattleStruct ldr r0, [r0] @@ -12278,7 +12278,7 @@ _080160A8: b _080161AA _080160B0: ldr r2, _080160F0 @ =gBattleMoves - ldr r0, _08016108 @ =gUnknown_2023D4C + ldr r0, _08016108 @ =gChosenMove ldrh r1, [r0] lsls r0, r1, 1 adds r0, r1 @@ -12288,7 +12288,7 @@ _080160B0: ands r4, r0 cmp r4, 0 beq _08016130 - ldr r0, _080160E8 @ =sBattler_AI + ldr r0, _080160E8 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -12303,7 +12303,7 @@ _080160B0: b _08016122 .align 2, 0 _080160E4: .4byte gBattleTypeFlags -_080160E8: .4byte sBattler_AI +_080160E8: .4byte gBattlerAttacker _080160EC: .4byte gSideTimers _080160F0: .4byte gBattleMoves _080160F4: .4byte gCurrentMove @@ -12311,7 +12311,7 @@ _080160F8: .4byte gBattleMons _080160FC: .4byte gBattleStruct _08016100: .4byte gActiveBattler _08016104: .4byte gBattlersCount -_08016108: .4byte gUnknown_2023D4C +_08016108: .4byte gChosenMove _0801610C: movs r0, 0x3 b _08016122 @@ -12334,7 +12334,7 @@ _08016122: _0801612C: .4byte gBattlerTarget _08016130: ldr r2, _08016178 @ =gBattlerTarget - ldr r0, _0801617C @ =sBattler_AI + ldr r0, _0801617C @ =gBattlerAttacker ldrb r0, [r0] ldr r1, _08016180 @ =gBattleStruct ldr r1, [r1] @@ -12356,7 +12356,7 @@ _08016140: bne _0801615A b _0801632C _0801615A: - ldr r6, _0801617C @ =sBattler_AI + ldr r6, _0801617C @ =gBattlerAttacker ldrb r0, [r6] bl GetBattlerSide adds r4, r0, 0 @@ -12370,7 +12370,7 @@ _0801615A: b _0801631A .align 2, 0 _08016178: .4byte gBattlerTarget -_0801617C: .4byte sBattler_AI +_0801617C: .4byte gBattlerAttacker _08016180: .4byte gBattleStruct _08016184: .4byte gAbsentBattlerFlags _08016188: .4byte gBitTable @@ -12430,7 +12430,7 @@ _080161F8: cmp r0, 0 beq _080162A0 ldr r2, _08016238 @ =gBattleMoves - ldr r0, _0801623C @ =gUnknown_2023D4C + ldr r0, _0801623C @ =gChosenMove ldrh r1, [r0] lsls r0, r1, 1 adds r0, r1 @@ -12455,7 +12455,7 @@ _080161F8: b _08016256 .align 2, 0 _08016238: .4byte gBattleMoves -_0801623C: .4byte gUnknown_2023D4C +_0801623C: .4byte gChosenMove _08016240: movs r0, 0x3 b _08016256 @@ -12484,7 +12484,7 @@ _08016256: ands r1, r0 cmp r1, 0 beq _0801632C - ldr r0, _0801629C @ =sBattler_AI + ldr r0, _0801629C @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide adds r4, r0, 0 @@ -12500,7 +12500,7 @@ _08016256: _08016290: .4byte gBattlerTarget _08016294: .4byte gAbsentBattlerFlags _08016298: .4byte gBitTable -_0801629C: .4byte sBattler_AI +_0801629C: .4byte gBattlerAttacker _080162A0: ldr r5, _080162E4 @ =gBattlerTarget adds r2, r3, 0 @@ -12603,7 +12603,7 @@ _08016370: .4byte gUnknown_2023BE3 thumb_func_start sub_8016374 sub_8016374: @ 8016374 push {r4,lr} - ldr r3, _080163E0 @ =sBattler_AI + ldr r3, _080163E0 @ =gBattlerAttacker ldr r1, _080163E4 @ =gUnknown_2023BDE ldr r0, _080163E8 @ =gUnknown_2023BE2 ldrb r0, [r0] @@ -12619,7 +12619,7 @@ sub_8016374: @ 8016374 ldrb r0, [r3] adds r0, r1 strb r2, [r0] - ldr r1, _080163F8 @ =gUnknown_2023FFC + ldr r1, _080163F8 @ =gMoveSelectionCursor ldrb r0, [r3] adds r0, r1 strb r2, [r0] @@ -12658,13 +12658,13 @@ _080163DA: pop {r0} bx r0 .align 2, 0 -_080163E0: .4byte sBattler_AI +_080163E0: .4byte gBattlerAttacker _080163E4: .4byte gUnknown_2023BDE _080163E8: .4byte gUnknown_2023BE2 _080163EC: .4byte gBattle_BG0_X _080163F0: .4byte gBattle_BG0_Y _080163F4: .4byte gActionSelectionCursor -_080163F8: .4byte gUnknown_2023FFC +_080163F8: .4byte gMoveSelectionCursor _080163FC: .4byte gBattleTextBuff1 _08016400: .4byte gBattleStruct _08016404: .4byte gBattleScripting @@ -12681,7 +12681,7 @@ sub_8016418: @ 8016418 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r4, _08016474 @ =sBattler_AI + ldr r4, _08016474 @ =gBattlerAttacker ldr r2, _08016478 @ =gBattlerTarget ldr r1, _0801647C @ =gUnknown_2023BDE ldr r0, _08016480 @ =gUnknown_2023BE2 @@ -12697,8 +12697,8 @@ sub_8016418: @ 8016418 strh r1, [r0] ldrb r0, [r4] bl ClearFuryCutterDestinyBondGrudge - ldr r5, _0801648C @ =gUnknown_2023D68 - ldr r2, _08016490 @ =gUnknown_20233C4 + ldr r5, _0801648C @ =gLastUsedItem + ldr r2, _08016490 @ =gBattleBufferB ldrb r1, [r4] lsls r1, 9 adds r0, r2, 0x1 @@ -12722,14 +12722,14 @@ sub_8016418: @ 8016418 str r0, [r2] b _080164FC .align 2, 0 -_08016474: .4byte sBattler_AI +_08016474: .4byte gBattlerAttacker _08016478: .4byte gBattlerTarget _0801647C: .4byte gUnknown_2023BDE _08016480: .4byte gUnknown_2023BE2 _08016484: .4byte gBattle_BG0_X _08016488: .4byte gBattle_BG0_Y -_0801648C: .4byte gUnknown_2023D68 -_08016490: .4byte gUnknown_20233C4 +_0801648C: .4byte gLastUsedItem +_08016490: .4byte gBattleBufferB _08016494: .4byte gUnknown_2023D74 _08016498: .4byte gUnknown_81D99B0 _0801649C: @@ -12831,7 +12831,7 @@ _08016574: ldr r5, _080165AC @ =gUnknown_2023E82 movs r0, 0 strb r0, [r5, 0x5] - ldr r2, _080165B0 @ =sBattler_AI + ldr r2, _080165B0 @ =gBattlerAttacker ldrb r0, [r2] lsrs r0, 1 ldr r1, [r7] @@ -12859,7 +12859,7 @@ _080165A6: b _08016706 .align 2, 0 _080165AC: .4byte gUnknown_2023E82 -_080165B0: .4byte sBattler_AI +_080165B0: .4byte gBattlerAttacker _080165B4: .4byte gUnknown_2023D74 _080165B8: .4byte gUnknown_81D99E4 _080165BC: .4byte gUnknown_2023BE3 @@ -12903,7 +12903,7 @@ _08016608: ldr r3, _0801663C @ =gUnknown_2023E82 movs r0, 0x4 strb r0, [r3, 0x5] - ldr r2, _08016640 @ =sBattler_AI + ldr r2, _08016640 @ =gBattlerAttacker ldrb r0, [r2] lsrs r0, 1 ldr r1, [r7] @@ -12928,7 +12928,7 @@ _08016608: b _08016706 .align 2, 0 _0801663C: .4byte gUnknown_2023E82 -_08016640: .4byte sBattler_AI +_08016640: .4byte gBattlerAttacker _08016644: .4byte gUnknown_2023D74 _08016648: .4byte gUnknown_81D99E4 _0801664C: .4byte gUnknown_2023BE3 @@ -13016,7 +13016,7 @@ _080166F4: ldr r0, _08016734 @ =gUnknown_2023E82 strb r1, [r0, 0x5] _080166F8: - ldr r0, _08016738 @ =sBattler_AI + ldr r0, _08016738 @ =gBattlerAttacker mov r8, r0 ldr r1, _0801673C @ =gUnknown_2023D74 mov r9, r1 @@ -13049,7 +13049,7 @@ _0801671E: bx r0 .align 2, 0 _08016734: .4byte gUnknown_2023E82 -_08016738: .4byte sBattler_AI +_08016738: .4byte gBattlerAttacker _0801673C: .4byte gUnknown_2023D74 _08016740: .4byte gUnknown_81D99E4 _08016744: .4byte gUnknown_2023BE3 @@ -13088,7 +13088,7 @@ _0801677E: strb r4, [r0] cmp r1, 0x25 bne _080167BC - ldr r2, _080167B0 @ =gUnknown_2023D68 + ldr r2, _080167B0 @ =gLastUsedItem ldr r1, _080167B4 @ =gBattleMons movs r0, 0x58 muls r0, r4 @@ -13108,7 +13108,7 @@ _0801677E: b _08016816 .align 2, 0 _080167AC: .4byte gPotentialItemEffectBattler -_080167B0: .4byte gUnknown_2023D68 +_080167B0: .4byte gLastUsedItem _080167B4: .4byte gBattleMons _080167B8: .4byte gUnknown_2023E8C _080167BC: @@ -13230,7 +13230,7 @@ _080168A0: .4byte gBattleOutcome thumb_func_start sub_80168A4 sub_80168A4: @ 80168A4 push {r4-r6,lr} - ldr r4, _080168F4 @ =sBattler_AI + ldr r4, _080168F4 @ =gBattlerAttacker ldr r1, _080168F8 @ =gUnknown_2023BDE ldr r5, _080168FC @ =gUnknown_2023BE2 ldrb r0, [r5] @@ -13270,7 +13270,7 @@ _080168D8: movs r1, 0x2 b _08016922 .align 2, 0 -_080168F4: .4byte sBattler_AI +_080168F4: .4byte gBattlerAttacker _080168F8: .4byte gUnknown_2023BDE _080168FC: .4byte gUnknown_2023BE2 _08016900: .4byte gBattleTypeFlags @@ -13384,7 +13384,7 @@ _080169E4: .4byte gBattleOutcome thumb_func_start sub_80169E8 sub_80169E8: @ 80169E8 push {r4,r5,lr} - ldr r2, _08016A44 @ =sBattler_AI + ldr r2, _08016A44 @ =gBattlerAttacker ldr r1, _08016A48 @ =gUnknown_2023BDE ldr r0, _08016A4C @ =gUnknown_2023BE2 ldrb r0, [r0] @@ -13428,7 +13428,7 @@ sub_80169E8: @ 80169E8 strb r0, [r4] b _08016A98 .align 2, 0 -_08016A44: .4byte sBattler_AI +_08016A44: .4byte gBattlerAttacker _08016A48: .4byte gUnknown_2023BDE _08016A4C: .4byte gUnknown_2023BE2 _08016A50: .4byte gBattle_BG0_X @@ -13485,7 +13485,7 @@ _08016ABC: .4byte gUnknown_2023BE3 thumb_func_start sub_8016AC0 sub_8016AC0: @ 8016AC0 - ldr r2, _08016AF8 @ =sBattler_AI + ldr r2, _08016AF8 @ =gBattlerAttacker ldr r1, _08016AFC @ =gUnknown_2023BDE ldr r0, _08016B00 @ =gUnknown_2023BE2 ldrb r0, [r0] @@ -13501,7 +13501,7 @@ sub_8016AC0: @ 8016AC0 ldrb r0, [r1] subs r0, 0x1 strb r0, [r1] - ldr r1, _08016B10 @ =gUnknown_2023D68 + ldr r1, _08016B10 @ =gLastUsedItem movs r0, 0x5 strh r0, [r1] ldr r1, _08016B14 @ =gUnknown_2023D74 @@ -13513,13 +13513,13 @@ sub_8016AC0: @ 8016AC0 strb r0, [r1] bx lr .align 2, 0 -_08016AF8: .4byte sBattler_AI +_08016AF8: .4byte gBattlerAttacker _08016AFC: .4byte gUnknown_2023BDE _08016B00: .4byte gUnknown_2023BE2 _08016B04: .4byte gBattle_BG0_X _08016B08: .4byte gBattle_BG0_Y _08016B0C: .4byte gNumSafariBalls -_08016B10: .4byte gUnknown_2023D68 +_08016B10: .4byte gLastUsedItem _08016B14: .4byte gUnknown_2023D74 _08016B18: .4byte gUnknown_81D99B0 _08016B1C: .4byte gUnknown_2023BE3 @@ -13528,7 +13528,7 @@ _08016B1C: .4byte gUnknown_2023BE3 thumb_func_start sub_8016B20 sub_8016B20: @ 8016B20 push {r4-r7,lr} - ldr r2, _08016B9C @ =sBattler_AI + ldr r2, _08016B9C @ =gBattlerAttacker ldr r1, _08016BA0 @ =gUnknown_2023BDE ldr r0, _08016BA4 @ =gUnknown_2023BE2 ldrb r0, [r0] @@ -13589,7 +13589,7 @@ _08016B86: pop {r0} bx r0 .align 2, 0 -_08016B9C: .4byte sBattler_AI +_08016B9C: .4byte gBattlerAttacker _08016BA0: .4byte gUnknown_2023BDE _08016BA4: .4byte gUnknown_2023BE2 _08016BA8: .4byte gBattle_BG0_X @@ -13603,7 +13603,7 @@ _08016BBC: .4byte gUnknown_2023BE3 thumb_func_start sub_8016BC0 sub_8016BC0: @ 8016BC0 push {r4-r7,lr} - ldr r2, _08016C3C @ =sBattler_AI + ldr r2, _08016C3C @ =gBattlerAttacker ldr r1, _08016C40 @ =gUnknown_2023BDE ldr r0, _08016C44 @ =gUnknown_2023BE2 ldrb r0, [r0] @@ -13664,7 +13664,7 @@ _08016C26: pop {r0} bx r0 .align 2, 0 -_08016C3C: .4byte sBattler_AI +_08016C3C: .4byte gBattlerAttacker _08016C40: .4byte gUnknown_2023BDE _08016C44: .4byte gUnknown_2023BE2 _08016C48: .4byte gBattle_BG0_X @@ -13678,7 +13678,7 @@ _08016C5C: .4byte gUnknown_2023BE3 thumb_func_start HandleAction_SafriZoneRun HandleAction_SafriZoneRun: @ 8016C60 push {r4,lr} - ldr r2, _08016C88 @ =sBattler_AI + ldr r2, _08016C88 @ =gBattlerAttacker ldr r1, _08016C8C @ =gUnknown_2023BDE ldr r4, _08016C90 @ =gUnknown_2023BE2 ldrb r0, [r4] @@ -13697,7 +13697,7 @@ HandleAction_SafriZoneRun: @ 8016C60 pop {r0} bx r0 .align 2, 0 -_08016C88: .4byte sBattler_AI +_08016C88: .4byte gBattlerAttacker _08016C8C: .4byte gUnknown_2023BDE _08016C90: .4byte gUnknown_2023BE2 _08016C94: .4byte gBattlersCount @@ -13706,7 +13706,7 @@ _08016C98: .4byte gBattleOutcome thumb_func_start HandleAction_Action9 HandleAction_Action9: @ 8016C9C - ldr r3, _08016CE8 @ =sBattler_AI + ldr r3, _08016CE8 @ =gBattlerAttacker ldr r1, _08016CEC @ =gUnknown_2023BDE ldr r0, _08016CF0 @ =gUnknown_2023BE2 ldrb r0, [r0] @@ -13744,7 +13744,7 @@ HandleAction_Action9: @ 8016C9C strb r0, [r1, 0x1] bx lr .align 2, 0 -_08016CE8: .4byte sBattler_AI +_08016CE8: .4byte gBattlerAttacker _08016CEC: .4byte gUnknown_2023BDE _08016CF0: .4byte gUnknown_2023BE2 _08016CF4: .4byte gBattle_BG0_X @@ -13837,7 +13837,7 @@ HandleAction_ActionFinished: @ 8016D70 strb r1, [r5, 0x18] strb r1, [r5, 0x19] ldr r2, _08016E08 @ =gUnknown_2023DA0 - ldr r3, _08016E0C @ =sBattler_AI + ldr r3, _08016E0C @ =gBattlerAttacker ldrb r0, [r3] lsls r0, 1 adds r0, r2 @@ -13876,7 +13876,7 @@ _08016DFC: .4byte gBattleMoveDamage _08016E00: .4byte gMoveResultFlags _08016E04: .4byte gBattleScripting _08016E08: .4byte gUnknown_2023DA0 -_08016E0C: .4byte sBattler_AI +_08016E0C: .4byte gBattlerAttacker _08016E10: .4byte gUnknown_2023DA8 _08016E14: .4byte gBattleStruct _08016E18: .4byte gDynamicBasePower diff --git a/asm/battle_ai_switch_items.s b/asm/battle_ai_switch_items.s index bdc1283db..eb415e34e 100644 --- a/asm/battle_ai_switch_items.s +++ b/asm/battle_ai_switch_items.s @@ -40,7 +40,7 @@ ShouldSwitchIfPerishSong: @ 8039188 movs r0, 0x1 movs r1, 0x2 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues movs r0, 0x1 b _080391E6 .align 2, 0 @@ -84,7 +84,7 @@ _08039208: movs r0, 0x1 movs r1, 0x2 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues movs r0, 0x1 b _0803935E .align 2, 0 @@ -407,7 +407,7 @@ _080394A0: movs r0, 0x1 movs r1, 0x2 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues movs r0, 0x1 b _0803958A .align 2, 0 @@ -628,7 +628,7 @@ _08039668: movs r0, 0x1 movs r1, 0x2 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues _08039686: movs r0, 0x1 _08039688: @@ -951,7 +951,7 @@ _080398EC: movs r0, 0x1 movs r1, 0x2 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues movs r0, 0x1 b _08039A56 .align 2, 0 @@ -1518,7 +1518,7 @@ _08039D96: lsls r2, 8 movs r0, 0x1 movs r1, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues _08039DA8: pop {r4-r6} pop {r0} @@ -2604,7 +2604,7 @@ _0803A5FC: movs r0, 0x1 movs r1, 0x1 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues ldr r0, _0803A630 @ =gActiveBattler ldrb r0, [r0] lsrs r0, 1 diff --git a/asm/battle_anim.s b/asm/battle_anim.s index 8925effc6..dff9de521 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -111,7 +111,7 @@ DoMoveAnim: @ 807259C lsls r1, 16 lsrs r1, 16 ldr r2, _080725C0 @ =gBattleAnimAttacker - ldr r0, _080725C4 @ =sBattler_AI + ldr r0, _080725C4 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r2] ldr r2, _080725C8 @ =gBattleAnimTarget @@ -125,7 +125,7 @@ DoMoveAnim: @ 807259C bx r0 .align 2, 0 _080725C0: .4byte gBattleAnimAttacker -_080725C4: .4byte sBattler_AI +_080725C4: .4byte gBattlerAttacker _080725C8: .4byte gBattleAnimTarget _080725CC: .4byte gBattlerTarget _080725D0: .4byte gUnknown_81C68F4 diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s index cf27334ca..8b0422d3f 100644 --- a/asm/battle_anim_special.s +++ b/asm/battle_anim_special.s @@ -1054,7 +1054,7 @@ sub_80EF490: @ 80EF490 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080EF4B4 @ =gUnknown_2023D68 + ldr r0, _080EF4B4 @ =gLastUsedItem ldrh r0, [r0] bl ItemIdToBallId lsls r0, 24 @@ -1066,7 +1066,7 @@ sub_80EF490: @ 80EF490 pop {r0} bx r0 .align 2, 0 -_080EF4B4: .4byte gUnknown_2023D68 +_080EF4B4: .4byte gLastUsedItem thumb_func_end sub_80EF490 thumb_func_start sub_80EF4B8 @@ -1075,7 +1075,7 @@ sub_80EF4B8: @ 80EF4B8 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080EF4DC @ =gUnknown_2023D68 + ldr r0, _080EF4DC @ =gLastUsedItem ldrh r0, [r0] bl ItemIdToBallId lsls r0, 24 @@ -1087,7 +1087,7 @@ sub_80EF4B8: @ 80EF4B8 pop {r0} bx r0 .align 2, 0 -_080EF4DC: .4byte gUnknown_2023D68 +_080EF4DC: .4byte gLastUsedItem thumb_func_end sub_80EF4B8 thumb_func_start sub_80EF4E0 @@ -1210,7 +1210,7 @@ sub_80EF5AC: @ 80EF5AC lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r0, _080EF674 @ =gUnknown_2023D68 + ldr r0, _080EF674 @ =gLastUsedItem ldrh r0, [r0] bl ItemIdToBallId adds r1, r0, 0 @@ -1297,7 +1297,7 @@ sub_80EF5AC: @ 80EF5AC pop {r0} bx r0 .align 2, 0 -_080EF674: .4byte gUnknown_2023D68 +_080EF674: .4byte gLastUsedItem _080EF678: .4byte gUnknown_82606F4 _080EF67C: .4byte gSprites _080EF680: .4byte gBattleAnimTarget @@ -1369,7 +1369,7 @@ _080EF6F8: bne _080EF708 movs r6, 0xD _080EF708: - ldr r0, _080EF7C8 @ =gUnknown_2023D68 + ldr r0, _080EF7C8 @ =gLastUsedItem ldrh r0, [r0] bl ItemIdToBallId adds r4, r0, 0 @@ -1457,7 +1457,7 @@ _080EF708: bx r0 .align 2, 0 _080EF7C4: .4byte gSaveBlock2Ptr -_080EF7C8: .4byte gUnknown_2023D68 +_080EF7C8: .4byte gLastUsedItem _080EF7CC: .4byte gUnknown_82606F4 _080EF7D0: .4byte gSprites _080EF7D4: .4byte gBattleAnimTarget @@ -1654,7 +1654,7 @@ _080EF954: strh r0, [r4, 0x38] ldr r0, _080EF9A8 @ =sub_80EF9B4 str r0, [r4, 0x1C] - ldr r0, _080EF9AC @ =gUnknown_2023D68 + ldr r0, _080EF9AC @ =gLastUsedItem ldrh r0, [r0] bl ItemIdToBallId lsls r0, 24 @@ -1687,7 +1687,7 @@ _080EF99E: bx r0 .align 2, 0 _080EF9A8: .4byte sub_80EF9B4 -_080EF9AC: .4byte gUnknown_2023D68 +_080EF9AC: .4byte gLastUsedItem _080EF9B0: .4byte gBattleAnimTarget thumb_func_end sub_80EF8F0 @@ -2873,7 +2873,7 @@ sub_80F02B0: @ 80F02B0 bl StartSpriteAffineAnim ldr r0, _080F0364 @ =sub_80F0378 str r0, [r4, 0x1C] - ldr r0, _080F0368 @ =gUnknown_2023D68 + ldr r0, _080F0368 @ =gLastUsedItem ldrh r0, [r0] bl ItemIdToBallId lsls r0, 24 @@ -2949,7 +2949,7 @@ _080F0302: bx r0 .align 2, 0 _080F0364: .4byte sub_80F0378 -_080F0368: .4byte gUnknown_2023D68 +_080F0368: .4byte gLastUsedItem _080F036C: .4byte gBattleAnimTarget _080F0370: .4byte gSprites _080F0374: .4byte gBattlerSpriteIds @@ -5446,7 +5446,7 @@ sub_80F1700: @ 80F1700 lsls r0, 24 lsrs r0, 24 ldr r2, _080F1718 @ =gBattleAnimTarget - ldr r1, _080F171C @ =gUnknown_2023D6E + ldr r1, _080F171C @ =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -5454,7 +5454,7 @@ sub_80F1700: @ 80F1700 bx r0 .align 2, 0 _080F1718: .4byte gBattleAnimTarget -_080F171C: .4byte gUnknown_2023D6E +_080F171C: .4byte gEffectBattler thumb_func_end sub_80F1700 thumb_func_start sub_80F1720 diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s index 82b94cf6a..a129795e3 100644 --- a/asm/battle_anim_utility_funcs.s +++ b/asm/battle_anim_utility_funcs.s @@ -3078,7 +3078,7 @@ sub_80BC060: @ 80BC060 ldrb r1, [r1] strb r1, [r2] ldr r2, _080BC088 @ =gBattleAnimTarget - ldr r1, _080BC08C @ =gUnknown_2023D6E + ldr r1, _080BC08C @ =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -3088,7 +3088,7 @@ sub_80BC060: @ 80BC060 _080BC080: .4byte gBattleAnimAttacker _080BC084: .4byte gBattlerTarget _080BC088: .4byte gBattleAnimTarget -_080BC08C: .4byte gUnknown_2023D6E +_080BC08C: .4byte gEffectBattler thumb_func_end sub_80BC060 thumb_func_start sub_80BC090 @@ -3151,11 +3151,11 @@ sub_80BC0FC: @ 80BC0FC lsls r0, 24 lsrs r0, 24 ldr r2, _080BC11C @ =gBattleAnimAttacker - ldr r1, _080BC120 @ =sBattler_AI + ldr r1, _080BC120 @ =gBattlerAttacker ldrb r1, [r1] strb r1, [r2] ldr r2, _080BC124 @ =gBattleAnimTarget - ldr r1, _080BC128 @ =gUnknown_2023D6E + ldr r1, _080BC128 @ =gEffectBattler ldrb r1, [r1] strb r1, [r2] bl DestroyAnimVisualTask @@ -3163,9 +3163,9 @@ sub_80BC0FC: @ 80BC0FC bx r0 .align 2, 0 _080BC11C: .4byte gBattleAnimAttacker -_080BC120: .4byte sBattler_AI +_080BC120: .4byte gBattlerAttacker _080BC124: .4byte gBattleAnimTarget -_080BC128: .4byte gUnknown_2023D6E +_080BC128: .4byte gEffectBattler thumb_func_end sub_80BC0FC thumb_func_start sub_80BC12C diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index 6ac812e58..e2d110861 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -10,8 +10,8 @@ nullsub_19: @ 803A664 bx lr thumb_func_end nullsub_19 - thumb_func_start sub_803A668 -sub_803A668: @ 803A668 + thumb_func_start SetControllerToLinkOpponent +SetControllerToLinkOpponent: @ 803A668 ldr r1, _0803A678 @ =gBattlerControllerFuncs ldr r0, _0803A67C @ =gActiveBattler ldrb r0, [r0] @@ -24,7 +24,7 @@ sub_803A668: @ 803A668 _0803A678: .4byte gBattlerControllerFuncs _0803A67C: .4byte gActiveBattler _0803A680: .4byte sub_803A684 - thumb_func_end sub_803A668 + thumb_func_end SetControllerToLinkOpponent thumb_func_start sub_803A684 sub_803A684: @ 803A684 @@ -1440,7 +1440,7 @@ _0803B1F6: lsrs r1, 16 movs r0, 0x1 mov r2, sp - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl RecordedOpponentBufferExecCompleted add sp, 0x100 pop {r4-r6} diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index c2dc58efd..a536d91b8 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -10,8 +10,8 @@ nullsub_77: @ 80D4200 bx lr thumb_func_end nullsub_77 - thumb_func_start sub_80D4204 -sub_80D4204: @ 80D4204 + thumb_func_start SetControllerToLinkPartner +SetControllerToLinkPartner: @ 80D4204 ldr r1, _080D4214 @ =gBattlerControllerFuncs ldr r0, _080D4218 @ =gActiveBattler ldrb r0, [r0] @@ -24,7 +24,7 @@ sub_80D4204: @ 80D4204 _080D4214: .4byte gBattlerControllerFuncs _080D4218: .4byte gActiveBattler _080D421C: .4byte LinkPartnerBufferRunCommand - thumb_func_end sub_80D4204 + thumb_func_end SetControllerToLinkPartner thumb_func_start LinkPartnerBufferRunCommand LinkPartnerBufferRunCommand: @ 80D4220 @@ -1144,7 +1144,7 @@ _080D4B1A: lsrs r1, 16 movs r0, 0x1 mov r2, sp - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl sub_80D49E8 add sp, 0x100 pop {r4-r6} diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 031525518..5afa2231e 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -10,8 +10,8 @@ nullsub_81: @ 80E75AC bx lr thumb_func_end nullsub_81 - thumb_func_start sub_80E75B0 -sub_80E75B0: @ 80E75B0 + thumb_func_start SetControllerToOakOrOldman +SetControllerToOakOrOldman: @ 80E75B0 ldr r1, _080E75DC @ =gBattlerControllerFuncs ldr r0, _080E75E0 @ =gActiveBattler ldrb r0, [r0] @@ -39,7 +39,7 @@ _080E75DC: .4byte gBattlerControllerFuncs _080E75E0: .4byte gActiveBattler _080E75E4: .4byte sub_80E75EC _080E75E8: .4byte gBattleStruct - thumb_func_end sub_80E75B0 + thumb_func_end SetControllerToOakOrOldman thumb_func_start sub_80E75EC sub_80E75EC: @ 80E75EC @@ -154,7 +154,7 @@ _080E76C8: movs r0, 0x1 movs r1, 0x3 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues b _080E781A _080E76D4: movs r0, 0x20 @@ -316,7 +316,7 @@ _080E780A: movs r1, 0xC _080E7814: movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues _080E781A: bl WallyBufferExecCompleted b _080E7838 @@ -410,7 +410,7 @@ _080E78B4: movs r0, 0x1 movs r1, 0x1 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues bl WallyBufferExecCompleted _080E78D8: pop {r4} @@ -598,7 +598,7 @@ sub_80E7A14: @ 80E7A14 ldrb r1, [r0] ldr r2, _080E7A58 @ =gUnknown_203B0DC movs r0, 0x1 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue b _080E7A66 .align 2, 0 _080E7A44: .4byte gMain @@ -611,7 +611,7 @@ _080E7A5C: movs r0, 0x1 movs r1, 0x6 movs r2, 0 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue _080E7A66: bl WallyBufferExecCompleted _080E7A6A: @@ -710,7 +710,7 @@ _080E7B34: ldr r0, _080E7B48 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 - bl EmitOneReturnValue + bl BtlController_EmitOneReturnValue bl WallyBufferExecCompleted _080E7B42: pop {r0} @@ -1145,7 +1145,7 @@ _080E7E4A: lsrs r2, 16 movs r0, 0x1 movs r1, 0xB - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues strb r5, [r4] bl IsDoubleBattle lsls r0, 24 @@ -1437,7 +1437,7 @@ _080E807C: lsrs r2, 16 movs r0, 0x1 movs r1, 0xB - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues strb r5, [r4] ldr r0, _080E8158 @ =sub_80E8190 str r0, [r6] @@ -2344,7 +2344,7 @@ _080E8880: ldr r0, _080E88B8 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 - bl EmitOneReturnValue + bl BtlController_EmitOneReturnValue bl WallyBufferExecCompleted ldr r0, _080E88BC @ =gBattleStruct ldr r0, [r0] @@ -2733,7 +2733,7 @@ _080E8B9E: lsrs r1, 16 movs r0, 0x1 mov r2, sp - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl WallyBufferExecCompleted add sp, 0x100 pop {r4-r6} @@ -6161,7 +6161,7 @@ _080EA83E: lsls r2, 1 movs r0, 0x1 movs r1, 0xA - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues bl WallyBufferExecCompleted _080EA866: pop {r4} diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index 6f9097ed6..da113d908 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -10,8 +10,8 @@ nullsub_17: @ 8035A78 bx lr thumb_func_end nullsub_17 - thumb_func_start sub_8035A7C -sub_8035A7C: @ 8035A7C + thumb_func_start SetControllerToOpponent +SetControllerToOpponent: @ 8035A7C ldr r1, _08035A8C @ =gBattlerControllerFuncs ldr r0, _08035A90 @ =gActiveBattler ldrb r0, [r0] @@ -24,7 +24,7 @@ sub_8035A7C: @ 8035A7C _08035A8C: .4byte gBattlerControllerFuncs _08035A90: .4byte gActiveBattler _08035A94: .4byte sub_8035A98 - thumb_func_end sub_8035A7C + thumb_func_end SetControllerToOpponent thumb_func_start sub_8035A98 sub_8035A98: @ 8035A98 @@ -1406,7 +1406,7 @@ _080365C2: lsrs r1, 16 movs r0, 0x1 mov r2, sp - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl OpponentBufferExecCompleted add sp, 0x100 pop {r4-r6} @@ -2403,7 +2403,7 @@ _08036DDE: ldrb r1, [r0] movs r0, 0x1 adds r2, r4, 0 - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl OpponentBufferExecCompleted add sp, 0x58 pop {r4-r7} @@ -5261,7 +5261,7 @@ _080385F0: movs r1, 0x3 _080385F4: movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues b _08038668 _080385FC: ldr r3, _08038670 @ =gBattleMoves @@ -5316,7 +5316,7 @@ _08038656: movs r0, 0x1 movs r1, 0xA adds r2, r4, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues _08038668: bl OpponentBufferExecCompleted b _08038712 @@ -5353,7 +5353,7 @@ _08038682: movs r0, 0x1 movs r1, 0xA adds r2, r4, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues b _0803870E .align 2, 0 _080386BC: .4byte gBattleMoves @@ -5378,7 +5378,7 @@ _080386C4: orrs r2, r4 movs r0, 0x1 movs r1, 0xA - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues b _0803870E .align 2, 0 _080386F4: .4byte gBattleTypeFlags @@ -5391,7 +5391,7 @@ _080386F8: orrs r2, r4 movs r0, 0x1 movs r1, 0xA - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues _0803870E: bl OpponentBufferExecCompleted _08038712: @@ -5413,7 +5413,7 @@ sub_8038718: @ 8038718 adds r0, 0xC0 ldrb r1, [r0] movs r0, 0x1 - bl EmitOneReturnValue + bl BtlController_EmitOneReturnValue bl OpponentBufferExecCompleted pop {r0} bx r0 @@ -5528,7 +5528,7 @@ _0803880A: lsrs r1, 24 movs r0, 0x1 movs r2, 0 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue bl OpponentBufferExecCompleted pop {r4-r6} pop {r0} diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 029834bf8..51845f47a 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -10,8 +10,8 @@ nullsub_13: @ 802E310 bx lr thumb_func_end nullsub_13 - thumb_func_start SetBankFuncToPlayerBufferRunCommand -SetBankFuncToPlayerBufferRunCommand: @ 802E314 + thumb_func_start SetControllerToPlayer +SetControllerToPlayer: @ 802E314 ldr r1, _0802E32C @ =gBattlerControllerFuncs ldr r0, _0802E330 @ =gActiveBattler ldrb r0, [r0] @@ -28,7 +28,7 @@ _0802E32C: .4byte gBattlerControllerFuncs _0802E330: .4byte gActiveBattler _0802E334: .4byte PlayerBufferRunCommand _0802E338: .4byte gDoingBattleAnim - thumb_func_end SetBankFuncToPlayerBufferRunCommand + thumb_func_end SetControllerToPlayer thumb_func_start PlayerBufferExecCompleted PlayerBufferExecCompleted: @ 802E33C @@ -227,7 +227,7 @@ _0802E4C4: movs r0, 0x1 movs r1, 0x3 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues b _0802E616 _0802E4D0: movs r0, 0x20 @@ -389,7 +389,7 @@ _0802E606: movs r1, 0xC _0802E610: movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues _0802E616: bl PlayerBufferExecCompleted b _0802E634 @@ -492,7 +492,7 @@ _0802E6B6: adds r0, r2 ldr r1, _0802E720 @ =sub_8012098 str r1, [r0] - ldr r1, _0802E724 @ =gUnknown_2023FFC + ldr r1, _0802E724 @ =gMoveSelectionCursor ldr r0, _0802E728 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -502,7 +502,7 @@ _0802E6B6: orrs r2, r0 movs r0, 0x1 movs r1, 0xA - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues ldrb r0, [r4] movs r1, 0x1 bl dp11b_obj_free @@ -516,7 +516,7 @@ _0802E714: .4byte gMain _0802E718: .4byte gSprites _0802E71C: .4byte gBattlerSpriteIds _0802E720: .4byte sub_8012098 -_0802E724: .4byte gUnknown_2023FFC +_0802E724: .4byte gMoveSelectionCursor _0802E728: .4byte gActiveBattler _0802E72C: movs r0, 0x2 @@ -665,7 +665,7 @@ _0802E846: muls r0, r1 ldr r1, _0802E8AC @ =gPlayerParty adds r0, r1 - ldr r1, _0802E8B0 @ =gUnknown_2023FFC + ldr r1, _0802E8B0 @ =gMoveSelectionCursor adds r2, r1 ldrb r1, [r2] adds r1, 0xD @@ -703,7 +703,7 @@ _0802E89C: _0802E8A4: .4byte gActiveBattler _0802E8A8: .4byte gBattlerPartyIndexes _0802E8AC: .4byte gPlayerParty -_0802E8B0: .4byte gUnknown_2023FFC +_0802E8B0: .4byte gMoveSelectionCursor _0802E8B4: .4byte gBattleMoves _0802E8B8: .4byte gAbsentBattlerFlags _0802E8BC: .4byte gBitTable @@ -806,7 +806,7 @@ _0802E96A: muls r0, r1 ldr r1, _0802E9EC @ =gPlayerParty adds r0, r1 - ldr r1, _0802E9F0 @ =gUnknown_2023FFC + ldr r1, _0802E9F0 @ =gMoveSelectionCursor adds r2, r1 ldrb r1, [r2] adds r1, 0xD @@ -861,7 +861,7 @@ _0802E9DC: _0802E9E4: .4byte gActiveBattler _0802E9E8: .4byte gBattlerPartyIndexes _0802E9EC: .4byte gPlayerParty -_0802E9F0: .4byte gUnknown_2023FFC +_0802E9F0: .4byte gMoveSelectionCursor _0802E9F4: .4byte gBattleMoves _0802E9F8: .4byte gAbsentBattlerFlags _0802E9FC: .4byte gBitTable @@ -896,7 +896,7 @@ sub_802EA10: @ 802EA10 _0802EA3A: movs r0, 0x5 bl PlaySE - ldr r1, _0802EA78 @ =gUnknown_2023FFC + ldr r1, _0802EA78 @ =gMoveSelectionCursor ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -922,7 +922,7 @@ _0802EA3A: _0802EA6C: .4byte gActiveBattler _0802EA70: .4byte gUnknown_2022BC8 _0802EA74: .4byte gMain -_0802EA78: .4byte gUnknown_2023FFC +_0802EA78: .4byte gMoveSelectionCursor _0802EA7C: ldr r2, _0802EA9C @ =gBattleMoves ldrh r1, [r1] @@ -991,7 +991,7 @@ _0802EAF8: movs r0, 0x1 add r8, r0 _0802EB04: - ldr r0, _0802EB78 @ =gUnknown_2023FFC + ldr r0, _0802EB78 @ =gMoveSelectionCursor adds r0, r2, r0 adds r1, r7, 0 adds r1, 0x8 @@ -1030,7 +1030,7 @@ _0802EB3A: mov r0, r8 cmp r0, 0 bne _0802EB88 - ldr r1, _0802EB78 @ =gUnknown_2023FFC + ldr r1, _0802EB78 @ =gMoveSelectionCursor ldr r0, _0802EB84 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -1041,11 +1041,11 @@ _0802EB3A: orrs r2, r0 movs r0, 0x1 movs r1, 0xA - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues bl PlayerBufferExecCompleted b _0802EDBA .align 2, 0 -_0802EB78: .4byte gUnknown_2023FFC +_0802EB78: .4byte gMoveSelectionCursor _0802EB7C: .4byte gUnknown_3004FF4 _0802EB80: .4byte 0x00007fff _0802EB84: .4byte gActiveBattler @@ -1123,7 +1123,7 @@ _0802EC10: ldr r2, _0802EC34 @ =0x0000ffff movs r0, 0x1 movs r1, 0xA - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues bl PlayerBufferExecCompleted bl ResetPaletteFadeControl b _0802ED2C @@ -1134,7 +1134,7 @@ _0802EC38: ands r0, r1 cmp r0, 0 beq _0802EC68 - ldr r4, _0802EC64 @ =gUnknown_2023FFC + ldr r4, _0802EC64 @ =gMoveSelectionCursor ldrb r0, [r6] adds r2, r0, r4 ldrb r1, [r2] @@ -1153,13 +1153,13 @@ _0802EC52: eors r0, r2 b _0802ED10 .align 2, 0 -_0802EC64: .4byte gUnknown_2023FFC +_0802EC64: .4byte gMoveSelectionCursor _0802EC68: movs r0, 0x10 ands r0, r1 cmp r0, 0 beq _0802ECAC - ldr r4, _0802ECA4 @ =gUnknown_2023FFC + ldr r4, _0802ECA4 @ =gMoveSelectionCursor ldrb r0, [r6] adds r3, r0, r4 ldrb r2, [r3] @@ -1186,14 +1186,14 @@ _0802EC92: eors r0, r7 b _0802ED10 .align 2, 0 -_0802ECA4: .4byte gUnknown_2023FFC +_0802ECA4: .4byte gMoveSelectionCursor _0802ECA8: .4byte gUnknown_3004FF8 _0802ECAC: movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _0802ECDC - ldr r4, _0802ECD8 @ =gUnknown_2023FFC + ldr r4, _0802ECD8 @ =gMoveSelectionCursor ldrb r0, [r6] adds r2, r0, r4 ldrb r1, [r2] @@ -1212,13 +1212,13 @@ _0802ECC6: eors r0, r2 b _0802ED10 .align 2, 0 -_0802ECD8: .4byte gUnknown_2023FFC +_0802ECD8: .4byte gMoveSelectionCursor _0802ECDC: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _0802ED4C - ldr r4, _0802ED40 @ =gUnknown_2023FFC + ldr r4, _0802ED40 @ =gMoveSelectionCursor ldrb r0, [r6] adds r3, r0, r4 ldrb r2, [r3] @@ -1261,7 +1261,7 @@ _0802ED2C: bl BeginNormalPaletteFade b _0802EDBA .align 2, 0 -_0802ED40: .4byte gUnknown_2023FFC +_0802ED40: .4byte gMoveSelectionCursor _0802ED44: .4byte gUnknown_3004FF8 _0802ED48: .4byte 0x00007fff _0802ED4C: @@ -1278,7 +1278,7 @@ _0802ED4C: ands r5, r7 cmp r5, 0 bne _0802EDBA - ldr r4, _0802ED8C @ =gUnknown_2023FFC + ldr r4, _0802ED8C @ =gMoveSelectionCursor ldrb r0, [r6] adds r0, r4 ldrb r0, [r0] @@ -1295,7 +1295,7 @@ _0802ED4C: .align 2, 0 _0802ED84: .4byte gUnknown_3004FF8 _0802ED88: .4byte gBattleTypeFlags -_0802ED8C: .4byte gUnknown_2023FFC +_0802ED8C: .4byte gMoveSelectionCursor _0802ED90: .4byte gUnknown_3004FF4 _0802ED94: ldr r1, _0802EDC8 @ =gUnknown_3004FF4 @@ -1369,7 +1369,7 @@ _0802EE18: ands r0, r1 cmp r0, 0 beq _0802EE58 - ldr r5, _0802EF4C @ =gUnknown_2023FFC + ldr r5, _0802EF4C @ =gMoveSelectionCursor ldr r4, _0802EF50 @ =gActiveBattler ldrb r0, [r4] adds r2, r0, r5 @@ -1400,7 +1400,7 @@ _0802EE58: ands r0, r1 cmp r0, 0 beq _0802EEA6 - ldr r5, _0802EF4C @ =gUnknown_2023FFC + ldr r5, _0802EF4C @ =gMoveSelectionCursor ldr r4, _0802EF50 @ =gActiveBattler ldrb r0, [r4] adds r3, r0, r5 @@ -1437,7 +1437,7 @@ _0802EEA6: ands r0, r1 cmp r0, 0 beq _0802EEE8 - ldr r5, _0802EF4C @ =gUnknown_2023FFC + ldr r5, _0802EF4C @ =gMoveSelectionCursor ldr r4, _0802EF50 @ =gActiveBattler ldrb r0, [r4] adds r2, r0, r5 @@ -1468,7 +1468,7 @@ _0802EEE8: ands r0, r1 cmp r0, 0 beq _0802EF36 - ldr r5, _0802EF4C @ =gUnknown_2023FFC + ldr r5, _0802EF4C @ =gMoveSelectionCursor ldr r4, _0802EF50 @ =gActiveBattler ldrb r0, [r4] adds r3, r0, r5 @@ -1507,7 +1507,7 @@ _0802EF36: _0802EF40: .4byte gMain _0802EF44: .4byte gBattle_BG0_X _0802EF48: .4byte gBattle_BG0_Y -_0802EF4C: .4byte gUnknown_2023FFC +_0802EF4C: .4byte gMoveSelectionCursor _0802EF50: .4byte gActiveBattler _0802EF54: .4byte gUnknown_3004FF8 thumb_func_end sub_802EDDC @@ -1530,7 +1530,7 @@ sub_802EF58: @ 802EF58 _0802EF72: movs r0, 0x5 bl PlaySE - ldr r0, _0802F2E8 @ =gUnknown_2023FFC + ldr r0, _0802F2E8 @ =gMoveSelectionCursor mov r10, r0 ldr r1, _0802F2EC @ =gActiveBattler mov r8, r1 @@ -1667,7 +1667,7 @@ _0802F06E: adds r6, 0x1 cmp r6, 0x3 ble _0802F06E - ldr r1, _0802F2E8 @ =gUnknown_2023FFC + ldr r1, _0802F2E8 @ =gMoveSelectionCursor ldrb r0, [r7] adds r0, r1 ldrb r0, [r0] @@ -1831,7 +1831,7 @@ _0802F1B2: adds r6, 0x1 cmp r6, 0x3 ble _0802F1B2 - ldr r4, _0802F2E8 @ =gUnknown_2023FFC + ldr r4, _0802F2E8 @ =gMoveSelectionCursor ldr r3, _0802F2EC @ =gActiveBattler ldrb r0, [r3] adds r0, r4 @@ -1973,7 +1973,7 @@ _0802F2C8: b _0802F324 .align 2, 0 _0802F2E4: .4byte gMain -_0802F2E8: .4byte gUnknown_2023FFC +_0802F2E8: .4byte gMoveSelectionCursor _0802F2EC: .4byte gActiveBattler _0802F2F0: .4byte gUnknown_3004FF4 _0802F2F4: .4byte gUnknown_2022BC8 @@ -1995,7 +1995,7 @@ _0802F318: _0802F324: str r1, [r0] adds r7, r2, 0 - ldr r2, _0802F39C @ =gUnknown_2023FFC + ldr r2, _0802F39C @ =gMoveSelectionCursor ldrb r0, [r7] adds r0, r2 ldr r1, _0802F3A0 @ =gUnknown_3004FF4 @@ -2021,7 +2021,7 @@ _0802F34C: ldr r0, _0802F3A0 @ =gUnknown_3004FF4 ldrb r0, [r0] bl MoveSelectionDestroyCursorAt - ldr r1, _0802F39C @ =gUnknown_2023FFC + ldr r1, _0802F39C @ =gMoveSelectionCursor ldr r4, _0802F394 @ =gActiveBattler ldrb r0, [r4] adds r0, r1 @@ -2044,7 +2044,7 @@ _0802F34C: _0802F390: .4byte gBattlerControllerFuncs _0802F394: .4byte gActiveBattler _0802F398: .4byte sub_802EA10 -_0802F39C: .4byte gUnknown_2023FFC +_0802F39C: .4byte gMoveSelectionCursor _0802F3A0: .4byte gUnknown_3004FF4 _0802F3A4: .4byte gMain _0802F3A8: .4byte gBattleTypeFlags @@ -2073,7 +2073,7 @@ _0802F3C8: ands r0, r2 cmp r0, 0 beq _0802F454 - ldr r0, _0802F408 @ =gUnknown_2023FFC + ldr r0, _0802F408 @ =gMoveSelectionCursor ldr r1, _0802F40C @ =gActiveBattler ldrb r1, [r1] adds r1, r0 @@ -2089,7 +2089,7 @@ _0802F3F8: .4byte gBattlerControllerFuncs _0802F3FC: .4byte sub_802EA10 _0802F400: .4byte gMain _0802F404: .4byte gUnknown_3004FF4 -_0802F408: .4byte gUnknown_2023FFC +_0802F408: .4byte gMoveSelectionCursor _0802F40C: .4byte gActiveBattler _0802F410: ldrb r0, [r3] @@ -2102,7 +2102,7 @@ _0802F416: strb r0, [r4] movs r0, 0x5 bl PlaySE - ldr r1, _0802F444 @ =gUnknown_2023FFC + ldr r1, _0802F444 @ =gMoveSelectionCursor ldr r0, _0802F448 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2116,7 +2116,7 @@ _0802F416: b _0802F454 .align 2, 0 _0802F440: .4byte gUnknown_3004FF4 -_0802F444: .4byte gUnknown_2023FFC +_0802F444: .4byte gMoveSelectionCursor _0802F448: .4byte gActiveBattler _0802F44C: ldrb r0, [r4] @@ -2141,7 +2141,7 @@ _0802F454: ldrb r1, [r1] cmp r0, r1 bcs _0802F4E8 - ldr r0, _0802F49C @ =gUnknown_2023FFC + ldr r0, _0802F49C @ =gMoveSelectionCursor ldr r1, _0802F4A0 @ =gActiveBattler ldrb r1, [r1] adds r1, r0 @@ -2156,7 +2156,7 @@ _0802F454: _0802F490: .4byte gMain _0802F494: .4byte gUnknown_3004FF4 _0802F498: .4byte gUnknown_3004FF8 -_0802F49C: .4byte gUnknown_2023FFC +_0802F49C: .4byte gMoveSelectionCursor _0802F4A0: .4byte gActiveBattler _0802F4A4: ldrb r0, [r3] @@ -2169,7 +2169,7 @@ _0802F4AA: strb r0, [r4] movs r0, 0x5 bl PlaySE - ldr r1, _0802F4D8 @ =gUnknown_2023FFC + ldr r1, _0802F4D8 @ =gMoveSelectionCursor ldr r0, _0802F4DC @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2183,7 +2183,7 @@ _0802F4AA: b _0802F4E8 .align 2, 0 _0802F4D4: .4byte gUnknown_3004FF4 -_0802F4D8: .4byte gUnknown_2023FFC +_0802F4D8: .4byte gMoveSelectionCursor _0802F4DC: .4byte gActiveBattler _0802F4E0: ldrb r0, [r4] @@ -2202,7 +2202,7 @@ _0802F4E8: ands r0, r2 cmp r0, 0 beq _0802F56C - ldr r0, _0802F520 @ =gUnknown_2023FFC + ldr r0, _0802F520 @ =gMoveSelectionCursor ldr r1, _0802F524 @ =gActiveBattler ldrb r1, [r1] adds r1, r0 @@ -2216,7 +2216,7 @@ _0802F4E8: .align 2, 0 _0802F518: .4byte gMain _0802F51C: .4byte gUnknown_3004FF4 -_0802F520: .4byte gUnknown_2023FFC +_0802F520: .4byte gMoveSelectionCursor _0802F524: .4byte gActiveBattler _0802F528: ldrb r0, [r3] @@ -2229,7 +2229,7 @@ _0802F52E: strb r0, [r4] movs r0, 0x5 bl PlaySE - ldr r1, _0802F55C @ =gUnknown_2023FFC + ldr r1, _0802F55C @ =gMoveSelectionCursor ldr r0, _0802F560 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2243,7 +2243,7 @@ _0802F52E: b _0802F56C .align 2, 0 _0802F558: .4byte gUnknown_3004FF4 -_0802F55C: .4byte gUnknown_2023FFC +_0802F55C: .4byte gMoveSelectionCursor _0802F560: .4byte gActiveBattler _0802F564: ldrb r0, [r4] @@ -2268,7 +2268,7 @@ _0802F56C: ldrb r1, [r1] cmp r0, r1 bcs _0802F600 - ldr r0, _0802F5B4 @ =gUnknown_2023FFC + ldr r0, _0802F5B4 @ =gMoveSelectionCursor ldr r1, _0802F5B8 @ =gActiveBattler ldrb r1, [r1] adds r1, r0 @@ -2283,7 +2283,7 @@ _0802F56C: _0802F5A8: .4byte gMain _0802F5AC: .4byte gUnknown_3004FF4 _0802F5B0: .4byte gUnknown_3004FF8 -_0802F5B4: .4byte gUnknown_2023FFC +_0802F5B4: .4byte gMoveSelectionCursor _0802F5B8: .4byte gActiveBattler _0802F5BC: ldrb r0, [r3] @@ -2296,7 +2296,7 @@ _0802F5C2: strb r0, [r4] movs r0, 0x5 bl PlaySE - ldr r1, _0802F5F0 @ =gUnknown_2023FFC + ldr r1, _0802F5F0 @ =gMoveSelectionCursor ldr r0, _0802F5F4 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -2310,7 +2310,7 @@ _0802F5C2: b _0802F600 .align 2, 0 _0802F5EC: .4byte gUnknown_3004FF4 -_0802F5F0: .4byte gUnknown_2023FFC +_0802F5F0: .4byte gMoveSelectionCursor _0802F5F4: .4byte gActiveBattler _0802F5F8: ldrb r0, [r4] @@ -2363,7 +2363,7 @@ _0802F658: .4byte 0x00000439 _0802F65C: .4byte gPreBattleCallback1 _0802F660: .4byte sub_8011A1C _0802F664: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802F694 @@ -3474,7 +3474,7 @@ _0802FEF2: lsrs r2, 16 movs r0, 0x1 movs r1, 0xB - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues strb r5, [r4] bl IsDoubleBattle lsls r0, 24 @@ -3766,7 +3766,7 @@ _08030124: lsrs r2, 16 movs r0, 0x1 movs r1, 0xB - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues strb r5, [r4] ldr r0, _08030200 @ =sub_8030238 str r0, [r6] @@ -4355,7 +4355,7 @@ sub_8030684: @ 8030684 ldrb r1, [r0] ldr r2, _080306C8 @ =gUnknown_203B0DC movs r0, 0x1 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue b _080306D6 .align 2, 0 _080306B4: .4byte gMain @@ -4368,7 +4368,7 @@ _080306CC: movs r0, 0x1 movs r1, 0x6 movs r2, 0 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue _080306D6: ldr r1, _080306F8 @ =gBattleBufferA ldr r0, _080306FC @ =gActiveBattler @@ -4438,7 +4438,7 @@ CompleteWhenChoseItem: @ 803073C ldr r0, _08030774 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 - bl EmitOneReturnValue + bl BtlController_EmitOneReturnValue bl PlayerBufferExecCompleted _08030762: pop {r0} @@ -4638,7 +4638,7 @@ MoveSelectionDisplayPpNumber: @ 80308CC adds r0, r5, 0x4 adds r4, r0 ldr r6, _08030938 @ =gDisplayedStringBattle - ldr r5, _0803093C @ =gUnknown_2023FFC + ldr r5, _0803093C @ =gMoveSelectionCursor adds r1, r5 adds r0, r4, 0 adds r0, 0x8 @@ -4672,7 +4672,7 @@ _08030928: _08030930: .4byte gBattleBufferA _08030934: .4byte gActiveBattler _08030938: .4byte gDisplayedStringBattle -_0803093C: .4byte gUnknown_2023FFC +_0803093C: .4byte gMoveSelectionCursor thumb_func_end MoveSelectionDisplayPpNumber thumb_func_start MoveSelectionDisplayMoveType @@ -4702,7 +4702,7 @@ MoveSelectionDisplayMoveType: @ 8030940 bl StringCopy adds r3, r0, 0 ldr r2, _080309C0 @ =gBattleMoves - ldr r1, _080309C4 @ =gUnknown_2023FFC + ldr r1, _080309C4 @ =gMoveSelectionCursor ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -4733,7 +4733,7 @@ _080309B4: .4byte gDisplayedStringBattle _080309B8: .4byte gUnknown_83FE76A _080309BC: .4byte gUnknown_83FE770 _080309C0: .4byte gBattleMoves -_080309C4: .4byte gUnknown_2023FFC +_080309C4: .4byte gMoveSelectionCursor _080309C8: .4byte gUnknown_824F1A0 thumb_func_end MoveSelectionDisplayMoveType @@ -5032,7 +5032,7 @@ _08030BEA: lsrs r1, 16 movs r0, 0x1 mov r2, sp - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl PlayerBufferExecCompleted add sp, 0x100 pop {r4-r6} @@ -6029,7 +6029,7 @@ _08031406: ldrb r1, [r0] movs r0, 0x1 adds r2, r4, 0 - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl PlayerBufferExecCompleted add sp, 0x58 pop {r4-r7} @@ -7366,7 +7366,7 @@ PlayerHandleSwitchInAnim: @ 8031F68 ldrb r0, [r5] adds r0, r1 strb r4, [r0] - ldr r1, _08031FE8 @ =gUnknown_2023FFC + ldr r1, _08031FE8 @ =gMoveSelectionCursor ldrb r0, [r5] adds r0, r1 strb r4, [r0] @@ -7390,7 +7390,7 @@ _08031FD8: .4byte gBattleBufferA _08031FDC: .4byte gBattlerPartyIndexes _08031FE0: .4byte gPlayerParty _08031FE4: .4byte gActionSelectionCursor -_08031FE8: .4byte gUnknown_2023FFC +_08031FE8: .4byte gMoveSelectionCursor _08031FEC: .4byte gBattlerControllerFuncs _08031FF0: .4byte sub_802FD18 thumb_func_end PlayerHandleSwitchInAnim @@ -8961,7 +8961,7 @@ sub_8032CB4: @ 8032CB4 ldr r1, _08032CE0 @ =gUnknown_3004FF4 movs r0, 0xFF strb r0, [r1] - ldr r1, _08032CE4 @ =gUnknown_2023FFC + ldr r1, _08032CE4 @ =gMoveSelectionCursor ldr r0, _08032CE8 @ =gActiveBattler ldrb r0, [r0] adds r0, r1 @@ -8975,7 +8975,7 @@ sub_8032CB4: @ 8032CB4 bx r0 .align 2, 0 _08032CE0: .4byte gUnknown_3004FF4 -_08032CE4: .4byte gUnknown_2023FFC +_08032CE4: .4byte gMoveSelectionCursor _08032CE8: .4byte gActiveBattler thumb_func_end sub_8032CB4 @@ -9629,7 +9629,7 @@ PlayerHandleTwoReturnValues: @ 8033230 movs r0, 0x1 movs r1, 0 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues bl PlayerBufferExecCompleted pop {r0} bx r0 @@ -9641,7 +9641,7 @@ PlayerHandleChosenMonReturnValue: @ 8033244 movs r0, 0x1 movs r1, 0 movs r2, 0 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue bl PlayerBufferExecCompleted pop {r0} bx r0 @@ -9652,7 +9652,7 @@ PlayerHandleOneReturnValue: @ 8033258 push {lr} movs r0, 0x1 movs r1, 0 - bl EmitOneReturnValue + bl BtlController_EmitOneReturnValue bl PlayerBufferExecCompleted pop {r0} bx r0 @@ -9663,7 +9663,7 @@ PlayerHandleOneReturnValue_Duplicate: @ 803326C push {lr} movs r0, 0x1 movs r1, 0 - bl EmitOneReturnValue_Duplicate + bl BtlController_EmitOneReturnValue_Duplicate bl PlayerBufferExecCompleted pop {r0} bx r0 @@ -10640,21 +10640,21 @@ _08033A3E: ldr r0, _08033A50 @ =gActionSelectionCursor adds r0, r3, r0 strb r2, [r0] - ldr r1, _08033A54 @ =gUnknown_2023FFC + ldr r1, _08033A54 @ =gMoveSelectionCursor ldrb r0, [r4] adds r0, r1 strb r2, [r0] b _08033A68 .align 2, 0 _08033A50: .4byte gActionSelectionCursor -_08033A54: .4byte gUnknown_2023FFC +_08033A54: .4byte gMoveSelectionCursor _08033A58: ldr r0, _08033A5C @ =gActionSelectionCursor b _08033A62 .align 2, 0 _08033A5C: .4byte gActionSelectionCursor _08033A60: - ldr r0, _08033A74 @ =gUnknown_2023FFC + ldr r0, _08033A74 @ =gMoveSelectionCursor _08033A62: adds r0, r3, r0 movs r1, 0 @@ -10665,7 +10665,7 @@ _08033A68: pop {r0} bx r0 .align 2, 0 -_08033A74: .4byte gUnknown_2023FFC +_08033A74: .4byte gMoveSelectionCursor thumb_func_end PlayerHandleResetActionMoveSelection thumb_func_start PlayerHandlecmd55 @@ -10726,7 +10726,7 @@ _08033ADE: lsls r2, r1, 9 ldr r0, _08033B1C @ =gUnknown_2022BC8 adds r2, r0 - ldr r0, _08033B20 @ =gUnknown_2023FFC + ldr r0, _08033B20 @ =gMoveSelectionCursor adds r1, r0 ldrb r0, [r1] lsls r0, 1 @@ -10751,7 +10751,7 @@ _08033ADE: _08033B14: .4byte gBattleTypeFlags _08033B18: .4byte gActiveBattler _08033B1C: .4byte gUnknown_2022BC8 -_08033B20: .4byte gUnknown_2023FFC +_08033B20: .4byte gMoveSelectionCursor _08033B24: ldr r1, _08033B40 @ =gBattleMoves lsls r0, r4, 1 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index afc8ffef3..6e8071820 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -10,8 +10,8 @@ nullsub_99: @ 81560A0 bx lr thumb_func_end nullsub_99 - thumb_func_start sub_81560A4 -sub_81560A4: @ 81560A4 + thumb_func_start SetControllerToPokedude +SetControllerToPokedude: @ 81560A4 ldr r1, _081560C8 @ =gBattlerControllerFuncs ldr r0, _081560CC @ =gActiveBattler ldrb r0, [r0] @@ -36,7 +36,7 @@ _081560CC: .4byte gActiveBattler _081560D0: .4byte sub_81560DC _081560D4: .4byte gBattleStruct _081560D8: .4byte gSpecialVar_0x8004 - thumb_func_end sub_81560A4 + thumb_func_end SetControllerToPokedude thumb_func_start sub_81560DC sub_81560DC: @ 81560DC @@ -603,7 +603,7 @@ sub_8156538: @ 8156538 ldrb r1, [r0] ldr r2, _0815657C @ =gUnknown_203B0DC movs r0, 0x1 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue b _0815658A .align 2, 0 _08156568: .4byte gMain @@ -616,7 +616,7 @@ _08156580: movs r0, 0x1 movs r1, 0x6 movs r2, 0 - bl EmitChosenMonReturnValue + bl BtlController_EmitChosenMonReturnValue _0815658A: bl PlayerPartnerBufferExecCompleted _0815658E: @@ -683,7 +683,7 @@ sub_81565E8: @ 81565E8 ldr r0, _08156620 @ =gSpecialVar_ItemId ldrh r1, [r0] movs r0, 0x1 - bl EmitOneReturnValue + bl BtlController_EmitOneReturnValue bl PlayerPartnerBufferExecCompleted _0815660E: pop {r0} @@ -1121,7 +1121,7 @@ _08156922: lsrs r2, 16 movs r0, 0x1 movs r1, 0xB - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues strb r5, [r4] bl IsDoubleBattle lsls r0, 24 @@ -1413,7 +1413,7 @@ _08156B54: lsrs r2, 16 movs r0, 0x1 movs r1, 0xB - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues strb r5, [r4] ldr r0, _08156C30 @ =sub_8156C68 str r0, [r6] @@ -2102,7 +2102,7 @@ _08157186: lsrs r1, 16 movs r0, 0x1 mov r2, sp - bl EmitDataTransfer + bl BtlController_EmitDataTransfer bl PlayerPartnerBufferExecCompleted add sp, 0x100 pop {r4-r6} @@ -4080,7 +4080,7 @@ sub_815823C: @ 815823C ldrb r0, [r5] adds r0, r1 strb r4, [r0] - ldr r1, _081582B4 @ =gUnknown_2023FFC + ldr r1, _081582B4 @ =gMoveSelectionCursor ldrb r0, [r5] adds r0, r1 strb r4, [r0] @@ -4101,7 +4101,7 @@ _081582A4: .4byte gBattleBufferA _081582A8: .4byte gBattlerPartyIndexes _081582AC: .4byte gPlayerParty _081582B0: .4byte gActionSelectionCursor -_081582B4: .4byte gUnknown_2023FFC +_081582B4: .4byte gMoveSelectionCursor _081582B8: .4byte gBattlerControllerFuncs _081582BC: .4byte sub_81563A8 thumb_func_end sub_815823C @@ -6839,13 +6839,13 @@ _081598DA: movs r1, 0x2 _081598DE: movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues b _081598F0 _081598E6: movs r0, 0x1 movs r1, 0x3 movs r2, 0 - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues _081598F0: bl PlayerPartnerBufferExecCompleted ldr r3, _08159924 @ =gUnknown_3005EE0 @@ -6984,7 +6984,7 @@ _081599DE: orrs r2, r1 movs r0, 0x1 movs r1, 0xA - bl EmitTwoReturnValues + bl BtlController_EmitTwoReturnValues bl PlayerPartnerBufferExecCompleted ldrb r0, [r6] lsls r0, 2 @@ -7012,7 +7012,7 @@ _08159A3C: .4byte gBattleStruct _08159A40: .4byte gUnknown_3005EE0 _08159A44: .4byte gActiveBattler _08159A48: - ldr r5, _08159AAC @ =gUnknown_2023FFC + ldr r5, _08159AAC @ =gMoveSelectionCursor adds r1, r2, r5 ldrb r0, [r3] ldrb r1, [r1] @@ -7061,7 +7061,7 @@ _08159AA0: pop {r0} bx r0 .align 2, 0 -_08159AAC: .4byte gUnknown_2023FFC +_08159AAC: .4byte gMoveSelectionCursor _08159AB0: .4byte gUnknown_3005EE0 _08159AB4: .4byte gActiveBattler thumb_func_end sub_8159998 diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s deleted file mode 100644 index 98a38a8d3..000000000 --- a/asm/battle_controllers.s +++ /dev/null @@ -1,3392 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_800D230 -sub_800D230: @ 800D230 - push {lr} - ldr r0, _0800D268 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800D262 - ldr r0, _0800D26C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0800D24A - bl sub_800B1F4 -_0800D24A: - ldr r0, _0800D270 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0800D256 - bl sub_8009804 -_0800D256: - ldr r0, _0800D274 @ =sub_8081A90 - movs r1, 0 - bl CreateTask - bl CreateTasksForSendRecvLinkBuffers -_0800D262: - pop {r0} - bx r0 - .align 2, 0 -_0800D268: .4byte gBattleTypeFlags -_0800D26C: .4byte gWirelessCommType -_0800D270: .4byte gReceivedRemoteLinkPlayers -_0800D274: .4byte sub_8081A90 - thumb_func_end sub_800D230 - - thumb_func_start sub_800D278 -sub_800D278: @ 800D278 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _0800D2E4 @ =gUnknown_3004F84 - ldr r0, _0800D2E8 @ =nullsub_12 - str r0, [r1] - movs r2, 0 - ldr r0, _0800D2EC @ =nullsub_13 - mov r8, r0 - movs r3, 0 - ldr r1, _0800D2F0 @ =gBattlerControllerFuncs - mov r12, r1 - ldr r7, _0800D2F4 @ =gBattlerPositions - movs r6, 0xFF - ldr r5, _0800D2F8 @ =gActionSelectionCursor - ldr r4, _0800D2FC @ =gUnknown_2023FFC -_0800D298: - mov r0, r8 - mov r1, r12 - adds r1, 0x4 - mov r12, r1 - subs r1, 0x4 - stm r1!, {r0} - adds r1, r2, r7 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - adds r0, r2, r5 - strb r3, [r0] - adds r0, r2, r4 - strb r3, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _0800D298 - bl sub_800D230 - ldr r0, _0800D300 @ =gBattleControllerExecFlags - movs r4, 0 - str r4, [r0] - bl ClearBattleAnimationVars - bl ClearBattleMonForms - bl BattleAI_HandleItemUseBeforeAISetup - ldr r0, _0800D304 @ =gUnknown_2022B54 - str r4, [r0] - ldr r0, _0800D308 @ =gUnknown_2023DDC - strb r4, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800D2E4: .4byte gUnknown_3004F84 -_0800D2E8: .4byte nullsub_12 -_0800D2EC: .4byte nullsub_13 -_0800D2F0: .4byte gBattlerControllerFuncs -_0800D2F4: .4byte gBattlerPositions -_0800D2F8: .4byte gActionSelectionCursor -_0800D2FC: .4byte gUnknown_2023FFC -_0800D300: .4byte gBattleControllerExecFlags -_0800D304: .4byte gUnknown_2022B54 -_0800D308: .4byte gUnknown_2023DDC - thumb_func_end sub_800D278 - - thumb_func_start sub_800D30C -sub_800D30C: @ 800D30C - push {r4,r5,lr} - ldr r0, _0800D320 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800D324 - bl sub_800D494 - b _0800D328 - .align 2, 0 -_0800D320: .4byte gBattleTypeFlags -_0800D324: - bl sub_800D364 -_0800D328: - bl sub_800D768 - ldr r0, _0800D35C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0800D356 - movs r4, 0 - ldr r0, _0800D360 @ =gBattlersCount - ldrb r1, [r0] - cmp r4, r1 - bge _0800D356 - adds r5, r0, 0 -_0800D344: - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8127DA8 - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _0800D344 -_0800D356: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800D35C: .4byte gBattleTypeFlags -_0800D360: .4byte gBattlersCount - thumb_func_end sub_800D30C - - thumb_func_start sub_800D364 -sub_800D364: @ 800D364 - push {r4,lr} - ldr r0, _0800D398 @ =gBattleTypeFlags - ldr r2, [r0] - movs r4, 0x1 - adds r3, r2, 0 - ands r3, r4 - cmp r3, 0 - bne _0800D414 - ldr r1, _0800D39C @ =gUnknown_3004F84 - ldr r0, _0800D3A0 @ =sub_80123C0 - str r0, [r1] - movs r0, 0x80 - lsls r0, 9 - ands r0, r2 - cmp r0, 0 - beq _0800D3B4 - ldr r2, _0800D3A4 @ =gBattlerControllerFuncs - ldr r1, _0800D3A8 @ =sub_81560A4 - str r1, [r2] - ldr r0, _0800D3AC @ =gBattlerPositions - strb r3, [r0] - str r1, [r2, 0x4] - strb r4, [r0, 0x1] - ldr r1, _0800D3B0 @ =gBattlersCount - movs r0, 0x2 - b _0800D478 - .align 2, 0 -_0800D398: .4byte gBattleTypeFlags -_0800D39C: .4byte gUnknown_3004F84 -_0800D3A0: .4byte sub_80123C0 -_0800D3A4: .4byte gBattlerControllerFuncs -_0800D3A8: .4byte sub_81560A4 -_0800D3AC: .4byte gBattlerPositions -_0800D3B0: .4byte gBattlersCount -_0800D3B4: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _0800D3CC - ldr r1, _0800D3C4 @ =gBattlerControllerFuncs - ldr r0, _0800D3C8 @ =SetControllerToSafari - b _0800D3E8 - .align 2, 0 -_0800D3C4: .4byte gBattlerControllerFuncs -_0800D3C8: .4byte SetControllerToSafari -_0800D3CC: - movs r0, 0x84 - lsls r0, 2 - ands r2, r0 - cmp r2, 0 - beq _0800D3E4 - ldr r1, _0800D3DC @ =gBattlerControllerFuncs - ldr r0, _0800D3E0 @ =sub_80E75B0 - b _0800D3E8 - .align 2, 0 -_0800D3DC: .4byte gBattlerControllerFuncs -_0800D3E0: .4byte sub_80E75B0 -_0800D3E4: - ldr r1, _0800D400 @ =gBattlerControllerFuncs - ldr r0, _0800D404 @ =SetBankFuncToPlayerBufferRunCommand -_0800D3E8: - str r0, [r1] - adds r2, r1, 0 - ldr r1, _0800D408 @ =gBattlerPositions - movs r0, 0 - strb r0, [r1] - ldr r0, _0800D40C @ =sub_8035A7C - str r0, [r2, 0x4] - movs r0, 0x1 - strb r0, [r1, 0x1] - ldr r1, _0800D410 @ =gBattlersCount - movs r0, 0x2 - b _0800D478 - .align 2, 0 -_0800D400: .4byte gBattlerControllerFuncs -_0800D404: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D408: .4byte gBattlerPositions -_0800D40C: .4byte sub_8035A7C -_0800D410: .4byte gBattlersCount -_0800D414: - ldr r1, _0800D444 @ =gUnknown_3004F84 - ldr r0, _0800D448 @ =sub_80123C0 - str r0, [r1] - movs r3, 0x80 - lsls r3, 9 - ands r3, r2 - cmp r3, 0 - beq _0800D458 - ldr r3, _0800D44C @ =gBattlerControllerFuncs - ldr r1, _0800D450 @ =sub_81560A4 - str r1, [r3] - ldr r2, _0800D454 @ =gBattlerPositions - movs r0, 0 - strb r0, [r2] - str r1, [r3, 0x4] - strb r4, [r2, 0x1] - str r1, [r3, 0x8] - movs r0, 0x2 - strb r0, [r2, 0x2] - str r1, [r3, 0xC] - movs r0, 0x3 - strb r0, [r2, 0x3] - b _0800D474 - .align 2, 0 -_0800D444: .4byte gUnknown_3004F84 -_0800D448: .4byte sub_80123C0 -_0800D44C: .4byte gBattlerControllerFuncs -_0800D450: .4byte sub_81560A4 -_0800D454: .4byte gBattlerPositions -_0800D458: - ldr r2, _0800D480 @ =gBattlerControllerFuncs - ldr r0, _0800D484 @ =SetBankFuncToPlayerBufferRunCommand - str r0, [r2] - ldr r1, _0800D488 @ =gBattlerPositions - strb r3, [r1] - ldr r3, _0800D48C @ =sub_8035A7C - str r3, [r2, 0x4] - strb r4, [r1, 0x1] - str r0, [r2, 0x8] - movs r0, 0x2 - strb r0, [r1, 0x2] - str r3, [r2, 0xC] - movs r0, 0x3 - strb r0, [r1, 0x3] -_0800D474: - ldr r1, _0800D490 @ =gBattlersCount - movs r0, 0x4 -_0800D478: - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800D480: .4byte gBattlerControllerFuncs -_0800D484: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D488: .4byte gBattlerPositions -_0800D48C: .4byte sub_8035A7C -_0800D490: .4byte gBattlersCount - thumb_func_end sub_800D364 - - thumb_func_start sub_800D494 -sub_800D494: @ 800D494 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _0800D4D0 @ =gBattleTypeFlags - ldr r0, [r4] - movs r5, 0x1 - adds r3, r0, 0 - ands r3, r5 - cmp r3, 0 - bne _0800D51C - movs r4, 0x4 - ands r4, r0 - cmp r4, 0 - beq _0800D4F0 - ldr r1, _0800D4D4 @ =gUnknown_3004F84 - ldr r0, _0800D4D8 @ =sub_80123C0 - str r0, [r1] - ldr r2, _0800D4DC @ =gBattlerControllerFuncs - ldr r0, _0800D4E0 @ =SetBankFuncToPlayerBufferRunCommand - str r0, [r2] - ldr r1, _0800D4E4 @ =gBattlerPositions - strb r3, [r1] - ldr r0, _0800D4E8 @ =sub_803A668 - str r0, [r2, 0x4] - strb r5, [r1, 0x1] - ldr r1, _0800D4EC @ =gBattlersCount - movs r0, 0x2 - b _0800D752 - .align 2, 0 -_0800D4D0: .4byte gBattleTypeFlags -_0800D4D4: .4byte gUnknown_3004F84 -_0800D4D8: .4byte sub_80123C0 -_0800D4DC: .4byte gBattlerControllerFuncs -_0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D4E4: .4byte gBattlerPositions -_0800D4E8: .4byte sub_803A668 -_0800D4EC: .4byte gBattlersCount -_0800D4F0: - ldr r2, _0800D508 @ =gBattlerControllerFuncs - ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand - str r0, [r2, 0x4] - ldr r1, _0800D510 @ =gBattlerPositions - strb r4, [r1, 0x1] - ldr r0, _0800D514 @ =sub_803A668 - str r0, [r2] - strb r5, [r1] - ldr r1, _0800D518 @ =gBattlersCount - movs r0, 0x2 - b _0800D752 - .align 2, 0 -_0800D508: .4byte gBattlerControllerFuncs -_0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D510: .4byte gBattlerPositions -_0800D514: .4byte sub_803A668 -_0800D518: .4byte gBattlersCount -_0800D51C: - movs r5, 0x41 - ands r5, r0 - cmp r5, 0x1 - bne _0800D5A4 - movs r6, 0x4 - adds r3, r6, 0 - ands r3, r0 - cmp r3, 0 - beq _0800D56C - ldr r1, _0800D554 @ =gUnknown_3004F84 - ldr r0, _0800D558 @ =sub_80123C0 - str r0, [r1] - ldr r2, _0800D55C @ =gBattlerControllerFuncs - ldr r4, _0800D560 @ =SetBankFuncToPlayerBufferRunCommand - str r4, [r2] - ldr r1, _0800D564 @ =gBattlerPositions - movs r0, 0 - strb r0, [r1] - ldr r3, _0800D568 @ =sub_803A668 - str r3, [r2, 0x4] - strb r5, [r1, 0x1] - str r4, [r2, 0x8] - movs r0, 0x2 - strb r0, [r1, 0x2] - str r3, [r2, 0xC] - movs r0, 0x3 - strb r0, [r1, 0x3] - b _0800D588 - .align 2, 0 -_0800D554: .4byte gUnknown_3004F84 -_0800D558: .4byte sub_80123C0 -_0800D55C: .4byte gBattlerControllerFuncs -_0800D560: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D564: .4byte gBattlerPositions -_0800D568: .4byte sub_803A668 -_0800D56C: - ldr r2, _0800D590 @ =gBattlerControllerFuncs - ldr r0, _0800D594 @ =SetBankFuncToPlayerBufferRunCommand - str r0, [r2, 0x4] - ldr r1, _0800D598 @ =gBattlerPositions - strb r3, [r1, 0x1] - ldr r3, _0800D59C @ =sub_803A668 - str r3, [r2] - strb r5, [r1] - str r0, [r2, 0xC] - movs r0, 0x2 - strb r0, [r1, 0x3] - str r3, [r2, 0x8] - movs r0, 0x3 - strb r0, [r1, 0x2] -_0800D588: - ldr r0, _0800D5A0 @ =gBattlersCount - strb r6, [r0] - b _0800D754 - .align 2, 0 -_0800D590: .4byte gBattlerControllerFuncs -_0800D594: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D598: .4byte gBattlerPositions -_0800D59C: .4byte sub_803A668 -_0800D5A0: .4byte gBattlersCount -_0800D5A4: - bl GetMultiplayerId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r4] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0800D5BC - ldr r1, _0800D5E4 @ =gUnknown_3004F84 - ldr r0, _0800D5E8 @ =sub_80123C0 - str r0, [r1] -_0800D5BC: - movs r0, 0 - mov r10, r0 - ldr r1, _0800D5EC @ =gLinkPlayers - mov r12, r1 - ldr r7, _0800D5F0 @ =gBattlerPositions - mov r8, r0 - ldr r6, _0800D5F4 @ =gBattlerPartyIndexes - movs r4, 0 - movs r2, 0x3 - mov r9, r2 -_0800D5D0: - mov r1, r12 - adds r0, r4, r1 - ldrh r0, [r0, 0x18] - cmp r0, 0x2 - bgt _0800D5F8 - cmp r0, 0x1 - bge _0800D610 - cmp r0, 0 - beq _0800D5FC - b _0800D61A - .align 2, 0 -_0800D5E4: .4byte gUnknown_3004F84 -_0800D5E8: .4byte sub_80123C0 -_0800D5EC: .4byte gLinkPlayers -_0800D5F0: .4byte gBattlerPositions -_0800D5F4: .4byte gBattlerPartyIndexes -_0800D5F8: - cmp r0, 0x3 - bne _0800D61A -_0800D5FC: - ldr r0, _0800D60C @ =gLinkPlayers - adds r0, r4, r0 - ldrb r0, [r0, 0x18] - movs r1, 0 - bl sub_8127DA8 - b _0800D61A - .align 2, 0 -_0800D60C: .4byte gLinkPlayers -_0800D610: - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8127DA8 -_0800D61A: - cmp r10, r5 - bne _0800D66A - ldr r0, _0800D640 @ =gLinkPlayers - adds r3, r4, r0 - ldrh r1, [r3, 0x18] - lsls r1, 2 - ldr r2, _0800D644 @ =gBattlerControllerFuncs - adds r1, r2 - ldr r2, _0800D648 @ =SetBankFuncToPlayerBufferRunCommand - str r2, [r1] - ldrh r1, [r3, 0x18] - mov r12, r0 - cmp r1, 0x2 - bgt _0800D64C - cmp r1, 0x1 - bge _0800D660 - cmp r1, 0 - beq _0800D650 - b _0800D740 - .align 2, 0 -_0800D640: .4byte gLinkPlayers -_0800D644: .4byte gBattlerControllerFuncs -_0800D648: .4byte SetBankFuncToPlayerBufferRunCommand -_0800D64C: - cmp r1, 0x3 - bne _0800D740 -_0800D650: - mov r1, r12 - adds r0, r4, r1 - ldrh r1, [r0, 0x18] - adds r1, r7 - mov r2, r8 - strb r2, [r1] - ldrh r0, [r0, 0x18] - b _0800D726 -_0800D660: - adds r1, r7 - movs r0, 0x2 - strb r0, [r1] - ldrh r0, [r3, 0x18] - b _0800D738 -_0800D66A: - ldr r2, _0800D690 @ =gLinkPlayers - adds r0, r4, r2 - ldrh r1, [r0, 0x18] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - mov r12, r2 - cmp r0, 0 - bne _0800D694 - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r12 - ldrh r1, [r0, 0x18] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800D6A6 - b _0800D6EC - .align 2, 0 -_0800D690: .4byte gLinkPlayers -_0800D694: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r12 - ldrh r1, [r0, 0x18] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800D6EC -_0800D6A6: - mov r0, r12 - adds r2, r4, r0 - ldrh r0, [r2, 0x18] - lsls r0, 2 - ldr r1, _0800D6C8 @ =gBattlerControllerFuncs - adds r0, r1 - ldr r1, _0800D6CC @ =sub_80D4204 - str r1, [r0] - ldrh r1, [r2, 0x18] - cmp r1, 0x2 - bgt _0800D6D0 - cmp r1, 0x1 - bge _0800D6E4 - cmp r1, 0 - beq _0800D6D4 - b _0800D740 - .align 2, 0 -_0800D6C8: .4byte gBattlerControllerFuncs -_0800D6CC: .4byte sub_80D4204 -_0800D6D0: - cmp r1, 0x3 - bne _0800D740 -_0800D6D4: - mov r2, r12 - adds r0, r4, r2 - ldrh r1, [r0, 0x18] - adds r1, r7 - mov r2, r8 - strb r2, [r1] - ldrh r0, [r0, 0x18] - b _0800D726 -_0800D6E4: - adds r1, r7 - movs r0, 0x2 - strb r0, [r1] - b _0800D736 -_0800D6EC: - mov r0, r12 - adds r2, r4, r0 - ldrh r0, [r2, 0x18] - lsls r0, 2 - ldr r1, _0800D70C @ =gBattlerControllerFuncs - adds r0, r1 - ldr r1, _0800D710 @ =sub_803A668 - str r1, [r0] - ldrh r0, [r2, 0x18] - cmp r0, 0x2 - bgt _0800D714 - cmp r0, 0x1 - bge _0800D730 - cmp r0, 0 - beq _0800D718 - b _0800D740 - .align 2, 0 -_0800D70C: .4byte gBattlerControllerFuncs -_0800D710: .4byte sub_803A668 -_0800D714: - cmp r0, 0x3 - bne _0800D740 -_0800D718: - mov r0, r12 - adds r2, r4, r0 - ldrh r0, [r2, 0x18] - adds r0, r7 - movs r1, 0x1 - strb r1, [r0] - ldrh r0, [r2, 0x18] -_0800D726: - lsls r0, 1 - adds r0, r6 - mov r1, r8 - strh r1, [r0] - b _0800D740 -_0800D730: - adds r0, r7 - mov r1, r9 - strb r1, [r0] -_0800D736: - ldrh r0, [r2, 0x18] -_0800D738: - lsls r0, 1 - adds r0, r6 - mov r2, r9 - strh r2, [r0] -_0800D740: - adds r4, 0x1C - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0x3 - bgt _0800D74E - b _0800D5D0 -_0800D74E: - ldr r1, _0800D764 @ =gBattlersCount - movs r0, 0x4 -_0800D752: - strb r0, [r1] -_0800D754: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800D764: .4byte gBattlersCount - thumb_func_end sub_800D494 - - thumb_func_start sub_800D768 -sub_800D768: @ 800D768 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800D788 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800D780 - b _0800D89C -_0800D780: - movs r0, 0 - mov r8, r0 - b _0800D892 - .align 2, 0 -_0800D788: .4byte gBattleTypeFlags -_0800D78C: - movs r5, 0 - movs r0, 0x1 - add r0, r8 - mov r10, r0 - ldr r0, _0800D7B8 @ =gBattlerPositions - add r0, r8 - mov r9, r0 - mov r0, r8 - lsls r6, r0, 1 - movs r7, 0 -_0800D7A0: - mov r0, r8 - cmp r0, 0x1 - bgt _0800D808 - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0800D7C0 - ldr r0, _0800D7BC @ =gPlayerParty - b _0800D7C2 - .align 2, 0 -_0800D7B8: .4byte gBattlerPositions -_0800D7BC: .4byte gPlayerParty -_0800D7C0: - ldr r0, _0800D800 @ =gEnemyParty -_0800D7C2: - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800D888 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0800D888 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0800D888 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0800D888 - ldr r0, _0800D804 @ =gBattlerPartyIndexes - adds r0, r6, r0 - strh r5, [r0] - b _0800D890 - .align 2, 0 -_0800D800: .4byte gEnemyParty -_0800D804: .4byte gBattlerPartyIndexes -_0800D808: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0800D830 - ldr r0, _0800D82C @ =gPlayerParty - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800D888 - adds r0, r4, 0 - movs r1, 0xB - b _0800D844 - .align 2, 0 -_0800D82C: .4byte gPlayerParty -_0800D830: - ldr r0, _0800D880 @ =gEnemyParty - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800D888 - adds r0, r4, 0 - movs r1, 0x41 -_0800D844: - bl GetMonData - cmp r0, 0 - beq _0800D888 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0800D888 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0800D888 - ldr r1, _0800D884 @ =gBattlerPartyIndexes - mov r0, r8 - subs r0, 0x2 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _0800D888 - adds r0, r6, r1 - strh r5, [r0] - b _0800D890 - .align 2, 0 -_0800D880: .4byte gEnemyParty -_0800D884: .4byte gBattlerPartyIndexes -_0800D888: - adds r7, 0x64 - adds r5, 0x1 - cmp r5, 0x5 - ble _0800D7A0 -_0800D890: - mov r8, r10 -_0800D892: - ldr r0, _0800D8AC @ =gBattlersCount - ldrb r0, [r0] - cmp r8, r0 - bge _0800D89C - b _0800D78C -_0800D89C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800D8AC: .4byte gBattlersCount - thumb_func_end sub_800D768 - - thumb_func_start PrepareBufferDataTransfer -PrepareBufferDataTransfer: @ 800D8B0 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, r3, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _0800D8D8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800D8DC - adds r0, r3, 0 - adds r1, r2, 0 - adds r2, r4, 0 - bl PrepareBufferDataTransferLink - b _0800D92E - .align 2, 0 -_0800D8D8: .4byte gBattleTypeFlags -_0800D8DC: - cmp r5, 0 - beq _0800D8E6 - cmp r5, 0x1 - beq _0800D910 - b _0800D92E -_0800D8E6: - movs r3, 0 - cmp r3, r2 - bge _0800D92E - ldr r6, _0800D908 @ =gBattleBufferA - ldr r5, _0800D90C @ =gActiveBattler -_0800D8F0: - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3, r0 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - blt _0800D8F0 - b _0800D92E - .align 2, 0 -_0800D908: .4byte gBattleBufferA -_0800D90C: .4byte gActiveBattler -_0800D910: - movs r3, 0 - cmp r3, r2 - bge _0800D92E - ldr r6, _0800D934 @ =gUnknown_20233C4 - ldr r5, _0800D938 @ =gActiveBattler -_0800D91A: - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3, r0 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - blt _0800D91A -_0800D92E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800D934: .4byte gUnknown_20233C4 -_0800D938: .4byte gActiveBattler - thumb_func_end PrepareBufferDataTransfer - - thumb_func_start CreateTasksForSendRecvLinkBuffers -CreateTasksForSendRecvLinkBuffers: @ 800D93C - push {r4-r6,lr} - ldr r0, _0800D9D4 @ =sub_800DB6C - movs r1, 0 - bl CreateTask - ldr r2, _0800D9D8 @ =gUnknown_202286C - strb r0, [r2] - ldr r5, _0800D9DC @ =gTasks - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r6, 0 - movs r4, 0 - strh r4, [r0, 0x1E] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x26] - ldr r0, _0800D9E0 @ =Task_HandleCopyReceivedLinkBuffersData - movs r1, 0 - bl CreateTask - ldr r2, _0800D9E4 @ =gUnknown_202286D - strb r0, [r2] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x26] - ldr r0, _0800D9E8 @ =gUnknown_202286E - strb r6, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800D9D4: .4byte sub_800DB6C -_0800D9D8: .4byte gUnknown_202286C -_0800D9DC: .4byte gTasks -_0800D9E0: .4byte Task_HandleCopyReceivedLinkBuffersData -_0800D9E4: .4byte gUnknown_202286D -_0800D9E8: .4byte gUnknown_202286E - thumb_func_end CreateTasksForSendRecvLinkBuffers - - thumb_func_start PrepareBufferDataTransferLink -PrepareBufferDataTransferLink: @ 800D9EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r2 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r1, 16 - mov r12, r1 - movs r1, 0x3 - mov r0, r12 - bics r0, r1 - adds r0, 0x4 - mov r8, r0 - ldr r2, _0800DB4C @ =gTasks - ldr r3, _0800DB50 @ =gUnknown_202286C - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r4, r0, r2 - movs r1, 0x24 - ldrsh r0, [r4, r1] - add r0, r8 - adds r0, 0x9 - movs r1, 0x80 - lsls r1, 5 - adds r5, r2, 0 - cmp r0, r1 - ble _0800DA3E - ldrh r0, [r4, 0x24] - movs r2, 0 - strh r0, [r4, 0x20] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0x24] -_0800DA3E: - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldr r4, _0800DB54 @ =gLinkBattleSendBuffer - ldr r0, [r4] - adds r0, r1 - strb r6, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r1, [r0, r7] - ldr r0, [r4] - adds r1, r0 - ldr r0, _0800DB58 @ =gActiveBattler - ldrb r0, [r0] - strb r0, [r1, 0x1] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldr r0, [r4] - adds r1, r0 - ldr r0, _0800DB5C @ =sBattler_AI - ldrb r0, [r0] - strb r0, [r1, 0x2] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r1, [r0, r7] - ldr r0, [r4] - adds r1, r0 - ldr r0, _0800DB60 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r1, 0x3] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x24 - ldrsh r0, [r0, r1] - ldr r1, [r4] - adds r0, r1 - mov r2, r8 - strb r2, [r0, 0x4] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r1, [r0, r7] - ldr r0, [r4] - adds r1, r0 - movs r0, 0xFF - lsls r0, 8 - mov r2, r8 - ands r0, r2 - asrs r0, 8 - strb r0, [r1, 0x5] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r1, [r0, r7] - ldr r0, [r4] - adds r1, r0 - ldr r0, _0800DB64 @ =gAbsentBattlerFlags - ldrb r0, [r0] - strb r0, [r1, 0x6] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldr r0, [r4] - adds r1, r0 - ldr r0, _0800DB68 @ =gUnknown_2023D6E - ldrb r0, [r0] - strb r0, [r1, 0x7] - movs r2, 0 - cmp r2, r12 - bge _0800DB2C - mov r10, r5 - adds r6, r3, 0 -_0800DB0A: - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - add r0, r10 - movs r7, 0x24 - ldrsh r1, [r0, r7] - ldr r0, [r4] - adds r1, r2, r1 - adds r1, r0 - mov r7, r9 - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r1, 0x8] - adds r2, 0x1 - cmp r2, r12 - blt _0800DB0A -_0800DB2C: - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x24] - add r0, r8 - adds r0, 0x8 - strh r0, [r1, 0x24] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800DB4C: .4byte gTasks -_0800DB50: .4byte gUnknown_202286C -_0800DB54: .4byte gLinkBattleSendBuffer -_0800DB58: .4byte gActiveBattler -_0800DB5C: .4byte sBattler_AI -_0800DB60: .4byte gBattlerTarget -_0800DB64: .4byte gAbsentBattlerFlags -_0800DB68: .4byte gUnknown_2023D6E - thumb_func_end PrepareBufferDataTransferLink - - thumb_func_start sub_800DB6C -sub_800DB6C: @ 800DB6C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0800DB94 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x1E - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0x5 - bls _0800DB88 - b _0800DD20 -_0800DB88: - lsls r0, 2 - ldr r1, _0800DB98 @ =_0800DB9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800DB94: .4byte gTasks -_0800DB98: .4byte _0800DB9C - .align 2, 0 -_0800DB9C: - .4byte _0800DBB4 - .4byte _0800DBC8 - .4byte _0800DBF4 - .4byte _0800DC50 - .4byte _0800DCC6 - .4byte _0800DD04 -_0800DBB4: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - movs r1, 0x64 - strh r1, [r0, 0x1C] - ldrh r1, [r0, 0x1E] - adds r1, 0x1 - strh r1, [r0, 0x1E] - b _0800DD20 -_0800DBC8: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r7 - ldrh r0, [r1, 0x1C] - subs r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - cmp r0, 0 - beq _0800DBDE - b _0800DD20 -_0800DBDE: - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - strh r0, [r1, 0x1E] - ldr r0, _0800DBF0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0800DBEE - b _0800DD20 -_0800DBEE: - b _0800DD1C - .align 2, 0 -_0800DBF0: .4byte gReceivedRemoteLinkPlayers -_0800DBF4: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0800DC10 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800DC14 - cmp r2, 0x3 - bgt _0800DC1A - b _0800DD20 - .align 2, 0 -_0800DC10: .4byte gBattleTypeFlags -_0800DC14: - cmp r2, 0x1 - bgt _0800DC1A - b _0800DD20 -_0800DC1A: - bl sub_800AA48 - lsls r0, 24 - cmp r0, 0 - beq _0800DC3C - bl sub_800A5BC - ldr r0, _0800DC38 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800DD1E - .align 2, 0 -_0800DC38: .4byte gTasks -_0800DC3C: - ldr r0, _0800DC4C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800DD1E - .align 2, 0 -_0800DC4C: .4byte gTasks -_0800DC50: - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r7 - movs r3, 0x26 - ldrsh r5, [r2, r3] - movs r0, 0x24 - ldrsh r6, [r2, r0] - mov r12, r6 - cmp r5, r12 - beq _0800DD20 - ldrh r0, [r2, 0x22] - movs r6, 0x22 - ldrsh r3, [r2, r6] - cmp r3, 0 - bne _0800DCC0 - cmp r5, r12 - ble _0800DC80 - movs r6, 0x20 - ldrsh r0, [r2, r6] - cmp r5, r0 - bne _0800DC80 - strh r3, [r2, 0x20] - strh r3, [r2, 0x26] -_0800DC80: - adds r4, r1, r4 - lsls r4, 3 - adds r4, r7 - movs r0, 0x26 - ldrsh r1, [r4, r0] - ldr r5, _0800DCBC @ =gLinkBattleSendBuffer - ldr r0, [r5] - adds r1, r0 - ldrb r0, [r1, 0x4] - ldrb r1, [r1, 0x5] - lsls r1, 8 - orrs r0, r1 - adds r0, 0x8 - lsls r0, 16 - lsrs r6, r0, 16 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x26 - ldrsh r2, [r4, r1] - ldr r1, [r5] - adds r1, r2 - adds r2, r6, 0 - bl SendBlock - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - b _0800DD20 - .align 2, 0 -_0800DCBC: .4byte gLinkBattleSendBuffer -_0800DCC0: - subs r0, 0x1 - strh r0, [r2, 0x22] - b _0800DD20 -_0800DCC6: - bl sub_800A4BC - lsls r0, 24 - cmp r0, 0 - beq _0800DD20 - ldr r0, _0800DCFC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r3, 0x26 - ldrsh r2, [r1, r3] - ldr r0, _0800DD00 @ =gLinkBattleSendBuffer - ldr r0, [r0] - adds r2, r0 - ldrb r0, [r2, 0x4] - ldrb r2, [r2, 0x5] - lsls r2, 8 - movs r3, 0x5 - strh r3, [r1, 0x22] - orrs r0, r2 - ldrh r6, [r1, 0x26] - adds r0, r6 - adds r0, 0x8 - strh r0, [r1, 0x26] - b _0800DD1C - .align 2, 0 -_0800DCFC: .4byte gTasks -_0800DD00: .4byte gLinkBattleSendBuffer -_0800DD04: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r7 - ldrh r0, [r1, 0x22] - subs r0, 0x1 - strh r0, [r1, 0x22] - lsls r0, 16 - cmp r0, 0 - bne _0800DD20 - movs r0, 0x5 - strh r0, [r1, 0x22] -_0800DD1C: - movs r0, 0x3 -_0800DD1E: - strh r0, [r1, 0x1E] -_0800DD20: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_800DB6C - - thumb_func_start sub_800DD28 -sub_800DD28: @ 800DD28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800DD5C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0800DE28 - ldr r0, _0800DD60 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0800DE28 - ldr r0, _0800DD64 @ =gLinkPlayers - ldr r1, [r0, 0x14] - ldr r0, _0800DD68 @ =0x00002211 - cmp r1, r0 - bne _0800DE28 - bl sub_80FBB4C - movs r4, 0 - ldr r0, _0800DD6C @ =gBlockRecvBuffer - mov r10, r0 - b _0800DE1C - .align 2, 0 -_0800DD5C: .4byte gReceivedRemoteLinkPlayers -_0800DD60: .4byte gBattleTypeFlags -_0800DD64: .4byte gLinkPlayers -_0800DD68: .4byte 0x00002211 -_0800DD6C: .4byte gBlockRecvBuffer -_0800DD70: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800DE38 @ =gBitTable - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - ands r0, r1 - adds r1, r4, 0x1 - mov r9, r1 - cmp r0, 0 - beq _0800DE16 - adds r0, r4, 0 - bl ResetBlockReceivedFlag - lsls r0, r4, 8 - mov r4, r10 - adds r3, r0, r4 - ldr r1, _0800DE3C @ =gBlockRecvBuffer + 4 - adds r0, r1 - ldrh r6, [r0] - ldr r7, _0800DE40 @ =gTasks - ldr r4, _0800DE44 @ =gUnknown_202286D - mov r12, r4 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, r0, r7 - movs r0, 0x24 - ldrsh r1, [r2, r0] - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r0 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - ble _0800DDD0 - ldrh r0, [r2, 0x24] - strh r0, [r2, 0x20] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r7 - movs r1, 0 - strh r1, [r0, 0x24] -_0800DDD0: - ldr r2, _0800DE48 @ =gLinkBattleRecvBuffer - mov r4, r12 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r7 - movs r4, 0x24 - ldrsh r1, [r0, r4] - ldr r0, [r2] - adds r5, r0, r1 - adds r4, r3, 0 - movs r2, 0 - adds r3, r6, 0 - adds r3, 0x8 - mov r8, r7 - mov r7, r12 - cmp r2, r3 - bge _0800DE04 -_0800DDF6: - adds r0, r5, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r3 - blt _0800DDF6 -_0800DE04: - ldrb r0, [r7] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x24] - adds r0, r6, r0 - adds r0, 0x8 - strh r0, [r1, 0x24] -_0800DE16: - mov r1, r9 - lsls r0, r1, 24 - lsrs r4, r0, 24 -_0800DE1C: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _0800DD70 -_0800DE28: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800DE38: .4byte gBitTable -_0800DE3C: .4byte gBlockRecvBuffer + 4 -_0800DE40: .4byte gTasks -_0800DE44: .4byte gUnknown_202286D -_0800DE48: .4byte gLinkBattleRecvBuffer - thumb_func_end sub_800DD28 - - thumb_func_start Task_HandleCopyReceivedLinkBuffersData -Task_HandleCopyReceivedLinkBuffersData: @ 800DE4C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _0800DEB4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r1 - movs r0, 0x26 - ldrsh r2, [r3, r0] - movs r4, 0x24 - ldrsh r0, [r3, r4] - cmp r2, r0 - bne _0800DE70 - b _0800DF8C -_0800DE70: - cmp r2, r0 - ble _0800DE82 - movs r4, 0x20 - ldrsh r0, [r3, r4] - cmp r2, r0 - bne _0800DE82 - movs r0, 0 - strh r0, [r3, 0x20] - strh r0, [r3, 0x26] -_0800DE82: - lsls r2, r7, 2 - adds r0, r2, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0x26 - ldrsh r1, [r5, r0] - ldr r3, _0800DEB8 @ =gLinkBattleRecvBuffer - mov r8, r3 - ldr r0, [r3] - adds r3, r1, r0 - ldrb r4, [r3, 0x1] - ldrb r6, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r6, r0 - ldrb r0, [r3] - mov r9, r2 - cmp r0, 0x1 - beq _0800DF4C - cmp r0, 0x1 - bgt _0800DEBC - cmp r0, 0 - beq _0800DEC2 - b _0800DF7A - .align 2, 0 -_0800DEB4: .4byte gTasks -_0800DEB8: .4byte gLinkBattleRecvBuffer -_0800DEBC: - cmp r0, 0x2 - beq _0800DF64 - b _0800DF7A -_0800DEC2: - ldr r2, _0800DF2C @ =gBattleControllerExecFlags - ldr r1, _0800DF30 @ =gBitTable - lsls r0, r4, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0800DF8C - lsls r0, r4, 9 - ldr r1, _0800DF34 @ =gBattleBufferA - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x8 - adds r2, r6, 0 - bl memcpy - adds r0, r4, 0 - bl sub_8017298 - ldr r0, _0800DF38 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0800DF7A - ldr r2, _0800DF3C @ =sBattler_AI - movs r4, 0x26 - ldrsh r0, [r5, r4] - mov r3, r8 - ldr r1, [r3] - adds r0, r1 - ldrb r0, [r0, 0x2] - strb r0, [r2] - ldr r2, _0800DF40 @ =gBattlerTarget - movs r4, 0x26 - ldrsh r0, [r5, r4] - adds r0, r1 - ldrb r0, [r0, 0x3] - strb r0, [r2] - ldr r2, _0800DF44 @ =gAbsentBattlerFlags - movs r3, 0x26 - ldrsh r0, [r5, r3] - adds r0, r1 - ldrb r0, [r0, 0x6] - strb r0, [r2] - ldr r2, _0800DF48 @ =gUnknown_2023D6E - movs r4, 0x26 - ldrsh r0, [r5, r4] - adds r0, r1 - ldrb r0, [r0, 0x7] - strb r0, [r2] - b _0800DF7A - .align 2, 0 -_0800DF2C: .4byte gBattleControllerExecFlags -_0800DF30: .4byte gBitTable -_0800DF34: .4byte gBattleBufferA -_0800DF38: .4byte gBattleTypeFlags -_0800DF3C: .4byte sBattler_AI -_0800DF40: .4byte gBattlerTarget -_0800DF44: .4byte gAbsentBattlerFlags -_0800DF48: .4byte gUnknown_2023D6E -_0800DF4C: - lsls r0, r4, 9 - ldr r1, _0800DF60 @ =gUnknown_20233C4 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x8 - adds r2, r6, 0 - bl memcpy - b _0800DF7A - .align 2, 0 -_0800DF60: .4byte gUnknown_20233C4 -_0800DF64: - ldrb r2, [r3, 0x8] - ldr r3, _0800DF98 @ =gBattleControllerExecFlags - ldr r1, _0800DF9C @ =gBitTable - lsls r0, r4, 2 - adds r0, r1 - lsls r2, 2 - ldr r1, [r0] - lsls r1, r2 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] -_0800DF7A: - ldr r0, _0800DFA0 @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x26] - adds r0, r6, r0 - adds r0, 0x8 - strh r0, [r1, 0x26] -_0800DF8C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800DF98: .4byte gBattleControllerExecFlags -_0800DF9C: .4byte gBitTable -_0800DFA0: .4byte gTasks - thumb_func_end Task_HandleCopyReceivedLinkBuffersData - - thumb_func_start BtlController_EmitGetMonData -BtlController_EmitGetMonData: @ 800DFA4 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800DFC4 @ =gUnknown_2022874 - movs r3, 0 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - strb r3, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800DFC4: .4byte gUnknown_2022874 - thumb_func_end BtlController_EmitGetMonData - - thumb_func_start EmitGetRawMonData -EmitGetRawMonData: @ 800DFC8 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800DFEC @ =gUnknown_2022874 - movs r4, 0 - movs r3, 0x1 - strb r3, [r1] - strb r5, [r1, 0x1] - strb r2, [r1, 0x2] - strb r4, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800DFEC: .4byte gUnknown_2022874 - thumb_func_end EmitGetRawMonData - - thumb_func_start EmitSetMonData -EmitSetMonData: @ 800DFF0 - push {r4-r6,lr} - ldr r4, [sp, 0x10] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, _0800E02C @ =gUnknown_2022874 - movs r3, 0x2 - strb r3, [r0] - strb r1, [r0, 0x1] - strb r2, [r0, 0x2] - adds r1, r0, 0 - cmp r5, 0 - beq _0800E01E - adds r3, r1, 0x3 - adds r2, r5, 0 -_0800E010: - ldrb r0, [r4] - strb r0, [r3] - adds r4, 0x1 - adds r3, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0800E010 -_0800E01E: - adds r2, r5, 0x3 - adds r0, r6, 0 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E02C: .4byte gUnknown_2022874 - thumb_func_end EmitSetMonData - - thumb_func_start EmitSetRawMonData -EmitSetRawMonData: @ 800E030 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r4, r2, 24 - ldr r0, _0800E06C @ =gUnknown_2022874 - movs r2, 0x3 - strb r2, [r0] - strb r1, [r0, 0x1] - strb r4, [r0, 0x2] - adds r5, r0, 0 - cmp r4, 0 - beq _0800E05C - adds r1, r5, 0x3 - adds r2, r4, 0 -_0800E04E: - ldrb r0, [r3] - strb r0, [r1] - adds r3, 0x1 - adds r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0800E04E -_0800E05C: - adds r2, r4, 0x3 - adds r0, r6, 0 - adds r1, r5, 0 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E06C: .4byte gUnknown_2022874 - thumb_func_end EmitSetRawMonData - - thumb_func_start EmitLoadMonSprite -EmitLoadMonSprite: @ 800E070 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E08C @ =gUnknown_2022874 - movs r2, 0x4 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E08C: .4byte gUnknown_2022874 - thumb_func_end EmitLoadMonSprite - - thumb_func_start EmitSwitchInAnim -EmitSwitchInAnim: @ 800E090 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E0B0 @ =gUnknown_2022874 - movs r3, 0x5 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - strb r3, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E0B0: .4byte gUnknown_2022874 - thumb_func_end EmitSwitchInAnim - - thumb_func_start EmitReturnMonToBall -EmitReturnMonToBall: @ 800E0B4 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E0D0 @ =gUnknown_2022874 - movs r2, 0x6 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E0D0: .4byte gUnknown_2022874 - thumb_func_end EmitReturnMonToBall - - thumb_func_start EmitDrawTrainerPic -EmitDrawTrainerPic: @ 800E0D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E0F0 @ =gUnknown_2022874 - movs r2, 0x7 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E0F0: .4byte gUnknown_2022874 - thumb_func_end EmitDrawTrainerPic - - thumb_func_start EmitTrainerSlide -EmitTrainerSlide: @ 800E0F4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E110 @ =gUnknown_2022874 - movs r2, 0x8 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E110: .4byte gUnknown_2022874 - thumb_func_end EmitTrainerSlide - - thumb_func_start EmitTrainerSlideBack -EmitTrainerSlideBack: @ 800E114 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E130 @ =gUnknown_2022874 - movs r2, 0x9 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E130: .4byte gUnknown_2022874 - thumb_func_end EmitTrainerSlideBack - - thumb_func_start EmitFaintAnimation -EmitFaintAnimation: @ 800E134 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E150 @ =gUnknown_2022874 - movs r2, 0xA - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E150: .4byte gUnknown_2022874 - thumb_func_end EmitFaintAnimation - - thumb_func_start EmitPaletteFade -EmitPaletteFade: @ 800E154 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E170 @ =gUnknown_2022874 - movs r2, 0xB - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E170: .4byte gUnknown_2022874 - thumb_func_end EmitPaletteFade - - thumb_func_start EmitSuccessBallThrowAnim -EmitSuccessBallThrowAnim: @ 800E174 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E190 @ =gUnknown_2022874 - movs r2, 0xC - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E190: .4byte gUnknown_2022874 - thumb_func_end EmitSuccessBallThrowAnim - - thumb_func_start EmitBallThrowAnim -EmitBallThrowAnim: @ 800E194 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E1B0 @ =gUnknown_2022874 - movs r2, 0xD - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E1B0: .4byte gUnknown_2022874 - thumb_func_end EmitBallThrowAnim - - thumb_func_start EmitPause -EmitPause: @ 800E1B4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r1, _0800E1F8 @ =gUnknown_2022874 - movs r0, 0xE - strb r0, [r1] - strb r4, [r1, 0x1] - lsls r0, r4, 1 - adds r0, r4 - adds r5, r1, 0 - cmp r0, 0 - beq _0800E1E2 - adds r1, r5, 0x2 - adds r3, r0, 0 -_0800E1D4: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800E1D4 -_0800E1E2: - lsls r2, r4, 1 - adds r2, r4 - adds r2, 0x2 - adds r0, r6, 0 - adds r1, r5, 0 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E1F8: .4byte gUnknown_2022874 - thumb_func_end EmitPause - - thumb_func_start EmitMoveAnimation -EmitMoveAnimation: @ 800E1FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 16 - lsrs r1, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r7, _0800E290 @ =gUnknown_2022874 - movs r0, 0 - mov r12, r0 - movs r0, 0xF - strb r0, [r7] - strb r1, [r7, 0x1] - lsrs r1, 8 - strb r1, [r7, 0x2] - strb r2, [r7, 0x3] - strb r3, [r7, 0x4] - movs r6, 0xFF - lsls r6, 8 - lsrs r3, 8 - strb r3, [r7, 0x5] - strb r4, [r7, 0x6] - adds r0, r4, 0 - ands r0, r6 - asrs r0, 8 - strb r0, [r7, 0x7] - movs r0, 0xFF - lsls r0, 16 - ands r0, r4 - asrs r0, 16 - strb r0, [r7, 0x8] - lsrs r4, 24 - strb r4, [r7, 0x9] - strb r5, [r7, 0xA] - ldr r0, _0800E294 @ =gUnknown_2023D72 - ldrb r0, [r0] - strb r0, [r7, 0xB] - mov r0, r12 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0800E29C - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0800E29C - ldr r0, _0800E298 @ =gBattleWeather - ldrh r0, [r0] - strb r0, [r7, 0xC] - ands r6, r0 - lsrs r0, r6, 8 - strb r0, [r7, 0xD] - adds r4, r7, 0 - b _0800E2A6 - .align 2, 0 -_0800E290: .4byte gUnknown_2022874 -_0800E294: .4byte gUnknown_2023D72 -_0800E298: .4byte gBattleWeather -_0800E29C: - ldr r0, _0800E2D0 @ =gUnknown_2022874 - movs r1, 0 - strb r1, [r0, 0xC] - strb r1, [r0, 0xD] - adds r4, r0, 0 -_0800E2A6: - movs r0, 0 - strb r0, [r4, 0xE] - strb r0, [r4, 0xF] - adds r0, r4, 0 - adds r0, 0x10 - ldr r1, [sp, 0x24] - movs r2, 0x1C - bl memcpy - mov r0, r8 - adds r1, r4, 0 - movs r2, 0x2C - bl PrepareBufferDataTransfer - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800E2D0: .4byte gUnknown_2022874 - thumb_func_end EmitMoveAnimation - - thumb_func_start EmitPrintString -EmitPrintString: @ 800E2D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _0800E3B4 @ =gUnknown_2022874 - movs r0, 0x10 - strb r0, [r2] - ldr r0, _0800E3B8 @ =gBattleOutcome - ldrb r0, [r0] - strb r0, [r2, 0x1] - strb r1, [r2, 0x2] - lsrs r1, 8 - strb r1, [r2, 0x3] - adds r0, r2, 0x4 - mov r12, r0 - ldr r4, _0800E3BC @ =gCurrentMove - ldrh r0, [r4] - strh r0, [r2, 0x4] - ldr r0, _0800E3C0 @ =gUnknown_2023D4C - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1, 0x2] - ldr r0, _0800E3C4 @ =gUnknown_2023D68 - ldrh r0, [r0] - strh r0, [r1, 0x4] - ldr r0, _0800E3C8 @ =gLastUsedAbility - ldrb r0, [r0] - strb r0, [r1, 0x6] - ldr r0, _0800E3CC @ =gBattleScripting - ldrb r0, [r0, 0x17] - strb r0, [r1, 0x7] - ldr r0, _0800E3D0 @ =gBattleStruct - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x52 - ldrb r1, [r1] - mov r3, r12 - strb r1, [r3, 0x8] - adds r0, 0xAD - ldrb r0, [r0] - strb r0, [r3, 0x9] - ldr r0, _0800E3D4 @ =gPotentialItemEffectBattler - ldrb r0, [r0] - strb r0, [r3, 0xA] - ldr r3, _0800E3D8 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x2] - mov r7, r12 - strb r0, [r7, 0xB] - movs r3, 0 - mov r9, r2 - ldr r0, _0800E3DC @ =gUnknown_2022AD8 - mov r8, r0 - adds r2, 0x10 - ldr r0, _0800E3E0 @ =gBattleMons - adds r4, r0, 0 - adds r4, 0x20 -_0800E35A: - adds r1, r2, r3 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x58 - adds r3, 0x1 - cmp r3, 0x3 - ble _0800E35A - movs r3, 0 - mov r5, r12 - adds r5, 0x10 - mov r4, r12 - adds r4, 0x20 - ldr r6, _0800E3E4 @ =gBattleTextBuff2 - mov r2, r12 - adds r2, 0x30 -_0800E378: - adds r1, r5, r3 - ldr r7, _0800E3E8 @ =gBattleTextBuff1 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r4, r3 - adds r0, r3, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r2, r3 - mov r7, r8 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0xF - ble _0800E378 - mov r0, r10 - mov r1, r9 - movs r2, 0x44 - bl PrepareBufferDataTransfer - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800E3B4: .4byte gUnknown_2022874 -_0800E3B8: .4byte gBattleOutcome -_0800E3BC: .4byte gCurrentMove -_0800E3C0: .4byte gUnknown_2023D4C -_0800E3C4: .4byte gUnknown_2023D68 -_0800E3C8: .4byte gLastUsedAbility -_0800E3CC: .4byte gBattleScripting -_0800E3D0: .4byte gBattleStruct -_0800E3D4: .4byte gPotentialItemEffectBattler -_0800E3D8: .4byte gBattleMoves -_0800E3DC: .4byte gUnknown_2022AD8 -_0800E3E0: .4byte gBattleMons -_0800E3E4: .4byte gBattleTextBuff2 -_0800E3E8: .4byte gBattleTextBuff1 - thumb_func_end EmitPrintString - - thumb_func_start EmitPrintSelectionString -EmitPrintSelectionString: @ 800E3EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _0800E4A8 @ =gUnknown_2022874 - movs r0, 0x11 - strb r0, [r2] - strb r0, [r2, 0x1] - strb r1, [r2, 0x2] - lsrs r1, 8 - strb r1, [r2, 0x3] - adds r0, r2, 0x4 - mov r12, r0 - ldr r0, _0800E4AC @ =gCurrentMove - ldrh r0, [r0] - strh r0, [r2, 0x4] - ldr r0, _0800E4B0 @ =gUnknown_2023D4C - ldrh r0, [r0] - mov r1, r12 - strh r0, [r1, 0x2] - ldr r0, _0800E4B4 @ =gUnknown_2023D68 - ldrh r0, [r0] - strh r0, [r1, 0x4] - ldr r0, _0800E4B8 @ =gLastUsedAbility - ldrb r0, [r0] - strb r0, [r1, 0x6] - ldr r0, _0800E4BC @ =gBattleScripting - ldrb r0, [r0, 0x17] - strb r0, [r1, 0x7] - ldr r0, _0800E4C0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x52 - ldrb r0, [r0] - strb r0, [r1, 0x8] - movs r3, 0 - mov r9, r2 - ldr r7, _0800E4C4 @ =gUnknown_2022AD8 - mov r8, r7 - mov r4, r9 - adds r4, 0x10 - ldr r0, _0800E4C8 @ =gBattleMons - adds r2, r0, 0 - adds r2, 0x20 -_0800E44E: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x58 - adds r3, 0x1 - cmp r3, 0x3 - ble _0800E44E - movs r3, 0 - mov r5, r12 - adds r5, 0x10 - mov r4, r12 - adds r4, 0x20 - ldr r6, _0800E4CC @ =gBattleTextBuff2 - mov r2, r12 - adds r2, 0x30 -_0800E46C: - adds r1, r5, r3 - ldr r7, _0800E4D0 @ =gBattleTextBuff1 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r4, r3 - adds r0, r3, r6 - ldrb r0, [r0] - strb r0, [r1] - adds r1, r2, r3 - mov r7, r8 - adds r0, r3, r7 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0xF - ble _0800E46C - mov r0, r10 - mov r1, r9 - movs r2, 0x44 - bl PrepareBufferDataTransfer - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800E4A8: .4byte gUnknown_2022874 -_0800E4AC: .4byte gCurrentMove -_0800E4B0: .4byte gUnknown_2023D4C -_0800E4B4: .4byte gUnknown_2023D68 -_0800E4B8: .4byte gLastUsedAbility -_0800E4BC: .4byte gBattleScripting -_0800E4C0: .4byte gBattleStruct -_0800E4C4: .4byte gUnknown_2022AD8 -_0800E4C8: .4byte gBattleMons -_0800E4CC: .4byte gBattleTextBuff2 -_0800E4D0: .4byte gBattleTextBuff1 - thumb_func_end EmitPrintSelectionString - - thumb_func_start EmitChooseAction -EmitChooseAction: @ 800E4D4 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800E4FC @ =gUnknown_2022874 - movs r3, 0x12 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E4FC: .4byte gUnknown_2022874 - thumb_func_end EmitChooseAction - - thumb_func_start Emitcmd19 -Emitcmd19: @ 800E500 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E51C @ =gUnknown_2022874 - movs r2, 0x13 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E51C: .4byte gUnknown_2022874 - thumb_func_end Emitcmd19 - - thumb_func_start EmitChooseMove -EmitChooseMove: @ 800E520 - push {r4-r6,lr} - adds r5, r3, 0 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _0800E558 @ =gUnknown_2022874 - movs r4, 0 - movs r0, 0x14 - strb r0, [r3] - strb r1, [r3, 0x1] - strb r2, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0 - adds r1, r3, 0 - adds r4, r1, 0x4 -_0800E53C: - adds r0, r5, r2 - ldrb r0, [r0] - strb r0, [r4] - adds r4, 0x1 - adds r2, 0x1 - cmp r2, 0x13 - bls _0800E53C - adds r0, r6, 0 - movs r2, 0x18 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E558: .4byte gUnknown_2022874 - thumb_func_end EmitChooseMove - - thumb_func_start EmitChooseItem -EmitChooseItem: @ 800E55C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0800E58C @ =gUnknown_2022874 - movs r0, 0x15 - strb r0, [r1] - movs r2, 0 - adds r3, r1, 0x1 -_0800E56E: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2 - ble _0800E56E - adds r0, r5, 0 - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800E58C: .4byte gUnknown_2022874 - thumb_func_end EmitChooseItem - - thumb_func_start EmitChoosePokemon -EmitChoosePokemon: @ 800E590 - push {r4-r6,lr} - ldr r6, [sp, 0x10] - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0800E5C8 @ =gUnknown_2022874 - movs r0, 0x16 - strb r0, [r4] - strb r1, [r4, 0x1] - strb r2, [r4, 0x2] - strb r3, [r4, 0x3] - movs r2, 0 - adds r1, r4, 0 - adds r3, r1, 0x4 -_0800E5AA: - adds r0, r6, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2 - ble _0800E5AA - adds r0, r5, 0 - movs r2, 0x8 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E5C8: .4byte gUnknown_2022874 - thumb_func_end EmitChoosePokemon - - thumb_func_start EmitCmd23 -EmitCmd23: @ 800E5CC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E5E8 @ =gUnknown_2022874 - movs r2, 0x17 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E5E8: .4byte gUnknown_2022874 - thumb_func_end EmitCmd23 - - thumb_func_start EmitHealthBarUpdate -EmitHealthBarUpdate: @ 800E5EC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800E620 @ =gUnknown_2022874 - movs r4, 0 - movs r2, 0x18 - strb r2, [r3] - strb r4, [r3, 0x1] - strb r1, [r3, 0x2] - lsls r1, 16 - asrs r1, 16 - movs r2, 0xFF - lsls r2, 8 - ands r1, r2 - asrs r1, 8 - strb r1, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E620: .4byte gUnknown_2022874 - thumb_func_end EmitHealthBarUpdate - - thumb_func_start EmitExpUpdate -EmitExpUpdate: @ 800E624 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800E654 @ =gUnknown_2022874 - movs r3, 0x19 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsls r2, 16 - asrs r2, 16 - movs r3, 0xFF - lsls r3, 8 - ands r2, r3 - asrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E654: .4byte gUnknown_2022874 - thumb_func_end EmitExpUpdate - - thumb_func_start EmitStatusIconUpdate -EmitStatusIconUpdate: @ 800E658 - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E6A8 @ =gUnknown_2022874 - movs r3, 0x1A - strb r3, [r1] - strb r4, [r1, 0x1] - movs r6, 0xFF - lsls r6, 8 - adds r3, r4, 0 - ands r3, r6 - lsrs r3, 8 - strb r3, [r1, 0x2] - movs r5, 0xFF - lsls r5, 16 - adds r3, r4, 0 - ands r3, r5 - lsrs r3, 16 - strb r3, [r1, 0x3] - lsrs r4, 24 - strb r4, [r1, 0x4] - strb r2, [r1, 0x5] - adds r3, r2, 0 - ands r3, r6 - lsrs r3, 8 - strb r3, [r1, 0x6] - adds r3, r2, 0 - ands r3, r5 - lsrs r3, 16 - strb r3, [r1, 0x7] - lsrs r2, 24 - strb r2, [r1, 0x8] - movs r2, 0x9 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E6A8: .4byte gUnknown_2022874 - thumb_func_end EmitStatusIconUpdate - - thumb_func_start EmitStatusAnimation -EmitStatusAnimation: @ 800E6AC - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E6E4 @ =gUnknown_2022874 - movs r3, 0x1B - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - movs r3, 0xFF - lsls r3, 8 - ands r3, r2 - lsrs r3, 8 - strb r3, [r1, 0x3] - movs r3, 0xFF - lsls r3, 16 - ands r3, r2 - lsrs r3, 16 - strb r3, [r1, 0x4] - lsrs r2, 24 - strb r2, [r1, 0x5] - movs r2, 0x6 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E6E4: .4byte gUnknown_2022874 - thumb_func_end EmitStatusAnimation - - thumb_func_start EmitStatusXor -EmitStatusXor: @ 800E6E8 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E704 @ =gUnknown_2022874 - movs r2, 0x1C - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E704: .4byte gUnknown_2022874 - thumb_func_end EmitStatusXor - - thumb_func_start EmitDataTransfer -EmitDataTransfer: @ 800E708 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _0800E74C @ =gUnknown_2022874 - movs r0, 0x1D - strb r0, [r1] - strb r0, [r1, 0x1] - strb r4, [r1, 0x2] - lsrs r0, r4, 8 - strb r0, [r1, 0x3] - adds r5, r1, 0 - cmp r4, 0 - beq _0800E738 - adds r1, r5, 0x4 - adds r3, r4, 0 -_0800E72A: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800E72A -_0800E738: - adds r2, r4, 0x4 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E74C: .4byte gUnknown_2022874 - thumb_func_end EmitDataTransfer - - thumb_func_start EmitDMA3Transfer -EmitDMA3Transfer: @ 800E750 - push {r4-r6,lr} - adds r4, r3, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 16 - lsrs r5, r2, 16 - ldr r2, _0800E7B4 @ =gUnknown_2022874 - movs r0, 0x1E - strb r0, [r2] - strb r1, [r2, 0x1] - movs r3, 0xFF - lsls r3, 8 - adds r0, r1, 0 - ands r0, r3 - lsrs r0, 8 - strb r0, [r2, 0x2] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - lsrs r0, 16 - strb r0, [r2, 0x3] - lsrs r1, 24 - strb r1, [r2, 0x4] - strb r5, [r2, 0x5] - adds r0, r5, 0 - ands r0, r3 - lsrs r0, 8 - strb r0, [r2, 0x6] - adds r1, r2, 0 - cmp r5, 0 - beq _0800E7A0 - adds r3, r1, 0x7 - adds r2, r5, 0 -_0800E792: - ldrb r0, [r4] - strb r0, [r3] - adds r4, 0x1 - adds r3, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0800E792 -_0800E7A0: - adds r2, r5, 0x7 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E7B4: .4byte gUnknown_2022874 - thumb_func_end EmitDMA3Transfer - - thumb_func_start EmitPlayBGM -EmitPlayBGM: @ 800E7B8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _0800E7FC @ =gUnknown_2022874 - movs r0, 0x1F - strb r0, [r1] - strb r4, [r1, 0x1] - lsrs r0, r4, 8 - strb r0, [r1, 0x2] - adds r5, r1, 0 - cmp r4, 0 - beq _0800E7E6 - adds r1, r5, 0x3 - adds r3, r4, 0 -_0800E7D8: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800E7D8 -_0800E7E6: - adds r2, r4, 0x3 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E7FC: .4byte gUnknown_2022874 - thumb_func_end EmitPlayBGM - - thumb_func_start EmitCmd32 -EmitCmd32: @ 800E800 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _0800E844 @ =gUnknown_2022874 - movs r0, 0x20 - strb r0, [r1] - strb r4, [r1, 0x1] - lsrs r0, r4, 8 - strb r0, [r1, 0x2] - adds r5, r1, 0 - cmp r4, 0 - beq _0800E82E - adds r1, r5, 0x3 - adds r3, r4, 0 -_0800E820: - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r1, 0x1 - subs r3, 0x1 - cmp r3, 0 - bne _0800E820 -_0800E82E: - adds r2, r4, 0x3 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - adds r1, r5, 0 - bl PrepareBufferDataTransfer - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800E844: .4byte gUnknown_2022874 - thumb_func_end EmitCmd32 - - thumb_func_start EmitTwoReturnValues -EmitTwoReturnValues: @ 800E848 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800E870 @ =gUnknown_2022874 - movs r3, 0x21 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E870: .4byte gUnknown_2022874 - thumb_func_end EmitTwoReturnValues - - thumb_func_start EmitChosenMonReturnValue -EmitChosenMonReturnValue: @ 800E874 - push {r4,r5,lr} - adds r4, r2, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0800E8A8 @ =gUnknown_2022874 - movs r0, 0x22 - strb r0, [r2] - strb r1, [r2, 0x1] - movs r3, 0 - adds r1, r2, 0x2 -_0800E888: - adds r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r1, 0x1 - adds r3, 0x1 - cmp r3, 0x2 - ble _0800E888 - adds r0, r5, 0 - adds r1, r2, 0 - movs r2, 0x5 - bl PrepareBufferDataTransfer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800E8A8: .4byte gUnknown_2022874 - thumb_func_end EmitChosenMonReturnValue - - thumb_func_start EmitOneReturnValue -EmitOneReturnValue: @ 800E8AC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800E8D4 @ =gUnknown_2022874 - movs r4, 0 - movs r2, 0x23 - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E8D4: .4byte gUnknown_2022874 - thumb_func_end EmitOneReturnValue - - thumb_func_start EmitOneReturnValue_Duplicate -EmitOneReturnValue_Duplicate: @ 800E8D8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800E900 @ =gUnknown_2022874 - movs r4, 0 - movs r2, 0x24 - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E900: .4byte gUnknown_2022874 - thumb_func_end EmitOneReturnValue_Duplicate - - thumb_func_start EmitCmd37 -EmitCmd37: @ 800E904 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E920 @ =gUnknown_2022874 - movs r2, 0x25 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E920: .4byte gUnknown_2022874 - thumb_func_end EmitCmd37 - - thumb_func_start EmitCmd38 -EmitCmd38: @ 800E924 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E940 @ =gUnknown_2022874 - movs r2, 0x26 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E940: .4byte gUnknown_2022874 - thumb_func_end EmitCmd38 - - thumb_func_start EmitCmd39 -EmitCmd39: @ 800E944 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E960 @ =gUnknown_2022874 - movs r2, 0x27 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E960: .4byte gUnknown_2022874 - thumb_func_end EmitCmd39 - - thumb_func_start EmitCmd40 -EmitCmd40: @ 800E964 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E980 @ =gUnknown_2022874 - movs r2, 0x28 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E980: .4byte gUnknown_2022874 - thumb_func_end EmitCmd40 - - thumb_func_start EmitHitAnimation -EmitHitAnimation: @ 800E984 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E9A0 @ =gUnknown_2022874 - movs r2, 0x29 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E9A0: .4byte gUnknown_2022874 - thumb_func_end EmitHitAnimation - - thumb_func_start EmitCmd42 -EmitCmd42: @ 800E9A4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800E9C0 @ =gUnknown_2022874 - movs r2, 0x2A - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800E9C0: .4byte gUnknown_2022874 - thumb_func_end EmitCmd42 - - thumb_func_start EmitPlaySE -EmitPlaySE: @ 800E9C4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800E9EC @ =gUnknown_2022874 - movs r4, 0 - movs r2, 0x2B - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800E9EC: .4byte gUnknown_2022874 - thumb_func_end EmitPlaySE - - thumb_func_start Emitcmd44 -Emitcmd44: @ 800E9F0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _0800EA18 @ =gUnknown_2022874 - movs r4, 0 - movs r2, 0x2C - strb r2, [r3] - strb r1, [r3, 0x1] - lsrs r1, 8 - strb r1, [r3, 0x2] - strb r4, [r3, 0x3] - adds r1, r3, 0 - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800EA18: .4byte gUnknown_2022874 - thumb_func_end Emitcmd44 - - thumb_func_start EmitFaintingCry -EmitFaintingCry: @ 800EA1C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EA38 @ =gUnknown_2022874 - movs r2, 0x2D - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EA38: .4byte gUnknown_2022874 - thumb_func_end EmitFaintingCry - - thumb_func_start EmitIntroSlide -EmitIntroSlide: @ 800EA3C - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EA58 @ =gUnknown_2022874 - movs r2, 0x2E - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EA58: .4byte gUnknown_2022874 - thumb_func_end EmitIntroSlide - - thumb_func_start EmitIntroTrainerBallThrow -EmitIntroTrainerBallThrow: @ 800EA5C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EA78 @ =gUnknown_2022874 - movs r2, 0x2F - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EA78: .4byte gUnknown_2022874 - thumb_func_end EmitIntroTrainerBallThrow - - thumb_func_start EmitDrawPartyStatusSummary -EmitDrawPartyStatusSummary: @ 800EA7C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r1, _0800EAC0 @ =gUnknown_2022874 - movs r3, 0x30 - strb r3, [r1] - movs r0, 0x7F - ands r0, r2 - strb r0, [r1, 0x1] - movs r0, 0x80 - ands r0, r2 - lsls r0, 24 - lsrs r0, 31 - strb r0, [r1, 0x2] - strb r3, [r1, 0x3] - movs r2, 0 - adds r3, r1, 0x4 -_0800EAA4: - adds r0, r4, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x2F - ble _0800EAA4 - adds r0, r5, 0 - movs r2, 0x34 - bl PrepareBufferDataTransfer - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800EAC0: .4byte gUnknown_2022874 - thumb_func_end EmitDrawPartyStatusSummary - - thumb_func_start EmitCmd49 -EmitCmd49: @ 800EAC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EAE0 @ =gUnknown_2022874 - movs r2, 0x31 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EAE0: .4byte gUnknown_2022874 - thumb_func_end EmitCmd49 - - thumb_func_start EmitCmd50 -EmitCmd50: @ 800EAE4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EB00 @ =gUnknown_2022874 - movs r2, 0x32 - strb r2, [r1] - strb r2, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EB00: .4byte gUnknown_2022874 - thumb_func_end EmitCmd50 - - thumb_func_start EmitSpriteInvisibility -EmitSpriteInvisibility: @ 800EB04 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EB24 @ =gUnknown_2022874 - movs r2, 0x33 - strb r2, [r1] - strb r3, [r1, 0x1] - strb r2, [r1, 0x2] - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EB24: .4byte gUnknown_2022874 - thumb_func_end EmitSpriteInvisibility - - thumb_func_start EmitBattleAnimation -EmitBattleAnimation: @ 800EB28 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _0800EB50 @ =gUnknown_2022874 - movs r3, 0x34 - strb r3, [r1] - strb r4, [r1, 0x1] - strb r2, [r1, 0x2] - lsrs r2, 8 - strb r2, [r1, 0x3] - movs r2, 0x4 - bl PrepareBufferDataTransfer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800EB50: .4byte gUnknown_2022874 - thumb_func_end EmitBattleAnimation - - thumb_func_start EmitLinkStandbyMsg -EmitLinkStandbyMsg: @ 800EB54 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EB70 @ =gUnknown_2022874 - movs r2, 0x35 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EB70: .4byte gUnknown_2022874 - thumb_func_end EmitLinkStandbyMsg - - thumb_func_start EmitResetActionMoveSelection -EmitResetActionMoveSelection: @ 800EB74 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EB90 @ =gUnknown_2022874 - movs r2, 0x36 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EB90: .4byte gUnknown_2022874 - thumb_func_end EmitResetActionMoveSelection - - thumb_func_start EmitCmd55 -EmitCmd55: @ 800EB94 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EBB0 @ =gUnknown_2022874 - movs r2, 0x37 - strb r2, [r1] - strb r3, [r1, 0x1] - movs r2, 0x2 - bl PrepareBufferDataTransfer - pop {r0} - bx r0 - .align 2, 0 -_0800EBB0: .4byte gUnknown_2022874 - thumb_func_end EmitCmd55 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_message.s b/asm/battle_message.s index 04dc59d1b..b4a9e7a51 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -23,7 +23,7 @@ BufferStringBattle: @ 80D7274 ldr r0, _080D7338 @ =gUnknown_2022BC8 adds r1, r0 str r1, [r4] - ldr r2, _080D733C @ =gUnknown_2023D68 + ldr r2, _080D733C @ =gLastUsedItem ldrh r0, [r1, 0x4] strh r0, [r2] ldr r2, _080D7340 @ =gLastUsedAbility @@ -71,7 +71,7 @@ _080D72D6: mov r8, r0 ldr r3, _080D7330 @ =gUnknown_2039A34 ldr r5, _080D7358 @ =gBattleTextBuff2 - ldr r4, _080D735C @ =gUnknown_2022AD8 + ldr r4, _080D735C @ =gBattleTextBuff3 _080D72F4: mov r0, r8 adds r1, r2, r0 @@ -108,7 +108,7 @@ _080D7326: _080D7330: .4byte gUnknown_2039A34 _080D7334: .4byte gActiveBattler _080D7338: .4byte gUnknown_2022BC8 -_080D733C: .4byte gUnknown_2023D68 +_080D733C: .4byte gLastUsedItem _080D7340: .4byte gLastUsedAbility _080D7344: .4byte gBattleScripting _080D7348: .4byte gBattleStruct @@ -116,7 +116,7 @@ _080D734C: .4byte gPotentialItemEffectBattler _080D7350: .4byte gBattleTextBuff1 _080D7354: .4byte gUnknown_2039A30 _080D7358: .4byte gBattleTextBuff2 -_080D735C: .4byte gUnknown_2022AD8 +_080D735C: .4byte gBattleTextBuff3 _080D7360: .4byte _080D7364 .align 2, 0 _080D7364: @@ -890,7 +890,7 @@ _080D79A2: _080D79B0: .4byte gBattleTextBuff2 _080D79B4: .4byte gStringVar2 _080D79B8: - ldr r1, _080D79D0 @ =gUnknown_2022AD8 + ldr r1, _080D79D0 @ =gBattleTextBuff3 ldrb r0, [r1] cmp r0, 0xFD bne _080D79D8 @@ -902,7 +902,7 @@ _080D79C4: bl ExpandBattleTextBuffPlaceholders bl _080D8382 .align 2, 0 -_080D79D0: .4byte gUnknown_2022AD8 +_080D79D0: .4byte gBattleTextBuff3 _080D79D4: .4byte gStringVar3 _080D79D8: adds r4, r1, 0 @@ -1073,7 +1073,7 @@ _080D7B40: .4byte gBattlerPartyIndexes _080D7B44: .4byte gLinkPlayers _080D7B48: .4byte gEnemyParty _080D7B4C: - ldr r4, _080D7B70 @ =sBattler_AI + ldr r4, _080D7B70 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -1090,7 +1090,7 @@ _080D7B4C: ldr r4, _080D7B7C @ =gUnknown_83FD55B b _080D7B8A .align 2, 0 -_080D7B70: .4byte sBattler_AI +_080D7B70: .4byte gBattlerAttacker _080D7B74: .4byte gBattleTypeFlags _080D7B78: .4byte gUnknown_83FD555 _080D7B7C: .4byte gUnknown_83FD55B @@ -1140,7 +1140,7 @@ _080D7BC0: .align 2, 0 _080D7BDC: .4byte gBattlerPartyIndexes _080D7BE0: - ldr r4, _080D7C14 @ =sBattler_AI + ldr r4, _080D7C14 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -1164,7 +1164,7 @@ _080D7BE0: adds r0, r1 b _080D82AA .align 2, 0 -_080D7C14: .4byte sBattler_AI +_080D7C14: .4byte gBattlerAttacker _080D7C18: .4byte gBattlerPartyIndexes _080D7C1C: .4byte gPlayerParty _080D7C20: @@ -1188,7 +1188,7 @@ _080D7C20: _080D7C44: .4byte gBattlerPartyIndexes _080D7C48: .4byte gEnemyParty _080D7C4C: - ldr r5, _080D7C98 @ =sBattler_AI + ldr r5, _080D7C98 @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -1228,7 +1228,7 @@ _080D7C8C: ldrh r1, [r0] b _080D82A4 .align 2, 0 -_080D7C98: .4byte sBattler_AI +_080D7C98: .4byte gBattlerAttacker _080D7C9C: .4byte gBattleTypeFlags _080D7CA0: .4byte gUnknown_83FD555 _080D7CA4: .4byte gUnknown_83FD55B @@ -1300,7 +1300,7 @@ _080D7D24: .align 2, 0 _080D7D30: .4byte gBattlerPartyIndexes _080D7D34: - ldr r5, _080D7D80 @ =gUnknown_2023D6E + ldr r5, _080D7D80 @ =gEffectBattler ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -1340,7 +1340,7 @@ _080D7D74: ldrh r1, [r0] b _080D82A4 .align 2, 0 -_080D7D80: .4byte gUnknown_2023D6E +_080D7D80: .4byte gEffectBattler _080D7D84: .4byte gBattleTypeFlags _080D7D88: .4byte gUnknown_83FD555 _080D7D8C: .4byte gUnknown_83FD55B @@ -1517,7 +1517,7 @@ _080D7EE4: ands r0, r1 cmp r0, 0 beq _080D7F9C - ldr r2, _080D7F20 @ =gUnknown_2023D68 + ldr r2, _080D7F20 @ =gLastUsedItem ldrh r0, [r2] cmp r0, 0xAF bne _080D7F98 @@ -1540,7 +1540,7 @@ _080D7EE4: b _080D7F90 .align 2, 0 _080D7F1C: .4byte gBattleTypeFlags -_080D7F20: .4byte gUnknown_2023D68 +_080D7F20: .4byte gLastUsedItem _080D7F24: .4byte gBattleStruct _080D7F28: .4byte gPotentialItemEffectBattler _080D7F2C: @@ -1600,7 +1600,7 @@ _080D7F98: ldrh r0, [r2] b _080D7FA0 _080D7F9C: - ldr r0, _080D7FAC @ =gUnknown_2023D68 + ldr r0, _080D7FAC @ =gLastUsedItem ldrh r0, [r0] _080D7FA0: mov r1, sp @@ -1608,7 +1608,7 @@ _080D7FA0: mov r4, sp b _080D8382 .align 2, 0 -_080D7FAC: .4byte gUnknown_2023D68 +_080D7FAC: .4byte gLastUsedItem _080D7FB0: ldr r0, _080D7FB4 @ =gLastUsedAbility b _080D7FF0 @@ -1616,11 +1616,11 @@ _080D7FB0: _080D7FB4: .4byte gLastUsedAbility _080D7FB8: ldr r1, _080D7FC0 @ =gUnknown_2039A30 - ldr r0, _080D7FC4 @ =sBattler_AI + ldr r0, _080D7FC4 @ =gBattlerAttacker b _080D7FEC .align 2, 0 _080D7FC0: .4byte gUnknown_2039A30 -_080D7FC4: .4byte sBattler_AI +_080D7FC4: .4byte gBattlerAttacker _080D7FC8: ldr r1, _080D7FD0 @ =gUnknown_2039A30 ldr r0, _080D7FD4 @ =gBattlerTarget @@ -1638,7 +1638,7 @@ _080D7FE0: .4byte gUnknown_2039A30 _080D7FE4: .4byte gBattleScripting _080D7FE8: ldr r1, _080D7FFC @ =gUnknown_2039A30 - ldr r0, _080D8000 @ =gUnknown_2023D6E + ldr r0, _080D8000 @ =gEffectBattler _080D7FEC: ldrb r0, [r0] _080D7FEE: @@ -1652,7 +1652,7 @@ _080D7FF0: b _080D8382 .align 2, 0 _080D7FFC: .4byte gUnknown_2039A30 -_080D8000: .4byte gUnknown_2023D6E +_080D8000: .4byte gEffectBattler _080D8004: .4byte gUnknown_824FC40 _080D8008: ldr r3, _080D8020 @ =gTrainerBattleOpponent_A @@ -2045,10 +2045,10 @@ _080D830C: .4byte 0x00000834 _080D8310: .4byte gUnknown_83FD81A _080D8314: .4byte gUnknown_83FD824 _080D8318: - ldr r0, _080D831C @ =sBattler_AI + ldr r0, _080D831C @ =gBattlerAttacker b _080D8322 .align 2, 0 -_080D831C: .4byte sBattler_AI +_080D831C: .4byte gBattlerAttacker _080D8320: ldr r0, _080D8334 @ =gBattlerTarget _080D8322: @@ -2065,10 +2065,10 @@ _080D8334: .4byte gBattlerTarget _080D8338: .4byte gUnknown_83FD569 _080D833C: .4byte gUnknown_83FD56D _080D8340: - ldr r0, _080D8344 @ =sBattler_AI + ldr r0, _080D8344 @ =gBattlerAttacker b _080D834A .align 2, 0 -_080D8344: .4byte sBattler_AI +_080D8344: .4byte gBattlerAttacker _080D8348: ldr r0, _080D835C @ =gBattlerTarget _080D834A: @@ -2085,10 +2085,10 @@ _080D835C: .4byte gBattlerTarget _080D8360: .4byte gUnknown_83FD560 _080D8364: .4byte gUnknown_83FD564 _080D8368: - ldr r0, _080D836C @ =sBattler_AI + ldr r0, _080D836C @ =gBattlerAttacker b _080D8372 .align 2, 0 -_080D836C: .4byte sBattler_AI +_080D836C: .4byte gBattlerAttacker _080D8370: ldr r0, _080D83D4 @ =gBattlerTarget _080D8372: @@ -2946,7 +2946,7 @@ SetPpNumbersPaletteInMoveSelection: @ 80D89DC ldr r0, _080D8A3C @ =gUnknown_2022BC8 adds r1, r0 ldr r4, _080D8A40 @ =gUnknown_8D2FBB4 - ldr r0, _080D8A44 @ =gUnknown_2023FFC + ldr r0, _080D8A44 @ =gMoveSelectionCursor adds r2, r0 ldrb r2, [r2] adds r0, r1, 0 @@ -2985,7 +2985,7 @@ SetPpNumbersPaletteInMoveSelection: @ 80D89DC _080D8A38: .4byte gActiveBattler _080D8A3C: .4byte gUnknown_2022BC8 _080D8A40: .4byte gUnknown_8D2FBB4 -_080D8A44: .4byte gUnknown_2023FFC +_080D8A44: .4byte gMoveSelectionCursor _080D8A48: .4byte gPlttBufferUnfaded _080D8A4C: .4byte gPlttBufferFaded + 0xB8 thumb_func_end SetPpNumbersPaletteInMoveSelection diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 11c522a5e..373d191ef 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -25,7 +25,7 @@ _0801D77C: .4byte gBattleOutcome _0801D780: .4byte gUnknown_2023BE3 _0801D784: ldr r2, _0801D7B4 @ =gBattleMons - ldr r0, _0801D7B8 @ =sBattler_AI + ldr r0, _0801D7B8 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -49,7 +49,7 @@ _0801D784: b _0801DAFA .align 2, 0 _0801D7B4: .4byte gBattleMons -_0801D7B8: .4byte sBattler_AI +_0801D7B8: .4byte gBattlerAttacker _0801D7BC: .4byte gUnknown_2023DD0 _0801D7C0: .4byte gUnknown_2023D74 _0801D7C4: .4byte gUnknown_81D694E @@ -76,7 +76,7 @@ _0801D7EE: ldr r4, _0801D848 @ =gBattleMons ldr r0, _0801D84C @ =gUnknown_2023D48 ldrb r1, [r0] - ldr r3, _0801D850 @ =sBattler_AI + ldr r3, _0801D850 @ =gBattlerAttacker ldrb r2, [r3] movs r0, 0x58 muls r2, r0 @@ -119,7 +119,7 @@ _0801D7EE: _0801D844: .4byte gBattlerTarget _0801D848: .4byte gBattleMons _0801D84C: .4byte gUnknown_2023D48 -_0801D850: .4byte sBattler_AI +_0801D850: .4byte gBattlerAttacker _0801D854: .4byte gUnknown_2023DD0 _0801D858: .4byte gCurrentMove _0801D85C: .4byte 0x00800200 @@ -200,7 +200,7 @@ _0801D8C4: ands r0, r1 cmp r0, 0 beq _0801D94C - ldr r0, _0801D93C @ =sBattler_AI + ldr r0, _0801D93C @ =gBattlerAttacker ldrb r0, [r0] ldr r2, _0801D940 @ =0x00000115 adds r1, r3, 0 @@ -224,7 +224,7 @@ _0801D92C: .4byte gUnknown_2023E8C _0801D930: .4byte gBattlerTarget _0801D934: .4byte gBattleMoves _0801D938: .4byte gCurrentMove -_0801D93C: .4byte sBattler_AI +_0801D93C: .4byte gBattlerAttacker _0801D940: .4byte 0x00000115 _0801D944: .4byte gUnknown_2023D74 _0801D948: .4byte gUnknown_81D8FAA @@ -327,7 +327,7 @@ _0801D9FA: cmp r3, 0xAE bne _0801DA38 ldr r2, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =sBattler_AI + ldr r0, _0801DA9C @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -349,7 +349,7 @@ _0801DA38: cmp r0, 0 beq _0801DA5E ldr r1, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =sBattler_AI + ldr r0, _0801DA9C @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -362,7 +362,7 @@ _0801DA38: cmp r0, 0 beq _0801DAF4 _0801DA5E: - ldr r0, _0801DA9C @ =sBattler_AI + ldr r0, _0801DA9C @ =gBattlerAttacker ldrb r0, [r0] bl CancelMultiTurnMoves ldr r2, _0801DAA0 @ =gMoveResultFlags @@ -390,14 +390,14 @@ _0801DA5E: _0801DA90: .4byte gBattleMoves _0801DA94: .4byte gCurrentMove _0801DA98: .4byte gBattleMons -_0801DA9C: .4byte sBattler_AI +_0801DA9C: .4byte gBattlerAttacker _0801DAA0: .4byte gMoveResultFlags _0801DAA4: .4byte gUnknown_2023DA0 _0801DAA8: .4byte gBattlerTarget _0801DAAC: .4byte gUnknown_2023DA8 _0801DAB0: .4byte gUnknown_2023E82 _0801DAB4: - ldr r0, _0801DAE0 @ =sBattler_AI + ldr r0, _0801DAE0 @ =gBattlerAttacker ldrb r0, [r0] ldr r2, _0801DAE4 @ =0x00000121 adds r1, r3, 0 @@ -418,7 +418,7 @@ _0801DAB4: ldr r0, _0801DAF0 @ =gUnknown_81D8FC2 b _0801DAFA .align 2, 0 -_0801DAE0: .4byte sBattler_AI +_0801DAE0: .4byte gBattlerAttacker _0801DAE4: .4byte 0x00000121 _0801DAE8: .4byte gBattleScripting _0801DAEC: .4byte gUnknown_2023D74 @@ -642,7 +642,7 @@ AccuracyCalcHelper: @ 801DC7C subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801DCE8 @ =sBattler_AI + ldr r1, _0801DCE8 @ =gBattlerAttacker ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -675,7 +675,7 @@ _0801DCCE: _0801DCDC: .4byte gStatuses3 _0801DCE0: .4byte gBattlerTarget _0801DCE4: .4byte gDisableStructs -_0801DCE8: .4byte sBattler_AI +_0801DCE8: .4byte gBattlerAttacker _0801DCEC: .4byte gUnknown_2023DD0 _0801DCF0: .4byte gMoveResultFlags _0801DCF4: @@ -816,7 +816,7 @@ sub_801DDC4: @ 801DDC4 ldrb r0, [r1, 0x1] cmp r0, 0 beq _0801DE12 - ldr r0, _0801DE6C @ =sBattler_AI + ldr r0, _0801DE6C @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -842,7 +842,7 @@ _0801DE12: ldrb r0, [r1, 0x1] cmp r0, 0 bne _0801DE48 - ldr r0, _0801DE6C @ =sBattler_AI + ldr r0, _0801DE6C @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -865,7 +865,7 @@ _0801DE56: _0801DE60: .4byte gUnknown_2023D74 _0801DE64: .4byte gBattleTypeFlags _0801DE68: .4byte gBattleMoves -_0801DE6C: .4byte sBattler_AI +_0801DE6C: .4byte gBattlerAttacker _0801DE70: adds r0, r6, 0x2 lsls r0, 16 @@ -890,7 +890,7 @@ _0801DE70: subs r0, r4 lsls r0, 2 adds r0, r1 - ldr r1, _0801DEE4 @ =sBattler_AI + ldr r1, _0801DEE4 @ =gBattlerAttacker ldrb r0, [r0, 0x15] ldrb r1, [r1] cmp r0, r1 @@ -923,7 +923,7 @@ _0801DED4: .4byte gStatuses3 _0801DED8: .4byte gBattlerTarget _0801DEDC: .4byte 0x0000ffff _0801DEE0: .4byte gDisableStructs -_0801DEE4: .4byte sBattler_AI +_0801DEE4: .4byte gBattlerAttacker _0801DEE8: .4byte 0x000400c0 _0801DEEC: .4byte gUnknown_2023D74 _0801DEF0: @@ -999,7 +999,7 @@ _0801DF5E: ands r0, r1 cmp r0, 0 beq _0801DF98 - ldr r0, _0801DF94 @ =sBattler_AI + ldr r0, _0801DF94 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -1009,9 +1009,9 @@ _0801DF5E: _0801DF88: .4byte gBattleMoves _0801DF8C: .4byte gBattleMons _0801DF90: .4byte gBattlerTarget -_0801DF94: .4byte sBattler_AI +_0801DF94: .4byte gBattlerAttacker _0801DF98: - ldr r0, _0801E0FC @ =sBattler_AI + ldr r0, _0801E0FC @ =gBattlerAttacker ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -1087,7 +1087,7 @@ _0801E012: lsls r0, 16 lsrs r4, r0, 16 ldr r7, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =sBattler_AI + ldr r0, _0801E0FC @ =gBattlerAttacker ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -1147,7 +1147,7 @@ _0801E050: lsrs r4, r0, 16 _0801E0A8: ldr r2, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =sBattler_AI + ldr r0, _0801E0FC @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -1188,7 +1188,7 @@ _0801E0D4: ldrb r2, [r0, 0x1A] b _0801E134 .align 2, 0 -_0801E0FC: .4byte sBattler_AI +_0801E0FC: .4byte gBattlerAttacker _0801E100: .4byte gBattleMoves _0801E104: .4byte gBattleWeather _0801E108: .4byte gUnknown_82504FC @@ -1302,7 +1302,7 @@ atk02_attackstring: @ 801E1D8 ands r0, r1 cmp r0, 0 bne _0801E204 - ldr r0, _0801E220 @ =sBattler_AI + ldr r0, _0801E220 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x4 bl PrepareStringBattle @@ -1325,7 +1325,7 @@ _0801E210: .align 2, 0 _0801E218: .4byte gBattleControllerExecFlags _0801E21C: .4byte gUnknown_2023DD0 -_0801E220: .4byte sBattler_AI +_0801E220: .4byte gBattlerAttacker _0801E224: .4byte gUnknown_2023D74 _0801E228: .4byte gUnknown_2023E82 thumb_func_end atk02_attackstring @@ -1346,7 +1346,7 @@ atk03_ppreduce: @ 801E22C b _0801E3DE _0801E244: ldr r1, _0801E280 @ =gUnknown_2023ECC - ldr r2, _0801E284 @ =sBattler_AI + ldr r2, _0801E284 @ =gBattlerAttacker ldrb r3, [r2] lsls r0, r3, 2 adds r0, r3 @@ -1376,7 +1376,7 @@ _0801E244: .align 2, 0 _0801E27C: .4byte gBattleControllerExecFlags _0801E280: .4byte gUnknown_2023ECC -_0801E284: .4byte sBattler_AI +_0801E284: .4byte gBattlerAttacker _0801E288: .4byte gBattleMoves _0801E28C: .4byte gCurrentMove _0801E290: @@ -1434,7 +1434,7 @@ _0801E2E6: bne _0801E3CC ldr r2, _0801E34C @ =gBattleMons ldr r3, _0801E354 @ =gUnknown_2023D48 - ldr r1, _0801E358 @ =sBattler_AI + ldr r1, _0801E358 @ =gBattlerAttacker ldrb r5, [r1] movs r0, 0x58 mov r8, r0 @@ -1479,7 +1479,7 @@ _0801E348: .4byte gBattlerTarget _0801E34C: .4byte gBattleMons _0801E350: .4byte gUnknown_2023DD0 _0801E354: .4byte gUnknown_2023D48 -_0801E358: .4byte sBattler_AI +_0801E358: .4byte gBattlerAttacker _0801E35C: .4byte gUnknown_2023E8C _0801E360: strb r4, [r2] @@ -1531,7 +1531,7 @@ _0801E362: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData mov r7, r9 ldrb r0, [r7] bl MarkBufferBankForExecution @@ -1567,7 +1567,7 @@ _0801E404: .4byte gUnknown_2023D74 sub_801E408: @ 801E408 push {r4-r7,lr} ldr r1, _0801E42C @ =gBattleMons - ldr r0, _0801E430 @ =sBattler_AI + ldr r0, _0801E430 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -1584,7 +1584,7 @@ sub_801E408: @ 801E408 b _0801E440 .align 2, 0 _0801E42C: .4byte gBattleMons -_0801E430: .4byte sBattler_AI +_0801E430: .4byte gBattlerAttacker _0801E434: .4byte gEnigmaBerries _0801E438: bl ItemId_GetHoldEffect @@ -1592,7 +1592,7 @@ _0801E438: lsrs r6, r0, 24 _0801E440: ldr r1, _0801E4CC @ =gPotentialItemEffectBattler - ldr r3, _0801E4D0 @ =sBattler_AI + ldr r3, _0801E4D0 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] ldr r4, _0801E4D4 @ =gBattleMons @@ -1669,7 +1669,7 @@ _0801E4C0: b _0801E4E2 .align 2, 0 _0801E4CC: .4byte gPotentialItemEffectBattler -_0801E4D0: .4byte sBattler_AI +_0801E4D0: .4byte gBattlerAttacker _0801E4D4: .4byte gBattleMons _0801E4D8: .4byte gBattleMoves _0801E4DC: .4byte gCurrentMove @@ -1780,7 +1780,7 @@ atk05_damagecalc: @ 801E59C lsls r1, 1 adds r1, r4 ldrh r3, [r1] - ldr r6, _0801E65C @ =sBattler_AI + ldr r6, _0801E65C @ =gBattlerAttacker ldrb r0, [r6] movs r4, 0x58 muls r0, r4 @@ -1835,7 +1835,7 @@ atk05_damagecalc: @ 801E59C str r0, [r4] _0801E620: ldr r1, _0801E684 @ =gUnknown_2023E8C - ldr r0, _0801E65C @ =sBattler_AI + ldr r0, _0801E65C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -1862,7 +1862,7 @@ _0801E642: .align 2, 0 _0801E654: .4byte gSideAffecting _0801E658: .4byte gBattlerTarget -_0801E65C: .4byte sBattler_AI +_0801E65C: .4byte gBattlerAttacker _0801E660: .4byte gBattleMons _0801E664: .4byte gCurrentMove _0801E668: .4byte gDynamicBasePower @@ -2134,7 +2134,7 @@ _0801E878: mov r8, r0 _0801E888: ldr r2, _0801E914 @ =gBattleMons - ldr r0, _0801E918 @ =sBattler_AI + ldr r0, _0801E918 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -2203,7 +2203,7 @@ _0801E8C0: .align 2, 0 _0801E910: .4byte gBattleMoves _0801E914: .4byte gBattleMons -_0801E918: .4byte sBattler_AI +_0801E918: .4byte gBattlerAttacker _0801E91C: .4byte gBattleMoveDamage _0801E920: .4byte gBattlerTarget _0801E924: .4byte gLastUsedAbility @@ -2304,7 +2304,7 @@ _0801E9D4: ldrb r6, [r0] cmp r6, 0x19 bne _0801EA52 - ldr r0, _0801EA90 @ =sBattler_AI + ldr r0, _0801EA90 @ =gBattlerAttacker ldrb r0, [r0] ldr r7, _0801EA94 @ =gCurrentMove ldrh r1, [r7] @@ -2364,7 +2364,7 @@ _0801EA52: cmp r0, 0 beq _0801EA70 ldr r2, _0801EAB0 @ =gUnknown_2023E8C - ldr r0, _0801EA90 @ =sBattler_AI + ldr r0, _0801EA90 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -2387,7 +2387,7 @@ _0801EA70: _0801EA84: .4byte gUnknown_824F050 _0801EA88: .4byte gBattleMons _0801EA8C: .4byte gBattlerTarget -_0801EA90: .4byte sBattler_AI +_0801EA90: .4byte gBattlerAttacker _0801EA94: .4byte gCurrentMove _0801EA98: .4byte gMoveResultFlags _0801EA9C: .4byte gBattleMoves @@ -2511,7 +2511,7 @@ _0801EB66: orrs r0, r1 strb r0, [r2] ldr r1, _0801ED28 @ =gUnknown_2023E8C - ldr r0, _0801ED2C @ =sBattler_AI + ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -2547,7 +2547,7 @@ _0801EBA6: orrs r0, r1 strb r0, [r2] ldr r1, _0801ED28 @ =gUnknown_2023E8C - ldr r0, _0801ED2C @ =sBattler_AI + ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 adds r2, r1 @@ -2679,7 +2679,7 @@ _0801ECC2: ldrb r4, [r0] cmp r4, 0x19 bne _0801ED18 - ldr r0, _0801ED2C @ =sBattler_AI + ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r0, [r0] mov r2, r9 ldrh r1, [r2] @@ -2721,7 +2721,7 @@ _0801ED18: .align 2, 0 _0801ED24: .4byte gMoveResultFlags _0801ED28: .4byte gUnknown_2023E8C -_0801ED2C: .4byte sBattler_AI +_0801ED2C: .4byte gBattlerAttacker _0801ED30: .4byte gBattleMoves _0801ED34: .4byte gLastUsedAbility _0801ED38: .4byte gUnknown_2023E82 @@ -3425,7 +3425,7 @@ _0801F26C: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _0801F2AC @ =gUnknown_2023D68 + ldr r1, _0801F2AC @ =gLastUsedItem adds r0, r3, 0 muls r0, r4 adds r0, r5 @@ -3442,7 +3442,7 @@ _0801F294: .align 2, 0 _0801F2A4: .4byte gUnknown_2023ECC _0801F2A8: .4byte gMoveResultFlags -_0801F2AC: .4byte gUnknown_2023D68 +_0801F2AC: .4byte gLastUsedItem _0801F2B0: .4byte gUnknown_2023D74 thumb_func_end atk07_adjustnormaldamage @@ -3613,7 +3613,7 @@ _0801F3F8: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _0801F438 @ =gUnknown_2023D68 + ldr r1, _0801F438 @ =gLastUsedItem adds r0, r3, 0 muls r0, r7 adds r0, r4 @@ -3630,7 +3630,7 @@ _0801F420: .align 2, 0 _0801F430: .4byte gUnknown_2023ECC _0801F434: .4byte gMoveResultFlags -_0801F438: .4byte gUnknown_2023D68 +_0801F438: .4byte gLastUsedItem _0801F43C: .4byte gUnknown_2023D74 thumb_func_end atk08_adjustnormaldamage2 @@ -3712,7 +3712,7 @@ _0801F4CE: cmp r0, 0 bne _0801F564 ldr r1, _0801F548 @ =gActiveBattler - ldr r0, _0801F54C @ =sBattler_AI + ldr r0, _0801F54C @ =gBattlerAttacker mov r8, r0 ldrb r0, [r0] strb r0, [r1] @@ -3742,7 +3742,7 @@ _0801F4CE: adds r0, r4 str r0, [sp, 0x8] movs r0, 0 - bl EmitMoveAnimation + bl BtlController_EmitMoveAnimation ldrb r0, [r6, 0x18] adds r0, 0x1 strb r0, [r6, 0x18] @@ -3763,7 +3763,7 @@ _0801F53C: .4byte gBattleMoves _0801F540: .4byte gBattleScripting _0801F544: .4byte gMoveResultFlags _0801F548: .4byte gActiveBattler -_0801F54C: .4byte sBattler_AI +_0801F54C: .4byte gBattlerAttacker _0801F550: .4byte gBattleMovePower _0801F554: .4byte gBattleMoveDamage _0801F558: .4byte gBattleMons @@ -3875,7 +3875,7 @@ _0801F628: lsrs r1, r0, 16 _0801F636: movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldr r4, _0801F678 @ =gActiveBattler ldrb r0, [r4] bl MarkBufferBankForExecution @@ -4152,14 +4152,14 @@ _0801F858: ldr r1, _0801F88C @ =gUnknown_2023DD8 ldrb r0, [r5] adds r0, r1 - ldr r1, _0801F890 @ =sBattler_AI + ldr r1, _0801F890 @ =gBattlerAttacker b _0801F89C .align 2, 0 _0801F880: .4byte gUnknown_2023D58 _0801F884: .4byte gActiveBattler _0801F888: .4byte gUnknown_2023D74 _0801F88C: .4byte gUnknown_2023DD8 -_0801F890: .4byte sBattler_AI +_0801F890: .4byte gBattlerAttacker _0801F894: ldr r1, _0801F8C0 @ =gUnknown_2023DD8 ldrb r0, [r5] @@ -4256,7 +4256,7 @@ _0801F908: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801F968 @ =sBattler_AI + ldr r2, _0801F968 @ =gBattlerAttacker b _0801F974 .align 2, 0 _0801F954: .4byte gUnknown_2023D54 @@ -4264,7 +4264,7 @@ _0801F958: .4byte gUnknown_2023ECC _0801F95C: .4byte gCurrentMove _0801F960: .4byte gUnknown_2023E8C _0801F964: .4byte gUnknown_2023D74 -_0801F968: .4byte sBattler_AI +_0801F968: .4byte gBattlerAttacker _0801F96C: ldrb r0, [r5] lsls r0, 4 @@ -4318,12 +4318,12 @@ _0801F990: ldrb r0, [r5] lsls r0, 4 adds r0, r3 - ldr r2, _0801F9DC @ =sBattler_AI + ldr r2, _0801F9DC @ =gBattlerAttacker b _0801F9E8 .align 2, 0 _0801F9D4: .4byte gUnknown_2023E8C _0801F9D8: .4byte gUnknown_2023D74 -_0801F9DC: .4byte sBattler_AI +_0801F9DC: .4byte gBattlerAttacker _0801F9E0: ldrb r0, [r5] lsls r0, 4 @@ -4356,7 +4356,7 @@ _0801F9FA: movs r1, 0x2A movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r5] bl MarkBufferBankForExecution b _0801FA5A @@ -4417,7 +4417,7 @@ atk0D_critmessage: @ 801FA7C ands r0, r1 cmp r0, 0 bne _0801FAAA - ldr r0, _0801FAC4 @ =sBattler_AI + ldr r0, _0801FAC4 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0xD9 bl PrepareStringBattle @@ -4436,7 +4436,7 @@ _0801FAB2: _0801FAB8: .4byte gBattleControllerExecFlags _0801FABC: .4byte gCritMultiplier _0801FAC0: .4byte gMoveResultFlags -_0801FAC4: .4byte sBattler_AI +_0801FAC4: .4byte gBattlerAttacker _0801FAC8: .4byte gUnknown_2023E82 _0801FACC: .4byte gUnknown_2023D74 thumb_func_end atk0D_critmessage @@ -4496,7 +4496,7 @@ _0801FB32: movs r0, 0 movs r1, 0xC _0801FB36: - bl EmitPlaySE + bl BtlController_EmitPlaySE ldrb r0, [r4] bl MarkBufferBankForExecution b _0801FB88 @@ -4517,7 +4517,7 @@ _0801FB52: movs r0, 0 movs r1, 0xC _0801FB5E: - bl EmitPlaySE + bl BtlController_EmitPlaySE ldr r0, _0801FB6C @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -4531,7 +4531,7 @@ _0801FB70: bne _0801FB88 movs r0, 0 movs r1, 0xD - bl EmitPlaySE + bl BtlController_EmitPlaySE ldr r0, _0801FB98 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -4636,7 +4636,7 @@ _0801FC34: movs r3, 0x99 b _0801FD2E _0801FC38: - ldr r4, _0801FC60 @ =gUnknown_2023D68 + ldr r4, _0801FC60 @ =gLastUsedItem ldr r2, _0801FC64 @ =gBattleMons ldr r3, _0801FC68 @ =gBattlerTarget ldrb r1, [r3] @@ -4656,7 +4656,7 @@ _0801FC38: ldr r0, _0801FC74 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 -_0801FC60: .4byte gUnknown_2023D68 +_0801FC60: .4byte gLastUsedItem _0801FC64: .4byte gBattleMons _0801FC68: .4byte gBattlerTarget _0801FC6C: .4byte gPotentialItemEffectBattler @@ -4711,7 +4711,7 @@ _0801FCD0: ands r0, r5 cmp r0, 0 beq _0801FD18 - ldr r4, _0801FD00 @ =gUnknown_2023D68 + ldr r4, _0801FD00 @ =gLastUsedItem ldr r2, _0801FD04 @ =gBattleMons ldr r3, _0801FD08 @ =gBattlerTarget ldrb r1, [r3] @@ -4731,7 +4731,7 @@ _0801FCD0: ldr r0, _0801FD14 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 -_0801FD00: .4byte gUnknown_2023D68 +_0801FD00: .4byte gLastUsedItem _0801FD04: .4byte gBattleMons _0801FD08: .4byte gBattlerTarget _0801FD0C: .4byte gPotentialItemEffectBattler @@ -4754,7 +4754,7 @@ _0801FD2A: beq _0801FD38 _0801FD2E: adds r0, r3, 0 - ldr r1, _0801FD48 @ =sBattler_AI + ldr r1, _0801FD48 @ =gBattlerAttacker ldrb r1, [r1] bl PrepareStringBattle _0801FD38: @@ -4768,7 +4768,7 @@ _0801FD40: pop {r0} bx r0 .align 2, 0 -_0801FD48: .4byte sBattler_AI +_0801FD48: .4byte gBattlerAttacker _0801FD4C: .4byte gUnknown_2023D74 thumb_func_end atk0F_resultmessage @@ -4785,7 +4785,7 @@ atk10_printstring: @ 801FD50 ldrb r1, [r1, 0x2] lsls r1, 8 orrs r0, r1 - ldr r1, _0801FD88 @ =sBattler_AI + ldr r1, _0801FD88 @ =gBattlerAttacker ldrb r1, [r1] bl PrepareStringBattle ldr r0, [r4] @@ -4801,7 +4801,7 @@ _0801FD7A: .align 2, 0 _0801FD80: .4byte gBattleControllerExecFlags _0801FD84: .4byte gUnknown_2023D74 -_0801FD88: .4byte sBattler_AI +_0801FD88: .4byte gBattlerAttacker _0801FD8C: .4byte gUnknown_2023E82 thumb_func_end atk10_printstring @@ -4809,7 +4809,7 @@ _0801FD8C: .4byte gUnknown_2023E82 atk11_printselectionstring: @ 801FD90 push {r4,r5,lr} ldr r5, _0801FDC4 @ =gActiveBattler - ldr r0, _0801FDC8 @ =sBattler_AI + ldr r0, _0801FDC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r4, _0801FDCC @ =gUnknown_2023D74 @@ -4819,7 +4819,7 @@ atk11_printselectionstring: @ 801FD90 lsls r0, 8 orrs r1, r0 movs r0, 0 - bl EmitPrintSelectionString + bl BtlController_EmitPrintSelectionString ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -4833,7 +4833,7 @@ atk11_printselectionstring: @ 801FD90 bx r0 .align 2, 0 _0801FDC4: .4byte gActiveBattler -_0801FDC8: .4byte sBattler_AI +_0801FDC8: .4byte gBattlerAttacker _0801FDCC: .4byte gUnknown_2023D74 _0801FDD0: .4byte gUnknown_2023E82 thumb_func_end atk11_printselectionstring @@ -4911,7 +4911,7 @@ atk13_printfromtable: @ 801FE30 lsls r0, 1 adds r1, r0 ldrh r0, [r1] - ldr r1, _0801FE80 @ =sBattler_AI + ldr r1, _0801FE80 @ =gBattlerAttacker ldrb r1, [r1] bl PrepareStringBattle ldr r0, [r4] @@ -4927,7 +4927,7 @@ _0801FE6E: _0801FE74: .4byte gBattleControllerExecFlags _0801FE78: .4byte gUnknown_2023D74 _0801FE7C: .4byte gUnknown_2023E82 -_0801FE80: .4byte sBattler_AI +_0801FE80: .4byte gBattlerAttacker thumb_func_end atk13_printfromtable thumb_func_start atk14_printselectionstringfromtable @@ -4954,12 +4954,12 @@ atk14_printselectionstringfromtable: @ 801FE84 lsls r0, 1 adds r1, r0 ldr r4, _0801FEE0 @ =gActiveBattler - ldr r0, _0801FEE4 @ =sBattler_AI + ldr r0, _0801FEE4 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldrh r1, [r1] movs r0, 0 - bl EmitPrintSelectionString + bl BtlController_EmitPrintSelectionString ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -4976,7 +4976,7 @@ _0801FED4: .4byte gBattleControllerExecFlags _0801FED8: .4byte gUnknown_2023D74 _0801FEDC: .4byte gUnknown_2023E82 _0801FEE0: .4byte gActiveBattler -_0801FEE4: .4byte sBattler_AI +_0801FEE4: .4byte gBattlerAttacker thumb_func_end atk14_printselectionstringfromtable thumb_func_start BankGetTurnOrder @@ -5036,8 +5036,8 @@ sub_801FF20: @ 801FF20 adds r6, r1, 0 cmp r0, 0 beq _0801FF78 - ldr r2, _0801FF68 @ =gUnknown_2023D6E - ldr r0, _0801FF6C @ =sBattler_AI + ldr r2, _0801FF68 @ =gEffectBattler + ldr r0, _0801FF6C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r2] movs r0, 0xBF @@ -5049,17 +5049,17 @@ sub_801FF20: @ 801FF20 b _0801FF84 .align 2, 0 _0801FF64: .4byte gUnknown_2023E82 -_0801FF68: .4byte gUnknown_2023D6E -_0801FF6C: .4byte sBattler_AI +_0801FF68: .4byte gEffectBattler +_0801FF6C: .4byte gBattlerAttacker _0801FF70: .4byte gBattleScripting _0801FF74: .4byte gBattlerTarget _0801FF78: - ldr r2, _08020094 @ =gUnknown_2023D6E + ldr r2, _08020094 @ =gEffectBattler ldr r0, _08020098 @ =gBattlerTarget ldrb r0, [r0] strb r0, [r2] ldr r1, _0802009C @ =gBattleScripting - ldr r0, _080200A0 @ =sBattler_AI + ldr r0, _080200A0 @ =gBattlerAttacker _0801FF84: ldrb r0, [r0] strb r0, [r1, 0x17] @@ -5084,7 +5084,7 @@ _0801FF84: bl _080210EC _0801FFB2: ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gUnknown_2023D6E + ldr r2, _08020094 @ =gEffectBattler ldrb r1, [r2] movs r0, 0x58 muls r0, r1 @@ -5138,7 +5138,7 @@ _0801FFE6: bl _080210EC _08020020: ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gUnknown_2023D6E + ldr r2, _08020094 @ =gEffectBattler ldrb r1, [r2] movs r0, 0x58 muls r0, r1 @@ -5199,10 +5199,10 @@ _08020084: _08020092: b _08020570 .align 2, 0 -_08020094: .4byte gUnknown_2023D6E +_08020094: .4byte gEffectBattler _08020098: .4byte gBattlerTarget _0802009C: .4byte gBattleScripting -_080200A0: .4byte sBattler_AI +_080200A0: .4byte gBattlerAttacker _080200A4: .4byte gBattleTypeFlags _080200A8: .4byte gBattleMons _080200AC: .4byte gUnknown_2023DD0 @@ -5585,7 +5585,7 @@ _08020346: str r1, [sp, 0x4] _08020382: ldr r4, _080203DC @ =gBattleMons - ldr r0, _080203E0 @ =gUnknown_2023D6E + ldr r0, _080203E0 @ =gEffectBattler ldrb r3, [r0] movs r0, 0x58 adds r2, r3, 0 @@ -5633,7 +5633,7 @@ _080203CA: .align 2, 0 _080203D8: .4byte gBattleWeather _080203DC: .4byte gBattleMons -_080203E0: .4byte gUnknown_2023D6E +_080203E0: .4byte gEffectBattler _080203E4: mov r0, r9 ldrb r1, [r0] @@ -5848,7 +5848,7 @@ _08020578: bne _080205CC bl Random ldr r2, _080205C4 @ =gBattleMons - ldr r1, _080205C8 @ =gUnknown_2023D6E + ldr r1, _080205C8 @ =gEffectBattler ldrb r3, [r1] movs r1, 0x58 muls r3, r1 @@ -5867,10 +5867,10 @@ _080205B8: .4byte gUnknown_2023D74 _080205BC: .4byte gUnknown_825053C _080205C0: .4byte gUnknown_2023E82 _080205C4: .4byte gBattleMons -_080205C8: .4byte gUnknown_2023D6E +_080205C8: .4byte gEffectBattler _080205CC: ldr r2, _08020630 @ =gBattleMons - ldr r0, _08020634 @ =gUnknown_2023D6E + ldr r0, _08020634 @ =gEffectBattler ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -5889,7 +5889,7 @@ _080205E0: ldr r0, [r0] str r0, [r2] ldr r4, _08020644 @ =gActiveBattler - ldr r1, _08020634 @ =gUnknown_2023D6E + ldr r1, _08020634 @ =gEffectBattler ldrb r0, [r1] strb r0, [r4] ldrb r1, [r1] @@ -5902,7 +5902,7 @@ _080205E0: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r2, _0802064C @ =gUnknown_2023DD0 @@ -5920,7 +5920,7 @@ _080205E0: b _08020656 .align 2, 0 _08020630: .4byte gBattleMons -_08020634: .4byte gUnknown_2023D6E +_08020634: .4byte gEffectBattler _08020638: .4byte gUnknown_2023D74 _0802063C: .4byte gUnknown_825062C _08020640: .4byte gUnknown_2023E82 @@ -6226,7 +6226,7 @@ _08020928: .4byte gUnknown_2023D74 _0802092C: .4byte gUnknown_825062C _08020930: .4byte gUnknown_2023E82 _08020934: - ldr r5, _08020984 @ =sBattler_AI + ldr r5, _08020984 @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition movs r1, 0x1 @@ -6266,7 +6266,7 @@ _0802096C: ldr r0, [r0] b _08021108 .align 2, 0 -_08020984: .4byte sBattler_AI +_08020984: .4byte gBattlerAttacker _08020988: .4byte gUnknown_2023E7E _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff @@ -6383,7 +6383,7 @@ _08020A3C: ldrb r1, [r3] ldr r0, [r2] adds r1, r0 - ldr r0, _08020AD8 @ =sBattler_AI + ldr r0, _08020AD8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1, 0x14] ldr r4, _08020ADC @ =gUnknown_2023D74 @@ -6428,7 +6428,7 @@ _08020ABE: .align 2, 0 _08020AD0: .4byte gBattleStruct _08020AD4: .4byte gCurrentMove -_08020AD8: .4byte sBattler_AI +_08020AD8: .4byte gBattlerAttacker _08020ADC: .4byte gUnknown_2023D74 _08020AE0: .4byte gUnknown_825062C _08020AE4: .4byte gUnknown_2023E82 @@ -6627,7 +6627,7 @@ _08020C7C: .4byte gDisableStructs _08020C80: .4byte gUnknown_2023DB8 _08020C84: .4byte gCurrentMove _08020C88: - ldr r0, _08020CA4 @ =sBattler_AI + ldr r0, _08020CA4 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 adds r2, r1, 0 @@ -6643,7 +6643,7 @@ _08020C9E: str r0, [r2] b _080210EC .align 2, 0 -_08020CA4: .4byte sBattler_AI +_08020CA4: .4byte gBattlerAttacker _08020CA8: ldr r5, _08020D64 @ =gBattleTypeFlags ldr r0, [r5] @@ -6654,7 +6654,7 @@ _08020CA8: beq _08020CB8 b _080210EC _08020CB8: - ldr r4, _08020D68 @ =sBattler_AI + ldr r4, _08020D68 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -6696,7 +6696,7 @@ _08020CEA: ldrb r1, [r0] ldr r3, _08020D78 @ =gBitTable ldr r2, _08020D7C @ =gBattlerPartyIndexes - ldr r0, _08020D68 @ =sBattler_AI + ldr r0, _08020D68 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r2 @@ -6741,7 +6741,7 @@ _08020D26: b _0802110A .align 2, 0 _08020D64: .4byte gBattleTypeFlags -_08020D68: .4byte sBattler_AI +_08020D68: .4byte gBattlerAttacker _08020D6C: .4byte 0x00000902 _08020D70: .4byte gTrainerBattleOpponent_A _08020D74: .4byte gUnknown_2023F20 @@ -6753,7 +6753,7 @@ _08020D88: .4byte gUnknown_2023D74 _08020D8C: .4byte gUnknown_81D948E _08020D90: .4byte gLastUsedAbility _08020D94: - ldr r4, _08020E60 @ =sBattler_AI + ldr r4, _08020E60 @ =gBattlerAttacker mov r10, r4 ldrb r2, [r4] movs r0, 0x58 @@ -6794,7 +6794,7 @@ _08020DD4: adds r0, 0xD0 ldr r1, [r5] adds r1, r0 - ldr r2, _08020E68 @ =gUnknown_2023D68 + ldr r2, _08020E68 @ =gLastUsedItem strh r3, [r1] strh r3, [r2] ldrb r0, [r7] @@ -6813,7 +6813,7 @@ _08020DD4: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData mov r2, r10 ldrb r0, [r2] bl MarkBufferBankForExecution @@ -6831,7 +6831,7 @@ _08020DD4: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldr r4, _08020E70 @ =gUnknown_2023D74 @@ -6854,9 +6854,9 @@ _08020DD4: strb r6, [r0] b _0802110A .align 2, 0 -_08020E60: .4byte sBattler_AI +_08020E60: .4byte gBattlerAttacker _08020E64: .4byte gBattleStruct -_08020E68: .4byte gUnknown_2023D68 +_08020E68: .4byte gLastUsedItem _08020E6C: .4byte gActiveBattler _08020E70: .4byte gUnknown_2023D74 _08020E74: .4byte gUnknown_81D9271 @@ -6880,14 +6880,14 @@ _08020E78: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _08020EB0 @ =sBattler_AI + ldr r1, _08020EB0 @ =gBattlerAttacker ldrb r1, [r1] strb r1, [r0, 0x14] b _080210EC .align 2, 0 _08020EA8: .4byte gBattlerTarget _08020EAC: .4byte gDisableStructs -_08020EB0: .4byte sBattler_AI +_08020EB0: .4byte gBattlerAttacker _08020EB4: ldr r0, _08020ECC @ =gBattlerTarget ldrb r1, [r0] @@ -6953,7 +6953,7 @@ _08020F1A: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r4, _08020F58 @ =gUnknown_2023D74 @@ -7089,7 +7089,7 @@ _08021058: bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _080210D0 @ =gUnknown_2023D68 + ldr r1, _080210D0 @ =gLastUsedItem mov r3, r9 ldrb r0, [r3] muls r0, r4 @@ -7141,7 +7141,7 @@ _08021058: strb r5, [r0] b _0802110A .align 2, 0 -_080210D0: .4byte gUnknown_2023D68 +_080210D0: .4byte gLastUsedItem _080210D4: .4byte gUnknown_2023F20 _080210D8: .4byte gBitTable _080210DC: .4byte gBattlerPartyIndexes @@ -7182,7 +7182,7 @@ _08021120: .4byte gUnknown_81D8FEB atk15_seteffectwithchance: @ 8021124 push {r4,lr} ldr r2, _08021150 @ =gBattleMons - ldr r0, _08021154 @ =sBattler_AI + ldr r0, _08021154 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -7203,7 +7203,7 @@ atk15_seteffectwithchance: @ 8021124 b _08021170 .align 2, 0 _08021150: .4byte gBattleMons -_08021154: .4byte sBattler_AI +_08021154: .4byte gBattlerAttacker _08021158: .4byte gBattleMoves _0802115C: .4byte gCurrentMove _08021160: @@ -7437,7 +7437,7 @@ _08021330: cmp r0, 0x1 bne _08021358 ldr r1, _08021348 @ =gActiveBattler - ldr r0, _0802134C @ =sBattler_AI + ldr r0, _0802134C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1] ldr r0, _08021350 @ =gBattlerTarget @@ -7447,7 +7447,7 @@ _08021330: b _08021368 .align 2, 0 _08021348: .4byte gActiveBattler -_0802134C: .4byte sBattler_AI +_0802134C: .4byte gBattlerAttacker _08021350: .4byte gBattlerTarget _08021354: .4byte gUnknown_81D8674 _08021358: @@ -7455,7 +7455,7 @@ _08021358: ldr r0, _080213D4 @ =gBattlerTarget ldrb r0, [r0] strb r0, [r1] - ldr r0, _080213D8 @ =sBattler_AI + ldr r0, _080213D8 @ =gBattlerAttacker ldrb r0, [r0] mov r9, r0 ldr r4, _080213DC @ =gUnknown_81D8684 @@ -7515,7 +7515,7 @@ _080213C8: .align 2, 0 _080213D0: .4byte gActiveBattler _080213D4: .4byte gBattlerTarget -_080213D8: .4byte sBattler_AI +_080213D8: .4byte gBattlerAttacker _080213DC: .4byte gUnknown_81D8684 _080213E0: .4byte gAbsentBattlerFlags _080213E4: .4byte gBitTable @@ -7548,7 +7548,7 @@ _08021400: movs r3, 0xC1 lsls r3, 1 adds r1, r0, r3 - ldr r0, _0802155C @ =sBattler_AI + ldr r0, _0802155C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1] _0802142C: @@ -7559,7 +7559,7 @@ _0802142C: cmp r0, 0 beq _0802146A ldr r6, _08021564 @ =gBattleMons - ldr r0, _0802155C @ =sBattler_AI + ldr r0, _0802155C @ =gBattlerAttacker ldrb r0, [r0] movs r5, 0x58 muls r0, r5 @@ -7605,7 +7605,7 @@ _08021482: beq _08021492 b _08021592 _08021492: - ldr r0, _0802155C @ =sBattler_AI + ldr r0, _0802155C @ =gBattlerAttacker mov r8, r0 ldrb r0, [r0] bl GetBattlerSide @@ -7663,7 +7663,7 @@ _08021492: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _08021588 @ =gBattleTextBuff1 @@ -7697,7 +7697,7 @@ _0802154C: .4byte gBattleResults _08021550: .4byte gBattlerPartyIndexes _08021554: .4byte gEnemyParty _08021558: .4byte gBattleStruct -_0802155C: .4byte sBattler_AI +_0802155C: .4byte gBattlerAttacker _08021560: .4byte gUnknown_2023DD0 _08021564: .4byte gBattleMons _08021568: .4byte gUnknown_2023D74 @@ -7737,7 +7737,7 @@ atk1A_faint_animation: @ 80215A0 ldr r4, _080215D8 @ =gActiveBattler strb r0, [r4] movs r0, 0 - bl EmitFaintAnimation + bl BtlController_EmitFaintAnimation ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -7782,7 +7782,7 @@ atk1B_faint_effects_clear: @ 80215DC movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution bl sub_8012BC8 @@ -7948,7 +7948,7 @@ atk1E_jumpifability: @ 8021730 ldrb r0, [r2, 0x1] cmp r0, 0x8 bne _08021790 - ldr r0, _08021788 @ =sBattler_AI + ldr r0, _08021788 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -7970,12 +7970,12 @@ atk1E_jumpifability: @ 8021730 b _080217EC .align 2, 0 _08021784: .4byte gUnknown_2023D74 -_08021788: .4byte sBattler_AI +_08021788: .4byte gBattlerAttacker _0802178C: .4byte gLastUsedAbility _08021790: cmp r0, 0x9 bne _080217C8 - ldr r0, _080217C0 @ =sBattler_AI + ldr r0, _080217C0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -7996,7 +7996,7 @@ _08021790: ldrb r1, [r1] b _080217EC .align 2, 0 -_080217C0: .4byte sBattler_AI +_080217C0: .4byte gBattlerAttacker _080217C4: .4byte gLastUsedAbility _080217C8: ldrb r0, [r2, 0x1] @@ -8046,13 +8046,13 @@ atk1F_jumpifsideaffecting: @ 8021818 ldrb r4, [r0, 0x1] cmp r4, 0x1 bne _08021838 - ldr r0, _08021834 @ =sBattler_AI + ldr r0, _08021834 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition b _08021842 .align 2, 0 _08021830: .4byte gUnknown_2023D74 -_08021834: .4byte sBattler_AI +_08021834: .4byte gBattlerAttacker _08021838: ldr r0, _08021878 @ =gBattlerTarget ldrb r0, [r0] @@ -8887,7 +8887,7 @@ _08021EB6: movs r0, 0x1 negs r0, r0 strb r0, [r1, 0x4] - ldr r1, _08021F68 @ =gUnknown_2022AD8 + ldr r1, _08021F68 @ =gBattleTextBuff3 strb r3, [r1] movs r0, 0x1 strb r0, [r1, 0x1] @@ -8941,7 +8941,7 @@ _08021F4C: _08021F5C: .4byte gBattleStruct _08021F60: .4byte gBattleTextBuff1 _08021F64: .4byte gBattleTextBuff2 -_08021F68: .4byte gUnknown_2022AD8 +_08021F68: .4byte gBattleTextBuff3 _08021F6C: .4byte gPlayerParty _08021F70: .4byte gBattleMons _08021F74: .4byte gUnknown_2023D6D @@ -8952,7 +8952,7 @@ _08021F78: beq _08021F82 b _080223DA _08021F82: - ldr r1, _08022060 @ =gUnknown_20233C4 + ldr r1, _08022060 @ =gBattleBufferB ldr r7, _08022064 @ =gBattleStruct ldr r0, [r7] adds r0, 0x8F @@ -9043,7 +9043,7 @@ _08021F82: ldr r0, _08022074 @ =gBattleMoveDamage ldrh r2, [r0] movs r0, 0 - bl EmitExpUpdate + bl BtlController_EmitExpUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _08022052: @@ -9054,7 +9054,7 @@ _08022052: b _080223DA .align 2, 0 _0802205C: .4byte gBattleControllerExecFlags -_08022060: .4byte gUnknown_20233C4 +_08022060: .4byte gBattleBufferB _08022064: .4byte gBattleStruct _08022068: .4byte gPlayerParty _0802206C: .4byte gBattleResources @@ -9075,7 +9075,7 @@ _08022086: adds r0, 0x8F ldrb r0, [r0] strb r0, [r1] - ldr r3, _08022320 @ =gUnknown_20233C4 + ldr r3, _08022320 @ =gBattleBufferB ldrb r2, [r1] lsls r1, r2, 9 adds r0, r1, r3 @@ -9164,7 +9164,7 @@ _080220DA: ldr r0, _08022344 @ =gUnknown_81D89F5 str r0, [r1] ldr r4, _08022348 @ =gBattleMoveDamage - ldr r2, _08022320 @ =gUnknown_20233C4 + ldr r2, _08022320 @ =gBattleBufferB ldrb r1, [r6] lsls r1, 9 adds r0, r2, 0x2 @@ -9382,7 +9382,7 @@ _08022256: _08022314: .4byte gBattleControllerExecFlags _08022318: .4byte gActiveBattler _0802231C: .4byte gBattleStruct -_08022320: .4byte gUnknown_20233C4 +_08022320: .4byte gBattleBufferB _08022324: .4byte gBattleTypeFlags _08022328: .4byte gBattlerPartyIndexes _0802232C: .4byte gPlayerParty @@ -10677,14 +10677,14 @@ _08022C80: .4byte gActiveBattler _08022C84: .4byte gBattlerTarget _08022C88: ldr r0, _08022CB0 @ =gActiveBattler - ldr r1, _08022CB4 @ =sBattler_AI + ldr r1, _08022CB4 @ =gBattlerAttacker _08022C8C: ldrb r1, [r1] strb r1, [r0] ldr r0, _08022CB8 @ =gBattleMoveDamage ldrh r1, [r0] movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldr r0, _08022CB0 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -10696,7 +10696,7 @@ _08022C8C: bx r0 .align 2, 0 _08022CB0: .4byte gActiveBattler -_08022CB4: .4byte sBattler_AI +_08022CB4: .4byte gBattlerAttacker _08022CB8: .4byte gBattleMoveDamage _08022CBC: .4byte gUnknown_2023D74 thumb_func_end atk3B_healthbar_update @@ -10755,7 +10755,7 @@ atk3F_end3: @ 8022D04 subs r0, 0x1 strb r0, [r1] _08022D1E: - ldr r2, _08022D3C @ =gUnknown_3004F84 + ldr r2, _08022D3C @ =gBattleMainFunc ldr r0, [r3] ldr r1, [r0, 0xC] adds r0, r1, 0 @@ -10769,7 +10769,7 @@ _08022D1E: bx r0 .align 2, 0 _08022D38: .4byte gBattleResources -_08022D3C: .4byte gUnknown_3004F84 +_08022D3C: .4byte gBattleMainFunc thumb_func_end atk3F_end3 thumb_func_start atk41_call @@ -10891,7 +10891,7 @@ _08022E0E: thumb_func_start atk44_endselectionscript atk44_endselectionscript: @ 8022E18 - ldr r0, _08022E2C @ =sBattler_AI + ldr r0, _08022E2C @ =gBattlerAttacker ldrb r0, [r0] ldr r1, _08022E30 @ =gBattleStruct ldr r1, [r1] @@ -10901,7 +10901,7 @@ atk44_endselectionscript: @ 8022E18 strb r1, [r0] bx lr .align 2, 0 -_08022E2C: .4byte sBattler_AI +_08022E2C: .4byte gBattlerAttacker _08022E30: .4byte gBattleStruct thumb_func_end atk44_endselectionscript @@ -10941,7 +10941,7 @@ _08022E6E: ldrb r1, [r0, 0x2] ldrh r2, [r3] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldr r0, _08022E88 @ =gActiveBattler ldrb r0, [r0] b _08022EE4 @@ -10987,7 +10987,7 @@ _08022ED8: ldrb r1, [r2, 0x2] ldrh r2, [r3] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldrb r0, [r6] _08022EE4: bl MarkBufferBankForExecution @@ -11042,7 +11042,7 @@ _08022F3E: ldrb r1, [r3] ldrh r2, [r4] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldr r0, _08022F60 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -11090,7 +11090,7 @@ _08022FA4: ldrb r1, [r3] ldrh r2, [r4] movs r0, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldrb r0, [r7] bl MarkBufferBankForExecution ldr r0, [r6] @@ -11379,7 +11379,7 @@ _080231B0: movs r1, 0x1 mov r2, r8 str r3, [sp] - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldr r0, _080231F0 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -11429,7 +11429,7 @@ atk49_moveend: @ 8023210 sub sp, 0x1C movs r0, 0 mov r10, r0 - ldr r2, _08023260 @ =gUnknown_2023D4C + ldr r2, _08023260 @ =gChosenMove ldrh r1, [r2] ldr r0, _08023264 @ =0x0000ffff movs r3, 0 @@ -11446,7 +11446,7 @@ _08023232: ldrb r0, [r0, 0x2] str r0, [sp, 0x14] ldr r1, _0802326C @ =gBattleMons - ldr r0, _08023270 @ =sBattler_AI + ldr r0, _08023270 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -11462,11 +11462,11 @@ _08023232: ldrb r0, [r0, 0x7] b _08023282 .align 2, 0 -_08023260: .4byte gUnknown_2023D4C +_08023260: .4byte gChosenMove _08023264: .4byte 0x0000ffff _08023268: .4byte gUnknown_2023D74 _0802326C: .4byte gBattleMons -_08023270: .4byte sBattler_AI +_08023270: .4byte gBattlerAttacker _08023274: .4byte gEnigmaBerries _08023278: ldrh r0, [r1, 0x2E] @@ -11476,7 +11476,7 @@ _08023278: _08023282: str r0, [sp, 0x8] ldr r1, _080232A4 @ =gBattleStruct - ldr r0, _080232A8 @ =sBattler_AI + ldr r0, _080232A8 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, 0xC8 @@ -11492,13 +11492,13 @@ _08023282: b _08023346 .align 2, 0 _080232A4: .4byte gBattleStruct -_080232A8: .4byte sBattler_AI +_080232A8: .4byte gBattlerAttacker _080232AC: ldr r4, _080232C0 @ =gActiveBattler strb r2, [r4] movs r0, 0 movs r1, 0x1 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution b _0802379E @@ -11509,7 +11509,7 @@ _080232C4: strb r2, [r4] movs r0, 0 movs r1, 0 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution ldrb r1, [r6] @@ -11632,7 +11632,7 @@ _080233E4: bne _080233EE b _080237C8 _080233EE: - ldr r0, _08023484 @ =sBattler_AI + ldr r0, _08023484 @ =gBattlerAttacker ldrb r1, [r0] cmp r1, r3 bne _080233F8 @@ -11708,7 +11708,7 @@ _0802346A: .align 2, 0 _0802347C: .4byte gBattleMons _08023480: .4byte gBattlerTarget -_08023484: .4byte sBattler_AI +_08023484: .4byte gBattlerAttacker _08023488: .4byte gMoveResultFlags _0802348C: .4byte gUnknown_2023ECC _08023490: .4byte gBattleMoves @@ -11739,7 +11739,7 @@ _080234C0: bne _080234CA b _080237C8 _080234CA: - ldr r0, _08023544 @ =sBattler_AI + ldr r0, _08023544 @ =gBattlerAttacker ldrb r0, [r0] cmp r0, r2 bne _080234D4 @@ -11786,7 +11786,7 @@ _080234FE: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution bl BattleScriptPushCursor @@ -11799,7 +11799,7 @@ _080234FE: .align 2, 0 _0802353C: .4byte gBattleMons _08023540: .4byte gBattlerTarget -_08023544: .4byte sBattler_AI +_08023544: .4byte gBattlerAttacker _08023548: .4byte gUnknown_2023ECC _0802354C: .4byte gMoveResultFlags _08023550: .4byte gActiveBattler @@ -11857,7 +11857,7 @@ _080235B0: .align 2, 0 _080235BC: .4byte gBattleScripting _080235C0: - ldr r0, _080235E0 @ =sBattler_AI + ldr r0, _080235E0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0 str r0, [sp] @@ -11874,7 +11874,7 @@ _080235DA: mov r10, r1 b _080237C8 .align 2, 0 -_080235E0: .4byte sBattler_AI +_080235E0: .4byte gBattlerAttacker _080235E4: ldr r0, _08023674 @ =gUnknown_2023DD0 ldr r0, [r0] @@ -11886,7 +11886,7 @@ _080235E4: ldr r2, [sp, 0x8] cmp r2, 0x1D bne _08023628 - ldr r0, _08023678 @ =gUnknown_2023D4C + ldr r0, _08023678 @ =gChosenMove ldrh r2, [r0] adds r3, r0, 0 cmp r2, 0xA5 @@ -11915,7 +11915,7 @@ _08023622: _08023628: movs r4, 0 ldr r2, _08023684 @ =gBattleMons - ldr r3, _08023688 @ =sBattler_AI + ldr r3, _08023688 @ =gBattlerAttacker ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -11956,11 +11956,11 @@ _0802366A: b _08023BB4 .align 2, 0 _08023674: .4byte gUnknown_2023DD0 -_08023678: .4byte gUnknown_2023D4C +_08023678: .4byte gChosenMove _0802367C: .4byte 0x0000ffff _08023680: .4byte gMoveResultFlags _08023684: .4byte gBattleMons -_08023688: .4byte sBattler_AI +_08023688: .4byte gBattlerAttacker _0802368C: movs r4, 0 ldr r0, _080236C0 @ =gBattlersCount @@ -12024,7 +12024,7 @@ _080236FC: b _080237C8 _08023702: ldr r1, _08023728 @ =gStatuses3 - ldr r0, _0802372C @ =sBattler_AI + ldr r0, _0802372C @ =gBattlerAttacker ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -12046,7 +12046,7 @@ _08023726: b _08023AFA .align 2, 0 _08023728: .4byte gStatuses3 -_0802372C: .4byte sBattler_AI +_0802372C: .4byte gBattlerAttacker _08023730: .4byte 0x000400c0 _08023734: .4byte gUnknown_2023DD0 _08023738: @@ -12057,7 +12057,7 @@ _08023738: cmp r0, 0 bne _08023764 ldr r1, _080237AC @ =gStatuses3 - ldr r0, _080237B0 @ =sBattler_AI + ldr r0, _080237B0 @ =gBattlerAttacker ldrb r2, [r0] lsls r0, r2, 2 adds r0, r1 @@ -12073,12 +12073,12 @@ _08023738: beq _080237C8 _08023764: ldr r4, _080237B8 @ =gActiveBattler - ldr r5, _080237B0 @ =sBattler_AI + ldr r5, _080237B0 @ =gBattlerAttacker ldrb r0, [r5] strb r0, [r4] movs r0, 0 movs r1, 0 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, _080237AC @ =gStatuses3 @@ -12108,7 +12108,7 @@ _0802379E: .align 2, 0 _080237A8: .4byte gMoveResultFlags _080237AC: .4byte gStatuses3 -_080237B0: .4byte sBattler_AI +_080237B0: .4byte gBattlerAttacker _080237B4: .4byte 0x000400c0 _080237B8: .4byte gActiveBattler _080237BC: .4byte 0xfffbff3f @@ -12196,7 +12196,7 @@ _08023860: movs r0, 0x80 lsls r0, 5 ands r0, r3 - ldr r2, _08023918 @ =sBattler_AI + ldr r2, _08023918 @ =gBattlerAttacker mov r9, r2 adds r5, r1, 0 cmp r0, 0 @@ -12224,7 +12224,7 @@ _0802388A: ldrb r1, [r2] lsls r1, 1 adds r1, r0 - ldr r0, _0802392C @ =gUnknown_2023D4C + ldr r0, _0802392C @ =gChosenMove ldrh r0, [r0] strh r0, [r1] _080238A6: @@ -12273,7 +12273,7 @@ _080238E8: ldr r0, _08023940 @ =gLastUsedMove lsls r1, r4, 1 adds r1, r0 - ldr r0, _0802392C @ =gUnknown_2023D4C + ldr r0, _0802392C @ =gChosenMove ldrh r0, [r0] strh r0, [r1] ldr r0, _08023944 @ =gUnknown_2023DB0 @@ -12287,12 +12287,12 @@ _080238E8: b _08023966 .align 2, 0 _08023914: .4byte gUnknown_2023DD0 -_08023918: .4byte sBattler_AI +_08023918: .4byte gBattlerAttacker _0802391C: .4byte gActiveBattler _08023920: .4byte gBattlerTarget _08023924: .4byte 0xffffefff _08023928: .4byte gUnknown_2023D90 -_0802392C: .4byte gUnknown_2023D4C +_0802392C: .4byte gChosenMove _08023930: .4byte gAbsentBattlerFlags _08023934: .4byte gBitTable _08023938: .4byte gBattleStruct @@ -12343,7 +12343,7 @@ _08023984: ands r0, r1 cmp r0, 0 bne _08023A20 - ldr r0, _080239CC @ =gUnknown_2023D4C + ldr r0, _080239CC @ =gChosenMove ldrh r3, [r0] ldr r0, _080239B8 @ =0x0000ffff cmp r3, r0 @@ -12361,7 +12361,7 @@ _080239BC: .4byte gUnknown_2023DB0 _080239C0: .4byte gBattlerTarget _080239C4: .4byte gUnknown_2023DC0 _080239C8: .4byte gMoveResultFlags -_080239CC: .4byte gUnknown_2023D4C +_080239CC: .4byte gChosenMove _080239D0: .4byte gUnknown_2023DA0 _080239D4: ldr r0, _080239F8 @ =gUnknown_2023DA0 @@ -12422,7 +12422,7 @@ _08023A40: ldr r0, _08023B04 @ =gAbsentBattlerFlags ldrb r1, [r0] ldr r7, _08023B08 @ =gBitTable - ldr r2, _08023B0C @ =sBattler_AI + ldr r2, _08023B0C @ =gBattlerAttacker ldrb r3, [r2] lsls r0, r3, 2 adds r0, r7 @@ -12478,7 +12478,7 @@ _08023A40: lsls r1, r2, 1 adds r1, r5 adds r1, 0x98 - ldr r3, _08023B24 @ =gUnknown_2023D4C + ldr r3, _08023B24 @ =gChosenMove ldrh r0, [r3] strb r0, [r1] ldrb r1, [r4] @@ -12521,13 +12521,13 @@ _08023AFA: .align 2, 0 _08023B04: .4byte gAbsentBattlerFlags _08023B08: .4byte gBitTable -_08023B0C: .4byte sBattler_AI +_08023B0C: .4byte gBattlerAttacker _08023B10: .4byte gBattleStruct _08023B14: .4byte gBattleMoves _08023B18: .4byte gUnknown_2023DD0 _08023B1C: .4byte gBattlerTarget _08023B20: .4byte gMoveResultFlags -_08023B24: .4byte gUnknown_2023D4C +_08023B24: .4byte gChosenMove _08023B28: ldr r5, _08023C10 @ =gUnknown_2023DD0 ldr r2, [r5] @@ -12543,7 +12543,7 @@ _08023B28: cmp r0, 0 beq _08023BAC ldr r1, _08023C18 @ =gUnknown_2023E8C - ldr r0, _08023C1C @ =sBattler_AI + ldr r0, _08023C1C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -12652,7 +12652,7 @@ _08023BFE: _08023C10: .4byte gUnknown_2023DD0 _08023C14: .4byte gBattleTypeFlags _08023C18: .4byte gUnknown_2023E8C -_08023C1C: .4byte sBattler_AI +_08023C1C: .4byte gBattlerAttacker _08023C20: .4byte gBattleMoves _08023C24: .4byte gCurrentMove _08023C28: .4byte gBattlerTarget @@ -12865,7 +12865,7 @@ _08023DAE: ands r5, r4 cmp r5, 0 bne _08023E2A - ldr r0, _08023E64 @ =sBattler_AI + ldr r0, _08023E64 @ =gBattlerAttacker ldrb r0, [r0] ldr r7, _08023E68 @ =gCurrentMove ldrh r1, [r7] @@ -12919,7 +12919,7 @@ _08023E2A: cmp r0, 0 beq _08023E48 ldr r2, _08023E80 @ =gUnknown_2023E8C - ldr r0, _08023E64 @ =sBattler_AI + ldr r0, _08023E64 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 adds r1, r2 @@ -12940,7 +12940,7 @@ _08023E48: .align 2, 0 _08023E5C: .4byte gBattleMons _08023E60: .4byte gBattlerTarget -_08023E64: .4byte sBattler_AI +_08023E64: .4byte gBattlerAttacker _08023E68: .4byte gCurrentMove _08023E6C: .4byte gBattleMoves _08023E70: .4byte gLastUsedAbility @@ -12955,7 +12955,7 @@ _08023E84: .4byte gUnknown_2023D74 atk4B_returnatktoball: @ 8023E88 push {r4,lr} ldr r4, _08023EC4 @ =gActiveBattler - ldr r0, _08023EC8 @ =sBattler_AI + ldr r0, _08023EC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldr r2, _08023ECC @ =gUnknown_2023DD0 @@ -12971,7 +12971,7 @@ atk4B_returnatktoball: @ 8023E88 bne _08023EB6 movs r0, 0 movs r1, 0 - bl EmitReturnMonToBall + bl BtlController_EmitReturnMonToBall ldrb r0, [r4] bl MarkBufferBankForExecution _08023EB6: @@ -12984,7 +12984,7 @@ _08023EB6: bx r0 .align 2, 0 _08023EC4: .4byte gActiveBattler -_08023EC8: .4byte sBattler_AI +_08023EC8: .4byte gBattlerAttacker _08023ECC: .4byte gUnknown_2023DD0 _08023ED0: .4byte gBitTable _08023ED4: .4byte gUnknown_2023D74 @@ -13071,7 +13071,7 @@ _08023F56: muls r0, r5 adds r3, r0, r6 movs r2, 0 - ldr r5, _080240B0 @ =gUnknown_20233C4 + ldr r5, _080240B0 @ =gBattleBufferB adds r7, r4, 0 _08023F84: adds r0, r3, r2 @@ -13222,7 +13222,7 @@ _080240A0: .4byte gBattleControllerExecFlags _080240A4: .4byte gUnknown_2023D74 _080240A8: .4byte gActiveBattler _080240AC: .4byte gBattleMons -_080240B0: .4byte gUnknown_20233C4 +_080240B0: .4byte gBattleBufferB _080240B4: .4byte gBaseStats _080240B8: .4byte gUnknown_2023F20 _080240BC: .4byte gBitTable @@ -13294,7 +13294,7 @@ _0802412A: ldr r0, [r4] ldrb r2, [r0, 0x2] movs r0, 0 - bl EmitSwitchInAnim + bl BtlController_EmitSwitchInAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -13603,7 +13603,7 @@ sub_8024398: @ 8024398 movs r0, 0 movs r1, 0x1 movs r3, 0 - bl EmitChoosePokemon + bl BtlController_EmitChoosePokemon ldrb r0, [r4] bl MarkBufferBankForExecution add sp, 0x4 @@ -13700,7 +13700,7 @@ _08024446: str r0, [r7] movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution b _080244F6 @@ -13740,7 +13740,7 @@ _080244E4: .4byte gUnknown_2023ECC _080244E8: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _080244F6: @@ -13798,7 +13798,7 @@ _08024518: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _080245CE @@ -13839,7 +13839,7 @@ _080245B8: .4byte gBattleStruct _080245BC: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution movs r0, 0x1 @@ -13882,7 +13882,7 @@ _080245CE: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _0802468C @@ -13928,7 +13928,7 @@ _08024674: bne _0802468C movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _0802468C: @@ -13965,7 +13965,7 @@ _0802468C: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _0802473E @@ -14006,7 +14006,7 @@ _08024724: .4byte gBattleStruct _08024728: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution movs r0, 0x2 @@ -14051,7 +14051,7 @@ _0802473E: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r4] bl MarkBufferBankForExecution b _080247FC @@ -14097,7 +14097,7 @@ _080247E4: bne _080247FC movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _080247FC: @@ -14136,7 +14136,7 @@ _0802483C: _08024840: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldr r0, _08024880 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -14176,7 +14176,7 @@ _08024894: strb r0, [r1] movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldr r0, _080248B0 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -14223,7 +14223,7 @@ _080248D6: ldr r6, _08024940 @ =gActiveBattler movs r0, 0x2 strb r0, [r6] - ldr r0, _08024944 @ =gUnknown_20233C4 + ldr r0, _08024944 @ =gBattleBufferB ldrb r1, [r0, 0x1] movs r0, 0x2 movs r2, 0x6 @@ -14248,7 +14248,7 @@ _080248D6: bics r0, r1 str r0, [r7] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r6] bl MarkBufferBankForExecution b _0802497E @@ -14257,7 +14257,7 @@ _08024934: .4byte gBattleTypeFlags _08024938: .4byte gUnknown_2023DD0 _0802493C: .4byte gBitTable _08024940: .4byte gActiveBattler -_08024944: .4byte gUnknown_20233C4 +_08024944: .4byte gBattleBufferB _08024948: .4byte gAbsentBattlerFlags _0802494C: ldr r4, _080249DC @ =gUnknown_2023ECC @@ -14297,7 +14297,7 @@ _0802497E: ldr r5, _080249E8 @ =gActiveBattler movs r0, 0x3 strb r0, [r5] - ldr r0, _080249EC @ =gUnknown_20233C4 + ldr r0, _080249EC @ =gBattleBufferB ldr r2, _080249F0 @ =0x00000201 adds r0, r2 ldrb r1, [r0] @@ -14325,7 +14325,7 @@ _0802497E: bics r0, r1 str r0, [r2] movs r0, 0 - bl EmitCmd42 + bl BtlController_EmitCmd42 ldrb r0, [r5] bl MarkBufferBankForExecution b _08024A2E @@ -14334,7 +14334,7 @@ _080249DC: .4byte gUnknown_2023ECC _080249E0: .4byte gBattleStruct _080249E4: .4byte gBitTable _080249E8: .4byte gActiveBattler -_080249EC: .4byte gUnknown_20233C4 +_080249EC: .4byte gBattleBufferB _080249F0: .4byte 0x00000201 _080249F4: .4byte gAbsentBattlerFlags _080249F8: .4byte gUnknown_2023DD0 @@ -14518,7 +14518,7 @@ _08024B34: movs r0, 0 adds r1, r5, 0 movs r3, 0 - bl EmitChoosePokemon + bl BtlController_EmitChoosePokemon ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r6] @@ -14556,7 +14556,7 @@ _08024BB0: beq _08024BC4 movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _08024BC4: @@ -14603,7 +14603,7 @@ _08024BF0: _08024C20: movs r0, 0 movs r1, 0x2 - bl EmitLinkStandbyMsg + bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] bl MarkBufferBankForExecution _08024C2E: @@ -14661,7 +14661,7 @@ _08024C86: b _08024E0E _08024C92: ldr r6, _08024CBC @ =gBattleStruct - ldr r2, _08024CC0 @ =gUnknown_20233C4 + ldr r2, _08024CC0 @ =gBattleBufferB movs r5, 0x80 lsls r5, 2 adds r4, r0, 0 @@ -14684,7 +14684,7 @@ _08024CAC: .align 2, 0 _08024CB8: .4byte gBattlersCount _08024CBC: .4byte gBattleStruct -_08024CC0: .4byte gUnknown_20233C4 +_08024CC0: .4byte gBattleBufferB _08024CC4: ldr r0, _08024CDC @ =gBattleTypeFlags ldr r0, [r0] @@ -14701,7 +14701,7 @@ _08024CD2: _08024CDC: .4byte gBattleTypeFlags _08024CE0: ldr r1, _08024DAC @ =gUnknown_2023E82 - ldr r4, _08024DB0 @ =gUnknown_20233C4 + ldr r4, _08024DB0 @ =gBattleBufferB ldrb r0, [r7] lsls r0, 9 adds r2, r4, 0x1 @@ -14804,7 +14804,7 @@ _08024CE0: b _08024DC2 .align 2, 0 _08024DAC: .4byte gUnknown_2023E82 -_08024DB0: .4byte gUnknown_20233C4 +_08024DB0: .4byte gBattleBufferB _08024DB4: .4byte gBattleStruct _08024DB8: .4byte gBattleTypeFlags _08024DBC: @@ -14817,7 +14817,7 @@ _08024DC2: movs r0, 0x6 strb r0, [r1, 0x1] ldr r4, _08024E20 @ =gBattleMons - ldr r3, _08024E24 @ =sBattler_AI + ldr r3, _08024E24 @ =gBattlerAttacker ldrb r0, [r3] movs r2, 0x58 muls r0, r2 @@ -14839,7 +14839,7 @@ _08024DC2: ldr r3, _08024E2C @ =gActiveBattler ldrb r0, [r3] strb r0, [r2, 0x2] - ldr r1, _08024E30 @ =gUnknown_20233C4 + ldr r1, _08024E30 @ =gBattleBufferB ldrb r0, [r3] lsls r0, 9 adds r1, 0x1 @@ -14861,10 +14861,10 @@ _08024E16: .align 2, 0 _08024E1C: .4byte gBattleTextBuff1 _08024E20: .4byte gBattleMons -_08024E24: .4byte sBattler_AI +_08024E24: .4byte gBattlerAttacker _08024E28: .4byte gBattleTextBuff2 _08024E2C: .4byte gActiveBattler -_08024E30: .4byte gUnknown_20233C4 +_08024E30: .4byte gBattleBufferB _08024E34: .4byte gUnknown_2023D74 thumb_func_end sub_8024C48 @@ -15207,7 +15207,7 @@ _080250F2: ldr r1, _08025114 @ =gActiveBattler strb r0, [r1] movs r0, 0 - bl EmitTrainerSlide + bl BtlController_EmitTrainerSlide ldr r0, _08025114 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -15226,7 +15226,7 @@ _08025118: .4byte gUnknown_2023D74 atk54_playse: @ 802511C push {r4,r5,lr} ldr r5, _0802514C @ =gActiveBattler - ldr r0, _08025150 @ =sBattler_AI + ldr r0, _08025150 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r4, _08025154 @ =gUnknown_2023D74 @@ -15236,7 +15236,7 @@ atk54_playse: @ 802511C lsls r0, 8 orrs r1, r0 movs r0, 0 - bl EmitPlaySE + bl BtlController_EmitPlaySE ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -15247,7 +15247,7 @@ atk54_playse: @ 802511C bx r0 .align 2, 0 _0802514C: .4byte gActiveBattler -_08025150: .4byte sBattler_AI +_08025150: .4byte gBattlerAttacker _08025154: .4byte gUnknown_2023D74 thumb_func_end atk54_playse @@ -15255,7 +15255,7 @@ _08025154: .4byte gUnknown_2023D74 atk55_play_sound: @ 8025158 push {r4,r5,lr} ldr r5, _08025188 @ =gActiveBattler - ldr r0, _0802518C @ =sBattler_AI + ldr r0, _0802518C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r4, _08025190 @ =gUnknown_2023D74 @@ -15265,7 +15265,7 @@ atk55_play_sound: @ 8025158 lsls r0, 8 orrs r1, r0 movs r0, 0 - bl Emitcmd44 + bl BtlController_EmitPlayFanfare ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r4] @@ -15276,7 +15276,7 @@ atk55_play_sound: @ 8025158 bx r0 .align 2, 0 _08025188: .4byte gActiveBattler -_0802518C: .4byte sBattler_AI +_0802518C: .4byte gBattlerAttacker _08025190: .4byte gUnknown_2023D74 thumb_func_end atk55_play_sound @@ -15290,7 +15290,7 @@ atk56_playfaintcry: @ 8025194 ldr r4, _080251C0 @ =gActiveBattler strb r0, [r4] movs r0, 0 - bl EmitFaintingCry + bl BtlController_EmitFaintingCry ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -15314,7 +15314,7 @@ atk57: @ 80251C4 ldr r0, _080251F4 @ =gBattleOutcome ldrb r1, [r0] movs r0, 0 - bl EmitCmd55 + bl BtlController_EmitCmd55 ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _080251F8 @ =gUnknown_2023D74 @@ -15341,7 +15341,7 @@ atk58_returntoball: @ 80251FC strb r0, [r4] movs r0, 0 movs r1, 0x1 - bl EmitReturnMonToBall + bl BtlController_EmitReturnMonToBall ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -16108,7 +16108,7 @@ sub_802581C: @ 802581C bne _080258A0 _0802586E: movs r0, 0 - bl EmitHitAnimation + bl BtlController_EmitHitAnimation ldr r0, _0802588C @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -16460,7 +16460,7 @@ _08025B20: .4byte gUnknown_2023C08 atk5F: @ 8025B24 push {lr} ldr r0, _08025B4C @ =gActiveBattler - ldr r2, _08025B50 @ =sBattler_AI + ldr r2, _08025B50 @ =gBattlerAttacker ldrb r3, [r2] strb r3, [r0] ldr r1, _08025B54 @ =gBattlerTarget @@ -16480,7 +16480,7 @@ atk5F: @ 8025B24 b _08025B62 .align 2, 0 _08025B4C: .4byte gActiveBattler -_08025B50: .4byte sBattler_AI +_08025B50: .4byte gBattlerAttacker _08025B54: .4byte gBattlerTarget _08025B58: .4byte gUnknown_2023DD0 _08025B5C: .4byte 0xffffefff @@ -16501,7 +16501,7 @@ _08025B70: .4byte gUnknown_2023D74 thumb_func_start atk60_incrementgamestat atk60_incrementgamestat: @ 8025B74 push {lr} - ldr r0, _08025B9C @ =sBattler_AI + ldr r0, _08025B9C @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -16519,7 +16519,7 @@ _08025B8E: pop {r0} bx r0 .align 2, 0 -_08025B9C: .4byte sBattler_AI +_08025B9C: .4byte gBattlerAttacker _08025BA0: .4byte gUnknown_2023D74 thumb_func_end atk60_incrementgamestat @@ -16599,7 +16599,7 @@ _08025C32: movs r0, 0 mov r1, sp movs r2, 0x1 - bl EmitDrawPartyStatusSummary + bl BtlController_EmitDrawPartyStatusSummary ldr r0, _08025C64 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -16629,7 +16629,7 @@ atk62: @ 8025C6C ldr r4, _08025C98 @ =gActiveBattler strb r0, [r4] movs r0, 0 - bl EmitCmd49 + bl BtlController_EmitHidePartyStatusSummary ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -16662,7 +16662,7 @@ _08025CB4: .4byte gUnknown_2023D74 _08025CB8: .4byte gCurrentMove _08025CBC: .4byte gUnknown_2023D4E _08025CC0: - ldr r2, _08025CEC @ =gUnknown_2023D4C + ldr r2, _08025CEC @ =gChosenMove ldr r1, _08025CF0 @ =gCurrentMove ldr r0, _08025CF4 @ =gUnknown_2023D4E ldrh r0, [r0] @@ -16686,7 +16686,7 @@ _08025CCE: pop {r0} bx r0 .align 2, 0 -_08025CEC: .4byte gUnknown_2023D4C +_08025CEC: .4byte gChosenMove _08025CF0: .4byte gCurrentMove _08025CF4: .4byte gUnknown_2023D4E _08025CF8: .4byte gUnknown_81D65A8 @@ -16737,7 +16737,7 @@ atk64_statusanimation: @ 8025D00 ldr r2, [r0] movs r0, 0 movs r1, 0 - bl EmitStatusAnimation + bl BtlController_EmitStatusAnimation ldrb r0, [r4] bl MarkBufferBankForExecution _08025D60: @@ -16816,7 +16816,7 @@ atk65_status2animation: @ 8025D90 ands r2, r3 movs r0, 0 movs r1, 0x1 - bl EmitStatusAnimation + bl BtlController_EmitStatusAnimation ldrb r0, [r5] bl MarkBufferBankForExecution _08025E08: @@ -16888,7 +16888,7 @@ atk66_chosenstatusanimation: @ 8025E38 bne _08025EA2 ldrb r1, [r4, 0x2] movs r0, 0 - bl EmitStatusAnimation + bl BtlController_EmitStatusAnimation ldrb r0, [r5] bl MarkBufferBankForExecution _08025EA2: @@ -17206,7 +17206,7 @@ _08026114: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _08026154 @ =gUnknown_2023D68 + ldr r1, _08026154 @ =gLastUsedItem adds r0, r3, 0 muls r0, r4 adds r0, r5 @@ -17223,7 +17223,7 @@ _0802613C: .align 2, 0 _0802614C: .4byte gUnknown_2023ECC _08026150: .4byte gMoveResultFlags -_08026154: .4byte gUnknown_2023D68 +_08026154: .4byte gLastUsedItem _08026158: .4byte gUnknown_2023D74 thumb_func_end atk69_adjustsetdamage @@ -17264,7 +17264,7 @@ atk6A_removeitem: @ 802615C movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r5] bl MarkBufferBankForExecution ldr r0, [r6] @@ -17288,7 +17288,7 @@ atk6B_atknameinbuff1: @ 80261CC strb r0, [r1] movs r0, 0x7 strb r0, [r1, 0x1] - ldr r2, _080261FC @ =sBattler_AI + ldr r2, _080261FC @ =gBattlerAttacker ldrb r0, [r2] strb r0, [r1, 0x2] ldr r3, _08026200 @ =gBattlerPartyIndexes @@ -17306,7 +17306,7 @@ atk6B_atknameinbuff1: @ 80261CC bx lr .align 2, 0 _080261F8: .4byte gBattleTextBuff1 -_080261FC: .4byte sBattler_AI +_080261FC: .4byte gBattlerAttacker _08026200: .4byte gBattlerPartyIndexes _08026204: .4byte gUnknown_2023D74 thumb_func_end atk6B_atknameinbuff1 @@ -18040,7 +18040,7 @@ atk6E_setatktoplayer0: @ 80267F0 push {lr} movs r0, 0 bl GetBattlerAtPosition - ldr r1, _08026808 @ =sBattler_AI + ldr r1, _08026808 @ =gBattlerAttacker strb r0, [r1] ldr r1, _0802680C @ =gUnknown_2023D74 ldr r0, [r1] @@ -18049,7 +18049,7 @@ atk6E_setatktoplayer0: @ 80267F0 pop {r0} bx r0 .align 2, 0 -_08026808: .4byte sBattler_AI +_08026808: .4byte gBattlerAttacker _0802680C: .4byte gUnknown_2023D74 thumb_func_end atk6E_setatktoplayer0 @@ -18064,7 +18064,7 @@ atk6F_makevisible: @ 8026810 strb r0, [r4] movs r0, 0 movs r1, 0 - bl EmitSpriteInvisibility + bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -18361,7 +18361,7 @@ atk75_useitemonopponent: @ 8026A58 push {lr} sub sp, 0x4 ldr r2, _08026A98 @ =gBattlerInMenuId - ldr r1, _08026A9C @ =sBattler_AI + ldr r1, _08026A9C @ =gBattlerAttacker ldrb r0, [r1] strb r0, [r2] ldr r2, _08026AA0 @ =gBattlerPartyIndexes @@ -18373,7 +18373,7 @@ atk75_useitemonopponent: @ 8026A58 muls r0, r2 ldr r1, _08026AA4 @ =gEnemyParty adds r0, r1 - ldr r1, _08026AA8 @ =gUnknown_2023D68 + ldr r1, _08026AA8 @ =gLastUsedItem ldrh r1, [r1] lsls r2, 24 lsrs r2, 24 @@ -18390,10 +18390,10 @@ atk75_useitemonopponent: @ 8026A58 bx r0 .align 2, 0 _08026A98: .4byte gBattlerInMenuId -_08026A9C: .4byte sBattler_AI +_08026A9C: .4byte gBattlerAttacker _08026AA0: .4byte gBattlerPartyIndexes _08026AA4: .4byte gEnemyParty -_08026AA8: .4byte gUnknown_2023D68 +_08026AA8: .4byte gLastUsedItem _08026AAC: .4byte gUnknown_2023D74 thumb_func_end atk75_useitemonopponent @@ -18448,7 +18448,7 @@ _08026B1C: .align 2, 0 _08026B28: .4byte gActiveBattler _08026B2C: - ldr r1, _08026B68 @ =sBattler_AI + ldr r1, _08026B68 @ =gBattlerAttacker ldr r4, _08026B6C @ =gBattlerTarget ldrb r0, [r4] strb r0, [r1] @@ -18477,7 +18477,7 @@ _08026B2C: strb r2, [r4] b _08026F4E .align 2, 0 -_08026B68: .4byte sBattler_AI +_08026B68: .4byte gBattlerAttacker _08026B6C: .4byte gBattlerTarget _08026B70: .4byte gSideTimers _08026B74: .4byte gBattleMons @@ -18746,7 +18746,7 @@ _08026D7C: _08026D84: movs r0, 0 movs r1, 0 - bl EmitReturnMonToBall + bl BtlController_EmitReturnMonToBall ldrb r0, [r4] bl MarkBufferBankForExecution b _08026F4E @@ -18863,7 +18863,7 @@ _08026E4E: movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _08026F28 @ =gUnknown_2023E82 @@ -18938,7 +18938,7 @@ _08026EEC: movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _08026F28 @ =gUnknown_2023E82 @@ -18982,7 +18982,7 @@ atk77_setprotectlike: @ 8026F68 push {r7} movs r6, 0x1 ldr r2, _08027034 @ =gUnknown_2023DB0 - ldr r1, _08027038 @ =sBattler_AI + ldr r1, _08027038 @ =gBattlerAttacker ldrb r3, [r1] lsls r0, r3, 1 adds r0, r2 @@ -19083,7 +19083,7 @@ _0802701E: b _0802707E .align 2, 0 _08027034: .4byte gUnknown_2023DB0 -_08027038: .4byte sBattler_AI +_08027038: .4byte gBattlerAttacker _0802703C: .4byte gDisableStructs _08027040: .4byte gUnknown_2023BE2 _08027044: .4byte gBattlersCount @@ -19094,7 +19094,7 @@ _08027054: .4byte gUnknown_2023E8C _08027058: .4byte gUnknown_2023E82 _0802705C: ldr r2, _08027090 @ =gDisableStructs - ldr r0, _08027094 @ =sBattler_AI + ldr r0, _08027094 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -19122,7 +19122,7 @@ _0802707E: bx r0 .align 2, 0 _08027090: .4byte gDisableStructs -_08027094: .4byte sBattler_AI +_08027094: .4byte gBattlerAttacker _08027098: .4byte gUnknown_2023E82 _0802709C: .4byte gMoveResultFlags _080270A0: .4byte gUnknown_2023D74 @@ -19176,7 +19176,7 @@ _080270F0: cmp r0, r1 bne _0802718C ldr r4, _08027170 @ =gActiveBattler - ldr r7, _08027174 @ =sBattler_AI + ldr r7, _08027174 @ =gBattlerAttacker ldrb r0, [r7] strb r0, [r4] ldr r2, _08027178 @ =gBattleMoveDamage @@ -19188,7 +19188,7 @@ _080270F0: str r0, [r2] ldr r1, _0802717C @ =0x00007fff movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _08027180 @ =gUnknown_2023D74 @@ -19232,7 +19232,7 @@ _08027164: .4byte gBattlerTarget _08027168: .4byte gBattlersCount _0802716C: .4byte gBattleMons _08027170: .4byte gActiveBattler -_08027174: .4byte sBattler_AI +_08027174: .4byte gBattlerAttacker _08027178: .4byte gBattleMoveDamage _0802717C: .4byte 0x00007fff _08027180: .4byte gUnknown_2023D74 @@ -19273,7 +19273,7 @@ atk79_setatkhptozero: @ 80271C0 cmp r3, 0 bne _08027204 ldr r4, _08027210 @ =gActiveBattler - ldr r0, _08027214 @ =sBattler_AI + ldr r0, _08027214 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldr r1, _08027218 @ =gBattleMons @@ -19291,7 +19291,7 @@ atk79_setatkhptozero: @ 80271C0 movs r1, 0x2A movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _0802721C @ =gUnknown_2023D74 @@ -19306,7 +19306,7 @@ _08027204: .align 2, 0 _0802720C: .4byte gBattleControllerExecFlags _08027210: .4byte gActiveBattler -_08027214: .4byte sBattler_AI +_08027214: .4byte gBattlerAttacker _08027218: .4byte gBattleMons _0802721C: .4byte gUnknown_2023D74 thumb_func_end atk79_setatkhptozero @@ -19337,7 +19337,7 @@ atk7A_jumpifnexttargetvalid: @ 8027220 ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] - ldr r2, _080272A4 @ =sBattler_AI + ldr r2, _080272A4 @ =gBattlerAttacker lsls r1, 24 lsrs r1, 24 adds r3, r0, 0 @@ -19379,7 +19379,7 @@ _08027276: _08027298: .4byte gUnknown_2023D74 _0802729C: .4byte gBattleTypeFlags _080272A0: .4byte gBattlerTarget -_080272A4: .4byte sBattler_AI +_080272A4: .4byte gBattlerAttacker _080272A8: .4byte gAbsentBattlerFlags _080272AC: .4byte gBitTable _080272B0: .4byte gBattlersCount @@ -19414,7 +19414,7 @@ atk7B_tryhealhalfhealth: @ 80272C4 ldr r3, _08027324 @ =gBattlerTarget cmp r0, 0x1 bne _080272EC - ldr r0, _08027328 @ =sBattler_AI + ldr r0, _08027328 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r3] _080272EC: @@ -19447,7 +19447,7 @@ _08027306: .align 2, 0 _08027320: .4byte gUnknown_2023D74 _08027324: .4byte gBattlerTarget -_08027328: .4byte sBattler_AI +_08027328: .4byte gBattlerAttacker _0802732C: .4byte gBattleMoveDamage _08027330: .4byte gBattleMons _08027334: @@ -19484,7 +19484,7 @@ _08027356: ldrb r1, [r2] cmp r5, r1 bge _080273AC - ldr r0, _080273E8 @ =sBattler_AI + ldr r0, _080273E8 @ =gBattlerAttacker ldrb r6, [r0] ldr r2, _080273EC @ =0x0000ffff mov r9, r2 @@ -19520,7 +19520,7 @@ _080273A4: cmp r5, r7 blt _0802737C _080273AC: - ldr r1, _080273E8 @ =sBattler_AI + ldr r1, _080273E8 @ =gBattlerAttacker ldrb r0, [r1] mov r2, r10 ldr r1, [r2] @@ -19549,7 +19549,7 @@ _080273AC: .align 2, 0 _080273E0: .4byte gBattlersCount _080273E4: .4byte gBattleStruct -_080273E8: .4byte sBattler_AI +_080273E8: .4byte gBattlerAttacker _080273EC: .4byte 0x0000ffff _080273F0: .4byte gUnknown_2023DD0 _080273F4: .4byte 0xfffffbff @@ -19604,7 +19604,7 @@ _08027464: .4byte gUnknown_81D65A8 _08027468: .4byte gBattleMoves _0802746C: ldr r2, _0802749C @ =gUnknown_2023ECC - ldr r0, _080274A0 @ =sBattler_AI + ldr r0, _080274A0 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -19629,7 +19629,7 @@ _0802748A: bx r0 .align 2, 0 _0802749C: .4byte gUnknown_2023ECC -_080274A0: .4byte sBattler_AI +_080274A0: .4byte gBattlerAttacker _080274A4: .4byte gUnknown_2023D74 thumb_func_end atk7C_trymirrormove @@ -19680,7 +19680,7 @@ _080274F8: .4byte gUnknown_2023D74 thumb_func_start atk7E_setreflect atk7E_setreflect: @ 80274FC push {r4-r6,lr} - ldr r6, _0802752C @ =sBattler_AI + ldr r6, _0802752C @ =gBattlerAttacker ldrb r0, [r6] bl GetBattlerPosition ldr r4, _08027530 @ =gSideAffecting @@ -19703,7 +19703,7 @@ atk7E_setreflect: @ 80274FC movs r0, 0 b _080275B0 .align 2, 0 -_0802752C: .4byte sBattler_AI +_0802752C: .4byte gBattlerAttacker _08027530: .4byte gSideAffecting _08027534: .4byte gMoveResultFlags _08027538: .4byte gUnknown_2023E82 @@ -19842,7 +19842,7 @@ _08027634: _08027644: .4byte gBattleMons _08027648: .4byte gUnknown_2023E82 _0802764C: - ldr r0, _0802767C @ =sBattler_AI + ldr r0, _0802767C @ =gBattlerAttacker ldrb r0, [r0] orrs r2, r0 str r2, [r6] @@ -19868,7 +19868,7 @@ _08027668: pop {r0} bx r0 .align 2, 0 -_0802767C: .4byte sBattler_AI +_0802767C: .4byte gBattlerAttacker _08027680: .4byte gUnknown_2023E82 _08027684: .4byte gUnknown_2023D74 thumb_func_end atk7F_setseeded @@ -19964,7 +19964,7 @@ atk81_trysetrest: @ 8027708 orrs r6, r0 ldr r5, _08027764 @ =gActiveBattler ldr r2, _08027768 @ =gBattlerTarget - ldr r0, _0802776C @ =sBattler_AI + ldr r0, _0802776C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r2] strb r0, [r5] @@ -19995,7 +19995,7 @@ atk81_trysetrest: @ 8027708 _08027760: .4byte gUnknown_2023D74 _08027764: .4byte gActiveBattler _08027768: .4byte gBattlerTarget -_0802776C: .4byte sBattler_AI +_0802776C: .4byte gBattlerAttacker _08027770: .4byte gBattleMoveDamage _08027774: .4byte gBattleMons _08027778: @@ -20032,7 +20032,7 @@ _08027798: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldr r1, _080277D4 @ =gUnknown_2023D74 @@ -20065,7 +20065,7 @@ atk82_jumpifnotfirstturn: @ 80277D8 lsls r0, 24 orrs r3, r0 ldr r2, _08027810 @ =gDisableStructs - ldr r0, _08027814 @ =sBattler_AI + ldr r0, _08027814 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -20080,7 +20080,7 @@ atk82_jumpifnotfirstturn: @ 80277D8 .align 2, 0 _0802780C: .4byte gUnknown_2023D74 _08027810: .4byte gDisableStructs -_08027814: .4byte sBattler_AI +_08027814: .4byte gBattlerAttacker _08027818: str r3, [r5] _0802781A: @@ -20252,7 +20252,7 @@ _08027942: atk85_stockpile: @ 8027948 push {r4,r5,lr} ldr r5, _08027970 @ =gDisableStructs - ldr r4, _08027974 @ =sBattler_AI + ldr r4, _08027974 @ =gBattlerAttacker ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -20272,7 +20272,7 @@ atk85_stockpile: @ 8027948 b _080279AA .align 2, 0 _08027970: .4byte gDisableStructs -_08027974: .4byte sBattler_AI +_08027974: .4byte gBattlerAttacker _08027978: .4byte gMoveResultFlags _0802797C: .4byte gUnknown_2023E82 _08027980: @@ -20330,7 +20330,7 @@ atk86_stockpiletobasedamage: @ 80279C4 lsls r0, 24 orrs r2, r0 ldr r7, _08027A00 @ =gDisableStructs - ldr r6, _08027A04 @ =sBattler_AI + ldr r6, _08027A04 @ =gBattlerAttacker ldrb r1, [r6] lsls r0, r1, 3 subs r0, r1 @@ -20344,7 +20344,7 @@ atk86_stockpiletobasedamage: @ 80279C4 .align 2, 0 _080279FC: .4byte gUnknown_2023D74 _08027A00: .4byte gDisableStructs -_08027A04: .4byte sBattler_AI +_08027A04: .4byte gBattlerAttacker _08027A08: ldr r0, _08027AB8 @ =gUnknown_2023E82 ldrb r0, [r0, 0x6] @@ -20413,7 +20413,7 @@ _08027A08: str r0, [r1] _08027A90: ldr r2, _08027AD8 @ =gDisableStructs - ldr r0, _08027ADC @ =sBattler_AI + ldr r0, _08027ADC @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -20442,7 +20442,7 @@ _08027ACC: .4byte gCurrentMove _08027AD0: .4byte gBattleScripting _08027AD4: .4byte gUnknown_2023E8C _08027AD8: .4byte gDisableStructs -_08027ADC: .4byte sBattler_AI +_08027ADC: .4byte gBattlerAttacker _08027AE0: .4byte gUnknown_2023D74 thumb_func_end atk86_stockpiletobasedamage @@ -20465,7 +20465,7 @@ atk87_stockpiletohpheal: @ 8027AE4 orrs r2, r0 ldr r0, _08027B28 @ =gDisableStructs mov r8, r0 - ldr r6, _08027B2C @ =sBattler_AI + ldr r6, _08027B2C @ =gBattlerAttacker ldrb r3, [r6] lsls r0, r3, 3 subs r0, r3 @@ -20482,7 +20482,7 @@ atk87_stockpiletohpheal: @ 8027AE4 .align 2, 0 _08027B24: .4byte gUnknown_2023D74 _08027B28: .4byte gDisableStructs -_08027B2C: .4byte sBattler_AI +_08027B2C: .4byte gBattlerAttacker _08027B30: .4byte gUnknown_2023E82 _08027B34: ldr r1, _08027B58 @ =gBattleMons @@ -20609,11 +20609,11 @@ ChangeStatBuffs: @ 8027BFC cmp r0, 0 beq _08027C30 ldr r0, _08027C28 @ =gActiveBattler - ldr r1, _08027C2C @ =sBattler_AI + ldr r1, _08027C2C @ =gBattlerAttacker b _08027C34 .align 2, 0 _08027C28: .4byte gActiveBattler -_08027C2C: .4byte sBattler_AI +_08027C2C: .4byte gBattlerAttacker _08027C30: ldr r0, _08027CD4 @ =gActiveBattler ldr r1, _08027CD8 @ =gBattlerTarget @@ -21239,7 +21239,7 @@ _0802811C: .4byte gBattleMons atk8B_setbide: @ 8028120 push {r4,r5,lr} ldr r4, _08028178 @ =gBattleMons - ldr r3, _0802817C @ =sBattler_AI + ldr r3, _0802817C @ =gBattlerAttacker ldrb r0, [r3] movs r5, 0x58 adds r2, r0, 0 @@ -21282,7 +21282,7 @@ atk8B_setbide: @ 8028120 bx r0 .align 2, 0 _08028178: .4byte gBattleMons -_0802817C: .4byte sBattler_AI +_0802817C: .4byte gBattlerAttacker _08028180: .4byte gUnknown_2023DB8 _08028184: .4byte gCurrentMove _08028188: .4byte gUnknown_2023D58 @@ -21293,7 +21293,7 @@ _0802818C: .4byte gUnknown_2023D74 atk8C_confuseifrepeatingattackends: @ 8028190 push {lr} ldr r1, _080281C0 @ =gBattleMons - ldr r0, _080281C4 @ =sBattler_AI + ldr r0, _080281C4 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -21317,7 +21317,7 @@ _080281B2: bx r0 .align 2, 0 _080281C0: .4byte gBattleMons -_080281C4: .4byte sBattler_AI +_080281C4: .4byte gBattlerAttacker _080281C8: .4byte gUnknown_2023E82 _080281CC: .4byte gUnknown_2023D74 thumb_func_end atk8C_confuseifrepeatingattackends @@ -21389,7 +21389,7 @@ _08028240: .4byte gUnknown_2023D74 TryDoForceSwitchOut: @ 8028244 push {r4-r7,lr} ldr r6, _08028278 @ =gBattleMons - ldr r7, _0802827C @ =sBattler_AI + ldr r7, _0802827C @ =gBattlerAttacker ldrb r0, [r7] movs r5, 0x58 adds r1, r0, 0 @@ -21415,7 +21415,7 @@ TryDoForceSwitchOut: @ 8028244 b _080282E8 .align 2, 0 _08028278: .4byte gBattleMons -_0802827C: .4byte sBattler_AI +_0802827C: .4byte gBattlerAttacker _08028280: .4byte gBattlerTarget _08028284: .4byte gBattleStruct _08028288: .4byte gBattlerPartyIndexes @@ -21857,7 +21857,7 @@ atk90_tryconversiontypechange: @ 8028604 push {r5-r7} movs r6, 0 ldr r2, _08028698 @ =gBattleMons - ldr r3, _0802869C @ =sBattler_AI + ldr r3, _0802869C @ =gBattlerAttacker ldrb r1, [r3] movs r0, 0x58 muls r0, r1 @@ -21892,7 +21892,7 @@ _08028646: mov r10, r0 ldr r5, _08028698 @ =gBattleMons mov r12, r5 - ldr r7, _0802869C @ =sBattler_AI + ldr r7, _0802869C @ =gBattlerAttacker ldrb r0, [r7] movs r4, 0x58 adds r5, r0, 0 @@ -21929,7 +21929,7 @@ _08028692: b _080286A6 .align 2, 0 _08028698: .4byte gBattleMons -_0802869C: .4byte sBattler_AI +_0802869C: .4byte gBattlerAttacker _080286A0: .4byte gBattleMoves _080286A4: movs r2, 0 @@ -21983,7 +21983,7 @@ _080286F2: bcs _080286F2 ldr r4, _08028748 @ =gBattleMons lsls r1, r3, 1 - ldr r3, _0802874C @ =sBattler_AI + ldr r3, _0802874C @ =gBattlerAttacker ldrb r2, [r3] movs r0, 0x58 adds r5, r2, 0 @@ -22020,7 +22020,7 @@ _08028740: .align 2, 0 _08028744: .4byte gBattleMoves _08028748: .4byte gBattleMons -_0802874C: .4byte sBattler_AI +_0802874C: .4byte gBattlerAttacker _08028750: movs r2, 0 _08028752: @@ -22142,7 +22142,7 @@ _08028838: .4byte gUnknown_2023D74 thumb_func_start atk92_setlightscreen atk92_setlightscreen: @ 802883C push {r4-r6,lr} - ldr r5, _0802886C @ =sBattler_AI + ldr r5, _0802886C @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition ldr r4, _08028870 @ =gSideAffecting @@ -22165,7 +22165,7 @@ atk92_setlightscreen: @ 802883C movs r0, 0 b _080288F0 .align 2, 0 -_0802886C: .4byte sBattler_AI +_0802886C: .4byte gBattlerAttacker _08028870: .4byte gSideAffecting _08028874: .4byte gMoveResultFlags _08028878: .4byte gUnknown_2023E82 @@ -22360,7 +22360,7 @@ _080289F4: adds r2, r0 lsls r2, 2 adds r2, r1 - ldr r7, _08028A74 @ =sBattler_AI + ldr r7, _08028A74 @ =gBattlerAttacker ldrb r0, [r7] muls r0, r6 add r0, r8 @@ -22406,14 +22406,14 @@ _08028A48: _08028A68: .4byte gStatuses3 _08028A6C: .4byte gBattleMoves _08028A70: .4byte gCurrentMove -_08028A74: .4byte sBattler_AI +_08028A74: .4byte gBattlerAttacker _08028A78: ldr r1, _08028B44 @ =gDisableStructs lsls r0, r3, 3 subs r0, r3 lsls r0, 2 adds r0, r1 - ldr r1, _08028B48 @ =sBattler_AI + ldr r1, _08028B48 @ =gBattlerAttacker ldrb r0, [r0, 0x15] adds r7, r1, 0 ldrb r3, [r7] @@ -22513,7 +22513,7 @@ _08028B1A: b _08028BC6 .align 2, 0 _08028B44: .4byte gDisableStructs -_08028B48: .4byte sBattler_AI +_08028B48: .4byte gBattlerAttacker _08028B4C: .4byte gBattleMoves _08028B50: .4byte gCurrentMove _08028B54: .4byte gBattleMons @@ -22544,7 +22544,7 @@ _08028B68: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _08028BB0 @ =gUnknown_2023D68 + ldr r1, _08028BB0 @ =gLastUsedItem mov r2, r9 ldrb r0, [r2] muls r0, r3 @@ -22556,7 +22556,7 @@ _08028B68: _08028BA4: .4byte gUnknown_2023ECC _08028BA8: .4byte gBattleMoveDamage _08028BAC: .4byte gMoveResultFlags -_08028BB0: .4byte gUnknown_2023D68 +_08028BB0: .4byte gLastUsedItem _08028BB4: ldr r1, _08028BD4 @ =gBattleMoveDamage movs r0, 0x58 @@ -22587,7 +22587,7 @@ _08028BE0: orrs r0, r1 strb r0, [r2] ldr r3, _08028C18 @ =gBattleMons - ldr r0, _08028C1C @ =sBattler_AI + ldr r0, _08028C1C @ =gBattlerAttacker ldrb r0, [r0] movs r2, 0x58 adds r1, r0, 0 @@ -22609,7 +22609,7 @@ _08028BE0: .align 2, 0 _08028C14: .4byte gMoveResultFlags _08028C18: .4byte gBattleMons -_08028C1C: .4byte sBattler_AI +_08028C1C: .4byte gBattlerAttacker _08028C20: .4byte gBattlerTarget _08028C24: .4byte gUnknown_2023E82 _08028C28: @@ -22731,7 +22731,7 @@ sub_8028CF0: @ 8028CF0 lsls r1, 8 cmp r0, r1 bne _08028D18 - ldr r0, _08028DC0 @ =sBattler_AI + ldr r0, _08028DC0 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -22768,7 +22768,7 @@ _08028D48: ldrh r1, [r2] movs r0, 0x18 ands r0, r1 - ldr r5, _08028DC0 @ =sBattler_AI + ldr r5, _08028DC0 @ =gBattlerAttacker adds r4, r2, 0 cmp r0, 0 beq _08028DDA @@ -22823,7 +22823,7 @@ _08028D48: b _08028DD8 .align 2, 0 _08028DBC: .4byte gBattleTypeFlags -_08028DC0: .4byte sBattler_AI +_08028DC0: .4byte gBattlerAttacker _08028DC4: .4byte gBattleWeather _08028DC8: .4byte gBattleMons _08028DCC: .4byte gStatuses3 @@ -22892,7 +22892,7 @@ _08028E48: ldr r1, _08028E7C @ =gBattleMoveDamage movs r0, 0 str r0, [r1] - ldr r5, _08028E80 @ =sBattler_AI + ldr r5, _08028E80 @ =gBattlerAttacker _08028E50: ldr r0, _08028E84 @ =gAbsentBattlerFlags ldrb r1, [r0] @@ -22919,7 +22919,7 @@ _08028E6A: bx r0 .align 2, 0 _08028E7C: .4byte gBattleMoveDamage -_08028E80: .4byte sBattler_AI +_08028E80: .4byte gBattlerAttacker _08028E84: .4byte gAbsentBattlerFlags _08028E88: .4byte gBitTable _08028E8C: .4byte gUnknown_2023D74 @@ -22932,7 +22932,7 @@ sub_8028E90: @ 8028E90 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r4, _08028EBC @ =sBattler_AI + ldr r4, _08028EBC @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -22948,7 +22948,7 @@ sub_8028E90: @ 8028E90 ldr r0, _08028EC4 @ =gPlayerParty b _08028ED8 .align 2, 0 -_08028EBC: .4byte sBattler_AI +_08028EBC: .4byte gBattlerAttacker _08028EC0: .4byte gBattlerPartyIndexes _08028EC4: .4byte gPlayerParty _08028EC8: @@ -23101,7 +23101,7 @@ _08029008: muls r2, r6 adds r2, r4 ldr r1, _0802903C @ =gBitTable - ldr r0, _08029040 @ =sBattler_AI + ldr r0, _08029040 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r0, r1 @@ -23124,7 +23124,7 @@ _0802902C: bx r0 .align 2, 0 _0802903C: .4byte gBitTable -_08029040: .4byte sBattler_AI +_08029040: .4byte gBattlerAttacker _08029044: .4byte gUnknown_2023D74 thumb_func_end sub_8028E90 @@ -23172,7 +23172,7 @@ _08029074: adds r2, r6 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _080290A2: @@ -23198,7 +23198,7 @@ _080290D4: cmp r0, 0x4 bne _0802918C ldr r4, _08029170 @ =gActiveBattler - ldr r5, _08029174 @ =sBattler_AI + ldr r5, _08029174 @ =gBattlerAttacker ldrb r0, [r5] strb r0, [r4] ldr r6, _08029178 @ =gAbsentBattlerFlags @@ -23222,7 +23222,7 @@ _080290D4: adds r2, r3 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _08029114: @@ -23259,7 +23259,7 @@ _08029114: adds r2, r3 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution _08029164: @@ -23270,7 +23270,7 @@ _08029164: b _080291C0 .align 2, 0 _08029170: .4byte gActiveBattler -_08029174: .4byte sBattler_AI +_08029174: .4byte gBattlerAttacker _08029178: .4byte gAbsentBattlerFlags _0802917C: .4byte gBitTable _08029180: .4byte gBattleMons @@ -23294,7 +23294,7 @@ _0802918C: adds r2, r3 ldr r2, [r2] movs r0, 0 - bl EmitStatusIconUpdate + bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -23313,7 +23313,7 @@ _080291CC: .4byte gBattleMons atk99_setmist: @ 80291D0 push {r4-r6,lr} ldr r6, _08029200 @ =gSideTimers - ldr r4, _08029204 @ =sBattler_AI + ldr r4, _08029204 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerPosition movs r5, 0x1 @@ -23336,7 +23336,7 @@ atk99_setmist: @ 80291D0 b _0802925E .align 2, 0 _08029200: .4byte gSideTimers -_08029204: .4byte sBattler_AI +_08029204: .4byte gBattlerAttacker _08029208: .4byte gMoveResultFlags _0802920C: .4byte gUnknown_2023E82 _08029210: @@ -23394,7 +23394,7 @@ _08029274: .4byte gUnknown_2023D74 atk9A_setfocusenergy: @ 8029278 push {lr} ldr r1, _080292A8 @ =gBattleMons - ldr r0, _080292AC @ =sBattler_AI + ldr r0, _080292AC @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -23418,7 +23418,7 @@ atk9A_setfocusenergy: @ 8029278 b _080292C0 .align 2, 0 _080292A8: .4byte gBattleMons -_080292AC: .4byte sBattler_AI +_080292AC: .4byte gBattlerAttacker _080292B0: .4byte gMoveResultFlags _080292B4: .4byte gUnknown_2023E82 _080292B8: @@ -23443,7 +23443,7 @@ atk9B_transformdataexecution: @ 80292D4 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r1, _0802932C @ =gUnknown_2023D4C + ldr r1, _0802932C @ =gChosenMove ldr r2, _08029330 @ =0x0000ffff adds r0, r2, 0 strh r0, [r1] @@ -23485,7 +23485,7 @@ _0802931A: movs r0, 0x1 b _08029464 .align 2, 0 -_0802932C: .4byte gUnknown_2023D4C +_0802932C: .4byte gChosenMove _08029330: .4byte 0x0000ffff _08029334: .4byte gUnknown_2023D74 _08029338: .4byte gBattleMons @@ -23495,7 +23495,7 @@ _08029344: .4byte 0x000400c0 _08029348: .4byte gMoveResultFlags _0802934C: .4byte gUnknown_2023E82 _08029350: - ldr r3, _08029424 @ =sBattler_AI + ldr r3, _08029424 @ =gBattlerAttacker ldrb r0, [r3] adds r1, r0, 0 muls r1, r6 @@ -23603,7 +23603,7 @@ _08029400: adds r0, r5 b _08029442 .align 2, 0 -_08029424: .4byte sBattler_AI +_08029424: .4byte gBattlerAttacker _08029428: .4byte gDisableStructs _0802942C: .4byte gBattleTextBuff1 _08029430: .4byte gActiveBattler @@ -23623,7 +23623,7 @@ _08029442: strb r0, [r1] movs r0, 0 movs r1, 0x2 - bl EmitResetActionMoveSelection + bl BtlController_EmitResetActionMoveSelection mov r2, r8 ldrb r0, [r2] bl MarkBufferBankForExecution @@ -23644,7 +23644,7 @@ _08029470: .4byte gUnknown_2023E82 atk9C_setsubstitute: @ 8029474 push {r4-r7,lr} ldr r7, _080294A4 @ =gBattleMons - ldr r6, _080294A8 @ =sBattler_AI + ldr r6, _080294A8 @ =gBattlerAttacker ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -23668,7 +23668,7 @@ _0802948E: b _08029508 .align 2, 0 _080294A4: .4byte gBattleMons -_080294A8: .4byte sBattler_AI +_080294A8: .4byte gBattlerAttacker _080294AC: .4byte gBattleMoveDamage _080294B0: .4byte gUnknown_2023E82 _080294B4: @@ -23779,7 +23779,7 @@ atk9D_mimicattackcopy: @ 8029578 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _080295F0 @ =gUnknown_2023D4C + ldr r0, _080295F0 @ =gChosenMove ldr r1, _080295F4 @ =0x0000ffff adds r7, r1, 0 strh r7, [r0] @@ -23794,7 +23794,7 @@ atk9D_mimicattackcopy: @ 8029578 cmp r0, 0 bne _080295D2 ldr r3, _08029600 @ =gBattleMons - ldr r2, _08029604 @ =sBattler_AI + ldr r2, _08029604 @ =gBattlerAttacker ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -23834,12 +23834,12 @@ _080295D2: str r1, [r3] b _08029744 .align 2, 0 -_080295F0: .4byte gUnknown_2023D4C +_080295F0: .4byte gChosenMove _080295F4: .4byte 0x0000ffff _080295F8: .4byte gLastUsedMove _080295FC: .4byte gBattlerTarget _08029600: .4byte gBattleMons -_08029604: .4byte sBattler_AI +_08029604: .4byte gBattlerAttacker _08029608: .4byte gUnknown_2023D74 _0802960C: movs r2, 0 @@ -24090,7 +24090,7 @@ _080297F8: .4byte gBattlerTarget atk9F_dmgtolevel: @ 80297FC ldr r3, _0802981C @ =gBattleMoveDamage ldr r2, _08029820 @ =gBattleMons - ldr r0, _08029824 @ =sBattler_AI + ldr r0, _08029824 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -24106,7 +24106,7 @@ atk9F_dmgtolevel: @ 80297FC .align 2, 0 _0802981C: .4byte gBattleMoveDamage _08029820: .4byte gBattleMons -_08029824: .4byte sBattler_AI +_08029824: .4byte gBattlerAttacker _08029828: .4byte gUnknown_2023D74 thumb_func_end atk9F_dmgtolevel @@ -24125,7 +24125,7 @@ _08029830: lsls r3, r0, 1 ldr r4, _08029870 @ =gBattleMoveDamage ldr r2, _08029874 @ =gBattleMons - ldr r0, _08029878 @ =sBattler_AI + ldr r0, _08029878 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -24148,14 +24148,14 @@ _08029830: .align 2, 0 _08029870: .4byte gBattleMoveDamage _08029874: .4byte gBattleMons -_08029878: .4byte sBattler_AI +_08029878: .4byte gBattlerAttacker _0802987C: .4byte gUnknown_2023D74 thumb_func_end atkA0_psywavedamageeffect thumb_func_start atkA1_counterdamagecalculator atkA1_counterdamagecalculator: @ 8029880 push {r4-r6,lr} - ldr r4, _080298F0 @ =sBattler_AI + ldr r4, _080298F0 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -24208,7 +24208,7 @@ atkA1_counterdamagecalculator: @ 8029880 strb r1, [r0] b _08029918 .align 2, 0 -_080298F0: .4byte sBattler_AI +_080298F0: .4byte gBattlerAttacker _080298F4: .4byte gUnknown_2023E8C _080298F8: .4byte gBattleMons _080298FC: .4byte gBattleMoveDamage @@ -24217,7 +24217,7 @@ _08029904: .4byte gBattlerTarget _08029908: ldr r2, _08029924 @ =gBattlerTarget ldr r1, _08029928 @ =gUnknown_2023E8C - ldr r0, _0802992C @ =sBattler_AI + ldr r0, _0802992C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -24232,11 +24232,11 @@ _08029918: .align 2, 0 _08029924: .4byte gBattlerTarget _08029928: .4byte gUnknown_2023E8C -_0802992C: .4byte sBattler_AI +_0802992C: .4byte gBattlerAttacker _08029930: .4byte gUnknown_2023D74 _08029934: ldr r2, _0802996C @ =gUnknown_2023ECC - ldr r0, _08029970 @ =sBattler_AI + ldr r0, _08029970 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -24265,14 +24265,14 @@ _08029964: bx r0 .align 2, 0 _0802996C: .4byte gUnknown_2023ECC -_08029970: .4byte sBattler_AI +_08029970: .4byte gBattlerAttacker _08029974: .4byte gUnknown_2023D74 thumb_func_end atkA1_counterdamagecalculator thumb_func_start atkA2_mirrorcoatdamagecalculator atkA2_mirrorcoatdamagecalculator: @ 8029978 push {r4-r6,lr} - ldr r4, _080299E8 @ =sBattler_AI + ldr r4, _080299E8 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -24326,7 +24326,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 strb r1, [r0] b _08029A10 .align 2, 0 -_080299E8: .4byte sBattler_AI +_080299E8: .4byte gBattlerAttacker _080299EC: .4byte gUnknown_2023E8C _080299F0: .4byte gBattleMons _080299F4: .4byte gBattleMoveDamage @@ -24335,7 +24335,7 @@ _080299FC: .4byte gBattlerTarget _08029A00: ldr r2, _08029A1C @ =gBattlerTarget ldr r1, _08029A20 @ =gUnknown_2023E8C - ldr r0, _08029A24 @ =sBattler_AI + ldr r0, _08029A24 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -24350,11 +24350,11 @@ _08029A10: .align 2, 0 _08029A1C: .4byte gBattlerTarget _08029A20: .4byte gUnknown_2023E8C -_08029A24: .4byte sBattler_AI +_08029A24: .4byte gBattlerAttacker _08029A28: .4byte gUnknown_2023D74 _08029A2C: ldr r2, _08029A64 @ =gUnknown_2023ECC - ldr r0, _08029A68 @ =sBattler_AI + ldr r0, _08029A68 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -24383,7 +24383,7 @@ _08029A5C: bx r0 .align 2, 0 _08029A64: .4byte gUnknown_2023ECC -_08029A68: .4byte sBattler_AI +_08029A68: .4byte gBattlerAttacker _08029A6C: .4byte gUnknown_2023D74 thumb_func_end atkA2_mirrorcoatdamagecalculator @@ -24728,7 +24728,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 ands r0, r1 cmp r0, 0 bne _08029D88 - ldr r5, _08029D70 @ =sBattler_AI + ldr r5, _08029D70 @ =gBattlerAttacker ldrb r0, [r5] muls r0, r7 adds r0, r6 @@ -24778,7 +24778,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 .align 2, 0 _08029D68: .4byte gBattleMons _08029D6C: .4byte gBattlerTarget -_08029D70: .4byte sBattler_AI +_08029D70: .4byte gBattlerAttacker _08029D74: .4byte gBattleMoveDamage _08029D78: .4byte gBattleScripting _08029D7C: .4byte gUnknown_2023ECC @@ -24814,7 +24814,7 @@ atkA6_settypetorandomresistance: @ 8029DAC mov r5, r8 push {r5-r7} ldr r1, _08029E14 @ =gUnknown_2023DA0 - ldr r4, _08029E18 @ =sBattler_AI + ldr r4, _08029E18 @ =gBattlerAttacker ldrb r0, [r4] lsls r0, 1 adds r2, r0, r1 @@ -24861,7 +24861,7 @@ _08029DF6: b _08029F80 .align 2, 0 _08029E14: .4byte gUnknown_2023DA0 -_08029E18: .4byte sBattler_AI +_08029E18: .4byte gBattlerAttacker _08029E1C: .4byte 0x0000ffff _08029E20: .4byte gBattleMons _08029E24: .4byte gUnknown_2023DC0 @@ -24934,7 +24934,7 @@ _08029E9C: ldr r6, _08029F90 @ =gUnknown_824F050 adds r3, r4, r6 ldr r1, _08029F94 @ =gUnknown_2023DA8 - ldr r2, _08029F98 @ =sBattler_AI + ldr r2, _08029F98 @ =gBattlerAttacker ldrb r5, [r2] lsls r0, r5, 1 adds r0, r1 @@ -25052,7 +25052,7 @@ _08029F80: .align 2, 0 _08029F90: .4byte gUnknown_824F050 _08029F94: .4byte gUnknown_2023DA8 -_08029F98: .4byte sBattler_AI +_08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons _08029FA0: .4byte 0x000003e7 _08029FA4: .4byte gUnknown_2023D74 @@ -25085,7 +25085,7 @@ atkA7_setalwayshitflag: @ 8029FAC subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _08029FFC @ =sBattler_AI + ldr r1, _08029FFC @ =gBattlerAttacker ldrb r1, [r1] strb r1, [r0, 0x15] ldr r1, _0802A000 @ =gUnknown_2023D74 @@ -25099,7 +25099,7 @@ atkA7_setalwayshitflag: @ 8029FAC _08029FF0: .4byte gStatuses3 _08029FF4: .4byte gBattlerTarget _08029FF8: .4byte gDisableStructs -_08029FFC: .4byte sBattler_AI +_08029FFC: .4byte gBattlerAttacker _0802A000: .4byte gUnknown_2023D74 thumb_func_end atkA7_setalwayshitflag @@ -25111,12 +25111,12 @@ atkA8_copymovepermanently: @ 802A004 mov r5, r8 push {r5-r7} sub sp, 0x14 - ldr r0, _0802A164 @ =gUnknown_2023D4C + ldr r0, _0802A164 @ =gChosenMove ldr r1, _0802A168 @ =0x0000ffff adds r5, r1, 0 strh r5, [r0] ldr r3, _0802A16C @ =gBattleMons - ldr r2, _0802A170 @ =sBattler_AI + ldr r2, _0802A170 @ =gBattlerAttacker ldrb r1, [r2] movs r0, 0x58 adds r4, r1, 0 @@ -25260,7 +25260,7 @@ _0802A0F2: movs r1, 0x3 movs r2, 0 movs r3, 0x10 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldr r0, _0802A184 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -25290,10 +25290,10 @@ _0802A0F2: str r0, [r1] b _0802A1AA .align 2, 0 -_0802A164: .4byte gUnknown_2023D4C +_0802A164: .4byte gChosenMove _0802A168: .4byte 0x0000ffff _0802A16C: .4byte gBattleMons -_0802A170: .4byte sBattler_AI +_0802A170: .4byte gBattlerAttacker _0802A174: .4byte gUnknown_2023D90 _0802A178: .4byte gBattlerTarget _0802A17C: .4byte gUnknown_2023D48 @@ -25458,7 +25458,7 @@ atkA9_trychoosesleeptalkmove: @ 802A290 push {r5-r7} movs r6, 0 movs r5, 0 - ldr r0, _0802A320 @ =sBattler_AI + ldr r0, _0802A320 @ =gBattlerAttacker mov r9, r0 movs r1, 0x58 mov r8, r1 @@ -25509,7 +25509,7 @@ _0802A2FC: adds r5, 0x1 cmp r5, 0x3 ble _0802A2AE - ldr r0, _0802A320 @ =sBattler_AI + ldr r0, _0802A320 @ =gBattlerAttacker ldrb r0, [r0] adds r1, r6, 0 movs r2, 0xFD @@ -25524,7 +25524,7 @@ _0802A2FC: str r0, [r1] b _0802A394 .align 2, 0 -_0802A320: .4byte sBattler_AI +_0802A320: .4byte gBattlerAttacker _0802A324: .4byte gUnknown_2023BF0 _0802A328: .4byte gBitTable _0802A32C: .4byte gUnknown_2023D74 @@ -25544,7 +25544,7 @@ _0802A334: ldr r4, _0802A3A8 @ =gUnknown_2023D4E ldr r2, _0802A3AC @ =gBattleMons lsls r1, r5, 1 - ldr r0, _0802A3B0 @ =sBattler_AI + ldr r0, _0802A3B0 @ =gBattlerAttacker ldrb r3, [r0] movs r0, 0x58 muls r0, r3 @@ -25590,7 +25590,7 @@ _0802A394: _0802A3A4: .4byte gBitTable _0802A3A8: .4byte gUnknown_2023D4E _0802A3AC: .4byte gBattleMons -_0802A3B0: .4byte sBattler_AI +_0802A3B0: .4byte gBattlerAttacker _0802A3B4: .4byte gUnknown_2023D48 _0802A3B8: .4byte gUnknown_2023DD0 _0802A3BC: .4byte 0xfffffbff @@ -25601,7 +25601,7 @@ _0802A3C4: .4byte gUnknown_2023D74 thumb_func_start atkAA_setdestinybond atkAA_setdestinybond: @ 802A3C8 ldr r1, _0802A3EC @ =gBattleMons - ldr r0, _0802A3F0 @ =sBattler_AI + ldr r0, _0802A3F0 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -25619,14 +25619,14 @@ atkAA_setdestinybond: @ 802A3C8 bx lr .align 2, 0 _0802A3EC: .4byte gBattleMons -_0802A3F0: .4byte sBattler_AI +_0802A3F0: .4byte gBattlerAttacker _0802A3F4: .4byte gUnknown_2023D74 thumb_func_end atkAA_setdestinybond thumb_func_start TrySetDestinyBondToHappen TrySetDestinyBondToHappen: @ 802A3F8 push {r4,r5,lr} - ldr r0, _0802A448 @ =sBattler_AI + ldr r0, _0802A448 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -25665,7 +25665,7 @@ _0802A442: pop {r0} bx r0 .align 2, 0 -_0802A448: .4byte sBattler_AI +_0802A448: .4byte gBattlerAttacker _0802A44C: .4byte gBattlerTarget _0802A450: .4byte gBattleMons _0802A454: .4byte gUnknown_2023DD0 @@ -25689,7 +25689,7 @@ _0802A46C: .4byte gUnknown_2023D74 atkAC_remaininghptopower: @ 802A470 push {lr} ldr r2, _0802A4C4 @ =gBattleMons - ldr r0, _0802A4C8 @ =sBattler_AI + ldr r0, _0802A4C8 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -25731,7 +25731,7 @@ _0802A4AA: bx r0 .align 2, 0 _0802A4C4: .4byte gBattleMons -_0802A4C8: .4byte sBattler_AI +_0802A4C8: .4byte gBattlerAttacker _0802A4CC: .4byte gUnknown_8250810 _0802A4D0: .4byte gDynamicBasePower _0802A4D4: .4byte gUnknown_2023D74 @@ -25911,7 +25911,7 @@ _0802A57C: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _0802A630: @@ -25991,7 +25991,7 @@ _0802A6CC: ldr r6, _0802A724 @ =gUnknown_2023E82 mov r0, r8 strb r0, [r6, 0x5] - ldr r5, _0802A728 @ =sBattler_AI + ldr r5, _0802A728 @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerSide lsls r0, 24 @@ -26032,7 +26032,7 @@ _0802A6E8: .align 2, 0 _0802A720: .4byte gCurrentMove _0802A724: .4byte gUnknown_2023E82 -_0802A728: .4byte sBattler_AI +_0802A728: .4byte gBattlerAttacker _0802A72C: .4byte gEnemyParty _0802A730: .4byte gPlayerParty _0802A734: .4byte gBattleMons @@ -26047,7 +26047,7 @@ _0802A73C: strb r0, [r6, 0x5] _0802A74C: ldr r7, _0802A7C0 @ =gActiveBattler - ldr r0, _0802A7C4 @ =sBattler_AI + ldr r0, _0802A7C4 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition movs r2, 0x2 @@ -26103,7 +26103,7 @@ _0802A74C: b _0802A7F2 .align 2, 0 _0802A7C0: .4byte gActiveBattler -_0802A7C4: .4byte sBattler_AI +_0802A7C4: .4byte gBattlerAttacker _0802A7C8: .4byte gBattleScripting _0802A7CC: .4byte gBattleTypeFlags _0802A7D0: .4byte gAbsentBattlerFlags @@ -26144,7 +26144,7 @@ _0802A7F6: cmp r5, r0 beq _0802A8AE ldr r2, _0802A840 @ =gBattlerPartyIndexes - ldr r0, _0802A844 @ =sBattler_AI + ldr r0, _0802A844 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 1 adds r0, r2 @@ -26158,7 +26158,7 @@ _0802A7F6: _0802A838: .4byte gUnknown_2023E82 _0802A83C: .4byte gBattleMons _0802A840: .4byte gBattlerPartyIndexes -_0802A844: .4byte sBattler_AI +_0802A844: .4byte gBattlerAttacker _0802A848: ldr r0, _0802A880 @ =gBattleTypeFlags ldr r0, [r0] @@ -26222,7 +26222,7 @@ _0802A8B6: movs r2, 0x3F mov r8, r2 ldr r3, _0802A974 @ =gBattleMons - ldr r2, _0802A978 @ =sBattler_AI + ldr r2, _0802A978 @ =gBattlerAttacker ldrb r0, [r2] movs r5, 0x58 muls r0, r5 @@ -26282,7 +26282,7 @@ _0802A934: cmp r2, 0 beq _0802A956 ldr r4, _0802A980 @ =gActiveBattler - ldr r0, _0802A978 @ =sBattler_AI + ldr r0, _0802A978 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] add r0, sp, 0x4 @@ -26290,7 +26290,7 @@ _0802A934: movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _0802A956: @@ -26309,7 +26309,7 @@ _0802A956: .align 2, 0 _0802A970: .4byte gUnknown_2023E82 _0802A974: .4byte gBattleMons -_0802A978: .4byte sBattler_AI +_0802A978: .4byte gBattlerAttacker _0802A97C: .4byte 0xf7ffffff _0802A980: .4byte gActiveBattler _0802A984: .4byte gBattleTypeFlags @@ -26359,7 +26359,7 @@ _0802A9E0: orrs r2, r3 str r2, [r1] ldr r1, _0802AA0C @ =gBattleMoveDamage - ldr r0, _0802AA10 @ =sBattler_AI + ldr r0, _0802AA10 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r4 adds r0, r5 @@ -26381,14 +26381,14 @@ _0802AA04: bx r0 .align 2, 0 _0802AA0C: .4byte gBattleMoveDamage -_0802AA10: .4byte sBattler_AI +_0802AA10: .4byte gBattlerAttacker _0802AA14: .4byte gUnknown_2023D74 thumb_func_end atkAF_cursetarget thumb_func_start atkB0_trysetspikes atkB0_trysetspikes: @ 802AA18 push {r4,lr} - ldr r4, _0802AA6C @ =sBattler_AI + ldr r4, _0802AA6C @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide movs r1, 0x1 @@ -26428,7 +26428,7 @@ atkB0_trysetspikes: @ 802AA18 str r1, [r3] b _0802AA96 .align 2, 0 -_0802AA6C: .4byte sBattler_AI +_0802AA6C: .4byte gBattlerAttacker _0802AA70: .4byte gSideTimers _0802AA74: .4byte gUnknown_2023ECC _0802AA78: .4byte gUnknown_2023D74 @@ -26490,7 +26490,7 @@ atkB2_trysetperishsong: @ 802AAD4 movs r3, 0 ldr r0, _0802AB18 @ =gBattlersCount adds r7, r0, 0 - ldr r0, _0802AB1C @ =sBattler_AI + ldr r0, _0802AB1C @ =gBattlerAttacker mov r8, r0 ldrb r1, [r7] cmp r6, r1 @@ -26520,7 +26520,7 @@ _0802AB14: b _0802AB34 .align 2, 0 _0802AB18: .4byte gBattlersCount -_0802AB1C: .4byte sBattler_AI +_0802AB1C: .4byte gBattlerAttacker _0802AB20: .4byte gBattleMons _0802AB24: .4byte gDisableStructs _0802AB28: .4byte gStatuses3 @@ -26589,7 +26589,7 @@ atkB3_rolloutdamagecalculation: @ 802AB8C ands r0, r1 cmp r0, 0 beq _0802ABC0 - ldr r0, _0802ABB4 @ =sBattler_AI + ldr r0, _0802ABB4 @ =gBattlerAttacker ldrb r0, [r0] bl CancelMultiTurnMoves ldr r1, _0802ABB8 @ =gUnknown_2023D74 @@ -26598,12 +26598,12 @@ atkB3_rolloutdamagecalculation: @ 802AB8C b _0802ACD8 .align 2, 0 _0802ABB0: .4byte gMoveResultFlags -_0802ABB4: .4byte sBattler_AI +_0802ABB4: .4byte gBattlerAttacker _0802ABB8: .4byte gUnknown_2023D74 _0802ABBC: .4byte gUnknown_81D6960 _0802ABC0: ldr r2, _0802ACE4 @ =gBattleMons - ldr r1, _0802ACE8 @ =sBattler_AI + ldr r1, _0802ACE8 @ =gBattlerAttacker ldrb r3, [r1] movs r5, 0x58 adds r0, r3, 0 @@ -26756,7 +26756,7 @@ _0802ACD8: bx r0 .align 2, 0 _0802ACE4: .4byte gBattleMons -_0802ACE8: .4byte sBattler_AI +_0802ACE8: .4byte gBattlerAttacker _0802ACEC: .4byte gDisableStructs _0802ACF0: .4byte gCurrentMove _0802ACF4: .4byte gUnknown_2023DB8 @@ -26831,7 +26831,7 @@ atkB5_furycuttercalc: @ 802AD70 cmp r0, 0 beq _0802ADAC ldr r2, _0802AD9C @ =gDisableStructs - ldr r0, _0802ADA0 @ =sBattler_AI + ldr r0, _0802ADA0 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -26846,12 +26846,12 @@ atkB5_furycuttercalc: @ 802AD70 .align 2, 0 _0802AD98: .4byte gMoveResultFlags _0802AD9C: .4byte gDisableStructs -_0802ADA0: .4byte sBattler_AI +_0802ADA0: .4byte gBattlerAttacker _0802ADA4: .4byte gUnknown_2023D74 _0802ADA8: .4byte gUnknown_81D6960 _0802ADAC: ldr r5, _0802AE0C @ =gDisableStructs - ldr r4, _0802AE10 @ =sBattler_AI + ldr r4, _0802AE10 @ =gBattlerAttacker ldrb r1, [r4] lsls r0, r1, 3 subs r0, r1 @@ -26903,7 +26903,7 @@ _0802AE04: bx r0 .align 2, 0 _0802AE0C: .4byte gDisableStructs -_0802AE10: .4byte sBattler_AI +_0802AE10: .4byte gBattlerAttacker _0802AE14: .4byte gDynamicBasePower _0802AE18: .4byte gBattleMoves _0802AE1C: .4byte gCurrentMove @@ -26925,7 +26925,7 @@ atkB6_happinesstodamagecalculation: @ 802AE24 bne _0802AE64 ldr r4, _0802AE58 @ =gDynamicBasePower ldr r2, _0802AE5C @ =gBattleMons - ldr r0, _0802AE60 @ =sBattler_AI + ldr r0, _0802AE60 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -26938,11 +26938,11 @@ _0802AE50: .4byte gBattleMoves _0802AE54: .4byte gCurrentMove _0802AE58: .4byte gDynamicBasePower _0802AE5C: .4byte gBattleMons -_0802AE60: .4byte sBattler_AI +_0802AE60: .4byte gBattlerAttacker _0802AE64: ldr r4, _0802AE98 @ =gDynamicBasePower ldr r2, _0802AE9C @ =gBattleMons - ldr r0, _0802AEA0 @ =sBattler_AI + ldr r0, _0802AEA0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -26968,7 +26968,7 @@ _0802AE7A: .align 2, 0 _0802AE98: .4byte gDynamicBasePower _0802AE9C: .4byte gBattleMons -_0802AEA0: .4byte sBattler_AI +_0802AEA0: .4byte gBattlerAttacker _0802AEA4: .4byte gUnknown_2023D74 thumb_func_end atkB6_happinesstodamagecalculation @@ -27076,7 +27076,7 @@ _0802AF70: .4byte gUnknown_81D7DB7 thumb_func_start atkB8_setsafeguard atkB8_setsafeguard: @ 802AF74 push {r4-r7,lr} - ldr r7, _0802AFA8 @ =sBattler_AI + ldr r7, _0802AFA8 @ =gBattlerAttacker ldrb r0, [r7] bl GetBattlerPosition ldr r4, _0802AFAC @ =gSideAffecting @@ -27100,7 +27100,7 @@ atkB8_setsafeguard: @ 802AF74 strb r0, [r1, 0x5] b _0802B000 .align 2, 0 -_0802AFA8: .4byte sBattler_AI +_0802AFA8: .4byte gBattlerAttacker _0802AFAC: .4byte gSideAffecting _0802AFB0: .4byte gMoveResultFlags _0802AFB4: .4byte gUnknown_2023E82 @@ -27251,7 +27251,7 @@ _0802B0B4: cmp r2, r3 bcs _0802B10C adds r4, r6, 0 - ldr r0, _0802B134 @ =sBattler_AI + ldr r0, _0802B134 @ =gBattlerAttacker ldrb r5, [r0] ldr r1, _0802B138 @ =gBitTable mov r12, r1 @@ -27291,7 +27291,7 @@ _0802B124: .4byte gBattleTextBuff1 _0802B128: .4byte gBattlerTarget _0802B12C: .4byte gBattlersCount _0802B130: .4byte gUnknown_2023D74 -_0802B134: .4byte sBattler_AI +_0802B134: .4byte gBattlerAttacker _0802B138: .4byte gBitTable _0802B13C: .4byte gAbsentBattlerFlags thumb_func_end atkB9_magnitudedamagecalculation @@ -27307,7 +27307,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 ldrb r0, [r0] cmp r0, 0x1 bne _0802B170 - ldr r0, _0802B168 @ =sBattler_AI + ldr r0, _0802B168 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27317,12 +27317,12 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 b _0802B18A .align 2, 0 _0802B164: .4byte gUnknown_2023D72 -_0802B168: .4byte sBattler_AI +_0802B168: .4byte gBattlerAttacker _0802B16C: movs r0, 0 b _0802B18A _0802B170: - ldr r0, _0802B184 @ =sBattler_AI + ldr r0, _0802B184 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -27331,7 +27331,7 @@ _0802B170: movs r0, 0x3 b _0802B18A .align 2, 0 -_0802B184: .4byte sBattler_AI +_0802B184: .4byte gBattlerAttacker _0802B188: movs r0, 0x2 _0802B18A: @@ -27347,7 +27347,7 @@ _0802B18A: beq _0802B1A2 b _0802B2A8 _0802B1A2: - ldr r5, _0802B26C @ =sBattler_AI + ldr r5, _0802B26C @ =gBattlerAttacker ldr r0, _0802B270 @ =gBattleStruct ldr r1, [r0] adds r1, r3, r1 @@ -27450,7 +27450,7 @@ _0802B22E: .align 2, 0 _0802B264: .4byte gBattlerTarget _0802B268: .4byte gUnknown_2023D7C -_0802B26C: .4byte sBattler_AI +_0802B26C: .4byte gBattlerAttacker _0802B270: .4byte gBattleStruct _0802B274: .4byte gBattleMons _0802B278: .4byte gDisableStructs @@ -27540,7 +27540,7 @@ _0802B328: .4byte gUnknown_2023D74 atkBC_maxattackhalvehp: @ 802B32C push {r4,r5,lr} ldr r5, _0802B378 @ =gBattleMons - ldr r4, _0802B37C @ =sBattler_AI + ldr r4, _0802B37C @ =gBattlerAttacker ldrb r0, [r4] movs r3, 0x58 muls r0, r3 @@ -27579,7 +27579,7 @@ _0802B36C: b _0802B3A2 .align 2, 0 _0802B378: .4byte gBattleMons -_0802B37C: .4byte sBattler_AI +_0802B37C: .4byte gBattlerAttacker _0802B380: .4byte gBattleMoveDamage _0802B384: .4byte gUnknown_2023D74 _0802B388: @@ -27609,7 +27609,7 @@ atkBD_copyfoestats: @ 802B3AC push {r4-r7,lr} movs r2, 0 ldr r7, _0802B3E4 @ =gUnknown_2023D74 - ldr r6, _0802B3E8 @ =sBattler_AI + ldr r6, _0802B3E8 @ =gBattlerAttacker movs r4, 0x58 ldr r3, _0802B3EC @ =gUnknown_2023BFC ldr r5, _0802B3F0 @ =gBattlerTarget @@ -27636,7 +27636,7 @@ _0802B3BA: bx r0 .align 2, 0 _0802B3E4: .4byte gUnknown_2023D74 -_0802B3E8: .4byte sBattler_AI +_0802B3E8: .4byte gBattlerAttacker _0802B3EC: .4byte gUnknown_2023BFC _0802B3F0: .4byte gBattlerTarget thumb_func_end atkBD_copyfoestats @@ -27645,7 +27645,7 @@ _0802B3F0: .4byte gBattlerTarget atkBE_rapidspinfree: @ 802B3F4 push {r4-r6,lr} ldr r1, _0802B464 @ =gBattleMons - ldr r5, _0802B468 @ =sBattler_AI + ldr r5, _0802B468 @ =gBattlerAttacker ldrb r2, [r5] movs r6, 0x58 adds r0, r2, 0 @@ -27700,7 +27700,7 @@ atkBE_rapidspinfree: @ 802B3F4 b _0802B532 .align 2, 0 _0802B464: .4byte gBattleMons -_0802B468: .4byte sBattler_AI +_0802B468: .4byte gBattlerAttacker _0802B46C: .4byte gBattleScripting _0802B470: .4byte gBattlerTarget _0802B474: .4byte 0xffff1fff @@ -27795,7 +27795,7 @@ _0802B53C: .4byte gUnknown_2023D74 thumb_func_start atkBF_setdefensecurlbit atkBF_setdefensecurlbit: @ 802B540 ldr r1, _0802B564 @ =gBattleMons - ldr r0, _0802B568 @ =sBattler_AI + ldr r0, _0802B568 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r2, r0 @@ -27813,7 +27813,7 @@ atkBF_setdefensecurlbit: @ 802B540 bx lr .align 2, 0 _0802B564: .4byte gBattleMons -_0802B568: .4byte sBattler_AI +_0802B568: .4byte gBattlerAttacker _0802B56C: .4byte gUnknown_2023D74 thumb_func_end atkBF_setdefensecurlbit @@ -27822,7 +27822,7 @@ atkC0_recoverbasedonsunlight: @ 802B570 push {r4-r7,lr} sub sp, 0x4 ldr r1, _0802B5DC @ =gBattlerTarget - ldr r5, _0802B5E0 @ =sBattler_AI + ldr r5, _0802B5E0 @ =gBattlerAttacker ldrb r0, [r5] strb r0, [r1] ldr r7, _0802B5E4 @ =gBattleMons @@ -27861,7 +27861,7 @@ atkC0_recoverbasedonsunlight: @ 802B570 _0802B5C2: ldr r3, _0802B5EC @ =gBattleMoveDamage ldr r2, _0802B5E4 @ =gBattleMons - ldr r0, _0802B5E0 @ =sBattler_AI + ldr r0, _0802B5E0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r0, r1 @@ -27873,7 +27873,7 @@ _0802B5C2: b _0802B62A .align 2, 0 _0802B5DC: .4byte gBattlerTarget -_0802B5E0: .4byte sBattler_AI +_0802B5E0: .4byte gBattlerAttacker _0802B5E4: .4byte gBattleMons _0802B5E8: .4byte gBattleWeather _0802B5EC: .4byte gBattleMoveDamage @@ -27955,7 +27955,7 @@ sub_802B678: @ 802B678 mov r6, r8 push {r6,r7} ldr r2, _0802B760 @ =gBattleMons - ldr r0, _0802B764 @ =sBattler_AI + ldr r0, _0802B764 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -28067,7 +28067,7 @@ _0802B742: bx r0 .align 2, 0 _0802B760: .4byte gBattleMons -_0802B764: .4byte sBattler_AI +_0802B764: .4byte gBattlerAttacker _0802B768: .4byte gDynamicBasePower _0802B76C: .4byte gBattleStruct _0802B770: .4byte gUnknown_2023D74 @@ -28089,7 +28089,7 @@ atkC2_selectfirstvalidtarget: @ 802B774 cmp r1, 0 beq _0802B7BE adds r3, r6, 0 - ldr r0, _0802B7DC @ =sBattler_AI + ldr r0, _0802B7DC @ =gBattlerAttacker ldrb r5, [r0] ldr r0, _0802B7E0 @ =gBitTable mov r12, r0 @@ -28128,7 +28128,7 @@ _0802B7BE: _0802B7D0: .4byte gBattlerTarget _0802B7D4: .4byte gBattlersCount _0802B7D8: .4byte gUnknown_2023D74 -_0802B7DC: .4byte sBattler_AI +_0802B7DC: .4byte gBattlerAttacker _0802B7E0: .4byte gBitTable _0802B7E4: .4byte gAbsentBattlerFlags thumb_func_end atkC2_selectfirstvalidtarget @@ -28180,7 +28180,7 @@ _0802B82C: adds r0, 0x4 ldrb r4, [r7] adds r0, r4 - ldr r5, _0802B8D0 @ =sBattler_AI + ldr r5, _0802B8D0 @ =gBattlerAttacker ldrb r1, [r5] strb r1, [r0] ldrb r0, [r7] @@ -28248,7 +28248,7 @@ _0802B8BA: b _0802B8EE .align 2, 0 _0802B8CC: .4byte gCurrentMove -_0802B8D0: .4byte sBattler_AI +_0802B8D0: .4byte gBattlerAttacker _0802B8D4: .4byte gSideAffecting _0802B8D8: .4byte gBattleMons _0802B8DC: .4byte gUnknown_2023E8C @@ -28283,7 +28283,7 @@ atkC4_trydobeatup: @ 802B910 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _0802B954 @ =sBattler_AI + ldr r0, _0802B954 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -28313,7 +28313,7 @@ _0802B92A: ldrb r0, [r2, 0x4] b _0802BB08 .align 2, 0 -_0802B954: .4byte sBattler_AI +_0802B954: .4byte gBattlerAttacker _0802B958: .4byte gEnemyParty _0802B95C: .4byte gPlayerParty _0802B960: .4byte gBattleMons @@ -28380,7 +28380,7 @@ _0802B9D0: strb r0, [r1] movs r0, 0x4 strb r0, [r1, 0x1] - ldr r6, _0802BAB0 @ =sBattler_AI + ldr r6, _0802BAB0 @ =gBattlerAttacker ldrb r0, [r6] strb r0, [r1, 0x2] strb r2, [r1, 0x3] @@ -28475,7 +28475,7 @@ _0802BA9C: .align 2, 0 _0802BAA8: .4byte gUnknown_2023E82 _0802BAAC: .4byte gBattleTextBuff1 -_0802BAB0: .4byte sBattler_AI +_0802BAB0: .4byte gBattlerAttacker _0802BAB4: .4byte gUnknown_2023D74 _0802BAB8: .4byte gBattleMoveDamage _0802BABC: .4byte gBaseStats @@ -28550,7 +28550,7 @@ _0802BB38: bne _0802BB8C _0802BB44: ldr r2, _0802BB58 @ =gStatuses3 - ldr r0, _0802BB5C @ =sBattler_AI + ldr r0, _0802BB5C @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28560,10 +28560,10 @@ _0802BB44: .align 2, 0 _0802BB54: .4byte 0x00000123 _0802BB58: .4byte gStatuses3 -_0802BB5C: .4byte sBattler_AI +_0802BB5C: .4byte gBattlerAttacker _0802BB60: ldr r2, _0802BB70 @ =gStatuses3 - ldr r0, _0802BB74 @ =sBattler_AI + ldr r0, _0802BB74 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28572,10 +28572,10 @@ _0802BB60: b _0802BB88 .align 2, 0 _0802BB70: .4byte gStatuses3 -_0802BB74: .4byte sBattler_AI +_0802BB74: .4byte gBattlerAttacker _0802BB78: ldr r2, _0802BB98 @ =gStatuses3 - ldr r0, _0802BB9C @ =sBattler_AI + ldr r0, _0802BB9C @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28594,7 +28594,7 @@ _0802BB8C: bx r0 .align 2, 0 _0802BB98: .4byte gStatuses3 -_0802BB9C: .4byte sBattler_AI +_0802BB9C: .4byte gBattlerAttacker _0802BBA0: .4byte gUnknown_2023D74 thumb_func_end atkC5_setsemiinvulnerablebit @@ -28621,7 +28621,7 @@ _0802BBBC: bne _0802BC16 _0802BBC8: ldr r2, _0802BBE0 @ =gStatuses3 - ldr r0, _0802BBE4 @ =sBattler_AI + ldr r0, _0802BBE4 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28632,10 +28632,10 @@ _0802BBC8: .align 2, 0 _0802BBDC: .4byte 0x00000123 _0802BBE0: .4byte gStatuses3 -_0802BBE4: .4byte sBattler_AI +_0802BBE4: .4byte gBattlerAttacker _0802BBE8: ldr r2, _0802BBFC @ =gStatuses3 - ldr r0, _0802BC00 @ =sBattler_AI + ldr r0, _0802BC00 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28645,10 +28645,10 @@ _0802BBE8: b _0802BC12 .align 2, 0 _0802BBFC: .4byte gStatuses3 -_0802BC00: .4byte sBattler_AI +_0802BC00: .4byte gBattlerAttacker _0802BC04: ldr r2, _0802BC24 @ =gStatuses3 - ldr r0, _0802BC28 @ =sBattler_AI + ldr r0, _0802BC28 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28666,7 +28666,7 @@ _0802BC16: bx r0 .align 2, 0 _0802BC24: .4byte gStatuses3 -_0802BC28: .4byte sBattler_AI +_0802BC28: .4byte gBattlerAttacker _0802BC2C: .4byte 0xfffbffff _0802BC30: .4byte gUnknown_2023D74 thumb_func_end atkC6_clearsemiinvulnerablebit @@ -28682,7 +28682,7 @@ atkC7_setminimize: @ 802BC34 cmp r0, 0 beq _0802BC58 ldr r2, _0802BC68 @ =gStatuses3 - ldr r0, _0802BC6C @ =sBattler_AI + ldr r0, _0802BC6C @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 2 adds r1, r2 @@ -28701,7 +28701,7 @@ _0802BC58: .align 2, 0 _0802BC64: .4byte gUnknown_2023DD0 _0802BC68: .4byte gStatuses3 -_0802BC6C: .4byte sBattler_AI +_0802BC6C: .4byte gBattlerAttacker _0802BC70: .4byte gUnknown_2023D74 thumb_func_end atkC7_setminimize @@ -28792,7 +28792,7 @@ _0802BD18: .4byte gUnknown_2023E82 _0802BD1C: .4byte gUnknown_2023D74 _0802BD20: ldr r4, _0802BD54 @ =gActiveBattler - ldr r0, _0802BD58 @ =sBattler_AI + ldr r0, _0802BD58 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldr r2, _0802BD5C @ =gBattleMoveDamage @@ -28804,7 +28804,7 @@ _0802BD20: str r0, [r2] ldr r1, _0802BD60 @ =0x00007fff movs r0, 0 - bl EmitHealthBarUpdate + bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _0802BD64 @ =gUnknown_2023D74 @@ -28817,7 +28817,7 @@ _0802BD4C: bx r0 .align 2, 0 _0802BD54: .4byte gActiveBattler -_0802BD58: .4byte sBattler_AI +_0802BD58: .4byte gBattlerAttacker _0802BD5C: .4byte gBattleMoveDamage _0802BD60: .4byte 0x00007fff _0802BD64: .4byte gUnknown_2023D74 @@ -28826,7 +28826,7 @@ _0802BD64: .4byte gUnknown_2023D74 thumb_func_start atkCA_setforcedtarget atkCA_setforcedtarget: @ 802BD68 push {r4,r5,lr} - ldr r4, _0802BDA8 @ =sBattler_AI + ldr r4, _0802BDA8 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide ldr r5, _0802BDAC @ =gSideTimers @@ -28856,7 +28856,7 @@ atkCA_setforcedtarget: @ 802BD68 pop {r0} bx r0 .align 2, 0 -_0802BDA8: .4byte sBattler_AI +_0802BDA8: .4byte gBattlerAttacker _0802BDAC: .4byte gSideTimers _0802BDB0: .4byte gUnknown_2023D74 thumb_func_end atkCA_setforcedtarget @@ -28865,7 +28865,7 @@ _0802BDB0: .4byte gUnknown_2023D74 atkCB_setcharge: @ 802BDB4 push {r4,lr} ldr r0, _0802BE08 @ =gStatuses3 - ldr r3, _0802BE0C @ =sBattler_AI + ldr r3, _0802BE0C @ =gBattlerAttacker ldrb r1, [r3] lsls r1, 2 adds r1, r0 @@ -28907,7 +28907,7 @@ atkCB_setcharge: @ 802BDB4 bx r0 .align 2, 0 _0802BE08: .4byte gStatuses3 -_0802BE0C: .4byte sBattler_AI +_0802BE0C: .4byte gBattlerAttacker _0802BE10: .4byte gDisableStructs _0802BE14: .4byte gUnknown_2023D74 thumb_func_end atkCB_setcharge @@ -28969,7 +28969,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C push {r4-r6,lr} sub sp, 0x4 ldr r1, _0802BED8 @ =gBattleMons - ldr r3, _0802BEDC @ =sBattler_AI + ldr r3, _0802BEDC @ =gBattlerAttacker ldrb r0, [r3] movs r6, 0x58 muls r0, r6 @@ -28998,13 +28998,13 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution b _0802BF02 .align 2, 0 _0802BED8: .4byte gBattleMons -_0802BEDC: .4byte sBattler_AI +_0802BEDC: .4byte gBattlerAttacker _0802BEE0: .4byte gUnknown_2023D74 _0802BEE4: .4byte gActiveBattler _0802BEE8: @@ -29081,7 +29081,7 @@ _0802BF64: .4byte gUnknown_2023D74 atkCF_jumpifnodamage: @ 802BF68 push {lr} ldr r2, _0802BF94 @ =gUnknown_2023E8C - ldr r0, _0802BF98 @ =sBattler_AI + ldr r0, _0802BF98 @ =gBattlerAttacker ldrb r0, [r0] lsls r1, r0, 4 adds r0, r2, 0x4 @@ -29103,7 +29103,7 @@ _0802BF88: b _0802BFBA .align 2, 0 _0802BF94: .4byte gUnknown_2023E8C -_0802BF98: .4byte sBattler_AI +_0802BF98: .4byte gBattlerAttacker _0802BF9C: .4byte gUnknown_2023D74 _0802BFA0: ldr r3, _0802BFC0 @ =gUnknown_2023D74 @@ -29191,7 +29191,7 @@ _0802C034: .4byte gUnknown_2023D74 thumb_func_start atkD1_trysethelpinghand atkD1_trysethelpinghand: @ 802C038 push {r4,lr} - ldr r4, _0802C0A0 @ =sBattler_AI + ldr r4, _0802C0A0 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerPosition movs r1, 0x2 @@ -29240,7 +29240,7 @@ atkD1_trysethelpinghand: @ 802C038 str r0, [r1] b _0802C0D6 .align 2, 0 -_0802C0A0: .4byte sBattler_AI +_0802C0A0: .4byte gBattlerAttacker _0802C0A4: .4byte gBattlerTarget _0802C0A8: .4byte gBattleTypeFlags _0802C0AC: .4byte gAbsentBattlerFlags @@ -29284,7 +29284,7 @@ sub_802C0E0: @ 802C0E0 ands r0, r1 cmp r0, 0 bne _0802C1DE - ldr r0, _0802C200 @ =sBattler_AI + ldr r0, _0802C200 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -29303,7 +29303,7 @@ sub_802C0E0: @ 802C0E0 cmp r1, r0 bne _0802C1DE _0802C120: - ldr r6, _0802C200 @ =sBattler_AI + ldr r6, _0802C200 @ =gBattlerAttacker ldrb r0, [r6] bl GetBattlerSide lsls r0, 24 @@ -29357,7 +29357,7 @@ _0802C120: _0802C18A: ldr r0, _0802C21C @ =gBattleMons mov r8, r0 - ldr r1, _0802C200 @ =sBattler_AI + ldr r1, _0802C200 @ =gBattlerAttacker ldrb r4, [r1] movs r5, 0x58 adds r0, r4, 0 @@ -29415,7 +29415,7 @@ _0802C1DE: b _0802C37A .align 2, 0 _0802C1FC: .4byte gBattleTypeFlags -_0802C200: .4byte sBattler_AI +_0802C200: .4byte gBattlerAttacker _0802C204: .4byte 0x00000902 _0802C208: .4byte gTrainerBattleOpponent_A _0802C20C: .4byte gBattlerTarget @@ -29459,7 +29459,7 @@ _0802C258: ldrh r0, [r0, 0x2E] mov r9, r0 strh r2, [r6] - ldr r1, _0802C348 @ =sBattler_AI + ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] muls r0, r5 add r0, r8 @@ -29471,7 +29471,7 @@ _0802C258: mov r2, r9 strh r2, [r0, 0x2E] ldr r4, _0802C34C @ =gActiveBattler - ldr r3, _0802C348 @ =sBattler_AI + ldr r3, _0802C348 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r4] str r6, [sp] @@ -29479,8 +29479,8 @@ _0802C258: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData - ldr r1, _0802C348 @ =sBattler_AI + bl BtlController_EmitSetMonData + ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] bl MarkBufferBankForExecution ldrb r0, [r7] @@ -29495,7 +29495,7 @@ _0802C258: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldrb r0, [r7] @@ -29512,14 +29512,14 @@ _0802C258: adds r0, r1 adds r0, 0xC9 strb r3, [r0] - ldr r1, _0802C348 @ =sBattler_AI + ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] ldr r1, [r2] lsls r0, 1 adds r0, r1 adds r0, 0xC8 strb r3, [r0] - ldr r2, _0802C348 @ =sBattler_AI + ldr r2, _0802C348 @ =gBattlerAttacker ldrb r0, [r2] mov r3, r10 ldr r1, [r3] @@ -29565,7 +29565,7 @@ _0802C258: b _0802C378 .align 2, 0 _0802C344: .4byte gBattleStruct -_0802C348: .4byte sBattler_AI +_0802C348: .4byte gBattlerAttacker _0802C34C: .4byte gActiveBattler _0802C350: .4byte gUnknown_2023D74 _0802C354: .4byte gBattleTextBuff1 @@ -29615,7 +29615,7 @@ atkD3_trycopyability: @ 802C390 beq _0802C3E4 cmp r0, 0x19 beq _0802C3E4 - ldr r0, _0802C3D8 @ =sBattler_AI + ldr r0, _0802C3D8 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r2 adds r0, r3 @@ -29636,7 +29636,7 @@ atkD3_trycopyability: @ 802C390 .align 2, 0 _0802C3D0: .4byte gBattleMons _0802C3D4: .4byte gBattlerTarget -_0802C3D8: .4byte sBattler_AI +_0802C3D8: .4byte gBattlerAttacker _0802C3DC: .4byte gLastUsedAbility _0802C3E0: .4byte gUnknown_2023D74 _0802C3E4: @@ -29676,7 +29676,7 @@ atkD4_trywish: @ 802C408 _0802C41C: .4byte gUnknown_2023D74 _0802C420: ldr r1, _0802C44C @ =gUnknown_2023F20 - ldr r4, _0802C450 @ =sBattler_AI + ldr r4, _0802C450 @ =gBattlerAttacker adds r0, r1, 0 adds r0, 0x20 ldrb r5, [r4] @@ -29699,7 +29699,7 @@ _0802C420: b _0802C4D2 .align 2, 0 _0802C44C: .4byte gUnknown_2023F20 -_0802C450: .4byte sBattler_AI +_0802C450: .4byte gBattlerAttacker _0802C454: .4byte gBattlerPartyIndexes _0802C458: ldr r1, _0802C4BC @ =gBattleTextBuff1 @@ -29774,7 +29774,7 @@ _0802C4D4: atkD5_trysetroots: @ 802C4DC push {lr} ldr r1, _0802C514 @ =gStatuses3 - ldr r0, _0802C518 @ =sBattler_AI + ldr r0, _0802C518 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -29801,7 +29801,7 @@ atkD5_trysetroots: @ 802C4DC b _0802C52C .align 2, 0 _0802C514: .4byte gStatuses3 -_0802C518: .4byte sBattler_AI +_0802C518: .4byte gBattlerAttacker _0802C51C: .4byte gUnknown_2023D74 _0802C520: orrs r1, r3 @@ -29821,7 +29821,7 @@ _0802C530: .4byte gUnknown_2023D74 atkD6_doubledamagedealtifdamaged: @ 802C534 push {lr} ldr r3, _0802C580 @ =gUnknown_2023E8C - ldr r0, _0802C584 @ =sBattler_AI + ldr r0, _0802C584 @ =gBattlerAttacker ldrb r0, [r0] lsls r2, r0, 4 adds r0, r3, 0x4 @@ -29861,7 +29861,7 @@ _0802C572: bx r0 .align 2, 0 _0802C580: .4byte gUnknown_2023E8C -_0802C584: .4byte sBattler_AI +_0802C584: .4byte gBattlerAttacker _0802C588: .4byte gBattlerTarget _0802C58C: .4byte gBattleScripting _0802C590: .4byte gUnknown_2023D74 @@ -29935,7 +29935,7 @@ atkD8_setdamagetohealthdifference: @ 802C604 movs r1, 0x58 muls r0, r1 adds r3, r0, r2 - ldr r0, _0802C648 @ =sBattler_AI + ldr r0, _0802C648 @ =gBattlerAttacker ldrb r0, [r0] muls r0, r1 adds r1, r0, r2 @@ -29960,7 +29960,7 @@ atkD8_setdamagetohealthdifference: @ 802C604 .align 2, 0 _0802C640: .4byte gBattleMons _0802C644: .4byte gBattlerTarget -_0802C648: .4byte sBattler_AI +_0802C648: .4byte gBattlerAttacker _0802C64C: .4byte gUnknown_2023D74 _0802C650: ldr r2, _0802C668 @ =gBattleMoveDamage @@ -29996,7 +29996,7 @@ atkD9_scaledamagebyhealthratio: @ 802C670 adds r0, r2 ldrb r3, [r0, 0x1] ldr r2, _0802C6C8 @ =gBattleMons - ldr r0, _0802C6CC @ =sBattler_AI + ldr r0, _0802C6CC @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -30024,7 +30024,7 @@ _0802C6BC: .4byte gDynamicBasePower _0802C6C0: .4byte gBattleMoves _0802C6C4: .4byte gCurrentMove _0802C6C8: .4byte gBattleMons -_0802C6CC: .4byte sBattler_AI +_0802C6CC: .4byte gBattlerAttacker _0802C6D0: .4byte gUnknown_2023D74 thumb_func_end atkD9_scaledamagebyhealthratio @@ -30032,7 +30032,7 @@ _0802C6D0: .4byte gUnknown_2023D74 atkDA_tryswapabilities: @ 802C6D4 push {r4-r6,lr} ldr r5, _0802C738 @ =gBattleMons - ldr r0, _0802C73C @ =sBattler_AI + ldr r0, _0802C73C @ =gBattlerAttacker ldrb r0, [r0] movs r4, 0x58 muls r0, r4 @@ -30084,7 +30084,7 @@ _0802C71C: b _0802C762 .align 2, 0 _0802C738: .4byte gBattleMons -_0802C73C: .4byte sBattler_AI +_0802C73C: .4byte gBattlerAttacker _0802C740: .4byte gBattlerTarget _0802C744: .4byte gMoveResultFlags _0802C748: .4byte gUnknown_2023D74 @@ -30115,7 +30115,7 @@ atkDB_tryimprision: @ 802C76C mov r6, r8 push {r6,r7} ldr r1, _0802C78C @ =gStatuses3 - ldr r4, _0802C790 @ =sBattler_AI + ldr r4, _0802C790 @ =gBattlerAttacker ldrb r2, [r4] lsls r0, r2, 2 adds r0, r1 @@ -30128,7 +30128,7 @@ atkDB_tryimprision: @ 802C76C b _0802C83E .align 2, 0 _0802C78C: .4byte gStatuses3 -_0802C790: .4byte sBattler_AI +_0802C790: .4byte gBattlerAttacker _0802C794: ldr r0, _0802C7B4 @ =gStatuses3 mov r2, r9 @@ -30166,7 +30166,7 @@ _0802C7D2: cmp r8, r0 beq _0802C828 movs r4, 0 - ldr r7, _0802C864 @ =sBattler_AI + ldr r7, _0802C864 @ =gBattlerAttacker mov r9, r7 ldr r0, _0802C868 @ =gBattleMons mov r12, r0 @@ -30242,7 +30242,7 @@ _0802C858: pop {r0} bx r0 .align 2, 0 -_0802C864: .4byte sBattler_AI +_0802C864: .4byte gBattlerAttacker _0802C868: .4byte gBattleMons _0802C86C: .4byte gBattlersCount _0802C870: .4byte gUnknown_2023D74 @@ -30252,7 +30252,7 @@ _0802C870: .4byte gUnknown_2023D74 atkDC_trysetgrudge: @ 802C874 push {lr} ldr r1, _0802C8AC @ =gStatuses3 - ldr r0, _0802C8B0 @ =sBattler_AI + ldr r0, _0802C8B0 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -30279,7 +30279,7 @@ atkDC_trysetgrudge: @ 802C874 b _0802C8C4 .align 2, 0 _0802C8AC: .4byte gStatuses3 -_0802C8B0: .4byte sBattler_AI +_0802C8B0: .4byte gBattlerAttacker _0802C8B4: .4byte gUnknown_2023D74 _0802C8B8: orrs r1, r3 @@ -30386,7 +30386,7 @@ atkDE_asistattackselect: @ 802C964 ldr r0, [r0] adds r0, 0x18 str r0, [sp, 0x4] - ldr r0, _0802CA88 @ =sBattler_AI + ldr r0, _0802CA88 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition movs r1, 0x1 @@ -30401,7 +30401,7 @@ _0802C994: movs r2, 0 _0802C996: ldr r1, _0802CA94 @ =gBattlerPartyIndexes - ldr r0, _0802CA88 @ =sBattler_AI + ldr r0, _0802CA88 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -30520,7 +30520,7 @@ _0802CA3C: b _0802CACE .align 2, 0 _0802CA84: .4byte gBattleStruct -_0802CA88: .4byte sBattler_AI +_0802CA88: .4byte gBattlerAttacker _0802CA8C: .4byte gPlayerParty _0802CA90: .4byte gEnemyParty _0802CA94: .4byte gBattlerPartyIndexes @@ -30562,7 +30562,7 @@ _0802CAE0: .4byte gUnknown_2023D74 atkDF_trysetmagiccoat: @ 802CAE4 push {lr} ldr r1, _0802CB2C @ =gBattlerTarget - ldr r3, _0802CB30 @ =sBattler_AI + ldr r3, _0802CB30 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] ldr r2, _0802CB34 @ =gUnknown_2023ECC @@ -30598,7 +30598,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 b _0802CB5C .align 2, 0 _0802CB2C: .4byte gBattlerTarget -_0802CB30: .4byte sBattler_AI +_0802CB30: .4byte gBattlerAttacker _0802CB34: .4byte gUnknown_2023ECC _0802CB38: .4byte gUnknown_2023BE2 _0802CB3C: .4byte gBattlersCount @@ -30628,7 +30628,7 @@ _0802CB64: .4byte gUnknown_2023D74 atkE0_trysetsnatch: @ 802CB68 push {lr} ldr r2, _0802CBAC @ =gUnknown_2023ECC - ldr r3, _0802CBB0 @ =sBattler_AI + ldr r3, _0802CBB0 @ =gBattlerAttacker ldrb r1, [r3] lsls r0, r1, 2 adds r0, r1 @@ -30661,7 +30661,7 @@ atkE0_trysetsnatch: @ 802CB68 b _0802CBD6 .align 2, 0 _0802CBAC: .4byte gUnknown_2023ECC -_0802CBB0: .4byte sBattler_AI +_0802CBB0: .4byte gBattlerAttacker _0802CBB4: .4byte gUnknown_2023BE2 _0802CBB8: .4byte gBattlersCount _0802CBBC: .4byte gUnknown_2023D74 @@ -30834,7 +30834,7 @@ atkE2_switchoutabilities: @ 802CCC0 movs r0, 0 movs r1, 0x28 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _0802CD1A: @@ -31132,7 +31132,7 @@ _0802CF60: ldrb r2, [r0] movs r0, 0 movs r1, 0 - bl EmitBattleAnimation + bl BtlController_EmitBattleAnimation ldrb r0, [r4] bl MarkBufferBankForExecution ldr r1, _0802CF94 @ =gUnknown_2023D74 @@ -31197,7 +31197,7 @@ atkE8_settypebasedhalvers: @ 802CFD8 cmp r0, 0xC9 bne _0802D028 ldr r1, _0802D01C @ =gStatuses3 - ldr r0, _0802D020 @ =sBattler_AI + ldr r0, _0802D020 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -31217,11 +31217,11 @@ atkE8_settypebasedhalvers: @ 802CFD8 _0802D014: .4byte gBattleMoves _0802D018: .4byte gCurrentMove _0802D01C: .4byte gStatuses3 -_0802D020: .4byte sBattler_AI +_0802D020: .4byte gBattlerAttacker _0802D024: .4byte gUnknown_2023E82 _0802D028: ldr r1, _0802D05C @ =gStatuses3 - ldr r0, _0802D060 @ =sBattler_AI + ldr r0, _0802D060 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 2 adds r2, r0, r1 @@ -31249,7 +31249,7 @@ _0802D050: b _0802D086 .align 2, 0 _0802D05C: .4byte gStatuses3 -_0802D060: .4byte sBattler_AI +_0802D060: .4byte gBattlerAttacker _0802D064: .4byte gUnknown_2023E82 _0802D068: .4byte gUnknown_2023D74 _0802D06C: @@ -31376,7 +31376,7 @@ atkEA_tryrecycleitem: @ 802D148 push {r4-r7,lr} sub sp, 0x4 ldr r7, _0802D1B0 @ =gActiveBattler - ldr r0, _0802D1B4 @ =sBattler_AI + ldr r0, _0802D1B4 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r7] ldr r1, _0802D1B8 @ =gBattleStruct @@ -31396,7 +31396,7 @@ atkEA_tryrecycleitem: @ 802D148 ldrh r0, [r0, 0x2E] cmp r0, 0 bne _0802D1C8 - ldr r1, _0802D1C0 @ =gUnknown_2023D68 + ldr r1, _0802D1C0 @ =gLastUsedItem strh r5, [r1] strh r0, [r6] ldrb r0, [r7] @@ -31414,7 +31414,7 @@ atkEA_tryrecycleitem: @ 802D148 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r7] bl MarkBufferBankForExecution ldr r1, _0802D1C4 @ =gUnknown_2023D74 @@ -31424,10 +31424,10 @@ atkEA_tryrecycleitem: @ 802D148 b _0802D1E2 .align 2, 0 _0802D1B0: .4byte gActiveBattler -_0802D1B4: .4byte sBattler_AI +_0802D1B4: .4byte gBattlerAttacker _0802D1B8: .4byte gBattleStruct _0802D1BC: .4byte gBattleMons -_0802D1C0: .4byte gUnknown_2023D68 +_0802D1C0: .4byte gLastUsedItem _0802D1C4: .4byte gUnknown_2023D74 _0802D1C8: ldr r3, _0802D1EC @ =gUnknown_2023D74 @@ -31459,7 +31459,7 @@ atkEB_settypetoterrain: @ 802D1F0 push {r7} ldr r0, _0802D260 @ =gBattleMons mov r8, r0 - ldr r7, _0802D264 @ =sBattler_AI + ldr r7, _0802D264 @ =gBattlerAttacker ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -31512,7 +31512,7 @@ atkEB_settypetoterrain: @ 802D1F0 b _0802D292 .align 2, 0 _0802D260: .4byte gBattleMons -_0802D264: .4byte sBattler_AI +_0802D264: .4byte gBattlerAttacker _0802D268: .4byte gUnknown_8250888 _0802D26C: .4byte gUnknown_2022B50 _0802D270: .4byte gBattleTextBuff1 @@ -31544,7 +31544,7 @@ _0802D29C: .4byte gUnknown_2023D74 thumb_func_start atkEC_pursuitrelated atkEC_pursuitrelated: @ 802D2A0 push {r4-r6,lr} - ldr r5, _0802D314 @ =sBattler_AI + ldr r5, _0802D314 @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition movs r1, 0x2 @@ -31600,7 +31600,7 @@ atkEC_pursuitrelated: @ 802D2A0 strb r0, [r5] b _0802D35A .align 2, 0 -_0802D314: .4byte sBattler_AI +_0802D314: .4byte gBattlerAttacker _0802D318: .4byte gActiveBattler _0802D31C: .4byte gBattleTypeFlags _0802D320: .4byte gAbsentBattlerFlags @@ -31636,8 +31636,8 @@ _0802D360: .4byte gUnknown_2023D74 thumb_func_start atkEF_snatchsetbanks atkEF_snatchsetbanks: @ 802D364 push {r4,lr} - ldr r1, _0802D388 @ =gUnknown_2023D6E - ldr r3, _0802D38C @ =sBattler_AI + ldr r1, _0802D388 @ =gEffectBattler + ldr r3, _0802D38C @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] ldr r2, _0802D390 @ =gBattlerTarget @@ -31653,8 +31653,8 @@ atkEF_snatchsetbanks: @ 802D364 strb r0, [r3] b _0802D39E .align 2, 0 -_0802D388: .4byte gUnknown_2023D6E -_0802D38C: .4byte sBattler_AI +_0802D388: .4byte gEffectBattler +_0802D38C: .4byte gBattlerAttacker _0802D390: .4byte gBattlerTarget _0802D394: .4byte gBattleScripting _0802D398: @@ -31679,7 +31679,7 @@ _0802D3B4: .4byte gUnknown_2023D74 thumb_func_start atkEE_removelightscreenreflect atkEE_removelightscreenreflect: @ 802D3B8 push {r4,lr} - ldr r0, _0802D400 @ =sBattler_AI + ldr r0, _0802D400 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide movs r1, 0x1 @@ -31715,7 +31715,7 @@ _0802D3E0: strb r0, [r1, 0x19] b _0802D41E .align 2, 0 -_0802D400: .4byte sBattler_AI +_0802D400: .4byte gBattlerAttacker _0802D404: .4byte gSideTimers _0802D408: .4byte gSideAffecting _0802D40C: .4byte 0x0000fffe @@ -31749,7 +31749,7 @@ sub_802D434: @ 802D434 b _0802D7EE _0802D442: ldr r5, _0802D478 @ =gActiveBattler - ldr r0, _0802D47C @ =sBattler_AI + ldr r0, _0802D47C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] ldr r6, _0802D480 @ =gBattlerTarget @@ -31765,7 +31765,7 @@ _0802D442: beq _0802D490 movs r0, 0 movs r1, 0x6 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _0802D488 @ =gUnknown_2023D74 @@ -31774,7 +31774,7 @@ _0802D442: .align 2, 0 _0802D474: .4byte gBattleControllerExecFlags _0802D478: .4byte gActiveBattler -_0802D47C: .4byte sBattler_AI +_0802D47C: .4byte gBattlerAttacker _0802D480: .4byte gBattlerTarget _0802D484: .4byte gBattleTypeFlags _0802D488: .4byte gUnknown_2023D74 @@ -31786,7 +31786,7 @@ _0802D490: beq _0802D4B4 movs r0, 0 movs r1, 0x5 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _0802D4AC @ =gUnknown_2023D74 @@ -31803,7 +31803,7 @@ _0802D4B4: beq _0802D4DC movs r0, 0 movs r1, 0x4 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldrb r0, [r5] bl MarkBufferBankForExecution ldr r1, _0802D4D4 @ =gUnknown_2023D74 @@ -31813,7 +31813,7 @@ _0802D4B4: _0802D4D4: .4byte gUnknown_2023D74 _0802D4D8: .4byte gUnknown_81D9A88 _0802D4DC: - ldr r0, _0802D500 @ =gUnknown_2023D68 + ldr r0, _0802D500 @ =gLastUsedItem ldrh r0, [r0] cmp r0, 0x5 bne _0802D508 @@ -31831,7 +31831,7 @@ _0802D4DC: lsrs r5, r0, 24 b _0802D520 .align 2, 0 -_0802D500: .4byte gUnknown_2023D68 +_0802D500: .4byte gLastUsedItem _0802D504: .4byte gBattleStruct _0802D508: ldr r3, _0802D53C @ =gBaseStats @@ -31847,7 +31847,7 @@ _0802D508: adds r0, r3 ldrb r5, [r0, 0x8] _0802D520: - ldr r2, _0802D544 @ =gUnknown_2023D68 + ldr r2, _0802D544 @ =gLastUsedItem ldrh r0, [r2] cmp r0, 0x5 bhi _0802D52A @@ -31866,7 +31866,7 @@ _0802D532: .align 2, 0 _0802D53C: .4byte gBaseStats _0802D540: .4byte gBattleMons -_0802D544: .4byte gUnknown_2023D68 +_0802D544: .4byte gLastUsedItem _0802D548: .4byte _0802D54C .align 2, 0 _0802D54C: @@ -32014,7 +32014,7 @@ _0802D666: bl __udivsi3 adds r6, r0, 0 _0802D67A: - ldr r1, _0802D6A0 @ =gUnknown_2023D68 + ldr r1, _0802D6A0 @ =gLastUsedItem ldrh r0, [r1] cmp r0, 0x5 beq _0802D6BC @@ -32030,7 +32030,7 @@ _0802D67A: _0802D694: .4byte gUnknown_8250892 _0802D698: .4byte gBattleMons _0802D69C: .4byte gBattlerTarget -_0802D6A0: .4byte gUnknown_2023D68 +_0802D6A0: .4byte gLastUsedItem _0802D6A4: .4byte gBattleResults _0802D6A8: ldr r0, _0802D700 @ =gBattleResults @@ -32048,7 +32048,7 @@ _0802D6BC: bls _0802D720 movs r0, 0 movs r1, 0x4 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldr r0, _0802D704 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -32065,7 +32065,7 @@ _0802D6BC: muls r0, r1 ldr r1, _0802D718 @ =gEnemyParty adds r0, r1 - ldr r2, _0802D71C @ =gUnknown_2023D68 + ldr r2, _0802D71C @ =gLastUsedItem movs r1, 0x26 bl SetMonData bl CalculatePlayerPartyCount @@ -32082,7 +32082,7 @@ _0802D70C: .4byte gUnknown_81D9A42 _0802D710: .4byte gBattlerPartyIndexes _0802D714: .4byte gBattlerTarget _0802D718: .4byte gEnemyParty -_0802D71C: .4byte gUnknown_2023D68 +_0802D71C: .4byte gLastUsedItem _0802D720: movs r0, 0xFF lsls r0, 16 @@ -32115,7 +32115,7 @@ _0802D752: cmp r0, r6 bcc _0802D74C _0802D762: - ldr r5, _0802D7B8 @ =gUnknown_2023D68 + ldr r5, _0802D7B8 @ =gLastUsedItem ldrh r0, [r5] cmp r0, 0x1 bne _0802D76C @@ -32123,7 +32123,7 @@ _0802D762: _0802D76C: movs r0, 0 adds r1, r4, 0 - bl EmitBallThrowAnim + bl BtlController_EmitBallThrowAnim ldr r0, _0802D7BC @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -32156,7 +32156,7 @@ _0802D7AE: strb r0, [r1, 0x5] b _0802D7EE .align 2, 0 -_0802D7B8: .4byte gUnknown_2023D68 +_0802D7B8: .4byte gLastUsedItem _0802D7BC: .4byte gActiveBattler _0802D7C0: .4byte gUnknown_2023D74 _0802D7C4: .4byte gUnknown_81D9A42 @@ -32196,7 +32196,7 @@ sub_802D800: @ 802D800 push {r6,r7} ldr r0, _0802D870 @ =gBattlerPartyIndexes mov r9, r0 - ldr r5, _0802D874 @ =sBattler_AI + ldr r5, _0802D874 @ =gBattlerAttacker ldrb r0, [r5] movs r6, 0x1 eors r0, r6 @@ -32241,7 +32241,7 @@ sub_802D800: @ 802D800 b _0802D8D6 .align 2, 0 _0802D870: .4byte gBattlerPartyIndexes -_0802D874: .4byte sBattler_AI +_0802D874: .4byte gBattlerAttacker _0802D878: .4byte gEnemyParty _0802D87C: .4byte gUnknown_2023E82 _0802D880: .4byte gStringVar1 @@ -32291,7 +32291,7 @@ _0802D8D6: _0802D8EA: ldr r2, _0802D944 @ =gBattleResults ldr r3, _0802D948 @ =gBattleMons - ldr r0, _0802D94C @ =sBattler_AI + ldr r0, _0802D94C @ =gBattlerAttacker ldrb r0, [r0] movs r1, 0x1 eors r1, r0 @@ -32330,7 +32330,7 @@ _0802D93C: .4byte gUnknown_2023E82 _0802D940: .4byte 0x00000834 _0802D944: .4byte gBattleResults _0802D948: .4byte gBattleMons -_0802D94C: .4byte sBattler_AI +_0802D94C: .4byte gBattlerAttacker _0802D950: .4byte gBattlerPartyIndexes _0802D954: .4byte gEnemyParty _0802D958: .4byte gUnknown_2023D74 @@ -32955,7 +32955,7 @@ _0802DE40: b _0802DFA6 _0802DE4E: ldr r7, _0802DF00 @ =gBattlerPartyIndexes - ldr r0, _0802DF04 @ =sBattler_AI + ldr r0, _0802DF04 @ =gBattlerAttacker mov r10, r0 ldrb r0, [r0] movs r4, 0x1 @@ -33037,7 +33037,7 @@ _0802DE4E: .align 2, 0 _0802DEFC: .4byte gPaletteFade _0802DF00: .4byte gBattlerPartyIndexes -_0802DF04: .4byte sBattler_AI +_0802DF04: .4byte gBattlerAttacker _0802DF08: .4byte gEnemyParty _0802DF0C: .4byte gBattleStruct _0802DF10: .4byte BattleMainCB2 @@ -33055,7 +33055,7 @@ _0802DF18: cmp r0, 0 bne _0802DFA6 ldr r2, _0802DF60 @ =gBattlerPartyIndexes - ldr r0, _0802DF64 @ =sBattler_AI + ldr r0, _0802DF64 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x1 eors r0, r1 @@ -33077,7 +33077,7 @@ _0802DF54: .4byte gMain _0802DF58: .4byte BattleMainCB2 _0802DF5C: .4byte gPaletteFade _0802DF60: .4byte gBattlerPartyIndexes -_0802DF64: .4byte sBattler_AI +_0802DF64: .4byte gBattlerAttacker _0802DF68: .4byte gEnemyParty _0802DF6C: .4byte gBattleStruct _0802DF70: @@ -33123,7 +33123,7 @@ _0802DFB8: .4byte gUnknown_2023D74 thumb_func_start atkF4_subattackerhpbydmg atkF4_subattackerhpbydmg: @ 802DFBC ldr r2, _0802DFDC @ =gBattleMons - ldr r0, _0802DFE0 @ =sBattler_AI + ldr r0, _0802DFE0 @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -33140,7 +33140,7 @@ atkF4_subattackerhpbydmg: @ 802DFBC bx lr .align 2, 0 _0802DFDC: .4byte gBattleMons -_0802DFE0: .4byte sBattler_AI +_0802DFE0: .4byte gBattlerAttacker _0802DFE4: .4byte gBattleMoveDamage _0802DFE8: .4byte gUnknown_2023D74 thumb_func_end atkF4_subattackerhpbydmg @@ -33148,7 +33148,7 @@ _0802DFE8: .4byte gUnknown_2023D74 thumb_func_start atkF5_removeattackerstatus1 atkF5_removeattackerstatus1: @ 802DFEC ldr r1, _0802E008 @ =gBattleMons - ldr r0, _0802E00C @ =sBattler_AI + ldr r0, _0802E00C @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -33163,7 +33163,7 @@ atkF5_removeattackerstatus1: @ 802DFEC bx lr .align 2, 0 _0802E008: .4byte gBattleMons -_0802E00C: .4byte sBattler_AI +_0802E00C: .4byte gBattlerAttacker _0802E010: .4byte gUnknown_2023D74 thumb_func_end atkF5_removeattackerstatus1 diff --git a/asm/battle_util.s b/asm/battle_util.s index 739f10609..34e4ad428 100644 --- a/asm/battle_util.s +++ b/asm/battle_util.s @@ -42,17 +42,17 @@ _08016E74: .align 2, 0 _08016E7C: .4byte gBattlerTarget _08016E80: - ldr r0, _08016E88 @ =sBattler_AI + ldr r0, _08016E88 @ =gBattlerAttacker ldrb r2, [r0] b _08016EC2 .align 2, 0 -_08016E88: .4byte sBattler_AI +_08016E88: .4byte gBattlerAttacker _08016E8C: - ldr r0, _08016E94 @ =gUnknown_2023D6E + ldr r0, _08016E94 @ =gEffectBattler ldrb r2, [r0] b _08016EC2 .align 2, 0 -_08016E94: .4byte gUnknown_2023D6E +_08016E94: .4byte gEffectBattler _08016E98: movs r2, 0 b _08016EC2 @@ -172,7 +172,7 @@ _08016F26: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _08016F7A: @@ -322,7 +322,7 @@ _08017038: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _080170A0: @@ -459,7 +459,7 @@ _08017146: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _080171AA: @@ -734,7 +734,7 @@ PrepareStringBattle: @ 80173AC strb r1, [r4] movs r0, 0 adds r1, r2, 0 - bl EmitPrintString + bl BtlController_EmitPrintString ldrb r0, [r4] bl MarkBufferBankForExecution pop {r4} @@ -994,7 +994,7 @@ sub_8017594: @ 8017594 push {r7} movs r6, 0 ldr r2, _080176AC @ =gBattleMons - ldr r1, _080176B0 @ =gUnknown_20233C4 + ldr r1, _080176B0 @ =gBattleBufferB ldr r5, _080176B4 @ =gActiveBattler ldrb r3, [r5] lsls r0, r3, 9 @@ -1133,7 +1133,7 @@ _0801768E: b _080176F2 .align 2, 0 _080176AC: .4byte gBattleMons -_080176B0: .4byte gUnknown_20233C4 +_080176B0: .4byte gBattleBufferB _080176B4: .4byte gActiveBattler _080176B8: .4byte gBattleStruct _080176BC: .4byte gDisableStructs @@ -1173,7 +1173,7 @@ _080176F2: beq _0801773A ldr r0, _08017784 @ =gCurrentMove strh r1, [r0] - ldr r2, _08017788 @ =gUnknown_2023D68 + ldr r2, _08017788 @ =gLastUsedItem ldrb r1, [r5] movs r0, 0x58 muls r0, r1 @@ -1190,7 +1190,7 @@ _080176F2: lsls r0, 24 lsrs r6, r0, 24 _0801773A: - ldr r0, _08017794 @ =gUnknown_20233C4 + ldr r0, _08017794 @ =gBattleBufferB ldrb r2, [r5] lsls r1, r2, 9 adds r0, 0x2 @@ -1226,10 +1226,10 @@ _08017778: .4byte gActiveBattler _0801777C: .4byte gBattleMons _08017780: .4byte 0x0000ffff _08017784: .4byte gCurrentMove -_08017788: .4byte gUnknown_2023D68 +_08017788: .4byte gLastUsedItem _0801778C: .4byte gUnknown_2023D80 _08017790: .4byte gUnknown_81D963D -_08017794: .4byte gUnknown_20233C4 +_08017794: .4byte gBattleBufferB _08017798: .4byte gUnknown_81D8EA4 thumb_func_end sub_8017594 @@ -1536,7 +1536,7 @@ sub_8017998: @ 8017998 lsrs r4, 24 adds r0, r4, 0 bl GetBattlerAtPosition - ldr r2, _08017A18 @ =gUnknown_20233C4 + ldr r2, _08017A18 @ =gBattleBufferB ldrb r1, [r5] lsls r1, 9 adds r2, 0x3 @@ -1548,7 +1548,7 @@ _08017A08: .4byte gUnknown_2023E8C _08017A0C: .4byte gUnknown_2023D80 _08017A10: .4byte gUnknown_81D8EA0 _08017A14: .4byte gBattleTypeFlags -_08017A18: .4byte gUnknown_20233C4 +_08017A18: .4byte gBattleBufferB _08017A1C: ldrb r0, [r5] bl GetBattlerPosition @@ -1557,14 +1557,14 @@ _08017A1C: lsls r0, 24 lsrs r0, 24 bl GetBattlerAtPosition - ldr r2, _08017A3C @ =gUnknown_20233C4 + ldr r2, _08017A3C @ =gBattleBufferB ldrb r1, [r5] lsls r1, 9 adds r2, 0x3 adds r1, r2 b _08017A50 .align 2, 0 -_08017A3C: .4byte gUnknown_20233C4 +_08017A3C: .4byte gBattleBufferB _08017A40: ldr r0, _08017A60 @ =gUnknown_2023E8C ldrb r1, [r5] @@ -1681,7 +1681,7 @@ UpdateTurnCounters: @ 8017B04 push {r5-r7} movs r0, 0 mov r9, r0 - ldr r1, _08017BA8 @ =sBattler_AI + ldr r1, _08017BA8 @ =gBattlerAttacker mov r2, r9 strb r2, [r1] ldr r0, _08017BAC @ =gBattlersCount @@ -1762,7 +1762,7 @@ _08017B9E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08017BA8: .4byte sBattler_AI +_08017BA8: .4byte gBattlerAttacker _08017BAC: .4byte gBattlersCount _08017BB0: .4byte gBattlerTarget _08017BB4: .4byte gBattleStruct @@ -1865,7 +1865,7 @@ _08017C84: ldr r3, _08017D20 @ =gActiveBattler mov r8, r3 movs r7, 0 - ldr r6, _08017D24 @ =sBattler_AI + ldr r6, _08017D24 @ =gBattlerAttacker ldr r5, _08017D28 @ =gBattleTextBuff1 _08017C8E: ldr r0, [r1] @@ -1941,7 +1941,7 @@ _08017D14: .4byte gUnknown_2023BDE _08017D18: .4byte gBattlersCount _08017D1C: .4byte gBattleStruct _08017D20: .4byte gActiveBattler -_08017D24: .4byte sBattler_AI +_08017D24: .4byte gBattlerAttacker _08017D28: .4byte gBattleTextBuff1 _08017D2C: .4byte gSideTimers _08017D30: .4byte gSideAffecting @@ -1960,7 +1960,7 @@ _08017D4A: mov r10, r0 movs r2, 0 mov r8, r2 - ldr r7, _08017DE4 @ =sBattler_AI + ldr r7, _08017DE4 @ =gBattlerAttacker ldr r5, _08017DE8 @ =gBattleTextBuff1 _08017D56: ldr r0, [r1] @@ -2035,7 +2035,7 @@ _08017DD4: bls _08017D56 b _08017EA4 .align 2, 0 -_08017DE4: .4byte sBattler_AI +_08017DE4: .4byte gBattlerAttacker _08017DE8: .4byte gBattleTextBuff1 _08017DEC: .4byte gSideTimers _08017DF0: .4byte gActiveBattler @@ -2055,7 +2055,7 @@ _08017E08: mov r10, r0 movs r2, 0 mov r8, r2 - ldr r7, _08017EC4 @ =sBattler_AI + ldr r7, _08017EC4 @ =gBattlerAttacker ldr r5, _08017EC8 @ =gBattleTextBuff1 _08017E20: ldr r0, [r1] @@ -2142,7 +2142,7 @@ _08017EAC: b _0801822A .align 2, 0 _08017EC0: .4byte gActiveBattler -_08017EC4: .4byte sBattler_AI +_08017EC4: .4byte gBattlerAttacker _08017EC8: .4byte gBattleTextBuff1 _08017ECC: .4byte gSideTimers _08017ED0: .4byte gSideAffecting @@ -2158,7 +2158,7 @@ _08017EE4: cmp r0, 0x1 bhi _08017F60 ldr r6, _08017F80 @ =gActiveBattler - ldr r5, _08017F84 @ =sBattler_AI + ldr r5, _08017F84 @ =gBattlerAttacker _08017EF4: ldr r0, [r1] adds r0, 0xDB @@ -2234,7 +2234,7 @@ _08017F68: b _0801822A .align 2, 0 _08017F80: .4byte gActiveBattler -_08017F84: .4byte sBattler_AI +_08017F84: .4byte gBattlerAttacker _08017F88: .4byte gSideTimers _08017F8C: .4byte gSideAffecting _08017F90: .4byte 0x0000ffdf @@ -2561,7 +2561,7 @@ _0801822A: bne _08018232 b _08017B92 _08018232: - ldr r0, _08018250 @ =gUnknown_3004F84 + ldr r0, _08018250 @ =gBattleMainFunc ldr r1, [r0] ldr r0, _08018254 @ =sub_8013BD4 eors r1, r0 @@ -2576,7 +2576,7 @@ _08018232: pop {r1} bx r1 .align 2, 0 -_08018250: .4byte gUnknown_3004F84 +_08018250: .4byte gBattleMainFunc _08018254: .4byte sub_8013BD4 thumb_func_end UpdateTurnCounters @@ -2614,7 +2614,7 @@ _08018294: .4byte gBattleStruct _08018298: .4byte gBattlersCount _0801829C: ldr r3, _080182D0 @ =gActiveBattler - ldr r4, _080182D4 @ =sBattler_AI + ldr r4, _080182D4 @ =gBattlerAttacker ldr r1, _080182D8 @ =gUnknown_2023BDE ldr r5, [r5] ldrb r0, [r5, 0x1] @@ -2639,7 +2639,7 @@ _0801829C: bl _08018C50 .align 2, 0 _080182D0: .4byte gActiveBattler -_080182D4: .4byte sBattler_AI +_080182D4: .4byte gBattlerAttacker _080182D8: .4byte gUnknown_2023BDE _080182DC: .4byte gAbsentBattlerFlags _080182E0: .4byte gBitTable @@ -3204,7 +3204,7 @@ _08018734: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution b _080187FC @@ -3269,7 +3269,7 @@ _080187EE: cmp r0, r1 bcc _080187CE _080187FC: - ldr r2, _08018814 @ =sBattler_AI + ldr r2, _08018814 @ =gBattlerAttacker ldr r1, _08018818 @ =gBattlersCount ldrb r0, [r2] ldrb r1, [r1] @@ -3280,7 +3280,7 @@ _080187FC: b _08018C4C .align 2, 0 _08018810: .4byte gBattleMons -_08018814: .4byte sBattler_AI +_08018814: .4byte gBattlerAttacker _08018818: .4byte gBattlersCount _0801881C: ldr r5, _08018854 @ =gActiveBattler @@ -3777,10 +3777,10 @@ _08018B6C: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r6] bl MarkBufferBankForExecution - ldr r1, _08018C2C @ =gUnknown_2023D6E + ldr r1, _08018C2C @ =gEffectBattler ldrb r0, [r6] strb r0, [r1] ldr r0, _08018C30 @ =gUnknown_81D91C7 @@ -3804,7 +3804,7 @@ _08018C16: _08018C20: .4byte gStatuses3 _08018C24: .4byte 0xfffff800 _08018C28: .4byte gBattleMons -_08018C2C: .4byte gUnknown_2023D6E +_08018C2C: .4byte gEffectBattler _08018C30: .4byte gUnknown_81D91C7 _08018C34: .4byte gBattleStruct _08018C38: @@ -4001,7 +4001,7 @@ _08018D92: ldrb r0, [r4] mov r1, r9 strb r0, [r1] - ldr r1, _08018DF0 @ =sBattler_AI + ldr r1, _08018DF0 @ =gBattlerAttacker adds r0, r6, 0x4 ldrb r2, [r4] adds r0, r2 @@ -4027,7 +4027,7 @@ _08018D92: b _08018F44 .align 2, 0 _08018DEC: .4byte gUnknown_2023E82 -_08018DF0: .4byte sBattler_AI +_08018DF0: .4byte gBattlerAttacker _08018DF4: .4byte gBattleMoveDamage _08018DF8: .4byte gUnknown_2023ECC _08018DFC: .4byte 0x0000ffff @@ -4071,7 +4071,7 @@ _08018E42: ldr r4, _08018E88 @ =gBattleTextBuff1 ldr r6, _08018E8C @ =gDisableStructs mov r12, r6 - ldr r0, _08018E90 @ =sBattler_AI + ldr r0, _08018E90 @ =gBattlerAttacker mov r9, r0 _08018E4E: ldr r1, _08018E94 @ =gUnknown_2023BDE @@ -4103,7 +4103,7 @@ _08018E80: .4byte gBattlersCount _08018E84: .4byte gActiveBattler _08018E88: .4byte gBattleTextBuff1 _08018E8C: .4byte gDisableStructs -_08018E90: .4byte sBattler_AI +_08018E90: .4byte gBattlerAttacker _08018E94: .4byte gUnknown_2023BDE _08018E98: .4byte gAbsentBattlerFlags _08018E9C: .4byte gBitTable @@ -4706,7 +4706,7 @@ _08019320: .4byte _08019B98 _08019360: ldr r1, _08019390 @ =gBattleMons - ldr r3, _08019394 @ =sBattler_AI + ldr r3, _08019394 @ =gBattlerAttacker ldrb r2, [r3] movs r0, 0x58 muls r2, r0 @@ -4729,13 +4729,13 @@ _08019360: bl _08019B90 .align 2, 0 _08019390: .4byte gBattleMons -_08019394: .4byte sBattler_AI +_08019394: .4byte gBattlerAttacker _08019398: .4byte 0xfdffffff _0801939C: .4byte gStatuses3 _080193A0: .4byte 0xffffbfff _080193A4: ldr r7, _0801940C @ =gBattleMons - ldr r4, _08019410 @ =sBattler_AI + ldr r4, _08019410 @ =gBattlerAttacker ldrb r1, [r4] movs r5, 0x58 adds r0, r1, 0 @@ -4787,7 +4787,7 @@ _080193C4: b _08019946 .align 2, 0 _0801940C: .4byte gBattleMons -_08019410: .4byte sBattler_AI +_08019410: .4byte gBattlerAttacker _08019414: .4byte 0xf7ffffff _08019418: .4byte gUnknown_2023E82 _0801941C: .4byte gUnknown_2023D74 @@ -4821,7 +4821,7 @@ _08019450: str r0, [r2] _08019454: ldr r2, _08019498 @ =gBattleMons - ldr r0, _0801949C @ =sBattler_AI + ldr r0, _0801949C @ =gBattlerAttacker ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -4857,7 +4857,7 @@ _0801947E: b _08019946 .align 2, 0 _08019498: .4byte gBattleMons -_0801949C: .4byte sBattler_AI +_0801949C: .4byte gBattlerAttacker _080194A0: .4byte gCurrentMove _080194A4: .4byte gUnknown_2023D74 _080194A8: .4byte gUnknown_81D9029 @@ -4885,7 +4885,7 @@ _080194D8: .4byte gUnknown_2023D74 _080194DC: .4byte gUnknown_81D9036 _080194E0: ldr r1, _0801953C @ =gBattleMons - ldr r7, _08019540 @ =sBattler_AI + ldr r7, _08019540 @ =gBattlerAttacker ldrb r0, [r7] movs r6, 0x58 muls r0, r6 @@ -4930,7 +4930,7 @@ _08019526: b _08019578 .align 2, 0 _0801953C: .4byte gBattleMons -_08019540: .4byte sBattler_AI +_08019540: .4byte gBattlerAttacker _08019544: .4byte gBattleMoves _08019548: .4byte gCurrentMove _0801954C: .4byte gUnknown_2023D74 @@ -4968,7 +4968,7 @@ _08019590: .4byte gUnknown_2023E82 _08019594: .4byte gBattleStruct _08019598: ldr r1, _080195EC @ =gBattleMons - ldr r0, _080195F0 @ =sBattler_AI + ldr r0, _080195F0 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -5012,7 +5012,7 @@ _080195C2: b _080197F4 .align 2, 0 _080195EC: .4byte gBattleMons -_080195F0: .4byte sBattler_AI +_080195F0: .4byte gBattlerAttacker _080195F4: .4byte gDisableStructs _080195F8: .4byte gUnknown_2023DD0 _080195FC: .4byte gUnknown_2023E82 @@ -5021,7 +5021,7 @@ _08019604: .4byte gUnknown_81D94F2 _08019608: .4byte gMoveResultFlags _0801960C: ldr r1, _0801965C @ =gBattleMons - ldr r3, _08019660 @ =sBattler_AI + ldr r3, _08019660 @ =gBattlerAttacker ldrb r2, [r3] movs r0, 0x58 muls r0, r2 @@ -5062,7 +5062,7 @@ _08019628: b _08019946 .align 2, 0 _0801965C: .4byte gBattleMons -_08019660: .4byte sBattler_AI +_08019660: .4byte gBattlerAttacker _08019664: .4byte 0xffbfffff _08019668: .4byte gDisableStructs _0801966C: .4byte gUnknown_2023D74 @@ -5070,7 +5070,7 @@ _08019670: .4byte gUnknown_81D7342 _08019674: .4byte gUnknown_2023DD0 _08019678: ldr r1, _080196C8 @ =gBattleMons - ldr r3, _080196CC @ =sBattler_AI + ldr r3, _080196CC @ =gBattlerAttacker ldrb r2, [r3] movs r0, 0x58 muls r0, r2 @@ -5111,14 +5111,14 @@ _08019692: b _08019946 .align 2, 0 _080196C8: .4byte gBattleMons -_080196CC: .4byte sBattler_AI +_080196CC: .4byte gBattlerAttacker _080196D0: .4byte gUnknown_2023E8C _080196D4: .4byte gUnknown_2023D74 _080196D8: .4byte gUnknown_81D90B1 _080196DC: .4byte gUnknown_2023DD0 _080196E0: ldr r0, _08019734 @ =gDisableStructs - ldr r3, _08019738 @ =sBattler_AI + ldr r3, _08019738 @ =gBattlerAttacker ldrb r2, [r3] lsls r1, r2, 3 subs r1, r2 @@ -5161,7 +5161,7 @@ _08019700: b _08019946 .align 2, 0 _08019734: .4byte gDisableStructs -_08019738: .4byte sBattler_AI +_08019738: .4byte gBattlerAttacker _0801973C: .4byte gCurrentMove _08019740: .4byte gUnknown_2023E8C _08019744: .4byte gBattleScripting @@ -5170,7 +5170,7 @@ _0801974C: .4byte gUnknown_81D8C4F _08019750: .4byte gUnknown_2023DD0 _08019754: ldr r0, _0801979C @ =gDisableStructs - ldr r4, _080197A0 @ =sBattler_AI + ldr r4, _080197A0 @ =gBattlerAttacker ldrb r3, [r4] lsls r1, r3, 3 subs r1, r3 @@ -5208,14 +5208,14 @@ _08019782: b _08019934 .align 2, 0 _0801979C: .4byte gDisableStructs -_080197A0: .4byte sBattler_AI +_080197A0: .4byte gBattlerAttacker _080197A4: .4byte gBattleMoves _080197A8: .4byte gCurrentMove _080197AC: .4byte gUnknown_2023E8C _080197B0: .4byte gUnknown_2023D74 _080197B4: .4byte gUnknown_81D8ECA _080197B8: - ldr r4, _080197FC @ =sBattler_AI + ldr r4, _080197FC @ =gBattlerAttacker ldrb r0, [r4] ldr r1, _08019800 @ =gCurrentMove ldrh r1, [r1] @@ -5249,7 +5249,7 @@ _080197F4: mov r9, r0 b _08019946 .align 2, 0 -_080197FC: .4byte sBattler_AI +_080197FC: .4byte gBattlerAttacker _08019800: .4byte gCurrentMove _08019804: .4byte gUnknown_2023E8C _08019808: .4byte gUnknown_2023D74 @@ -5257,7 +5257,7 @@ _0801980C: .4byte gUnknown_81D8F94 _08019810: .4byte gUnknown_2023DD0 _08019814: ldr r7, _0801985C @ =gBattleMons - ldr r5, _08019860 @ =sBattler_AI + ldr r5, _08019860 @ =gBattlerAttacker ldrb r0, [r5] movs r6, 0x58 muls r0, r6 @@ -5292,7 +5292,7 @@ _08019814: b _080198B2 .align 2, 0 _0801985C: .4byte gBattleMons -_08019860: .4byte sBattler_AI +_08019860: .4byte gBattlerAttacker _08019864: .4byte gUnknown_2023E82 _08019868: ldr r0, _080198B8 @ =gUnknown_2023E82 @@ -5363,7 +5363,7 @@ _080198F0: .4byte gUnknown_81D9116 _080198F4: .4byte gBattleStruct _080198F8: ldr r1, _08019958 @ =gBattleMons - ldr r4, _0801995C @ =sBattler_AI + ldr r4, _0801995C @ =gBattlerAttacker ldrb r2, [r4] movs r0, 0x58 muls r0, r2 @@ -5412,7 +5412,7 @@ _08019946: b _08019B98 .align 2, 0 _08019958: .4byte gBattleMons -_0801995C: .4byte sBattler_AI +_0801995C: .4byte gBattlerAttacker _08019960: .4byte gUnknown_2023E8C _08019964: .4byte gUnknown_2023D74 _08019968: .4byte gUnknown_81D90A1 @@ -5430,7 +5430,7 @@ _08019974: beq _08019988 b _08019B8C _08019988: - ldr r0, _080199A0 @ =sBattler_AI + ldr r0, _080199A0 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -5441,7 +5441,7 @@ _08019988: b _080199B0 .align 2, 0 _0801999C: .4byte gBattleTypeFlags -_080199A0: .4byte sBattler_AI +_080199A0: .4byte gBattlerAttacker _080199A4: .4byte gUnknown_2023D74 _080199A8: .4byte gUnknown_81D9180 _080199AC: @@ -5460,7 +5460,7 @@ _080199C0: .4byte gUnknown_81D9192 _080199C4: .4byte gUnknown_2023E82 _080199C8: ldr r1, _08019A00 @ =gBattleMons - ldr r4, _08019A04 @ =sBattler_AI + ldr r4, _08019A04 @ =gBattlerAttacker ldrb r2, [r4] movs r0, 0x58 muls r0, r2 @@ -5485,7 +5485,7 @@ _080199C8: b _08019A34 .align 2, 0 _08019A00: .4byte gBattleMons -_08019A04: .4byte sBattler_AI +_08019A04: .4byte gBattlerAttacker _08019A08: .4byte gBattleScripting _08019A0C: ldr r0, _08019A48 @ =gUnknown_81D914A @@ -5527,7 +5527,7 @@ _08019A58: .4byte gUnknown_81D913D _08019A5C: .4byte gBattleStruct _08019A60: ldr r1, _08019A98 @ =gBattleMons - ldr r6, _08019A9C @ =sBattler_AI + ldr r6, _08019A9C @ =gBattlerAttacker ldrb r0, [r6] movs r5, 0x58 muls r0, r5 @@ -5556,7 +5556,7 @@ _08019A60: b _08019B2C .align 2, 0 _08019A98: .4byte gBattleMons -_08019A9C: .4byte sBattler_AI +_08019A9C: .4byte gBattlerAttacker _08019AA0: .4byte 0xffffff00 _08019AA4: .4byte gUnknown_2023D74 _08019AA8: .4byte gUnknown_81D8BA9 @@ -5631,7 +5631,7 @@ _08019B38: .4byte gUnknown_2023D74 _08019B3C: .4byte gUnknown_81D8BFC _08019B40: ldr r1, _08019BE8 @ =gBattleMons - ldr r0, _08019BEC @ =sBattler_AI + ldr r0, _08019BEC @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -5690,7 +5690,7 @@ _08019BA8: cmp r7, 0x2 bne _08019BD4 ldr r4, _08019C08 @ =gActiveBattler - ldr r0, _08019BEC @ =sBattler_AI + ldr r0, _08019BEC @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] ldrb r1, [r4] @@ -5703,7 +5703,7 @@ _08019BA8: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution _08019BD4: @@ -5718,7 +5718,7 @@ _08019BD4: bx r1 .align 2, 0 _08019BE8: .4byte gBattleMons -_08019BEC: .4byte sBattler_AI +_08019BEC: .4byte gBattlerAttacker _08019BF0: .4byte gBattleMoves _08019BF4: .4byte gCurrentMove _08019BF8: .4byte gUnknown_2023D74 @@ -6148,7 +6148,7 @@ AbilityBattleEffects: @ 8019F18 lsrs r4, 16 movs r0, 0 mov r9, r0 - ldr r5, _08019F74 @ =sBattler_AI + ldr r5, _08019F74 @ =gBattlerAttacker ldr r1, _08019F78 @ =gBattlersCount ldrb r0, [r5] ldrb r1, [r1] @@ -6172,7 +6172,7 @@ _08019F54: ldr r0, _08019F80 @ =gPlayerParty b _08019F94 .align 2, 0 -_08019F74: .4byte sBattler_AI +_08019F74: .4byte gBattlerAttacker _08019F78: .4byte gBattlersCount _08019F7C: .4byte gBattlerPartyIndexes _08019F80: .4byte gPlayerParty @@ -6363,7 +6363,7 @@ _0801A0DC: .4byte _0801BB78 .4byte _0801B8B4 _0801A12C: - ldr r2, _0801A160 @ =sBattler_AI + ldr r2, _0801A160 @ =gBattlerAttacker ldr r0, _0801A164 @ =gBattlersCount ldrb r1, [r2] adds r3, r0, 0 @@ -6393,7 +6393,7 @@ _0801A152: _0801A15C: bl _0801BBAA .align 2, 0 -_0801A160: .4byte sBattler_AI +_0801A160: .4byte gBattlerAttacker _0801A164: .4byte gBattlersCount _0801A168: cmp r0, 0x16 @@ -6699,7 +6699,7 @@ _0801A3E0: bne _0801A3F4 bl _0801BBAA _0801A3F4: - ldr r0, _0801A414 @ =sBattler_AI + ldr r0, _0801A414 @ =gBattlerAttacker mov r1, r10 strb r1, [r0] mov r2, r8 @@ -6715,7 +6715,7 @@ _0801A40C: bl _0801BBAA .align 2, 0 _0801A410: .4byte gBattleMons -_0801A414: .4byte sBattler_AI +_0801A414: .4byte gBattlerAttacker _0801A418: cmp r5, 0x36 bne _0801A41E @@ -6869,7 +6869,7 @@ _0801A52C: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution bl _0801BB5A @@ -6978,7 +6978,7 @@ _0801A636: bl _0801BBAA _0801A646: ldr r1, _0801A684 @ =gBattleMons - ldr r0, _0801A688 @ =sBattler_AI + ldr r0, _0801A688 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -7007,7 +7007,7 @@ _0801A66C: _0801A67C: .4byte gUnknown_8250104 _0801A680: .4byte 0x0000ffff _0801A684: .4byte gBattleMons -_0801A688: .4byte sBattler_AI +_0801A688: .4byte gBattlerAttacker _0801A68C: .4byte gUnknown_2023DD0 _0801A690: .4byte gUnknown_2023D74 _0801A694: .4byte gUnknown_81D946E @@ -7045,7 +7045,7 @@ _0801A6BE: b _0801A832 _0801A6D0: ldr r1, _0801A6EC @ =gUnknown_2023E8C - ldr r0, _0801A6F0 @ =sBattler_AI + ldr r0, _0801A6F0 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -7059,7 +7059,7 @@ _0801A6D0: .align 2, 0 _0801A6E8: .4byte gBattleMoves _0801A6EC: .4byte gUnknown_2023E8C -_0801A6F0: .4byte sBattler_AI +_0801A6F0: .4byte gBattlerAttacker _0801A6F4: .4byte gUnknown_2023D74 _0801A6F8: .4byte gUnknown_81D93BE _0801A6FC: @@ -7089,7 +7089,7 @@ _0801A716: b _0801A832 _0801A728: ldr r1, _0801A744 @ =gUnknown_2023E8C - ldr r0, _0801A748 @ =sBattler_AI + ldr r0, _0801A748 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -7103,7 +7103,7 @@ _0801A728: .align 2, 0 _0801A740: .4byte gBattleMoves _0801A744: .4byte gUnknown_2023E8C -_0801A748: .4byte sBattler_AI +_0801A748: .4byte gBattlerAttacker _0801A74C: .4byte gUnknown_2023D74 _0801A750: .4byte gUnknown_81D93BE _0801A754: @@ -7146,7 +7146,7 @@ _0801A768: ldr r0, _0801A7C0 @ =gUnknown_2023E82 strb r3, [r0, 0x5] ldr r1, _0801A7C4 @ =gUnknown_2023E8C - ldr r0, _0801A7C8 @ =sBattler_AI + ldr r0, _0801A7C8 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -7162,7 +7162,7 @@ _0801A7B8: .4byte gBattleMons _0801A7BC: .4byte gBattleResources _0801A7C0: .4byte gUnknown_2023E82 _0801A7C4: .4byte gUnknown_2023E8C -_0801A7C8: .4byte sBattler_AI +_0801A7C8: .4byte gBattlerAttacker _0801A7CC: .4byte gUnknown_2023D74 _0801A7D0: .4byte gUnknown_81D93F7 _0801A7D4: @@ -7187,7 +7187,7 @@ _0801A7F8: ldr r0, _0801A814 @ =gUnknown_2023E82 strb r4, [r0, 0x5] ldr r1, _0801A818 @ =gUnknown_2023E8C - ldr r0, _0801A81C @ =sBattler_AI + ldr r0, _0801A81C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -7201,7 +7201,7 @@ _0801A7F8: .align 2, 0 _0801A814: .4byte gUnknown_2023E82 _0801A818: .4byte gUnknown_2023E8C -_0801A81C: .4byte sBattler_AI +_0801A81C: .4byte gBattlerAttacker _0801A820: .4byte gUnknown_2023D74 _0801A824: .4byte gUnknown_81D93F7 _0801A828: @@ -7229,7 +7229,7 @@ _0801A83C: cmp r0, r3 bne _0801A898 ldr r1, _0801A878 @ =gUnknown_2023E8C - ldr r0, _0801A87C @ =sBattler_AI + ldr r0, _0801A87C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 adds r0, r1 @@ -7246,7 +7246,7 @@ _0801A86C: .4byte gUnknown_2023D74 _0801A870: .4byte gUnknown_81D93F6 _0801A874: .4byte gBattleMons _0801A878: .4byte gUnknown_2023E8C -_0801A87C: .4byte sBattler_AI +_0801A87C: .4byte gBattlerAttacker _0801A880: .4byte gUnknown_81D93E1 _0801A884: ldr r1, _0801A890 @ =gUnknown_2023D74 @@ -7439,7 +7439,7 @@ _0801AA5C: bl _0801BBAA _0801AA6C: ldr r1, _0801AAF8 @ =gBattleMons - ldr r0, _0801AAFC @ =sBattler_AI + ldr r0, _0801AAFC @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -7507,7 +7507,7 @@ _0801AAE4: .align 2, 0 _0801AAF4: .4byte gMoveResultFlags _0801AAF8: .4byte gBattleMons -_0801AAFC: .4byte sBattler_AI +_0801AAFC: .4byte gBattlerAttacker _0801AB00: .4byte gUnknown_2023E8C _0801AB04: .4byte gUnknown_2023ECC _0801AB08: .4byte gBattlerTarget @@ -7525,7 +7525,7 @@ _0801AB1C: bl _0801BBAA _0801AB2C: ldr r1, _0801ABEC @ =gBattleMons - ldr r0, _0801ABF0 @ =sBattler_AI + ldr r0, _0801ABF0 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -7618,7 +7618,7 @@ _0801ABC8: .align 2, 0 _0801ABE8: .4byte gMoveResultFlags _0801ABEC: .4byte gBattleMons -_0801ABF0: .4byte sBattler_AI +_0801ABF0: .4byte gBattlerAttacker _0801ABF4: .4byte gUnknown_2023E8C _0801ABF8: .4byte gUnknown_2023ECC _0801ABFC: .4byte gBattlerTarget @@ -7637,7 +7637,7 @@ _0801AC14: bl _0801BBAA _0801AC24: ldr r1, _0801ACC8 @ =gBattleMons - ldr r0, _0801ACCC @ =sBattler_AI + ldr r0, _0801ACCC @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -7715,7 +7715,7 @@ _0801ACA4: .align 2, 0 _0801ACC4: .4byte gMoveResultFlags _0801ACC8: .4byte gBattleMons -_0801ACCC: .4byte sBattler_AI +_0801ACCC: .4byte gBattlerAttacker _0801ACD0: .4byte gUnknown_2023E8C _0801ACD4: .4byte gUnknown_2023ECC _0801ACD8: .4byte gBattlerTarget @@ -7734,7 +7734,7 @@ _0801ACF0: bl _0801BBAA _0801AD00: ldr r1, _0801ADA4 @ =gBattleMons - ldr r0, _0801ADA8 @ =sBattler_AI + ldr r0, _0801ADA8 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -7812,7 +7812,7 @@ _0801AD80: .align 2, 0 _0801ADA0: .4byte gMoveResultFlags _0801ADA4: .4byte gBattleMons -_0801ADA8: .4byte sBattler_AI +_0801ADA8: .4byte gBattlerAttacker _0801ADAC: .4byte gUnknown_2023E8C _0801ADB0: .4byte gUnknown_2023ECC _0801ADB4: .4byte gBattlerTarget @@ -7831,7 +7831,7 @@ _0801ADCC: bl _0801BBAA _0801ADDC: ldr r1, _0801AE80 @ =gBattleMons - ldr r0, _0801AE84 @ =sBattler_AI + ldr r0, _0801AE84 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -7909,7 +7909,7 @@ _0801AE5C: .align 2, 0 _0801AE7C: .4byte gMoveResultFlags _0801AE80: .4byte gBattleMons -_0801AE84: .4byte sBattler_AI +_0801AE84: .4byte gBattlerAttacker _0801AE88: .4byte gUnknown_2023E8C _0801AE8C: .4byte gBattleMoves _0801AE90: .4byte gUnknown_2023ECC @@ -7928,7 +7928,7 @@ _0801AEA8: bl _0801BBAA _0801AEB8: ldr r5, _0801AFEC @ =gBattleMons - ldr r7, _0801AFF0 @ =sBattler_AI + ldr r7, _0801AFF0 @ =gBattlerAttacker ldrb r1, [r7] movs r6, 0x58 adds r0, r1, 0 @@ -8074,7 +8074,7 @@ _0801AFBE: .align 2, 0 _0801AFE8: .4byte gMoveResultFlags _0801AFEC: .4byte gBattleMons -_0801AFF0: .4byte sBattler_AI +_0801AFF0: .4byte gBattlerAttacker _0801AFF4: .4byte gUnknown_2023E8C _0801AFF8: .4byte gBattleMoves _0801AFFC: .4byte gUnknown_2023ECC @@ -8417,7 +8417,7 @@ _0801B304: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution bl _0801BBC6 @@ -8589,7 +8589,7 @@ _0801B48E: ldrb r0, [r0] strb r0, [r1, 0x3] ldr r1, _0801B4C4 @ =gBattleScripting - ldr r0, _0801B4C8 @ =sBattler_AI + ldr r0, _0801B4C8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1, 0x17] bl BattleScriptPushCursor @@ -8607,7 +8607,7 @@ _0801B4B8: .4byte gUnknown_2023DD0 _0801B4BC: .4byte 0xffffbfff _0801B4C0: .4byte gUnknown_2023E82 _0801B4C4: .4byte gBattleScripting -_0801B4C8: .4byte sBattler_AI +_0801B4C8: .4byte gBattlerAttacker _0801B4CC: .4byte gUnknown_2023D74 _0801B4D0: .4byte gUnknown_81D94CE _0801B4D4: @@ -9533,7 +9533,7 @@ BattleScriptExecute: @ 801BBE4 lsls r0, 24 lsrs r0, 22 adds r2, r0 - ldr r1, _0801BC18 @ =gUnknown_3004F84 + ldr r1, _0801BC18 @ =gBattleMainFunc ldr r0, [r1] str r0, [r2] ldr r0, _0801BC1C @ =RunBattleScriptCommands_PopCallbacksStack @@ -9545,7 +9545,7 @@ BattleScriptExecute: @ 801BBE4 .align 2, 0 _0801BC10: .4byte gUnknown_2023D74 _0801BC14: .4byte gBattleResources -_0801BC18: .4byte gUnknown_3004F84 +_0801BC18: .4byte gBattleMainFunc _0801BC1C: .4byte RunBattleScriptCommands_PopCallbacksStack _0801BC20: .4byte gUnknown_2023BE3 thumb_func_end BattleScriptExecute @@ -9568,7 +9568,7 @@ BattleScriptPushCursorAndCallback: @ 801BC24 lsls r0, 24 lsrs r0, 22 adds r2, r0 - ldr r1, _0801BC60 @ =gUnknown_3004F84 + ldr r1, _0801BC60 @ =gBattleMainFunc ldr r0, [r1] str r0, [r2] ldr r0, _0801BC64 @ =sub_8015C74 @@ -9579,7 +9579,7 @@ BattleScriptPushCursorAndCallback: @ 801BC24 .align 2, 0 _0801BC58: .4byte gUnknown_2023D74 _0801BC5C: .4byte gBattleResources -_0801BC60: .4byte gUnknown_3004F84 +_0801BC60: .4byte gBattleMainFunc _0801BC64: .4byte sub_8015C74 thumb_func_end BattleScriptPushCursorAndCallback @@ -9604,7 +9604,7 @@ sub_801BC68: @ 801BC68 str r1, [sp, 0xC] add r0, sp, 0x4 strb r1, [r0] - ldr r4, _0801BCB4 @ =gUnknown_2023D68 + ldr r4, _0801BCB4 @ =gLastUsedItem ldr r1, _0801BCB8 @ =gBattleMons movs r0, 0x58 muls r0, r7 @@ -9624,7 +9624,7 @@ sub_801BC68: @ 801BC68 ldrb r0, [r0, 0x1A] b _0801BCD4 .align 2, 0 -_0801BCB4: .4byte gUnknown_2023D68 +_0801BCB4: .4byte gLastUsedItem _0801BCB8: .4byte gBattleMons _0801BCBC: .4byte gEnigmaBerries _0801BCC0: @@ -9639,7 +9639,7 @@ _0801BCC0: _0801BCD4: mov r9, r0 ldr r1, _0801BCFC @ =gBattleMons - ldr r0, _0801BD00 @ =sBattler_AI + ldr r0, _0801BD00 @ =gBattlerAttacker ldrb r2, [r0] movs r0, 0x58 muls r0, r2 @@ -9659,7 +9659,7 @@ _0801BCD4: b _0801BD1E .align 2, 0 _0801BCFC: .4byte gBattleMons -_0801BD00: .4byte sBattler_AI +_0801BD00: .4byte gBattlerAttacker _0801BD04: .4byte gEnigmaBerries _0801BD08: ldr r0, [sp, 0x14] @@ -9761,7 +9761,7 @@ _0801BDD0: ldr r0, _0801BDF4 @ =gPotentialItemEffectBattler strb r7, [r0] ldr r1, _0801BDF8 @ =gActiveBattler - ldr r0, _0801BDFC @ =sBattler_AI + ldr r0, _0801BDFC @ =gBattlerAttacker strb r7, [r0] strb r7, [r1] ldr r0, _0801BE00 @ =gUnknown_81D95D9 @@ -9772,7 +9772,7 @@ _0801BDEC: .4byte gBattleMons _0801BDF0: .4byte gBattleScripting _0801BDF4: .4byte gPotentialItemEffectBattler _0801BDF8: .4byte gActiveBattler -_0801BDFC: .4byte sBattler_AI +_0801BDFC: .4byte gBattlerAttacker _0801BE00: .4byte gUnknown_81D95D9 _0801BE04: ldr r1, _0801BE2C @ =gBattleMons @@ -9991,7 +9991,7 @@ _0801BFE0: movs r0, 0 movs r2, 0 movs r3, 0x1 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldr r0, _0801C028 @ =gActiveBattler ldrb r0, [r0] bl MarkBufferBankForExecution @@ -10039,7 +10039,7 @@ _0801C066: ldr r0, _0801C088 @ =gPotentialItemEffectBattler strb r7, [r0] ldr r1, _0801C08C @ =gActiveBattler - ldr r0, _0801C090 @ =sBattler_AI + ldr r0, _0801C090 @ =gBattlerAttacker strb r7, [r0] strb r7, [r1] ldr r0, _0801C094 @ =gUnknown_81D95D9 @@ -10050,7 +10050,7 @@ _0801C080: .4byte gBattleMons _0801C084: .4byte gBattleScripting _0801C088: .4byte gPotentialItemEffectBattler _0801C08C: .4byte gActiveBattler -_0801C090: .4byte sBattler_AI +_0801C090: .4byte gBattlerAttacker _0801C094: .4byte gUnknown_81D95D9 _0801C098: movs r0, 0x58 @@ -10492,7 +10492,7 @@ _0801C3D8: strb r6, [r1, 0x3] subs r0, 0xD3 strb r0, [r1, 0x4] - ldr r0, _0801C410 @ =gUnknown_2023D6E + ldr r0, _0801C410 @ =gEffectBattler strb r7, [r0] ldr r1, _0801C414 @ =gBattleScripting movs r0, 0x11 @@ -10502,7 +10502,7 @@ _0801C3D8: .align 2, 0 _0801C408: .4byte gBattleTextBuff1 _0801C40C: .4byte gBattleTextBuff2 -_0801C410: .4byte gUnknown_2023D6E +_0801C410: .4byte gEffectBattler _0801C414: .4byte gBattleScripting _0801C418: movs r0, 0x58 @@ -10536,7 +10536,7 @@ _0801C440: strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r0, _0801C464 @ =gUnknown_2023D6E + ldr r0, _0801C464 @ =gEffectBattler strb r7, [r0] ldr r1, _0801C468 @ =gBattleScripting movs r0, 0x12 @@ -10545,7 +10545,7 @@ _0801C440: b _0801C506 .align 2, 0 _0801C460: .4byte gBattleTextBuff1 -_0801C464: .4byte gUnknown_2023D6E +_0801C464: .4byte gEffectBattler _0801C468: .4byte gBattleScripting _0801C46C: movs r0, 0x58 @@ -10579,7 +10579,7 @@ _0801C494: strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r0, _0801C4B8 @ =gUnknown_2023D6E + ldr r0, _0801C4B8 @ =gEffectBattler strb r7, [r0] ldr r1, _0801C4BC @ =gBattleScripting movs r0, 0x13 @@ -10588,7 +10588,7 @@ _0801C494: b _0801C56C .align 2, 0 _0801C4B4: .4byte gBattleTextBuff1 -_0801C4B8: .4byte gUnknown_2023D6E +_0801C4B8: .4byte gEffectBattler _0801C4BC: .4byte gBattleScripting _0801C4C0: movs r0, 0x58 @@ -10622,7 +10622,7 @@ _0801C4E8: strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r0, _0801C51C @ =gUnknown_2023D6E + ldr r0, _0801C51C @ =gEffectBattler strb r7, [r0] ldr r1, _0801C520 @ =gBattleScripting movs r0, 0x14 @@ -10638,7 +10638,7 @@ _0801C506: b _0801C95A .align 2, 0 _0801C518: .4byte gBattleTextBuff1 -_0801C51C: .4byte gUnknown_2023D6E +_0801C51C: .4byte gEffectBattler _0801C520: .4byte gBattleScripting _0801C524: .4byte gUnknown_81D9679 _0801C528: @@ -10672,7 +10672,7 @@ _0801C550: strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r0, _0801C580 @ =gUnknown_2023D6E + ldr r0, _0801C580 @ =gEffectBattler strb r7, [r0] ldr r1, _0801C584 @ =gBattleScripting movs r0, 0x15 @@ -10688,7 +10688,7 @@ _0801C56C: b _0801C95A .align 2, 0 _0801C57C: .4byte gBattleTextBuff1 -_0801C580: .4byte gUnknown_2023D6E +_0801C580: .4byte gEffectBattler _0801C584: .4byte gBattleScripting _0801C588: .4byte gUnknown_81D9679 _0801C58C: @@ -10822,7 +10822,7 @@ _0801C638: strb r2, [r0, 0x6] subs r1, 0xD3 strb r1, [r0, 0x7] - ldr r0, _0801C6B4 @ =gUnknown_2023D6E + ldr r0, _0801C6B4 @ =gEffectBattler strb r7, [r0] ldr r1, _0801C6B8 @ =gBattleScripting mov r0, r10 @@ -10840,7 +10840,7 @@ _0801C638: _0801C6A8: .4byte gUnknown_2023BFC _0801C6AC: .4byte gBattleTextBuff1 _0801C6B0: .4byte gBattleTextBuff2 -_0801C6B4: .4byte gUnknown_2023D6E +_0801C6B4: .4byte gEffectBattler _0801C6B8: .4byte gBattleScripting _0801C6BC: .4byte gUnknown_81D9679 _0801C6C0: @@ -11178,7 +11178,7 @@ _0801C95A: ldr r0, _0801C990 @ =gPotentialItemEffectBattler strb r7, [r0] ldr r4, _0801C994 @ =gActiveBattler - ldr r0, _0801C998 @ =sBattler_AI + ldr r0, _0801C998 @ =gBattlerAttacker strb r7, [r0] strb r7, [r4] ldr r3, [sp, 0xC] @@ -11196,7 +11196,7 @@ _0801C988: .4byte gUnknown_2023E82 _0801C98C: .4byte gBattleScripting _0801C990: .4byte gPotentialItemEffectBattler _0801C994: .4byte gActiveBattler -_0801C998: .4byte sBattler_AI +_0801C998: .4byte gBattlerAttacker _0801C99C: movs r0, 0x58 muls r0, r7 @@ -11254,7 +11254,7 @@ _0801C9FC: bcc _0801CA08 b _0801CFA6 _0801CA08: - ldr r4, _0801CA30 @ =gUnknown_2023D68 + ldr r4, _0801CA30 @ =gLastUsedItem ldr r1, _0801CA34 @ =gBattleMons movs r0, 0x58 muls r0, r7 @@ -11274,7 +11274,7 @@ _0801CA08: b _0801CA4C .align 2, 0 _0801CA2C: .4byte gBattlersCount -_0801CA30: .4byte gUnknown_2023D68 +_0801CA30: .4byte gLastUsedItem _0801CA34: .4byte gBattleMons _0801CA38: .4byte gEnigmaBerries _0801CA3C: @@ -11719,7 +11719,7 @@ _0801CE08: movs r1, 0x28 movs r2, 0 movs r3, 0x4 - bl EmitSetMonData + bl BtlController_EmitSetMonData ldrb r0, [r4] bl MarkBufferBankForExecution b _0801CFA6 @@ -11852,7 +11852,7 @@ _0801CF10: ldr r0, _0801CFC4 @ =0x0000ffff cmp r1, r0 beq _0801CFA6 - ldr r0, _0801CFC8 @ =sBattler_AI + ldr r0, _0801CFC8 @ =gBattlerAttacker ldrb r3, [r0] cmp r3, r2 beq _0801CFA6 @@ -11867,7 +11867,7 @@ _0801CF10: beq _0801CFA6 cmp r1, 0 beq _0801CFA6 - ldr r0, _0801CFD0 @ =gUnknown_2023D68 + ldr r0, _0801CFD0 @ =gLastUsedItem mov r2, sp ldrh r2, [r2, 0x14] strh r2, [r0] @@ -11921,9 +11921,9 @@ _0801CFB8: .4byte gMoveResultFlags _0801CFBC: .4byte gUnknown_2023ECC _0801CFC0: .4byte gBattlerTarget _0801CFC4: .4byte 0x0000ffff -_0801CFC8: .4byte sBattler_AI +_0801CFC8: .4byte gBattlerAttacker _0801CFCC: .4byte gBattleMons -_0801CFD0: .4byte gUnknown_2023D68 +_0801CFD0: .4byte gLastUsedItem _0801CFD4: .4byte gPotentialItemEffectBattler _0801CFD8: .4byte gBattleScripting _0801CFDC: .4byte gUnknown_2023D74 @@ -12096,7 +12096,7 @@ _0801D0A0: .4byte _0801D39C .4byte _0801D2A4 _0801D1A4: - ldr r0, _0801D284 @ =sBattler_AI + ldr r0, _0801D284 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide movs r1, 0x1 @@ -12121,7 +12121,7 @@ _0801D1A4: beq _0801D1D6 b _0801D2EC _0801D1D6: - ldr r0, _0801D284 @ =sBattler_AI + ldr r0, _0801D284 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -12137,7 +12137,7 @@ _0801D1E6: bl __modsi3 lsls r0, 24 lsrs r5, r0, 24 - ldr r6, _0801D284 @ =sBattler_AI + ldr r6, _0801D284 @ =gBattlerAttacker ldrb r3, [r6] cmp r5, r3 beq _0801D1E6 @@ -12207,7 +12207,7 @@ _0801D25E: strb r1, [r0] b _0801D39C .align 2, 0 -_0801D284: .4byte sBattler_AI +_0801D284: .4byte gBattlerAttacker _0801D288: .4byte gSideTimers _0801D28C: .4byte gBattleMons _0801D290: .4byte gBattlersCount @@ -12216,7 +12216,7 @@ _0801D298: .4byte gBitTable _0801D29C: .4byte gBattleMoves _0801D2A0: .4byte gUnknown_2023ECC _0801D2A4: - ldr r0, _0801D2B8 @ =sBattler_AI + ldr r0, _0801D2B8 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition adds r1, r0, 0 @@ -12226,9 +12226,9 @@ _0801D2A4: eors r0, r2 b _0801D34E .align 2, 0 -_0801D2B8: .4byte sBattler_AI +_0801D2B8: .4byte gBattlerAttacker _0801D2BC: - ldr r0, _0801D2F0 @ =sBattler_AI + ldr r0, _0801D2F0 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide movs r1, 0x1 @@ -12255,7 +12255,7 @@ _0801D2EC: adds r5, r4, 0 b _0801D39C .align 2, 0 -_0801D2F0: .4byte sBattler_AI +_0801D2F0: .4byte gBattlerAttacker _0801D2F4: .4byte gSideTimers _0801D2F8: .4byte gBattleMons _0801D2FC: @@ -12269,7 +12269,7 @@ _0801D2FC: ands r6, r0 cmp r6, 0 beq _0801D378 - ldr r0, _0801D334 @ =sBattler_AI + ldr r0, _0801D334 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerSide lsls r0, 24 @@ -12284,7 +12284,7 @@ _0801D2FC: b _0801D34E .align 2, 0 _0801D330: .4byte gBattleTypeFlags -_0801D334: .4byte sBattler_AI +_0801D334: .4byte gBattlerAttacker _0801D338: movs r0, 0x3 b _0801D34E @@ -12318,7 +12318,7 @@ _0801D34E: _0801D370: .4byte gAbsentBattlerFlags _0801D374: .4byte gBitTable _0801D378: - ldr r0, _0801D394 @ =sBattler_AI + ldr r0, _0801D394 @ =gBattlerAttacker ldrb r0, [r0] bl GetBattlerPosition adds r1, r0, 0 @@ -12331,12 +12331,12 @@ _0801D378: lsrs r5, r0, 24 b _0801D39C .align 2, 0 -_0801D394: .4byte sBattler_AI +_0801D394: .4byte gBattlerAttacker _0801D398: - ldr r0, _0801D3B8 @ =sBattler_AI + ldr r0, _0801D3B8 @ =gBattlerAttacker ldrb r5, [r0] _0801D39C: - ldr r0, _0801D3B8 @ =sBattler_AI + ldr r0, _0801D3B8 @ =gBattlerAttacker ldrb r0, [r0] ldr r1, _0801D3BC @ =gBattleStruct ldr r1, [r1] @@ -12350,7 +12350,7 @@ _0801D39C: pop {r1} bx r1 .align 2, 0 -_0801D3B8: .4byte sBattler_AI +_0801D3B8: .4byte gBattlerAttacker _0801D3BC: .4byte gBattleStruct thumb_func_end GetMoveTarget @@ -12427,7 +12427,7 @@ sub_801D438: @ 801D438 ands r0, r1 cmp r0, 0 bne _0801D4F4 - ldr r4, _0801D500 @ =sBattler_AI + ldr r4, _0801D500 @ =gBattlerAttacker ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -12480,7 +12480,7 @@ _0801D4B0: movs r6, 0x46 _0801D4BE: ldr r5, _0801D504 @ =gBattleMons - ldr r0, _0801D500 @ =sBattler_AI + ldr r0, _0801D500 @ =gBattlerAttacker mov r8, r0 ldrb r0, [r0] movs r7, 0x58 @@ -12511,7 +12511,7 @@ _0801D4F4: .align 2, 0 _0801D4F8: .4byte gBattleTypeFlags _0801D4FC: .4byte 0x00010002 -_0801D500: .4byte sBattler_AI +_0801D500: .4byte gBattlerAttacker _0801D504: .4byte gBattleMons _0801D508: .4byte 0x00000827 _0801D50C: .4byte 0x00000821 @@ -12560,7 +12560,7 @@ _0801D564: movs r1, 0xFF ands r1, r0 ldr r2, _0801D608 @ =gBattleMons - ldr r0, _0801D60C @ =sBattler_AI + ldr r0, _0801D60C @ =gBattlerAttacker ldrb r3, [r0] movs r0, 0x58 muls r0, r3 @@ -12614,7 +12614,7 @@ _0801D5B6: ldr r0, _0801D618 @ =gUnknown_2023D48 ldrb r0, [r0] lsls r0, 1 - ldr r1, _0801D60C @ =sBattler_AI + ldr r1, _0801D60C @ =gBattlerAttacker ldrb r2, [r1] movs r1, 0x58 muls r1, r2 @@ -12638,7 +12638,7 @@ _0801D5B6: b _0801D732 .align 2, 0 _0801D608: .4byte gBattleMons -_0801D60C: .4byte sBattler_AI +_0801D60C: .4byte gBattlerAttacker _0801D610: .4byte gCurrentMove _0801D614: .4byte gBitTable _0801D618: .4byte gUnknown_2023D48 @@ -12650,7 +12650,7 @@ _0801D62C: .4byte gBattlerTarget _0801D630: .4byte gUnknown_2023DD0 _0801D634: ldr r5, _0801D6B8 @ =gBattleMons - ldr r2, _0801D6BC @ =sBattler_AI + ldr r2, _0801D6BC @ =gBattlerAttacker mov r8, r2 ldrb r0, [r2] movs r7, 0x58 @@ -12717,7 +12717,7 @@ _0801D6AA: b _0801D6E2 .align 2, 0 _0801D6B8: .4byte gBattleMons -_0801D6BC: .4byte sBattler_AI +_0801D6BC: .4byte gBattlerAttacker _0801D6C0: .4byte gBattlersCount _0801D6C4: .4byte gUnknown_2023D74 _0801D6C8: .4byte gUnknown_81D9504 @@ -12742,7 +12742,7 @@ _0801D6E8: .4byte gUnknown_2023E82 _0801D6EC: .4byte gUnknown_2023D74 _0801D6F0: .4byte gUnknown_81D94F2 _0801D6F4: - ldr r4, _0801D744 @ =sBattler_AI + ldr r4, _0801D744 @ =gBattlerAttacker ldrb r1, [r4] movs r0, 0x58 muls r1, r0 @@ -12784,7 +12784,7 @@ _0801D738: pop {r1} bx r1 .align 2, 0 -_0801D744: .4byte sBattler_AI +_0801D744: .4byte gBattlerAttacker _0801D748: .4byte gBattleMons _0801D74C: .4byte gBattleMoveDamage _0801D750: .4byte gBattlerTarget diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s index f775bd8dc..fedf89c50 100644 --- a/asm/berry_crush_2.s +++ b/asm/berry_crush_2.s @@ -146,7 +146,7 @@ _0814BC44: bl sub_80FA42C b _0814BC66 _0814BC4A: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _0814BC66 @@ -362,7 +362,7 @@ _0814BDCC: bl sub_80FA42C b _0814BDFC _0814BDD2: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814BE02 @@ -497,7 +497,7 @@ _0814BED4: bl sub_80FA42C b _0814BFC0 _0814BEDA: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814BFC6 @@ -519,7 +519,7 @@ _0814BEDA: bl SendBlock b _0814BFC0 _0814BF0A: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814BFC6 @@ -653,7 +653,7 @@ _0814C008: bl sub_80FA42C b _0814C108 _0814C01A: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814C10E @@ -725,7 +725,7 @@ _0814C080: .align 2, 0 _0814C0AC: .4byte sub_814DB84 _0814C0B0: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814C10E @@ -751,7 +751,7 @@ _0814C0D2: bl sub_80FA42C b _0814C108 _0814C0E4: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814C10E @@ -907,7 +907,7 @@ _0814C1FC: bl sub_80FA42C b _0814C23C _0814C21E: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814C242 @@ -951,7 +951,7 @@ _0814C262: beq _0814C298 b _0814C2EC _0814C26C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814C2F2 @@ -972,7 +972,7 @@ _0814C292: bl sub_80FA42C b _0814C2EC _0814C298: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814C2F2 @@ -2070,7 +2070,7 @@ _0814CADA: strh r0, [r4, 0x10] b _0814CB12 _0814CAF4: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814CB18 @@ -2172,7 +2172,7 @@ _0814CB8A: bl SetGpuReg b _0814CBFC _0814CBBC: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814CC02 @@ -2273,7 +2273,7 @@ _0814CC72: bl SendBlock b _0814CF8E _0814CC8A: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _0814CC96 @@ -2618,7 +2618,7 @@ _0814CF24: bl SendBlock b _0814CF8E _0814CF30: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814CF94 @@ -2849,7 +2849,7 @@ _0814D100: bl sub_80FA42C b _0814D178 _0814D106: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814D17E @@ -3031,7 +3031,7 @@ _0814D260: bl sub_80FA42C b _0814D30C _0814D266: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814D312 @@ -3047,7 +3047,7 @@ _0814D266: bl SendBlock b _0814D30C _0814D288: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814D312 @@ -3319,7 +3319,7 @@ _0814D482: bl sub_80FA42C b _0814D4B8 _0814D488: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814D4BE diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s index b10f29f8d..afab275ab 100644 --- a/asm/berry_crush_3.s +++ b/asm/berry_crush_3.s @@ -341,7 +341,7 @@ _0814D8D4: bl sub_80FA42C b _0814D9BA _0814D8DA: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814D9C0 diff --git a/asm/cable_club.s b/asm/cable_club.s index 28cbfc49c..a20b4310c 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -439,7 +439,7 @@ sub_8080A4C: @ 8080A4C adds r4, r0, r1 movs r0, 0 strh r0, [r4, 0xE] - bl sub_800AA48 + bl IsLinkMaster lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -644,7 +644,7 @@ _08080C3C: beq _08080C5C movs r0, 0x5 bl PlaySE - bl sub_800A5BC + bl CheckShouldAdvanceLinkState ldr r0, _08080C64 @ =gTasks lsls r1, r6, 2 adds r1, r6 @@ -1367,7 +1367,7 @@ sub_80811FC: @ 80811FC ldrsh r2, [r4, r3] cmp r2, 0 bne _08081230 - bl sub_8009804 + bl OpenLink bl sub_800A270 ldr r0, _0808122C @ =sub_8081A90 movs r1, 0x50 @@ -1405,7 +1405,7 @@ sub_808124C: @ 808124C lsrs r0, 24 cmp r0, 0x1 bls _08081292 - bl sub_800AA48 + bl IsLinkMaster lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1450,7 +1450,7 @@ sub_80812A0: @ 80812A0 lsls r0, 24 cmp r4, r0 bne _080812CA - bl sub_800A5BC + bl CheckShouldAdvanceLinkState ldr r0, _080812D0 @ =gTasks lsls r1, r5, 2 adds r1, r5 @@ -1790,7 +1790,7 @@ _08081560: strh r0, [r6] b _0808160A _0808156A: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0808160A @@ -1901,7 +1901,7 @@ _08081640: strb r0, [r4] b _0808165C _0808164C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0808165C @@ -2283,7 +2283,7 @@ _08081950: .align 2, 0 _08081958: .4byte gUnknown_2031DA4 _0808195C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08081970 diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index 13a4d95b5..c6e46517e 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -385,7 +385,7 @@ _08150B08: bl sub_80FA42C b _08150BDC _08150B16: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08150BFC @@ -652,7 +652,7 @@ _08150D28: bl sub_815F138 b _08150D52 _08150D3A: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08150D74 @@ -673,7 +673,7 @@ _08150D52: .align 2, 0 _08150D60: .4byte gUnknown_203F3E0 _08150D64: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08150D74 @@ -1025,7 +1025,7 @@ _08150FFE: ldr r1, [r6] b _0815106A _08151010: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08151092 @@ -1131,7 +1131,7 @@ _081510BE: ldr r1, [r6] b _08151140 _081510DA: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0815118A @@ -1276,7 +1276,7 @@ _081511DC: ldr r1, [r6] b _0815128A _08151202: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081512AA @@ -1463,7 +1463,7 @@ _0815136A: .align 2, 0 _08151388: .4byte gUnknown_203F3E0 _0815138C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08151480 @@ -1984,7 +1984,7 @@ _0815177E: _081517A0: .4byte gUnknown_203F3E0 _081517A4: .4byte 0x0000318c _081517A8: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08151836 diff --git a/asm/dragon.s b/asm/dragon.s index 956e8b1e0..5f86b5eca 100644 --- a/asm/dragon.s +++ b/asm/dragon.s @@ -266,7 +266,7 @@ sub_80B7448: @ 80B7448 ldr r0, _080B74A0 @ =gBattleAnimArgs ldrh r0, [r0] strh r0, [r6, 0x3A] - ldr r4, _080B74A4 @ =sBattler_AI + ldr r4, _080B74A4 @ =gBattlerAttacker ldrb r0, [r4] movs r1, 0 bl sub_8076B2C @@ -284,7 +284,7 @@ sub_80B7448: @ 80B7448 .align 2, 0 _080B749C: .4byte gBattleAnimAttacker _080B74A0: .4byte gBattleAnimArgs -_080B74A4: .4byte sBattler_AI +_080B74A4: .4byte gBattlerAttacker _080B74A8: lsrs r0, r1, 17 _080B74AA: diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index b2eb846e7..082aa0103 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -406,7 +406,7 @@ _0807DE1E: bl sub_800AB9C b _0807DE32 _0807DE24: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0807DE50 diff --git a/asm/fighting.s b/asm/fighting.s index 240e2bbb0..b933e88e6 100644 --- a/asm/fighting.s +++ b/asm/fighting.s @@ -1037,7 +1037,7 @@ sub_80B107C: @ 80B107C ldrsh r0, [r0, r1] cmp r0, 0 bne _080B10D8 - ldr r4, _080B10CC @ =sBattler_AI + ldr r4, _080B10CC @ =gBattlerAttacker ldrb r0, [r4] movs r1, 0x2 bl GetBattlerSpriteCoord @@ -1066,7 +1066,7 @@ sub_80B107C: @ 80B107C b _080B10F4 .align 2, 0 _080B10C8: .4byte gBattleAnimArgs -_080B10CC: .4byte sBattler_AI +_080B10CC: .4byte gBattlerAttacker _080B10D0: .4byte gBattleAnimAttacker _080B10D4: .4byte gBattleAnimTarget _080B10D8: @@ -1341,7 +1341,7 @@ sub_80B12E8: @ 80B12E8 ldrsh r0, [r0, r1] cmp r0, 0 bne _080B132C - ldr r4, _080B1320 @ =sBattler_AI + ldr r4, _080B1320 @ =gBattlerAttacker ldrb r0, [r4] movs r1, 0x2 bl GetBattlerSpriteCoord @@ -1360,7 +1360,7 @@ sub_80B12E8: @ 80B12E8 b _080B1332 .align 2, 0 _080B131C: .4byte gBattleAnimArgs -_080B1320: .4byte sBattler_AI +_080B1320: .4byte gBattlerAttacker _080B1324: .4byte gBattleAnimTarget _080B1328: .4byte gBattleAnimAttacker _080B132C: diff --git a/asm/link.s b/asm/link.s index 7275ebbd2..80b4f5f6a 100644 --- a/asm/link.s +++ b/asm/link.s @@ -236,7 +236,7 @@ sub_8009640: @ 8009640 ldr r2, _080096DC @ =0x00001111 adds r0, r2, 0 strh r0, [r1] - bl sub_8009804 + bl OpenLink ldr r0, _080096E0 @ =gMain ldrh r0, [r0, 0x24] bl SeedRng @@ -431,8 +431,8 @@ _080097FC: .4byte gTasks _08009800: .4byte gUnknown_3003F84 thumb_func_end task02_080097CC - thumb_func_start sub_8009804 -sub_8009804: @ 8009804 + thumb_func_start OpenLink +OpenLink: @ 8009804 push {r4-r6,lr} ldr r0, _0800984C @ =gWirelessCommType ldrb r4, [r0] @@ -505,7 +505,7 @@ _080098A8: .4byte gReceivedRemoteLinkPlayers _080098AC: .4byte gUnknown_3003EB8 _080098B0: .4byte gUnknown_3003F30 _080098B4: .4byte gUnknown_3003F2C - thumb_func_end sub_8009804 + thumb_func_end OpenLink thumb_func_start CloseLink CloseLink: @ 80098B8 @@ -1556,7 +1556,7 @@ sub_800A0B4: @ 800A0B4 str r1, [r0] ldr r0, _0800A0CC @ =gLinkTimeOutCounter strh r1, [r0] - bl sub_8009804 + bl OpenLink pop {r0} bx r0 .align 2, 0 @@ -2115,8 +2115,8 @@ _0800A4B4: .4byte gUnknown_3003F90 _0800A4B8: .4byte 0x0000cccc thumb_func_end sub_800A474 - thumb_func_start sub_800A4BC -sub_800A4BC: @ 800A4BC + thumb_func_start IsLinkTaskFinished +IsLinkTaskFinished: @ 800A4BC push {lr} ldr r0, _0800A4D0 @ =gWirelessCommType ldrb r0, [r0] @@ -2142,7 +2142,7 @@ _0800A4E2: bx r1 .align 2, 0 _0800A4E8: .4byte gUnknown_3003F80 - thumb_func_end sub_800A4BC + thumb_func_end IsLinkTaskFinished thumb_func_start GetBlockReceivedStatus GetBlockReceivedStatus: @ 800A4EC @@ -2265,8 +2265,8 @@ _0800A5B2: _0800A5B8: .4byte gUnknown_3003EBC thumb_func_end ResetBlockReceivedFlag - thumb_func_start sub_800A5BC -sub_800A5BC: @ 800A5BC + thumb_func_start CheckShouldAdvanceLinkState +CheckShouldAdvanceLinkState: @ 800A5BC push {lr} ldr r0, _0800A5DC @ =gUnknown_3003F20 ldr r1, [r0] @@ -2287,7 +2287,7 @@ _0800A5D8: .align 2, 0 _0800A5DC: .4byte gUnknown_3003F20 _0800A5E0: .4byte gUnknown_3003F84 - thumb_func_end sub_800A5BC + thumb_func_end CheckShouldAdvanceLinkState thumb_func_start LinkTestCalcBlockChecksum LinkTestCalcBlockChecksum: @ 800A5E4 @@ -2883,8 +2883,8 @@ GetLinkPlayerCount_2: @ 800AA38 _0800AA44: .4byte gUnknown_3003F20 thumb_func_end GetLinkPlayerCount_2 - thumb_func_start sub_800AA48 -sub_800AA48: @ 800AA48 + thumb_func_start IsLinkMaster +IsLinkMaster: @ 800AA48 push {lr} ldr r0, _0800AA60 @ =gWirelessCommType ldrb r0, [r0] @@ -2906,7 +2906,7 @@ _0800AA68: _0800AA70: pop {r1} bx r1 - thumb_func_end sub_800AA48 + thumb_func_end IsLinkMaster thumb_func_start sub_800AA74 sub_800AA74: @ 800AA74 diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 2bfeaca50..356cbb45b 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -4996,7 +4996,7 @@ _080FAC58: .align 2, 0 _080FAC74: .4byte 0x0000099d _080FAC78: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FACD6 @@ -5103,7 +5103,7 @@ _080FAD3A: .align 2, 0 _080FAD50: .4byte gBlockSendBuffer _080FAD54: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FAD8A @@ -6875,7 +6875,7 @@ sub_80FBA78: @ 80FBA78 adds r0, r2, 0 strh r0, [r1] bl sub_800B1F4 - bl sub_8009804 + bl OpenLink ldr r0, _080FBB00 @ =gMain ldrh r0, [r0, 0x24] bl SeedRng diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 17d761a3d..1232764e5 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -317,7 +317,7 @@ _08115B0C: movs r2, 0 bl sub_80FAF58 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink ldrb r1, [r4] movs r0, 0xF ands r0, r1 @@ -1841,7 +1841,7 @@ _081167C0: ldrb r0, [r0] strb r0, [r1] bl sub_800B1F4 - bl sub_8009804 + bl OpenLink bl sub_80FBBD8 movs r0, 0x70 bl AllocZeroed @@ -2595,7 +2595,7 @@ _08116E70: movs r2, 0 bl sub_80FAF58 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink bl sub_80FBBD8 movs r0, 0x1 bl sub_80FB128 @@ -3864,7 +3864,7 @@ _08117968: .align 2, 0 _08117970: .4byte gPaletteFade _08117974: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08117988 @@ -3999,7 +3999,7 @@ _08117A7C: movs r1, 0 bl sub_80FAF74 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink movs r0, 0x2 bl sub_80FBB8C movs r0, 0x1 @@ -4477,7 +4477,7 @@ _08117EB2: strb r0, [r5, 0xC] b _08117ECA _08117EBA: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08117ECA @@ -4571,7 +4571,7 @@ _08117F7C: movs r2, 0 bl sub_80FAF58 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink bl sub_80FBBD8 movs r0, 0x70 bl AllocZeroed @@ -4897,7 +4897,7 @@ _0811826C: bl sub_800AB9C b _08118288 _08118278: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08118288 @@ -4990,7 +4990,7 @@ _08118340: movs r2, 0 bl sub_80FAF58 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink bl sub_80FBBD8 movs r0, 0x70 bl AllocZeroed @@ -5302,7 +5302,7 @@ _081185E8: bl sub_800AB9C b _08118604 _081185F4: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08118604 @@ -5582,7 +5582,7 @@ _0811887C: ldrh r2, [r2, 0xC] bl sub_80FAFA0 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink bl sub_80FBC00 ldr r0, [r6, 0x8] movs r1, 0x1 @@ -6274,7 +6274,7 @@ _08118EAC: .align 2, 0 _08118EC4: .4byte gStringVar4 _08118EC8: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08118ED6 @@ -6796,7 +6796,7 @@ _08119354: movs r0, 0xF b _081198DA _0811935C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08119368 @@ -7640,7 +7640,7 @@ _08119A3E: movs r2, 0 bl sub_80FAF58 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink bl sub_80FBC00 movs r0, 0x1 bl sub_80FB128 @@ -13134,7 +13134,7 @@ _0811C48C: .align 2, 0 _0811C4A4: .4byte gMain _0811C4A8: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0811C516 diff --git a/asm/party_menu.s b/asm/party_menu.s index 4fac6a6c5..89c03fcff 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -18290,7 +18290,7 @@ _08127BD8: ldrb r0, [r0, 0xB] cmp r0, 0x4 bne _08127BEC - bl sub_8044348 + bl SetMonPreventsSwitchingString b _08127C8A .align 2, 0 _08127BE8: .4byte gUnknown_203B0A0 diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index de3071fd6..ab95e1bf4 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -470,7 +470,7 @@ _08147E3C: .align 2, 0 _08147E60: .4byte gUnknown_203F3D4 _08147E64: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08147F04 diff --git a/asm/trade.s b/asm/trade.s index 61328d618..0e0520f37 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -263,7 +263,7 @@ _0804C80A: cmp r0, 0 beq _0804C880 bl sub_800B1F4 - bl sub_8009804 + bl OpenLink bl sub_80FBB20 b _0804C892 .align 2, 0 @@ -275,7 +275,7 @@ _0804C874: .4byte 0x00001122 _0804C878: .4byte gUnknown_2031DA8 _0804C87C: .4byte gWirelessCommType _0804C880: - bl sub_8009804 + bl OpenLink ldr r1, _0804C8A8 @ =gMain movs r7, 0x87 lsls r7, 3 @@ -341,7 +341,7 @@ _0804C8F4: bcs _0804C908 b _0804CEE6 _0804C908: - bl sub_800AA48 + bl IsLinkMaster lsls r0, 24 cmp r0, 0 beq _0804C940 @@ -357,7 +357,7 @@ _0804C908: bhi _0804C928 b _0804CEE6 _0804C928: - bl sub_800A5BC + bl CheckShouldAdvanceLinkState ldr r1, _0804C93C @ =gMain movs r3, 0x87 lsls r3, 3 @@ -2201,7 +2201,7 @@ _0804D8D8: .4byte gBlockSendBuffer _0804D8DC: .4byte gPlayerParty _0804D8E0: .4byte gUnknown_2031DA8 _0804D8E4: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _0804D8F0 @@ -3875,7 +3875,7 @@ _0804E61C: adds r0, 0x80 ldr r1, _0804E64C @ =0x0000bbbb strh r1, [r0] - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0804E668 @@ -3944,7 +3944,7 @@ _0804E6B0: movs r0, 0x3 movs r1, 0x1 bl sub_804F488 - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0804E6DE @@ -4285,7 +4285,7 @@ sub_804E944: @ 804E944 ldrb r0, [r0] cmp r0, 0 beq _0804E988 - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0804E9AA @@ -7508,7 +7508,7 @@ _08050240: adds r0, r1 movs r1, 0x1 strb r1, [r0] - bl sub_8009804 + bl OpenLink ldr r1, _08050278 @ =gMain movs r2, 0x87 lsls r2, 3 @@ -7549,7 +7549,7 @@ _08050298: .align 2, 0 _080502A4: .4byte gUnknown_2031DAC _080502A8: - bl sub_800AA48 + bl IsLinkMaster lsls r0, 24 cmp r0, 0 bne _080502B4 @@ -7571,7 +7571,7 @@ _080502B4: bhi _080502D6 b _08050472 _080502D6: - bl sub_800A5BC + bl CheckShouldAdvanceLinkState ldr r1, _080502E8 @ =gMain movs r2, 0x87 lsls r2, 3 @@ -8274,7 +8274,7 @@ sub_80508F4: @ 80508F4 .align 2, 0 _08050908: .4byte gUnknown_2031DAC _0805090C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08050932 @@ -14405,7 +14405,7 @@ _08054080: strb r1, [r0] str r2, [r3, 0x64] _0805409C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _080540A8 @@ -14420,7 +14420,7 @@ _080540A8: _080540B4: .4byte gUnknown_2031DAC _080540B8: .4byte gMain _080540BC: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _080540C8 @@ -14637,7 +14637,7 @@ _08054278: str r0, [r1, 0x64] b _08054396 _0805427E: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _0805428A @@ -14672,7 +14672,7 @@ _080542A0: .align 2, 0 _080542C0: .4byte gUnknown_2031DAC _080542C4: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08054396 diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index 9f8d7da11..285827e14 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -295,7 +295,7 @@ _08128662: adds r0, 0x1 strh r0, [r1, 0x6] _08128674: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081286BC @@ -321,7 +321,7 @@ _08128674: .align 2, 0 _081286A8: .4byte gUnknown_203B0E0 _081286AC: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081286BC @@ -765,7 +765,7 @@ _08128A36: .align 2, 0 _08128A40: .4byte gUnknown_203B0E0 _08128A44: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08128A94 @@ -888,7 +888,7 @@ _08128B28: .align 2, 0 _08128B48: .4byte gUnknown_203B0E0 _08128B4C: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08128BFC @@ -925,7 +925,7 @@ _08128B80: .align 2, 0 _08128B9C: .4byte gUnknown_203B0E0 _08128BA0: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08128BFC @@ -1016,7 +1016,7 @@ _08128C44: lsls r0, 24 cmp r0, 0 bne _08128CA2 - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08128CA2 @@ -1134,7 +1134,7 @@ _08128D30: lsrs r0, 24 cmp r0, 0x1 beq _08128D9C - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08128D9C @@ -1231,7 +1231,7 @@ _08128DEC: adds r0, 0x1 strh r0, [r1, 0x6] _08128E00: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1277,7 +1277,7 @@ _08128E52: .align 2, 0 _08128E5C: .4byte gUnknown_203B0E0 _08128E60: - bl sub_800A4BC + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08128E70 -- cgit v1.2.3 From 035df4d7a4a2782cf7bc3789f56471a03ffbfca0 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 30 Jul 2019 12:10:40 +0800 Subject: ported documentation of battle_util.s --- asm/battle_2.s | 734 +++++----- asm/battle_anim_special.s | 4 +- asm/battle_controller_oak.s | 4 +- asm/battle_script_commands.s | 3274 +++++++++++++++++++++--------------------- asm/battle_util.s | 1450 +++++++++---------- asm/evolution_scene.s | 100 +- 6 files changed, 2783 insertions(+), 2783 deletions(-) (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index 910b37d65..365ef0691 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -21,14 +21,14 @@ sub_800FD9C: @ 800FD9C bl HandleLinkBattleSetup ldr r0, _0800FDD0 @ =sub_80109C8 bl SetMainCallback2 - ldr r1, _0800FDD4 @ =gUnknown_2023E82 + ldr r1, _0800FDD4 @ =gBattleCommunication movs r0, 0 strb r0, [r1] b _0800FE1C .align 2, 0 _0800FDCC: .4byte gBattleTypeFlags _0800FDD0: .4byte sub_80109C8 -_0800FDD4: .4byte gUnknown_2023E82 +_0800FDD4: .4byte gBattleCommunication _0800FDD8: bl sub_800FE24 ldr r1, [r4] @@ -237,7 +237,7 @@ _0800FFAE: cmp r4, r5 ble _0800FFAE movs r1, 0 - ldr r0, _0800FFE8 @ =gUnknown_2023E82 + ldr r0, _0800FFE8 @ =gBattleCommunication strb r1, [r0] add sp, 0x4 pop {r4,r5} @@ -251,7 +251,7 @@ _0800FFD8: .4byte gTrainerBattleOpponent_A _0800FFDC: .4byte gMain _0800FFE0: .4byte 0x00000439 _0800FFE4: .4byte gPlayerParty -_0800FFE8: .4byte gUnknown_2023E82 +_0800FFE8: .4byte gBattleCommunication thumb_func_end sub_800FE24 thumb_func_start sub_800FFEC @@ -952,7 +952,7 @@ sub_8010508: @ 8010508 movs r0, 0x1 adds r5, r4, 0 eors r5, r0 - ldr r0, _08010544 @ =gUnknown_2023E82 + ldr r0, _08010544 @ =gBattleCommunication ldrb r0, [r0] cmp r0, 0x10 bls _08010536 @@ -965,7 +965,7 @@ _08010536: mov pc, r0 .align 2, 0 _08010540: .4byte gBattleStruct -_08010544: .4byte gUnknown_2023E82 +_08010544: .4byte gBattleCommunication _08010548: .4byte _0801054C .align 2, 0 _0801054C: @@ -1000,7 +1000,7 @@ _08010590: movs r0, 0x3 bl ShowBg bl sub_80357C8 - ldr r1, _080105CC @ =gUnknown_2023E82 + ldr r1, _080105CC @ =gBattleCommunication movs r0, 0x1 strb r0, [r1] _080105BC: @@ -1013,7 +1013,7 @@ _080105C6: bl sub_80FCEA8 b _080108B8 .align 2, 0 -_080105CC: .4byte gUnknown_2023E82 +_080105CC: .4byte gBattleCommunication _080105D0: .4byte gWirelessCommType _080105D4: ldr r2, _08010640 @ =gBattleTypeFlags @@ -1053,7 +1053,7 @@ _080105EC: adds r1, r5 movs r2, 0x20 bl SendBlock - ldr r0, _08010650 @ =gUnknown_2023E82 + ldr r0, _08010650 @ =gBattleCommunication strb r6, [r0] _0801062A: ldr r0, _08010654 @ =gWirelessCommType @@ -1071,19 +1071,19 @@ _08010640: .4byte gBattleTypeFlags _08010644: .4byte gReceivedRemoteLinkPlayers _08010648: .4byte gBattleStruct _0801064C: .4byte 0x00000185 -_08010650: .4byte gUnknown_2023E82 +_08010650: .4byte gBattleCommunication _08010654: .4byte gWirelessCommType _08010658: movs r0, 0x4 orrs r1, r0 str r1, [r2] - ldr r1, _0801066C @ =gUnknown_2023E82 + ldr r1, _0801066C @ =gBattleCommunication movs r0, 0xF strb r0, [r1] bl sub_801017C b _080108B8 .align 2, 0 -_0801066C: .4byte gUnknown_2023E82 +_0801066C: .4byte gBattleCommunication _08010670: bl GetBlockReceivedStatus movs r1, 0x3 @@ -1133,14 +1133,14 @@ _0801067E: ldrh r0, [r1] strh r0, [r2, 0x10] bl SetDeoxysStats - ldr r1, _080106F0 @ =gUnknown_2023E82 + ldr r1, _080106F0 @ =gBattleCommunication b _080108B2 .align 2, 0 _080106E0: .4byte sub_800F6FC _080106E4: .4byte gTasks _080106E8: .4byte gBattleStruct _080106EC: .4byte gBlockRecvBuffer -_080106F0: .4byte gUnknown_2023E82 +_080106F0: .4byte gBattleCommunication _080106F4: bl IsLinkTaskFinished lsls r0, 24 @@ -1154,11 +1154,11 @@ _08010700: ldr r1, _08010714 @ =gPlayerParty movs r2, 0xC8 bl SendBlock - ldr r1, _08010718 @ =gUnknown_2023E82 + ldr r1, _08010718 @ =gBattleCommunication b _080108B2 .align 2, 0 _08010714: .4byte gPlayerParty -_08010718: .4byte gUnknown_2023E82 +_08010718: .4byte gBattleCommunication _0801071C: bl GetBlockReceivedStatus movs r1, 0x3 @@ -1174,12 +1174,12 @@ _0801072A: adds r1, r2 movs r2, 0xC8 bl memcpy - ldr r1, _08010748 @ =gUnknown_2023E82 + ldr r1, _08010748 @ =gBattleCommunication b _080108B2 .align 2, 0 _08010740: .4byte gEnemyParty _08010744: .4byte gBlockRecvBuffer -_08010748: .4byte gUnknown_2023E82 +_08010748: .4byte gBattleCommunication _0801074C: bl IsLinkTaskFinished lsls r0, 24 @@ -1193,11 +1193,11 @@ _08010758: ldr r1, _0801076C @ =gUnknown_202434C movs r2, 0xC8 bl SendBlock - ldr r1, _08010770 @ =gUnknown_2023E82 + ldr r1, _08010770 @ =gBattleCommunication b _080108B2 .align 2, 0 _0801076C: .4byte gUnknown_202434C -_08010770: .4byte gUnknown_2023E82 +_08010770: .4byte gBattleCommunication _08010774: bl GetBlockReceivedStatus movs r1, 0x3 @@ -1213,12 +1213,12 @@ _08010782: adds r1, r2 movs r2, 0xC8 bl memcpy - ldr r1, _080107A0 @ =gUnknown_2023E82 + ldr r1, _080107A0 @ =gBattleCommunication b _080108B2 .align 2, 0 _08010798: .4byte gUnknown_20240F4 _0801079C: .4byte gBlockRecvBuffer -_080107A0: .4byte gUnknown_2023E82 +_080107A0: .4byte gBattleCommunication _080107A4: bl IsLinkTaskFinished lsls r0, 24 @@ -1232,11 +1232,11 @@ _080107B0: ldr r1, _080107C4 @ =gUnknown_2024414 movs r2, 0xC8 bl SendBlock - ldr r1, _080107C8 @ =gUnknown_2023E82 + ldr r1, _080107C8 @ =gBattleCommunication b _080108B2 .align 2, 0 _080107C4: .4byte gUnknown_2024414 -_080107C8: .4byte gUnknown_2023E82 +_080107C8: .4byte gBattleCommunication _080107CC: bl GetBlockReceivedStatus movs r1, 0x3 @@ -1268,17 +1268,17 @@ _080107CC: adds r0, r4, 0 adds r0, 0x64 bl sub_8011D0C - ldr r1, _08010830 @ =gUnknown_2023E82 + ldr r1, _08010830 @ =gBattleCommunication b _080108B2 .align 2, 0 _08010820: .4byte gUnknown_20241BC _08010824: .4byte gBlockRecvBuffer _08010828: .4byte 0xfffffe70 _0801082C: .4byte 0xfffffed4 -_08010830: .4byte gUnknown_2023E82 +_08010830: .4byte gBattleCommunication _08010834: bl sub_800D30C - ldr r0, _08010848 @ =gUnknown_2023E82 + ldr r0, _08010848 @ =gBattleCommunication ldrb r1, [r0] adds r1, 0x1 movs r2, 0 @@ -1287,7 +1287,7 @@ _08010834: strb r2, [r0, 0x2] b _080108B8 .align 2, 0 -_08010848: .4byte gUnknown_2023E82 +_08010848: .4byte gBattleCommunication _0801084C: ldr r0, _08010880 @ =gUnknown_2023E83 adds r1, r0, 0x1 @@ -1321,14 +1321,14 @@ _0801088C: .4byte sub_80123E4 _08010890: .4byte BattleMainCB2 _08010894: .4byte gBattleTypeFlags _08010898: - ldr r0, _080108C0 @ =gUnknown_2023E82 + ldr r0, _080108C0 @ =gBattleCommunication ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] movs r1, 0x1 strb r1, [r0, 0x1] _080108A4: - ldr r1, _080108C0 @ =gUnknown_2023E82 + ldr r1, _080108C0 @ =gBattleCommunication ldrb r0, [r1, 0x1] subs r0, 0x1 strb r0, [r1, 0x1] @@ -1344,7 +1344,7 @@ _080108B8: pop {r0} bx r0 .align 2, 0 -_080108C0: .4byte gUnknown_2023E82 +_080108C0: .4byte gBattleCommunication thumb_func_end sub_8010508 thumb_func_start sub_80108C4 @@ -1494,7 +1494,7 @@ sub_80109C8: @ 80109C8 bl RunTasks bl AnimateSprites bl BuildOamBuffer - ldr r5, _08010A10 @ =gUnknown_2023E82 + ldr r5, _08010A10 @ =gBattleCommunication ldrb r0, [r5] cmp r0, 0x1 beq _08010A5C @@ -1505,7 +1505,7 @@ sub_80109C8: @ 80109C8 b _08010B82 .align 2, 0 _08010A0C: .4byte gBattleStruct -_08010A10: .4byte gUnknown_2023E82 +_08010A10: .4byte gBattleCommunication _08010A14: cmp r0, 0x2 beq _08010AFC @@ -1596,7 +1596,7 @@ _08010ABA: adds r4, 0x1 cmp r4, 0x3 ble _08010A78 - ldr r1, _08010AEC @ =gUnknown_2023E82 + ldr r1, _08010AEC @ =gBattleCommunication ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -1615,7 +1615,7 @@ _08010ABA: .align 2, 0 _08010AE4: .4byte gBlockRecvBuffer _08010AE8: .4byte gUnknown_2022B58 -_08010AEC: .4byte gUnknown_2023E82 +_08010AEC: .4byte gBattleCommunication _08010AF0: .4byte gMain _08010AF4: .4byte gBattleTypeFlags _08010AF8: .4byte sub_80109C8 @@ -1709,7 +1709,7 @@ sub_8010BA0: @ 8010BA0 bl RunTasks bl AnimateSprites bl BuildOamBuffer - ldr r0, _08010BDC @ =gUnknown_2023E82 + ldr r0, _08010BDC @ =gBattleCommunication ldrb r0, [r0] cmp r0, 0xC bls _08010BCC @@ -1722,7 +1722,7 @@ _08010BCC: mov pc, r0 .align 2, 0 _08010BD8: .4byte gBattleStruct -_08010BDC: .4byte gUnknown_2023E82 +_08010BDC: .4byte gBattleCommunication _08010BE0: .4byte _08010BE4 .align 2, 0 _08010BE4: @@ -1753,7 +1753,7 @@ _08010C18: movs r0, 0x3 bl ShowBg bl sub_80357C8 - ldr r1, _08010C54 @ =gUnknown_2023E82 + ldr r1, _08010C54 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1] _08010C44: @@ -1766,7 +1766,7 @@ _08010C4E: bl sub_80FCEA8 b _080110F0 .align 2, 0 -_08010C54: .4byte gUnknown_2023E82 +_08010C54: .4byte gBattleCommunication _08010C58: .4byte gWirelessCommType _08010C5C: ldr r0, _08010CC0 @ =gReceivedRemoteLinkPlayers @@ -1800,7 +1800,7 @@ _08010C66: adds r1, r5 movs r2, 0x20 bl SendBlock - ldr r1, _08010CCC @ =gUnknown_2023E82 + ldr r1, _08010CCC @ =gBattleCommunication ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -1819,7 +1819,7 @@ _08010CB4: _08010CC0: .4byte gReceivedRemoteLinkPlayers _08010CC4: .4byte gBattleStruct _08010CC8: .4byte 0x00000185 -_08010CCC: .4byte gUnknown_2023E82 +_08010CCC: .4byte gBattleCommunication _08010CD0: .4byte gWirelessCommType _08010CD4: bl GetBlockReceivedStatus @@ -1926,7 +1926,7 @@ _08010D9C: bge _08010D3A bl ZeroPlayerPartyMons bl ZeroEnemyPartyMons - ldr r1, _08010DD8 @ =gUnknown_2023E82 + ldr r1, _08010DD8 @ =gBattleCommunication ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -1943,10 +1943,10 @@ _08010DC2: ldr r1, _08010DDC @ =gDecompressionBuffer movs r2, 0xC8 bl SendBlock - ldr r1, _08010DD8 @ =gUnknown_2023E82 + ldr r1, _08010DD8 @ =gBattleCommunication b _080110EA .align 2, 0 -_08010DD8: .4byte gUnknown_2023E82 +_08010DD8: .4byte gBattleCommunication _08010DDC: .4byte gDecompressionBuffer _08010DE0: bl GetBlockReceivedStatus @@ -2078,11 +2078,11 @@ _08010EBE: adds r6, 0x1 cmp r6, 0x3 ble _08010E00 - ldr r1, _08010ED4 @ =gUnknown_2023E82 + ldr r1, _08010ED4 @ =gBattleCommunication b _080110EA .align 2, 0 _08010ED0: .4byte gUnknown_2024158 -_08010ED4: .4byte gUnknown_2023E82 +_08010ED4: .4byte gBattleCommunication _08010ED8: bl IsLinkTaskFinished lsls r0, 24 @@ -2096,11 +2096,11 @@ _08010EE4: ldr r1, _08010EF8 @ =gDecompressionBuffer + 0x0C8 movs r2, 0x64 bl SendBlock - ldr r1, _08010EFC @ =gUnknown_2023E82 + ldr r1, _08010EFC @ =gBattleCommunication b _080110EA .align 2, 0 _08010EF8: .4byte gDecompressionBuffer + 0x0C8 -_08010EFC: .4byte gUnknown_2023E82 +_08010EFC: .4byte gBattleCommunication _08010F00: bl GetBlockReceivedStatus movs r1, 0xF @@ -2273,16 +2273,16 @@ _08010FDE: lsls r2, 1 adds r0, r4, r2 bl sub_8011D0C - ldr r1, _08011068 @ =gUnknown_2023E82 + ldr r1, _08011068 @ =gBattleCommunication b _080110EA .align 2, 0 _0801105C: .4byte gUnknown_2024220 _08011060: .4byte gPlayerParty _08011064: .4byte gEnemyParty -_08011068: .4byte gUnknown_2023E82 +_08011068: .4byte gBattleCommunication _0801106C: bl sub_800D30C - ldr r0, _08011080 @ =gUnknown_2023E82 + ldr r0, _08011080 @ =gBattleCommunication ldrb r1, [r0] adds r1, 0x1 movs r2, 0 @@ -2291,7 +2291,7 @@ _0801106C: strb r2, [r0, 0x2] b _080110F0 .align 2, 0 -_08011080: .4byte gUnknown_2023E82 +_08011080: .4byte gBattleCommunication _08011084: ldr r0, _080110B8 @ =gUnknown_2023E83 adds r1, r0, 0x1 @@ -2325,14 +2325,14 @@ _080110C4: .4byte sub_80123E4 _080110C8: .4byte BattleMainCB2 _080110CC: .4byte gBattleTypeFlags _080110D0: - ldr r0, _080110FC @ =gUnknown_2023E82 + ldr r0, _080110FC @ =gBattleCommunication ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] movs r1, 0x1 strb r1, [r0, 0x1] _080110DC: - ldr r1, _080110FC @ =gUnknown_2023E82 + ldr r1, _080110FC @ =gBattleCommunication ldrb r0, [r1, 0x1] subs r0, 0x1 strb r0, [r1, 0x1] @@ -2350,7 +2350,7 @@ _080110F0: pop {r0} bx r0 .align 2, 0 -_080110FC: .4byte gUnknown_2023E82 +_080110FC: .4byte gBattleCommunication thumb_func_end sub_8010BA0 thumb_func_start BattleMainCB2 @@ -3634,7 +3634,7 @@ _08011A9C: bl sub_801184C ldr r0, _08011B8C @ =sub_8011B94 bl SetMainCallback2 - ldr r0, _08011B90 @ =gUnknown_2023E82 + ldr r0, _08011B90 @ =gBattleCommunication strb r4, [r0] add sp, 0x4 pop {r4} @@ -3661,7 +3661,7 @@ _08011B80: .4byte sub_80116F4 _08011B84: .4byte sub_800F6FC _08011B88: .4byte gTasks _08011B8C: .4byte sub_8011B94 -_08011B90: .4byte gUnknown_2023E82 +_08011B90: .4byte gBattleCommunication thumb_func_end sub_8011A1C thumb_func_start sub_8011B94 @@ -3680,7 +3680,7 @@ sub_8011B94: @ 8011B94 sub_8011BB0: @ 8011BB0 push {r4,lr} sub sp, 0x4 - ldr r4, _08011BC8 @ =gUnknown_2023E82 + ldr r4, _08011BC8 @ =gBattleCommunication ldrb r0, [r4] cmp r0, 0x1 beq _08011BEA @@ -3690,7 +3690,7 @@ sub_8011BB0: @ 8011BB0 beq _08011BD2 b _08011C34 .align 2, 0 -_08011BC8: .4byte gUnknown_2023E82 +_08011BC8: .4byte gBattleCommunication _08011BCC: cmp r0, 0x2 beq _08011C10 @@ -4776,7 +4776,7 @@ nullsub_12: @ 80123BC BeginBattleIntro: @ 80123C0 push {lr} bl sub_8012434 - ldr r1, _080123D8 @ =gUnknown_2023E82 + ldr r1, _080123D8 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x1] ldr r1, _080123DC @ =gBattleMainFunc @@ -4785,7 +4785,7 @@ BeginBattleIntro: @ 80123C0 pop {r0} bx r0 .align 2, 0 -_080123D8: .4byte gUnknown_2023E82 +_080123D8: .4byte gBattleCommunication _080123DC: .4byte gBattleMainFunc _080123E0: .4byte BattleIntroGetMonsData thumb_func_end BeginBattleIntro @@ -4904,7 +4904,7 @@ _0801246C: ble _08012464 movs r5, 0 ldr r3, _080126F8 @ =gSideTimers - ldr r4, _080126FC @ =gSideAffecting + ldr r4, _080126FC @ =gSideStatuses movs r2, 0x1 _080124C6: strh r5, [r4] @@ -4927,7 +4927,7 @@ _080124CA: strb r1, [r0] ldr r2, _08012708 @ =gBattleWeather strh r1, [r2] - ldr r1, _0801270C @ =gUnknown_2023F20 + ldr r1, _0801270C @ =gWishFutureKnock movs r2, 0 movs r3, 0 _080124F2: @@ -4937,7 +4937,7 @@ _080124F2: cmp r2, 0x2B bls _080124F2 movs r0, 0 - ldr r1, _08012710 @ =gUnknown_2023DD0 + ldr r1, _08012710 @ =gHitMarker str r0, [r1] ldr r2, _08012714 @ =gBattleTypeFlags ldr r0, [r2] @@ -4953,7 +4953,7 @@ _080124F2: cmp r0, 0 beq _08012522 movs r0, 0x80 - ldr r2, _08012710 @ =gUnknown_2023DD0 + ldr r2, _08012710 @ =gHitMarker str r0, [r2] _08012522: ldr r1, _0801271C @ =gSaveBlock2Ptr @@ -4982,7 +4982,7 @@ _08012522: ldr r0, [r0, 0xC] adds r0, 0x20 strb r2, [r0] - ldr r1, _08012734 @ =gUnknown_2023E82 + ldr r1, _08012734 @ =gBattleCommunication movs r2, 0 adds r0, r1, 0x7 _0801255C: @@ -5183,12 +5183,12 @@ _080126EC: .4byte gUnknown_2023DD4 _080126F0: .4byte gUnknown_2023DC0 _080126F4: .4byte gBattleResources _080126F8: .4byte gSideTimers -_080126FC: .4byte gSideAffecting +_080126FC: .4byte gSideStatuses _08012700: .4byte gBattlerAttacker _08012704: .4byte gBattlerTarget _08012708: .4byte gBattleWeather -_0801270C: .4byte gUnknown_2023F20 -_08012710: .4byte gUnknown_2023DD0 +_0801270C: .4byte gWishFutureKnock +_08012710: .4byte gHitMarker _08012714: .4byte gBattleTypeFlags _08012718: .4byte 0x00010002 _0801271C: .4byte gSaveBlock2Ptr @@ -5197,7 +5197,7 @@ _08012724: .4byte gUnknown_2023D72 _08012728: .4byte gBattleOutcome _0801272C: .4byte gBattleControllerExecFlags _08012730: .4byte gUnknown_2023E7E -_08012734: .4byte gUnknown_2023E82 +_08012734: .4byte gBattleCommunication _08012738: .4byte gUnknown_2023E7C _0801273C: .4byte gBattleMoveDamage _08012740: .4byte gIntroSlideFlags @@ -5266,7 +5266,7 @@ _080127B0: ldrb r7, [r7] cmp r5, r7 bge _08012824 - ldr r0, _080128E0 @ =gUnknown_2023C34 + ldr r0, _080128E0 @ =gChosenMoveByBattler mov r8, r0 ldr r3, _080128C4 @ =gDisableStructs ldr r4, _080128D4 @ =gStatuses3 @@ -5403,7 +5403,7 @@ _080128D0: .4byte gCurrentMove _080128D4: .4byte gStatuses3 _080128D8: .4byte gBattleMons _080128DC: .4byte gBattlersCount -_080128E0: .4byte gUnknown_2023C34 +_080128E0: .4byte gChosenMoveByBattler _080128E4: .4byte 0xfbffffff _080128E8: .4byte 0x15100007 _080128EC: .4byte 0x0003043f @@ -5431,7 +5431,7 @@ _0801290C: ldrb r6, [r6] cmp r5, r6 bge _0801296C - ldr r0, _08012B8C @ =gUnknown_2023C34 + ldr r0, _08012B8C @ =gChosenMoveByBattler mov r8, r0 ldr r6, _08012B90 @ =gBitTable ldr r4, _08012B94 @ =gActiveBattler @@ -5749,7 +5749,7 @@ _08012B7C: .4byte gBattleMons _08012B80: .4byte gBattleStruct _08012B84: .4byte gActionSelectionCursor _08012B88: .4byte gBattlersCount -_08012B8C: .4byte gUnknown_2023C34 +_08012B8C: .4byte gChosenMoveByBattler _08012B90: .4byte gBitTable _08012B94: .4byte gActiveBattler _08012B98: .4byte 0xffff1fff @@ -5780,7 +5780,7 @@ sub_8012BC8: @ 8012BC8 mov r8, r0 ldr r1, _08012F68 @ =gMoveSelectionCursor mov r9, r1 - ldr r2, _08012F6C @ =gUnknown_2023E8C + ldr r2, _08012F6C @ =gProtectStructs mov r12, r2 adds r5, r7, 0 movs r4, 0x58 @@ -6241,7 +6241,7 @@ _08012F5C: .4byte gActiveBattler _08012F60: .4byte gStatuses3 _08012F64: .4byte gActionSelectionCursor _08012F68: .4byte gMoveSelectionCursor -_08012F6C: .4byte gUnknown_2023E8C +_08012F6C: .4byte gProtectStructs _08012F70: .4byte gBattleMons _08012F74: .4byte gBattlersCount _08012F78: .4byte gBitTable @@ -6262,7 +6262,7 @@ _08012FA8: .4byte gBaseStats thumb_func_start BattleIntroGetMonsData BattleIntroGetMonsData: @ 8012FAC push {r4,r5,lr} - ldr r5, _08012FBC @ =gUnknown_2023E82 + ldr r5, _08012FBC @ =gBattleCommunication ldrb r0, [r5] cmp r0, 0 beq _08012FC0 @@ -6270,7 +6270,7 @@ BattleIntroGetMonsData: @ 8012FAC beq _08012FE4 b _0801301A .align 2, 0 -_08012FBC: .4byte gUnknown_2023E82 +_08012FBC: .4byte gBattleCommunication _08012FC0: ldr r4, _08012FE0 @ =gActiveBattler ldrb r0, [r5, 0x1] @@ -6280,7 +6280,7 @@ _08012FC0: movs r2, 0 bl BtlController_EmitGetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] @@ -6334,11 +6334,11 @@ BattleIntroPrepareBackgroundSlide: @ 8013020 movs r0, 0 bl BtlController_EmitIntroSlide ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r1, _08013064 @ =gBattleMainFunc ldr r0, _08013068 @ =sub_8013070 str r0, [r1] - ldr r0, _0801306C @ =gUnknown_2023E82 + ldr r0, _0801306C @ =gBattleCommunication strb r5, [r0] strb r5, [r0, 0x1] _08013050: @@ -6351,7 +6351,7 @@ _0801305C: .4byte gActiveBattler _08013060: .4byte gUnknown_2022B50 _08013064: .4byte gBattleMainFunc _08013068: .4byte sub_8013070 -_0801306C: .4byte gUnknown_2023E82 +_0801306C: .4byte gBattleCommunication thumb_func_end BattleIntroPrepareBackgroundSlide thumb_func_start sub_8013070 @@ -6528,7 +6528,7 @@ _080131B6: movs r0, 0 bl BtlController_EmitDrawTrainerPic ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080131D0: ldr r5, _08013244 @ =gBattleTypeFlags ldr r0, [r5] @@ -6545,7 +6545,7 @@ _080131D0: movs r0, 0 bl BtlController_EmitDrawTrainerPic ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080131F6: ldrb r0, [r4] bl GetBattlerSide @@ -6634,7 +6634,7 @@ _080132B4: bl BtlController_EmitLoadMonSprite mov r1, r9 ldrb r0, [r1] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080132C2: ldr r0, _08013328 @ =gBattleTypeFlags ldr r0, [r0] @@ -6659,7 +6659,7 @@ _080132EC: movs r0, 0 bl BtlController_EmitDrawTrainerPic ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080132F8: mov r2, r9 ldrb r0, [r2] @@ -6770,7 +6770,7 @@ _080133B6: movs r2, 0x80 bl BtlController_EmitDrawPartyStatusSummary ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec movs r7, 0 mov r6, r8 mov r5, sp @@ -6825,7 +6825,7 @@ _0801342E: movs r2, 0x80 bl BtlController_EmitDrawPartyStatusSummary ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r1, _08013460 @ =gBattleMainFunc ldr r0, _08013464 @ =BattleIntroPrintTrainerWantsToBattle b _080134C6 @@ -7009,7 +7009,7 @@ _080135B4: movs r0, 0 bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080135CE: ldr r0, _08013620 @ =gBattleTypeFlags ldr r0, [r0] @@ -7026,7 +7026,7 @@ _080135CE: movs r0, 0 bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080135F4: ldrb r0, [r4] adds r0, 0x1 @@ -7203,7 +7203,7 @@ _08013740: movs r0, 0 bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08013758: ldr r0, _080137C0 @ =gBattleTypeFlags ldr r0, [r0] @@ -7220,7 +7220,7 @@ _08013758: movs r0, 0 bl BtlController_EmitIntroTrainerBallThrow ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801377E: ldrb r0, [r4] adds r0, 0x1 @@ -7289,7 +7289,7 @@ _080137EA: movs r2, 0 bl BtlController_EmitSwitchInAnim ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801380C: ldrb r0, [r4] adds r0, 0x1 @@ -7356,7 +7356,7 @@ _08013874: ldrb r0, [r1] cmp r5, r0 bge _0801389A - ldr r2, _080138AC @ =gUnknown_2023BDE + ldr r2, _080138AC @ =gBattlerByTurnOrder _0801388E: adds r0, r5, r2 strb r5, [r0] @@ -7371,14 +7371,14 @@ _0801389A: _080138A0: .4byte gBattleControllerExecFlags _080138A4: .4byte gBattleStruct _080138A8: .4byte gBattlersCount -_080138AC: .4byte gUnknown_2023BDE +_080138AC: .4byte gBattlerByTurnOrder _080138B0: adds r4, r5, 0x1 mov r8, r4 ldrb r1, [r1] cmp r8, r1 bge _080138EE - ldr r6, _08013924 @ =gUnknown_2023BDE + ldr r6, _08013924 @ =gBattlerByTurnOrder ldr r3, _08013928 @ =gBattlersCount lsls r7, r5, 24 _080138C0: @@ -7434,7 +7434,7 @@ _080138FA: strb r1, [r0] b _08013ADA .align 2, 0 -_08013924: .4byte gUnknown_2023BDE +_08013924: .4byte gBattlerByTurnOrder _08013928: .4byte gBattlersCount _0801392C: .4byte gBattleStruct _08013930: @@ -7446,7 +7446,7 @@ _08013930: ldrb r1, [r1] cmp r0, r1 bcs _0801398A - ldr r5, _08013AF0 @ =gUnknown_2023BDE + ldr r5, _08013AF0 @ =gBattlerByTurnOrder adds r4, r2, 0 _08013944: ldr r0, [r4] @@ -7519,7 +7519,7 @@ _080139BA: ldrb r1, [r3] cmp r0, r1 bcs _08013A14 - ldr r5, _08013AF0 @ =gUnknown_2023BDE + ldr r5, _08013AF0 @ =gBattlerByTurnOrder adds r4, r2, 0 _080139D0: ldr r0, [r4] @@ -7530,7 +7530,7 @@ _080139D0: movs r0, 0 movs r2, 0 str r3, [sp, 0x4] - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 ldr r3, [sp, 0x4] cmp r0, 0 @@ -7602,7 +7602,7 @@ _08013A32: ldr r0, _08013B04 @ =sub_8014040 str r0, [r1] bl ResetSentPokesToOpponentValue - ldr r1, _08013B08 @ =gUnknown_2023E82 + ldr r1, _08013B08 @ =gBattleCommunication movs r2, 0 adds r0, r1, 0x7 _08013A74: @@ -7669,13 +7669,13 @@ _08013ADA: .align 2, 0 _08013AE8: .4byte gBattleStruct _08013AEC: .4byte gBattlersCount -_08013AF0: .4byte gUnknown_2023BDE +_08013AF0: .4byte gBattlerByTurnOrder _08013AF4: .4byte gUnknown_2023D7C _08013AF8: .4byte gUnknown_2023DC4 _08013AFC: .4byte gAbsentBattlerFlags _08013B00: .4byte gBattleMainFunc _08013B04: .4byte sub_8014040 -_08013B08: .4byte gUnknown_2023E82 +_08013B08: .4byte gBattleCommunication _08013B0C: .4byte gBattleScripting _08013B10: .4byte gMoveResultFlags _08013B14: .4byte gBattleMons @@ -7690,10 +7690,10 @@ sub_8013B1C: @ 8013B1C cmp r0, 0 bne _08013BAC ldr r1, _08013BB8 @ =gBattleMainFunc - ldr r0, _08013BBC @ =sub_8013BD4 + ldr r0, _08013BBC @ =BattleTurnPassed str r0, [r1] ldr r3, _08013BC0 @ =gBattlersCount - ldr r1, _08013BC4 @ =gUnknown_2023E82 + ldr r1, _08013BC4 @ =gBattleCommunication movs r2, 0 adds r0, r1, 0x7 _08013B34: @@ -7766,16 +7766,16 @@ _08013BAC: .align 2, 0 _08013BB4: .4byte gBattleControllerExecFlags _08013BB8: .4byte gBattleMainFunc -_08013BBC: .4byte sub_8013BD4 +_08013BBC: .4byte BattleTurnPassed _08013BC0: .4byte gBattlersCount -_08013BC4: .4byte gUnknown_2023E82 +_08013BC4: .4byte gBattleCommunication _08013BC8: .4byte gBattleMons _08013BCC: .4byte gBattleStruct _08013BD0: .4byte gMoveResultFlags thumb_func_end sub_8013B1C - thumb_func_start sub_8013BD4 -sub_8013BD4: @ 8013BD4 + thumb_func_start BattleTurnPassed +BattleTurnPassed: @ 8013BD4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -7787,13 +7787,13 @@ sub_8013BD4: @ 8013BD4 ldrb r0, [r0] cmp r0, 0 bne _08013C04 - bl UpdateTurnCounters + bl DoFieldEndTurnEffects lsls r0, 24 cmp r0, 0 beq _08013BF8 b _08013D20 _08013BF8: - bl TurnBasedEffects + bl DoBattlerEndTurnEffects lsls r0, 24 cmp r0, 0 beq _08013C04 @@ -7810,14 +7810,14 @@ _08013C12: ldr r0, [r0] adds r0, 0x4D strb r1, [r0] - bl sub_8018C98 + bl HandleWishPerishSongOnTurnEnd lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 bne _08013D20 movs r0, 0 bl TurnValuesCleanUp - ldr r2, _08013C80 @ =gUnknown_2023DD0 + ldr r2, _08013C80 @ =gHitMarker ldr r0, [r2] ldr r1, _08013C84 @ =0xfffffdff ands r0, r1 @@ -7836,7 +7836,7 @@ _08013C12: str r4, [r0] ldr r0, _08013C9C @ =gMoveResultFlags strb r4, [r0] - ldr r1, _08013CA0 @ =gUnknown_2023E82 + ldr r1, _08013CA0 @ =gBattleCommunication movs r2, 0 adds r0, r1, 0x4 _08013C58: @@ -7858,7 +7858,7 @@ _08013C58: .align 2, 0 _08013C78: .4byte gBattleOutcome _08013C7C: .4byte gBattleStruct -_08013C80: .4byte gUnknown_2023DD0 +_08013C80: .4byte gHitMarker _08013C84: .4byte 0xfffffdff _08013C88: .4byte 0xfff7ffff _08013C8C: .4byte 0xffbfffff @@ -7866,7 +7866,7 @@ _08013C90: .4byte 0xffefffff _08013C94: .4byte gBattleScripting _08013C98: .4byte gBattleMoveDamage _08013C9C: .4byte gMoveResultFlags -_08013CA0: .4byte gUnknown_2023E82 +_08013CA0: .4byte gBattleCommunication _08013CA4: .4byte gUnknown_2023BE3 _08013CA8: .4byte gBattleMainFunc _08013CAC: .4byte RunTurnActionsFunctions @@ -7948,7 +7948,7 @@ _08013D44: .4byte sub_8014040 _08013D48: .4byte gUnknown_2023D7C _08013D4C: .4byte gUnknown_2023DC4 _08013D50: .4byte gUnknown_2023E80 - thumb_func_end sub_8013BD4 + thumb_func_end BattleTurnPassed thumb_func_start IsRunningFromBattleImpossible IsRunningFromBattleImpossible: @ 8013D54 @@ -8120,7 +8120,7 @@ _08013E8A: adds r0, 0x20 ldrb r0, [r0] strb r0, [r2] - ldr r1, _08013EC0 @ =gUnknown_2023E82 + ldr r1, _08013EC0 @ =gBattleCommunication movs r0, 0x2 b _08013F5C .align 2, 0 @@ -8131,7 +8131,7 @@ _08013EB0: .4byte gBattleMons _08013EB4: .4byte gBattlersCount _08013EB8: .4byte gBattleScripting _08013EBC: .4byte gLastUsedAbility -_08013EC0: .4byte gUnknown_2023E82 +_08013EC0: .4byte gBattleCommunication _08013EC4: ldr r1, _08013EF8 @ =gBattleMons ldr r0, _08013EFC @ =gActiveBattler @@ -8155,7 +8155,7 @@ _08013EC4: cmp r0, 0 beq _08013F0C _08013EEE: - ldr r1, _08013F08 @ =gUnknown_2023E82 + ldr r1, _08013F08 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] movs r0, 0x1 @@ -8165,7 +8165,7 @@ _08013EF8: .4byte gBattleMons _08013EFC: .4byte gActiveBattler _08013F00: .4byte 0x0400e000 _08013F04: .4byte gStatuses3 -_08013F08: .4byte gUnknown_2023E82 +_08013F08: .4byte gBattleCommunication _08013F0C: ldr r0, _08013F1C @ =gBattleTypeFlags ldr r0, [r0] @@ -8184,28 +8184,28 @@ _08013F20: ldr r1, _08013F34 @ =gLastUsedAbility ldrb r0, [r2] strb r0, [r1] - ldr r1, _08013F38 @ =gUnknown_2023E82 + ldr r1, _08013F38 @ =gBattleCommunication movs r0, 0x2 b _08013F5C .align 2, 0 _08013F30: .4byte gBattleScripting _08013F34: .4byte gLastUsedAbility -_08013F38: .4byte gUnknown_2023E82 +_08013F38: .4byte gBattleCommunication _08013F3C: ldr r0, _08013F4C @ =gBattleScripting strb r5, [r0, 0x17] ldr r1, _08013F50 @ =gLastUsedAbility ldrb r0, [r2] strb r0, [r1] - ldr r1, _08013F54 @ =gUnknown_2023E82 + ldr r1, _08013F54 @ =gBattleCommunication movs r0, 0x2 b _08013F5C .align 2, 0 _08013F4C: .4byte gBattleScripting _08013F50: .4byte gLastUsedAbility -_08013F54: .4byte gUnknown_2023E82 +_08013F54: .4byte gBattleCommunication _08013F58: - ldr r1, _08013F68 @ =gUnknown_2023E82 + ldr r1, _08013F68 @ =gBattleCommunication movs r0, 0x1 _08013F5C: strb r0, [r1, 0x5] @@ -8215,7 +8215,7 @@ _08013F5E: pop {r1} bx r1 .align 2, 0 -_08013F68: .4byte gUnknown_2023E82 +_08013F68: .4byte gBattleCommunication thumb_func_end IsRunningFromBattleImpossible thumb_func_start sub_8013F6C @@ -8335,7 +8335,7 @@ sub_8014040: @ 8014040 mov r5, r8 push {r5-r7} sub sp, 0x1C - ldr r0, _0801408C @ =gUnknown_2023E82 + ldr r0, _0801408C @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x4] ldr r0, _08014090 @ =gActiveBattler @@ -8352,7 +8352,7 @@ _08014064: bl GetBattlerPosition lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _0801408C @ =gUnknown_2023E82 + ldr r1, _0801408C @ =gBattleCommunication ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -8366,7 +8366,7 @@ _08014080: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0801408C: .4byte gUnknown_2023E82 +_0801408C: .4byte gBattleCommunication _08014090: .4byte gActiveBattler _08014094: .4byte gBattlersCount _08014098: .4byte _0801409C @@ -8413,7 +8413,7 @@ _080140B8: ands r1, r0 cmp r1, 0 bne _08014114 - ldr r4, _08014160 @ =gUnknown_2023E82 + ldr r4, _08014160 @ =gBattleCommunication adds r0, r5, 0 bl GetBattlerAtPosition lsls r0, 24 @@ -8447,7 +8447,7 @@ _08014114: ands r0, r1 cmp r0, 0 bne _08014168 - ldr r0, _08014160 @ =gUnknown_2023E82 + ldr r0, _08014160 @ =gBattleCommunication ldrb r1, [r4] adds r1, r0 movs r0, 0x4 @@ -8458,17 +8458,17 @@ _08014150: .4byte gActiveBattler _08014154: .4byte gBattleStruct _08014158: .4byte gBattleTypeFlags _0801415C: .4byte gBitTable -_08014160: .4byte gUnknown_2023E82 +_08014160: .4byte gBattleCommunication _08014164: .4byte gUnknown_2023D7C _08014168: - ldr r0, _08014178 @ =gUnknown_2023E82 + ldr r0, _08014178 @ =gBattleCommunication ldrb r1, [r4] adds r1, r0 movs r0, 0x3 strb r0, [r1] bl _08014C4E .align 2, 0 -_08014178: .4byte gUnknown_2023E82 +_08014178: .4byte gBattleCommunication _0801417C: ldr r1, _080141B0 @ =gBattleMons movs r0, 0x58 @@ -8490,7 +8490,7 @@ _0801419C: ldr r0, _080141B4 @ =gUnknown_2023D7C adds r0, r2, r0 strb r3, [r0] - ldr r1, _080141B8 @ =gUnknown_2023E82 + ldr r1, _080141B8 @ =gBattleCommunication ldrb r0, [r4] adds r0, r1 movs r1, 0x3 @@ -8499,7 +8499,7 @@ _0801419C: .align 2, 0 _080141B0: .4byte gBattleMons _080141B4: .4byte gUnknown_2023D7C -_080141B8: .4byte gUnknown_2023E82 +_080141B8: .4byte gBattleCommunication _080141BC: ldr r0, _080141D4 @ =gUnknown_2023D7C ldrb r1, [r0] @@ -8582,11 +8582,11 @@ _0801424C: .4byte _080146AC .4byte _08014670 _08014280: - bl sub_8017998 + bl AreAllMovesUnusable lsls r0, 24 cmp r0, 0 beq _080142D8 - ldr r0, _080142C8 @ =gUnknown_2023E82 + ldr r0, _080142C8 @ =gBattleCommunication ldr r3, _080142CC @ =gActiveBattler ldrb r1, [r3] adds r1, r0 @@ -8616,7 +8616,7 @@ _08014280: strb r0, [r2, 0xC] bl _08014C78 .align 2, 0 -_080142C8: .4byte gUnknown_2023E82 +_080142C8: .4byte gBattleCommunication _080142CC: .4byte gActiveBattler _080142D0: .4byte gBattleStruct _080142D4: .4byte gBattleBufferB @@ -8646,7 +8646,7 @@ _080142D8: adds r0, r3 ldrb r0, [r0, 0xC] strb r0, [r1] - ldr r1, _08014328 @ =gUnknown_2023E82 + ldr r1, _08014328 @ =gBattleCommunication ldrb r0, [r5] adds r0, r1 movs r1, 0x3 @@ -8657,7 +8657,7 @@ _08014318: .4byte gDisableStructs _0801431C: .4byte gActiveBattler _08014320: .4byte gUnknown_2023DC4 _08014324: .4byte gBattleStruct -_08014328: .4byte gUnknown_2023E82 +_08014328: .4byte gBattleCommunication _0801432C: add r2, sp, 0x4 ldr r3, _080143CC @ =gBattleMons @@ -8748,14 +8748,14 @@ _080143D4: ands r0, r1 cmp r0, 0 beq _08014428 - ldr r1, _08014418 @ =gUnknown_2023D80 + ldr r1, _08014418 @ =gSelectionBattleScripts mov r3, r8 ldrb r0, [r3] lsls r0, 2 adds r0, r1 ldr r1, _0801441C @ =gUnknown_81D96A4 str r1, [r0] - ldr r0, _08014420 @ =gUnknown_2023E82 + ldr r0, _08014420 @ =gBattleCommunication ldrb r1, [r3] adds r1, r0 movs r3, 0 @@ -8774,9 +8774,9 @@ _080143D4: .align 2, 0 _08014410: .4byte gBattleTypeFlags _08014414: .4byte 0x00000902 -_08014418: .4byte gUnknown_2023D80 +_08014418: .4byte gSelectionBattleScripts _0801441C: .4byte gUnknown_81D96A4 -_08014420: .4byte gUnknown_2023E82 +_08014420: .4byte gBattleCommunication _08014424: .4byte gBattleStruct _08014428: ldr r2, _08014448 @ =gBattleStruct @@ -8790,7 +8790,7 @@ _08014428: movs r0, 0 bl BtlController_EmitChooseItem ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080146AC .align 2, 0 _08014448: .4byte gBattleStruct @@ -9011,7 +9011,7 @@ _080145F0: _0801460E: ldr r0, _0801461C @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080146AC .align 2, 0 _08014618: .4byte gBattleStruct @@ -9021,14 +9021,14 @@ _08014620: lsls r0, 24 cmp r0, 0 beq _080146AC - ldr r1, _0801465C @ =gUnknown_2023D80 + ldr r1, _0801465C @ =gSelectionBattleScripts ldr r3, _08014660 @ =gActiveBattler ldrb r0, [r3] lsls r0, 2 adds r0, r1 ldr r1, _08014664 @ =gUnknown_81D8949 str r1, [r0] - ldr r0, _08014668 @ =gUnknown_2023E82 + ldr r0, _08014668 @ =gBattleCommunication ldrb r1, [r3] adds r1, r0 movs r4, 0 @@ -9047,13 +9047,13 @@ _08014620: strb r4, [r0] b _08014C78 .align 2, 0 -_0801465C: .4byte gUnknown_2023D80 +_0801465C: .4byte gSelectionBattleScripts _08014660: .4byte gActiveBattler _08014664: .4byte gUnknown_81D8949 -_08014668: .4byte gUnknown_2023E82 +_08014668: .4byte gBattleCommunication _0801466C: .4byte gBattleStruct _08014670: - ldr r4, _080146A8 @ =gUnknown_2023E82 + ldr r4, _080146A8 @ =gBattleCommunication mov r2, r8 ldrb r1, [r2] adds r1, r4 @@ -9075,10 +9075,10 @@ _08014670: bl BtlController_EmitEndBounceEffect mov r3, r8 ldrb r0, [r3] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _08014C78 .align 2, 0 -_080146A8: .4byte gUnknown_2023E82 +_080146A8: .4byte gBattleCommunication _080146AC: ldr r0, _080146D8 @ =gBattleTypeFlags ldr r0, [r0] @@ -9097,7 +9097,7 @@ _080146AC: bne _080146EC ldr r0, _080146E4 @ =gUnknown_81D8924 bl BattleScriptExecute - ldr r1, _080146E8 @ =gUnknown_2023E82 + ldr r1, _080146E8 @ =gBattleCommunication ldrb r0, [r4] adds r0, r1 b _08014926 @@ -9106,7 +9106,7 @@ _080146D8: .4byte gBattleTypeFlags _080146DC: .4byte gBattleBufferB _080146E0: .4byte gActiveBattler _080146E4: .4byte gUnknown_81D8924 -_080146E8: .4byte gUnknown_2023E82 +_080146E8: .4byte gBattleCommunication _080146EC: bl IsRunningFromBattleImpossible lsls r0, 24 @@ -9121,12 +9121,12 @@ _080146EC: ldrb r0, [r1] cmp r0, 0x3 bne _08014750 - ldr r1, _08014740 @ =gUnknown_2023D80 + ldr r1, _08014740 @ =gSelectionBattleScripts lsls r0, r2, 2 adds r0, r1 ldr r1, _08014744 @ =gUnknown_81D8943 str r1, [r0] - ldr r0, _08014748 @ =gUnknown_2023E82 + ldr r0, _08014748 @ =gBattleCommunication ldrb r1, [r4] adds r1, r0 movs r3, 0 @@ -9148,18 +9148,18 @@ _0801472C: .align 2, 0 _08014738: .4byte gBattleBufferB _0801473C: .4byte gActiveBattler -_08014740: .4byte gUnknown_2023D80 +_08014740: .4byte gSelectionBattleScripts _08014744: .4byte gUnknown_81D8943 -_08014748: .4byte gUnknown_2023E82 +_08014748: .4byte gBattleCommunication _0801474C: .4byte gBattleStruct _08014750: - ldr r2, _0801475C @ =gUnknown_2023E82 + ldr r2, _0801475C @ =gBattleCommunication ldr r0, _08014760 @ =gActiveBattler ldrb r1, [r0] adds r1, r2 b _08014B32 .align 2, 0 -_0801475C: .4byte gUnknown_2023E82 +_0801475C: .4byte gBattleCommunication _08014760: .4byte gActiveBattler _08014764: ldr r4, _080147A8 @ =gBattleControllerExecFlags @@ -9251,18 +9251,18 @@ _08014808: ldr r0, _08014830 @ =0x0000ffff cmp r2, r0 bne _08014838 - ldr r0, _08014834 @ =gUnknown_2023E82 + ldr r0, _08014834 @ =gBattleCommunication adds r0, r4, r0 b _08014926 .align 2, 0 _08014830: .4byte 0x0000ffff -_08014834: .4byte gUnknown_2023E82 +_08014834: .4byte gBattleCommunication _08014838: - bl sub_8017594 + bl TrySetCantSelectMoveBattleScript lsls r0, 24 cmp r0, 0 beq _0801487C - ldr r0, _08014874 @ =gUnknown_2023E82 + ldr r0, _08014874 @ =gBattleCommunication ldrb r1, [r5] adds r1, r0 movs r3, 0 @@ -9287,7 +9287,7 @@ _08014838: strb r0, [r1] b _08014C78 .align 2, 0 -_08014874: .4byte gUnknown_2023E82 +_08014874: .4byte gBattleCommunication _08014878: .4byte gBattleStruct _0801487C: mov r2, r8 @@ -9324,14 +9324,14 @@ _0801487C: add r0, r9 ldrb r0, [r0] strb r0, [r4, 0xC] - ldr r0, _080148D4 @ =gUnknown_2023E82 + ldr r0, _080148D4 @ =gBattleCommunication ldrb r1, [r3] b _08014B30 .align 2, 0 _080148C8: .4byte gBattleStruct _080148CC: .4byte gUnknown_2023DC4 _080148D0: .4byte gBattleMons -_080148D4: .4byte gUnknown_2023E82 +_080148D4: .4byte gBattleCommunication _080148D8: ldr r2, _08014900 @ =gBattleBufferB ldr r5, _08014904 @ =gActiveBattler @@ -9351,14 +9351,14 @@ _080148D8: _080148F6: ldr r0, _08014908 @ =gLastUsedItem strh r3, [r0] - ldr r0, _0801490C @ =gUnknown_2023E82 + ldr r0, _0801490C @ =gBattleCommunication ldrb r1, [r5] b _08014B30 .align 2, 0 _08014900: .4byte gBattleBufferB _08014904: .4byte gActiveBattler _08014908: .4byte gLastUsedItem -_0801490C: .4byte gUnknown_2023E82 +_0801490C: .4byte gBattleCommunication _08014910: ldr r6, _0801492C @ =gBattleBufferB ldr r7, _08014930 @ =gActiveBattler @@ -9369,7 +9369,7 @@ _08014910: ldrb r1, [r0] cmp r1, 0x6 bne _08014938 - ldr r0, _08014934 @ =gUnknown_2023E82 + ldr r0, _08014934 @ =gBattleCommunication adds r0, r2, r0 _08014926: movs r1, 0 @@ -9378,7 +9378,7 @@ _08014926: .align 2, 0 _0801492C: .4byte gBattleBufferB _08014930: .4byte gActiveBattler -_08014934: .4byte gUnknown_2023E82 +_08014934: .4byte gBattleCommunication _08014938: ldr r0, _080149FC @ =gBattleStruct mov r12, r0 @@ -9476,80 +9476,80 @@ _08014938: ldrb r0, [r0] strb r0, [r1] _080149F6: - ldr r0, _08014A04 @ =gUnknown_2023E82 + ldr r0, _08014A04 @ =gBattleCommunication ldrb r1, [r7] b _08014B30 .align 2, 0 _080149FC: .4byte gBattleStruct _08014A00: .4byte gBattleTypeFlags -_08014A04: .4byte gUnknown_2023E82 +_08014A04: .4byte gBattleCommunication _08014A08: - ldr r2, _08014A20 @ =gUnknown_2023DD0 + ldr r2, _08014A20 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 8 orrs r0, r1 str r0, [r2] - ldr r2, _08014A24 @ =gUnknown_2023E82 + ldr r2, _08014A24 @ =gBattleCommunication ldr r0, _08014A28 @ =gActiveBattler ldrb r1, [r0] adds r1, r2 b _08014B32 .align 2, 0 -_08014A20: .4byte gUnknown_2023DD0 -_08014A24: .4byte gUnknown_2023E82 +_08014A20: .4byte gHitMarker +_08014A24: .4byte gBattleCommunication _08014A28: .4byte gActiveBattler _08014A2C: - ldr r2, _08014A38 @ =gUnknown_2023E82 + ldr r2, _08014A38 @ =gBattleCommunication ldr r0, _08014A3C @ =gActiveBattler ldrb r1, [r0] adds r1, r2 b _08014B32 .align 2, 0 -_08014A38: .4byte gUnknown_2023E82 +_08014A38: .4byte gBattleCommunication _08014A3C: .4byte gActiveBattler _08014A40: - ldr r2, _08014A4C @ =gUnknown_2023E82 + ldr r2, _08014A4C @ =gBattleCommunication ldr r0, _08014A50 @ =gActiveBattler ldrb r1, [r0] adds r1, r2 b _08014B32 .align 2, 0 -_08014A4C: .4byte gUnknown_2023E82 +_08014A4C: .4byte gBattleCommunication _08014A50: .4byte gActiveBattler _08014A54: - ldr r2, _08014A60 @ =gUnknown_2023E82 + ldr r2, _08014A60 @ =gBattleCommunication ldr r0, _08014A64 @ =gActiveBattler ldrb r1, [r0] adds r1, r2 b _08014B32 .align 2, 0 -_08014A60: .4byte gUnknown_2023E82 +_08014A60: .4byte gBattleCommunication _08014A64: .4byte gActiveBattler _08014A68: - ldr r2, _08014A80 @ =gUnknown_2023DD0 + ldr r2, _08014A80 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 8 orrs r0, r1 str r0, [r2] - ldr r2, _08014A84 @ =gUnknown_2023E82 + ldr r2, _08014A84 @ =gBattleCommunication ldr r0, _08014A88 @ =gActiveBattler ldrb r1, [r0] adds r1, r2 b _08014B32 .align 2, 0 -_08014A80: .4byte gUnknown_2023DD0 -_08014A84: .4byte gUnknown_2023E82 +_08014A80: .4byte gHitMarker +_08014A84: .4byte gBattleCommunication _08014A88: .4byte gActiveBattler _08014A8C: - ldr r2, _08014A98 @ =gUnknown_2023E82 + ldr r2, _08014A98 @ =gBattleCommunication ldr r0, _08014A9C @ =gActiveBattler ldrb r1, [r0] adds r1, r2 b _08014B32 .align 2, 0 -_08014A98: .4byte gUnknown_2023E82 +_08014A98: .4byte gBattleCommunication _08014A9C: .4byte gActiveBattler _08014AA0: ldr r3, _08014B08 @ =gBattleControllerExecFlags @@ -9618,8 +9618,8 @@ _08014B24: ldr r4, _08014B3C @ =gActiveBattler _08014B26: ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r0, _08014B40 @ =gUnknown_2023E82 + bl MarkBattlerForControllerExec + ldr r0, _08014B40 @ =gBattleCommunication ldrb r1, [r4] _08014B30: adds r1, r0 @@ -9630,7 +9630,7 @@ _08014B32: b _08014C4E .align 2, 0 _08014B3C: .4byte gActiveBattler -_08014B40: .4byte gUnknown_2023E82 +_08014B40: .4byte gBattleCommunication _08014B44: ldr r3, _08014B78 @ =gBattleControllerExecFlags ldr r1, _08014B7C @ =gBitTable @@ -9652,7 +9652,7 @@ _08014B44: ands r0, r1 cmp r0, 0 bne _08014C4E - ldr r1, _08014B84 @ =gUnknown_2023E82 + ldr r1, _08014B84 @ =gBattleCommunication ldrb r0, [r1, 0x4] adds r0, 0x1 strb r0, [r1, 0x4] @@ -9661,7 +9661,7 @@ _08014B44: _08014B78: .4byte gBattleControllerExecFlags _08014B7C: .4byte gBitTable _08014B80: .4byte gActiveBattler -_08014B84: .4byte gUnknown_2023E82 +_08014B84: .4byte gBattleCommunication _08014B88: ldr r5, _08014BA8 @ =gActiveBattler ldrb r2, [r5] @@ -9673,7 +9673,7 @@ _08014B88: ldrb r0, [r0] cmp r0, 0 beq _08014BB4 - ldr r0, _08014BB0 @ =gUnknown_2023E82 + ldr r0, _08014BB0 @ =gBattleCommunication adds r0, r2, r0 adds r1, 0x84 ldrb r1, [r1] @@ -9682,12 +9682,12 @@ _08014B88: .align 2, 0 _08014BA8: .4byte gActiveBattler _08014BAC: .4byte gBattleStruct -_08014BB0: .4byte gUnknown_2023E82 +_08014BB0: .4byte gBattleCommunication _08014BB4: ldr r0, _08014C08 @ =gBattlerAttacker strb r2, [r0] - ldr r7, _08014C0C @ =gUnknown_2023D74 - ldr r6, _08014C10 @ =gUnknown_2023D80 + ldr r7, _08014C0C @ =gBattlescriptCurrInstr + ldr r6, _08014C10 @ =gSelectionBattleScripts ldrb r0, [r5] lsls r0, 2 adds r0, r6 @@ -9727,8 +9727,8 @@ _08014BFA: b _08014C4E .align 2, 0 _08014C08: .4byte gBattlerAttacker -_08014C0C: .4byte gUnknown_2023D74 -_08014C10: .4byte gUnknown_2023D80 +_08014C0C: .4byte gBattlescriptCurrInstr +_08014C10: .4byte gSelectionBattleScripts _08014C14: .4byte gBattleControllerExecFlags _08014C18: .4byte gBitTable _08014C1C: .4byte gUnknown_825011C @@ -9754,7 +9754,7 @@ _08014C20: cmp r3, 0 bne _08014C4E _08014C48: - ldr r0, _08014C94 @ =gUnknown_2023E82 + ldr r0, _08014C94 @ =gBattleCommunication adds r0, r4, r0 strb r3, [r0] _08014C4E: @@ -9771,7 +9771,7 @@ _08014C4E: bcs _08014C68 bl _08014064 _08014C68: - ldr r0, _08014C94 @ =gUnknown_2023E82 + ldr r0, _08014C94 @ =gBattleCommunication ldrb r0, [r0, 0x4] ldrb r2, [r2] cmp r0, r2 @@ -9792,7 +9792,7 @@ _08014C78: _08014C88: .4byte gBattleControllerExecFlags _08014C8C: .4byte gBitTable _08014C90: .4byte gActiveBattler -_08014C94: .4byte gUnknown_2023E82 +_08014C94: .4byte gBattleCommunication _08014C98: .4byte gBattlersCount _08014C9C: .4byte gBattleMainFunc _08014CA0: .4byte sub_80150A8 @@ -9812,7 +9812,7 @@ SwapTurnOrder: @ 8014CA4 ldrb r3, [r2] strb r3, [r4] strb r5, [r2] - ldr r2, _08014CD4 @ =gUnknown_2023BDE + ldr r2, _08014CD4 @ =gBattlerByTurnOrder adds r0, r2 ldrb r5, [r0] adds r1, r2 @@ -9824,7 +9824,7 @@ SwapTurnOrder: @ 8014CA4 bx r0 .align 2, 0 _08014CD0: .4byte gUnknown_2023BDA -_08014CD4: .4byte gUnknown_2023BDE +_08014CD4: .4byte gBattlerByTurnOrder thumb_func_end SwapTurnOrder thumb_func_start GetWhoStrikesFirst @@ -10163,7 +10163,7 @@ _08014F78: adds r2, r0, 0 cmp r1, 0 bne _08014FC8 - ldr r0, _08014F9C @ =gUnknown_2023E8C + ldr r0, _08014F9C @ =gProtectStructs lsls r1, r3, 4 adds r1, r0 ldrb r0, [r1] @@ -10174,7 +10174,7 @@ _08014F78: b _08014FCA .align 2, 0 _08014F98: .4byte gUnknown_2023D7C -_08014F9C: .4byte gUnknown_2023E8C +_08014F9C: .4byte gProtectStructs _08014FA0: ldr r0, _08014FC0 @ =gBattleStruct ldr r0, [r0] @@ -10203,7 +10203,7 @@ _08014FCA: ldrb r0, [r0] cmp r0, 0 bne _08015014 - ldr r0, _08014FE8 @ =gUnknown_2023E8C + ldr r0, _08014FE8 @ =gProtectStructs lsls r1, 4 adds r1, r0 ldrb r0, [r1] @@ -10213,7 +10213,7 @@ _08014FCA: movs r2, 0xA5 b _08015016 .align 2, 0 -_08014FE8: .4byte gUnknown_2023E8C +_08014FE8: .4byte gProtectStructs _08014FEC: ldr r0, _0801500C @ =gBattleStruct ldr r0, [r0] @@ -10342,7 +10342,7 @@ _080150D0: ldr r7, _08015108 @ =gUnknown_2023BDA ldr r6, _0801510C @ =gUnknown_2023D7C mov r2, r8 - ldr r5, _08015110 @ =gUnknown_2023BDE + ldr r5, _08015110 @ =gBattlerByTurnOrder _080150D8: adds r1, r3, r7 ldrb r0, [r2] @@ -10368,7 +10368,7 @@ _08015100: .4byte gActiveBattler _08015104: .4byte gBattlersCount _08015108: .4byte gUnknown_2023BDA _0801510C: .4byte gUnknown_2023D7C -_08015110: .4byte gUnknown_2023BDE +_08015110: .4byte gBattlerByTurnOrder _08015114: movs r0, 0x2 ands r1, r0 @@ -10428,7 +10428,7 @@ _08015174: adds r0, r1 ldrb r0, [r0] strb r0, [r6] - ldr r2, _080151E4 @ =gUnknown_2023BDE + ldr r2, _080151E4 @ =gBattlerByTurnOrder ldrb r0, [r3] strb r0, [r2] movs r3, 0x1 @@ -10476,7 +10476,7 @@ _080151CC: _080151D8: .4byte gUnknown_2023D7C _080151DC: .4byte gActiveBattler _080151E0: .4byte gUnknown_2023BDA -_080151E4: .4byte gUnknown_2023BDE +_080151E4: .4byte gBattlerByTurnOrder _080151E8: .4byte gBattleMainFunc _080151EC: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts _080151F0: .4byte gBattleStruct @@ -10492,7 +10492,7 @@ _080151F8: ldr r6, _0801528C @ =gUnknown_2023D7C mov r2, r8 ldr r5, _08015290 @ =gUnknown_2023BDA - ldr r4, _08015294 @ =gUnknown_2023BDE + ldr r4, _08015294 @ =gBattlerByTurnOrder _0801520E: ldrb r0, [r2] adds r0, r6 @@ -10529,7 +10529,7 @@ _0801523E: beq _08015282 ldr r6, _0801528C @ =gUnknown_2023D7C ldr r5, _08015290 @ =gUnknown_2023BDA - ldr r4, _08015294 @ =gUnknown_2023BDE + ldr r4, _08015294 @ =gBattlerByTurnOrder _08015252: ldrb r0, [r2] adds r0, r6 @@ -10563,7 +10563,7 @@ _08015282: _08015288: .4byte gBattlersCount _0801528C: .4byte gUnknown_2023D7C _08015290: .4byte gUnknown_2023BDA -_08015294: .4byte gUnknown_2023BDE +_08015294: .4byte gBattlerByTurnOrder _08015298: adds r4, r5, 0x1 adds r7, r4, 0 @@ -10574,7 +10574,7 @@ _08015298: lsls r2, r5, 24 mov r8, r2 _080152A8: - ldr r0, _0801531C @ =gUnknown_2023BDE + ldr r0, _0801531C @ =gBattlerByTurnOrder adds r1, r5, r0 ldrb r3, [r1] adds r0, r4, r0 @@ -10635,7 +10635,7 @@ _08015304: bx r0 .align 2, 0 _08015318: .4byte gUnknown_2023BDA -_0801531C: .4byte gUnknown_2023BDE +_0801531C: .4byte gBattlerByTurnOrder _08015320: .4byte gBattlersCount _08015324: .4byte gBattleMainFunc _08015328: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts @@ -10660,9 +10660,9 @@ TurnValuesCleanUp: @ 8015330 adds r5, r1, 0 cmp r2, 0 beq _08015428 - ldr r7, _08015390 @ =gUnknown_2023E8C + ldr r7, _08015390 @ =gProtectStructs adds r6, r5, 0 - ldr r0, _08015394 @ =gUnknown_2023C34 + ldr r0, _08015394 @ =gChosenMoveByBattler mov r12, r0 ldr r1, _08015398 @ =gDisableStructs mov r8, r1 @@ -10691,8 +10691,8 @@ _0801535E: .align 2, 0 _08015388: .4byte gActiveBattler _0801538C: .4byte gBattlersCount -_08015390: .4byte gUnknown_2023E8C -_08015394: .4byte gUnknown_2023C34 +_08015390: .4byte gProtectStructs +_08015394: .4byte gChosenMoveByBattler _08015398: .4byte gDisableStructs _0801539C: ldrb r0, [r6] @@ -10801,7 +10801,7 @@ SpecialStatusesClear: @ 8015450 beq _0801548E adds r3, r2, 0 movs r4, 0 - ldr r5, _0801549C @ =gUnknown_2023ECC + ldr r5, _0801549C @ =gSpecialStatuses _08015468: ldrb r1, [r3] lsls r0, r1, 2 @@ -10830,13 +10830,13 @@ _0801548E: .align 2, 0 _08015494: .4byte gActiveBattler _08015498: .4byte gBattlersCount -_0801549C: .4byte gUnknown_2023ECC +_0801549C: .4byte gSpecialStatuses thumb_func_end SpecialStatusesClear thumb_func_start CheckFocusPunch_ClearVarsBeforeTurnStarts CheckFocusPunch_ClearVarsBeforeTurnStarts: @ 80154A0 push {r4-r7,lr} - ldr r0, _08015528 @ =gUnknown_2023DD0 + ldr r0, _08015528 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 8 @@ -10893,7 +10893,7 @@ _080154CC: lsls r0, 31 cmp r0, 0 bne _08015550 - ldr r0, _08015548 @ =gUnknown_2023E8C + ldr r0, _08015548 @ =gProtectStructs lsls r1, r3, 4 adds r1, r0 ldrb r0, [r1] @@ -10904,7 +10904,7 @@ _080154CC: bl BattleScriptExecute b _08015598 .align 2, 0 -_08015528: .4byte gUnknown_2023DD0 +_08015528: .4byte gHitMarker _0801552C: .4byte gBattleStruct _08015530: .4byte gBattlersCount _08015534: .4byte gActiveBattler @@ -10912,7 +10912,7 @@ _08015538: .4byte gBattlerAttacker _0801553C: .4byte gUnknown_2023DC4 _08015540: .4byte gBattleMons _08015544: .4byte gDisableStructs -_08015548: .4byte gUnknown_2023E8C +_08015548: .4byte gProtectStructs _0801554C: .4byte gUnknown_81D9015 _08015550: mov r2, r12 @@ -10941,7 +10941,7 @@ _0801555E: ldr r1, _080155B4 @ =gBattleMainFunc ldr r0, _080155B8 @ =RunTurnActionsFunctions str r0, [r1] - ldr r0, _080155BC @ =gUnknown_2023E82 + ldr r0, _080155BC @ =gBattleCommunication strb r2, [r0, 0x3] strb r2, [r0, 0x4] ldr r0, _080155C0 @ =gBattleScripting @@ -10963,7 +10963,7 @@ _080155AC: .4byte gDynamicBasePower _080155B0: .4byte gBattleStruct _080155B4: .4byte gBattleMainFunc _080155B8: .4byte RunTurnActionsFunctions -_080155BC: .4byte gUnknown_2023E82 +_080155BC: .4byte gBattleCommunication _080155C0: .4byte gBattleScripting _080155C4: .4byte gBattleResources thumb_func_end CheckFocusPunch_ClearVarsBeforeTurnStarts @@ -10996,7 +10996,7 @@ _080155D8: ldrb r0, [r0] cmp r1, r0 bcc _08015644 - ldr r2, _08015634 @ =gUnknown_2023DD0 + ldr r2, _08015634 @ =gHitMarker ldr r0, [r2] ldr r1, _08015638 @ =0xffefffff ands r0, r1 @@ -11018,7 +11018,7 @@ _08015624: .4byte gBattleStruct _08015628: .4byte gUnknown_2023BE2 _0801562C: .4byte gUnknown_8250038 _08015630: .4byte gBattlersCount -_08015634: .4byte gUnknown_2023DD0 +_08015634: .4byte gHitMarker _08015638: .4byte 0xffefffff _0801563C: .4byte gBattleMainFunc _08015640: .4byte gUnknown_8250070 @@ -11028,7 +11028,7 @@ _08015644: ldrb r0, [r0] cmp r0, r1 beq _0801565C - ldr r2, _08015664 @ =gUnknown_2023DD0 + ldr r2, _08015664 @ =gHitMarker ldr r0, [r2] ldr r1, _08015668 @ =0xfffffdff ands r0, r1 @@ -11040,7 +11040,7 @@ _0801565C: pop {r0} bx r0 .align 2, 0 -_08015664: .4byte gUnknown_2023DD0 +_08015664: .4byte gHitMarker _08015668: .4byte 0xfffffdff _0801566C: .4byte 0xfff7ffff thumb_func_end RunTurnActionsFunctions @@ -11065,7 +11065,7 @@ sub_8015670: @ 8015670 bl GetBattlerAtPosition ldr r1, _080156B8 @ =gBattlerAttacker strb r0, [r1] - ldr r1, _080156BC @ =gUnknown_2023D74 + ldr r1, _080156BC @ =gBattlescriptCurrInstr ldr r0, _080156C0 @ =gUnknown_81D88CC str r0, [r1] ldrb r1, [r4] @@ -11079,7 +11079,7 @@ _080156AC: .4byte gBattleTypeFlags _080156B0: .4byte gBattleTextBuff1 _080156B4: .4byte gBattleOutcome _080156B8: .4byte gBattlerAttacker -_080156BC: .4byte gUnknown_2023D74 +_080156BC: .4byte gBattlescriptCurrInstr _080156C0: .4byte gUnknown_81D88CC _080156C4: ldr r0, _080156E0 @ =0x00080900 @@ -11090,12 +11090,12 @@ _080156C4: movs r0, 0x9B lsls r0, 1 bl PlayBGM - ldr r1, _080156E4 @ =gUnknown_2023D74 + ldr r1, _080156E4 @ =gBattlescriptCurrInstr ldr r0, _080156E8 @ =gUnknown_81D88D7 b _0801576C .align 2, 0 _080156E0: .4byte 0x00080900 -_080156E4: .4byte gUnknown_2023D74 +_080156E4: .4byte gBattlescriptCurrInstr _080156E8: .4byte gUnknown_81D88D7 _080156EC: movs r0, 0xA @@ -11103,7 +11103,7 @@ _080156EC: cmp r1, 0x8 bne _08015768 bl BattleStopLowHpSound - ldr r1, _08015720 @ =gUnknown_2023D74 + ldr r1, _08015720 @ =gBattlescriptCurrInstr ldr r0, _08015724 @ =gUnknown_81D87EF str r0, [r1] ldr r2, _08015728 @ =gTrainers @@ -11123,7 +11123,7 @@ _080156EC: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08015720: .4byte gUnknown_2023D74 +_08015720: .4byte gBattlescriptCurrInstr _08015724: .4byte gUnknown_81D87EF _08015728: .4byte gTrainers _0801572C: .4byte gTrainerBattleOpponent_A @@ -11149,7 +11149,7 @@ _0801575E: bl PlayBGM b _0801576E _08015768: - ldr r1, _0801577C @ =gUnknown_2023D74 + ldr r1, _0801577C @ =gBattlescriptCurrInstr ldr r0, _08015780 @ =gUnknown_81D8803 _0801576C: str r0, [r1] @@ -11161,7 +11161,7 @@ _0801576E: pop {r0} bx r0 .align 2, 0 -_0801577C: .4byte gUnknown_2023D74 +_0801577C: .4byte gBattlescriptCurrInstr _08015780: .4byte gUnknown_81D8803 _08015784: .4byte gBattleMainFunc _08015788: .4byte sub_8015910 @@ -11188,7 +11188,7 @@ sub_801578C: @ 801578C bl GetBattlerAtPosition ldr r1, _080157D4 @ =gBattlerAttacker strb r0, [r1] - ldr r1, _080157D8 @ =gUnknown_2023D74 + ldr r1, _080157D8 @ =gBattlescriptCurrInstr ldr r0, _080157DC @ =gUnknown_81D88CC str r0, [r1] ldrb r1, [r4] @@ -11202,7 +11202,7 @@ _080157C8: .4byte gBattleTypeFlags _080157CC: .4byte gBattleTextBuff1 _080157D0: .4byte gBattleOutcome _080157D4: .4byte gBattlerAttacker -_080157D8: .4byte gUnknown_2023D74 +_080157D8: .4byte gBattlescriptCurrInstr _080157DC: .4byte gUnknown_81D88CC _080157E0: movs r0, 0x8 @@ -11219,14 +11219,14 @@ _080157E0: ands r1, r0 cmp r1, 0 beq _0801580C - ldr r1, _08015808 @ =gUnknown_2023E82 + ldr r1, _08015808 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08015810 .align 2, 0 -_08015808: .4byte gUnknown_2023E82 +_08015808: .4byte gBattleCommunication _0801580C: - ldr r0, _0801581C @ =gUnknown_2023E82 + ldr r0, _0801581C @ =gBattleCommunication strb r4, [r0, 0x5] _08015810: movs r0, 0x1 @@ -11235,14 +11235,14 @@ _08015810: strb r0, [r1] b _0801582A .align 2, 0 -_0801581C: .4byte gUnknown_2023E82 +_0801581C: .4byte gBattleCommunication _08015820: .4byte gBattlerAttacker _08015824: - ldr r1, _0801583C @ =gUnknown_2023E82 + ldr r1, _0801583C @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] _0801582A: - ldr r1, _08015840 @ =gUnknown_2023D74 + ldr r1, _08015840 @ =gBattlescriptCurrInstr ldr r0, _08015844 @ =gUnknown_81D8806 str r0, [r1] _08015830: @@ -11253,8 +11253,8 @@ _08015830: pop {r0} bx r0 .align 2, 0 -_0801583C: .4byte gUnknown_2023E82 -_08015840: .4byte gUnknown_2023D74 +_0801583C: .4byte gBattleCommunication +_08015840: .4byte gBattlescriptCurrInstr _08015844: .4byte gUnknown_81D8806 _08015848: .4byte gBattleMainFunc _0801584C: .4byte sub_8015910 @@ -11266,7 +11266,7 @@ sub_8015850: @ 8015850 ldr r1, _08015878 @ =gUnknown_2023BE3 movs r0, 0 strb r0, [r1] - ldr r1, _0801587C @ =gUnknown_2023E8C + ldr r1, _0801587C @ =gProtectStructs ldr r0, _08015880 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -11278,24 +11278,24 @@ sub_8015850: @ 8015850 beq _0801588C cmp r0, 0x2 beq _0801589C - ldr r1, _08015884 @ =gUnknown_2023D74 + ldr r1, _08015884 @ =gBattlescriptCurrInstr ldr r0, _08015888 @ =gUnknown_81D8916 b _080158A0 .align 2, 0 _08015878: .4byte gUnknown_2023BE3 -_0801587C: .4byte gUnknown_2023E8C +_0801587C: .4byte gProtectStructs _08015880: .4byte gBattlerAttacker -_08015884: .4byte gUnknown_2023D74 +_08015884: .4byte gBattlescriptCurrInstr _08015888: .4byte gUnknown_81D8916 _0801588C: - ldr r1, _08015894 @ =gUnknown_2023D74 + ldr r1, _08015894 @ =gBattlescriptCurrInstr ldr r0, _08015898 @ =gUnknown_81D8901 b _080158A0 .align 2, 0 -_08015894: .4byte gUnknown_2023D74 +_08015894: .4byte gBattlescriptCurrInstr _08015898: .4byte gUnknown_81D8901 _0801589C: - ldr r1, _080158AC @ =gUnknown_2023D74 + ldr r1, _080158AC @ =gBattlescriptCurrInstr ldr r0, _080158B0 @ =gUnknown_81D890F _080158A0: str r0, [r1] @@ -11305,7 +11305,7 @@ _080158A0: pop {r0} bx r0 .align 2, 0 -_080158AC: .4byte gUnknown_2023D74 +_080158AC: .4byte gBattlescriptCurrInstr _080158B0: .4byte gUnknown_81D890F _080158B4: .4byte gBattleMainFunc _080158B8: .4byte sub_8015910 @@ -11332,7 +11332,7 @@ sub_80158BC: @ 80158BC strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _08015900 @ =gUnknown_2023D74 + ldr r1, _08015900 @ =gBattlescriptCurrInstr ldr r0, _08015904 @ =gUnknown_81D891D str r0, [r1] ldr r1, _08015908 @ =gBattleMainFunc @@ -11344,7 +11344,7 @@ _080158F0: .4byte gUnknown_2023BE3 _080158F4: .4byte gBattleTextBuff1 _080158F8: .4byte gBattlerAttacker _080158FC: .4byte gBattlerPartyIndexes -_08015900: .4byte gUnknown_2023D74 +_08015900: .4byte gBattlescriptCurrInstr _08015904: .4byte gUnknown_81D891D _08015908: .4byte gBattleMainFunc _0801590C: .4byte sub_8015910 @@ -11465,7 +11465,7 @@ _08015A04: cmp r0, 0 bne _08015A1E ldr r1, _08015A28 @ =gUnknown_825011C - ldr r0, _08015A2C @ =gUnknown_2023D74 + ldr r0, _08015A2C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0] lsls r0, 2 @@ -11479,7 +11479,7 @@ _08015A1E: .align 2, 0 _08015A24: .4byte gBattleControllerExecFlags _08015A28: .4byte gUnknown_825011C -_08015A2C: .4byte gUnknown_2023D74 +_08015A2C: .4byte gBattlescriptCurrInstr thumb_func_end sub_8015910 thumb_func_start sub_8015A30 @@ -11747,7 +11747,7 @@ _08015C48: cmp r0, 0 bne _08015C62 ldr r1, _08015C6C @ =gUnknown_825011C - ldr r0, _08015C70 @ =gUnknown_2023D74 + ldr r0, _08015C70 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0] lsls r0, 2 @@ -11760,7 +11760,7 @@ _08015C62: .align 2, 0 _08015C68: .4byte gBattleControllerExecFlags _08015C6C: .4byte gUnknown_825011C -_08015C70: .4byte gUnknown_2023D74 +_08015C70: .4byte gBattlescriptCurrInstr thumb_func_end RunBattleScriptCommands_PopCallbacksStack thumb_func_start sub_8015C74 @@ -11771,7 +11771,7 @@ sub_8015C74: @ 8015C74 cmp r0, 0 bne _08015C90 ldr r1, _08015C98 @ =gUnknown_825011C - ldr r0, _08015C9C @ =gUnknown_2023D74 + ldr r0, _08015C9C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0] lsls r0, 2 @@ -11784,7 +11784,7 @@ _08015C90: .align 2, 0 _08015C94: .4byte gBattleControllerExecFlags _08015C98: .4byte gUnknown_825011C -_08015C9C: .4byte gUnknown_2023D74 +_08015C9C: .4byte gBattlescriptCurrInstr thumb_func_end sub_8015C74 thumb_func_start sub_8015CA0 @@ -11798,7 +11798,7 @@ sub_8015CA0: @ 8015CA0 movs r0, 0x4 str r0, [sp] ldr r6, _08015CE0 @ =gBattlerAttacker - ldr r1, _08015CE4 @ =gUnknown_2023BDE + ldr r1, _08015CE4 @ =gBattlerByTurnOrder ldr r0, _08015CE8 @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -11822,7 +11822,7 @@ sub_8015CA0: @ 8015CA0 b _0801634C .align 2, 0 _08015CE0: .4byte gBattlerAttacker -_08015CE4: .4byte gUnknown_2023BDE +_08015CE4: .4byte gBattlerByTurnOrder _08015CE8: .4byte gUnknown_2023BE2 _08015CEC: .4byte gBattleStruct _08015CF0: .4byte gBitTable @@ -11841,7 +11841,7 @@ _08015CF8: strb r2, [r0] ldr r0, _08015D78 @ =gUnknown_2023D72 strb r2, [r0] - ldr r0, _08015D7C @ =gUnknown_2023E82 + ldr r0, _08015D7C @ =gBattleCommunication strb r2, [r0, 0x6] ldr r2, _08015D80 @ =gUnknown_2023D48 ldr r3, _08015D84 @ =gUnknown_2023D49 @@ -11854,7 +11854,7 @@ _08015CF8: ldrb r0, [r0] strb r0, [r3] strb r0, [r2] - ldr r1, _08015D8C @ =gUnknown_2023E8C + ldr r1, _08015D8C @ =gProtectStructs ldrb r4, [r6] lsls r0, r4, 4 adds r3, r0, r1 @@ -11872,7 +11872,7 @@ _08015CF8: movs r0, 0xA5 strh r0, [r1] strh r0, [r2] - ldr r2, _08015D98 @ =gUnknown_2023DD0 + ldr r2, _08015D98 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 4 @@ -11890,14 +11890,14 @@ _08015D6C: .4byte gCritMultiplier _08015D70: .4byte gBattleScripting _08015D74: .4byte gMoveResultFlags _08015D78: .4byte gUnknown_2023D72 -_08015D7C: .4byte gUnknown_2023E82 +_08015D7C: .4byte gBattleCommunication _08015D80: .4byte gUnknown_2023D48 _08015D84: .4byte gUnknown_2023D49 _08015D88: .4byte gBattleStruct -_08015D8C: .4byte gUnknown_2023E8C +_08015D8C: .4byte gProtectStructs _08015D90: .4byte gCurrentMove _08015D94: .4byte gChosenMove -_08015D98: .4byte gUnknown_2023DD0 +_08015D98: .4byte gHitMarker _08015D9C: ldr r0, _08015DD4 @ =gBattleMons movs r1, 0x58 @@ -12390,7 +12390,7 @@ _0801618C: b _08016310 _080161AA: ldr r4, _080161E4 @ =gActiveBattler - ldr r0, _080161E8 @ =gUnknown_2023BDE + ldr r0, _080161E8 @ =gBattlerByTurnOrder ldr r3, [sp] adds r0, r3, r0 ldrb r0, [r0] @@ -12403,7 +12403,7 @@ _080161AA: adds r1, 0x20 ldrb r1, [r1] bl sub_80C71D0 - ldr r2, _080161F0 @ =gUnknown_2023ECC + ldr r2, _080161F0 @ =gSpecialStatuses ldrb r1, [r4] lsls r0, r1, 2 adds r0, r1 @@ -12419,9 +12419,9 @@ _080161AA: b _0801632C .align 2, 0 _080161E4: .4byte gActiveBattler -_080161E8: .4byte gUnknown_2023BDE +_080161E8: .4byte gBattlerByTurnOrder _080161EC: .4byte gBattleMons -_080161F0: .4byte gUnknown_2023ECC +_080161F0: .4byte gSpecialStatuses _080161F4: .4byte gBattlerTarget _080161F8: ldr r0, [r7] @@ -12566,7 +12566,7 @@ _0801631A: bl GetBattlerAtPosition strb r0, [r5] _0801632C: - ldr r4, _08016360 @ =gUnknown_2023D74 + ldr r4, _08016360 @ =gBattlescriptCurrInstr ldr r3, _08016364 @ =gUnknown_81D65A8 ldr r2, _08016368 @ =gBattleMoves ldr r0, _0801636C @ =gCurrentMove @@ -12593,7 +12593,7 @@ _0801634C: pop {r0} bx r0 .align 2, 0 -_08016360: .4byte gUnknown_2023D74 +_08016360: .4byte gBattlescriptCurrInstr _08016364: .4byte gUnknown_81D65A8 _08016368: .4byte gBattleMoves _0801636C: .4byte gCurrentMove @@ -12604,7 +12604,7 @@ _08016370: .4byte gUnknown_2023BE3 sub_8016374: @ 8016374 push {r4,lr} ldr r3, _080163E0 @ =gBattlerAttacker - ldr r1, _080163E4 @ =gUnknown_2023BDE + ldr r1, _080163E4 @ =gBattlerByTurnOrder ldr r0, _080163E8 @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -12641,7 +12641,7 @@ sub_8016374: @ 8016374 strb r0, [r2, 0x4] ldr r0, _08016404 @ =gBattleScripting strb r4, [r0, 0x17] - ldr r1, _08016408 @ =gUnknown_2023D74 + ldr r1, _08016408 @ =gBattlescriptCurrInstr ldr r0, _0801640C @ =gUnknown_81D894D str r0, [r1] ldr r1, _08016410 @ =gUnknown_2023BE3 @@ -12659,7 +12659,7 @@ _080163DA: bx r0 .align 2, 0 _080163E0: .4byte gBattlerAttacker -_080163E4: .4byte gUnknown_2023BDE +_080163E4: .4byte gBattlerByTurnOrder _080163E8: .4byte gUnknown_2023BE2 _080163EC: .4byte gBattle_BG0_X _080163F0: .4byte gBattle_BG0_Y @@ -12668,7 +12668,7 @@ _080163F8: .4byte gMoveSelectionCursor _080163FC: .4byte gBattleTextBuff1 _08016400: .4byte gBattleStruct _08016404: .4byte gBattleScripting -_08016408: .4byte gUnknown_2023D74 +_08016408: .4byte gBattlescriptCurrInstr _0801640C: .4byte gUnknown_81D894D _08016410: .4byte gUnknown_2023BE3 _08016414: .4byte gBattleResults @@ -12683,7 +12683,7 @@ sub_8016418: @ 8016418 push {r5-r7} ldr r4, _08016474 @ =gBattlerAttacker ldr r2, _08016478 @ =gBattlerTarget - ldr r1, _0801647C @ =gUnknown_2023BDE + ldr r1, _0801647C @ =gBattlerByTurnOrder ldr r0, _08016480 @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -12713,7 +12713,7 @@ sub_8016418: @ 8016418 adds r1, r3, 0 cmp r1, 0xC bhi _0801649C - ldr r2, _08016494 @ =gUnknown_2023D74 + ldr r2, _08016494 @ =gBattlescriptCurrInstr ldr r1, _08016498 @ =gUnknown_81D99B0 ldrh r0, [r5] lsls r0, 2 @@ -12724,13 +12724,13 @@ sub_8016418: @ 8016418 .align 2, 0 _08016474: .4byte gBattlerAttacker _08016478: .4byte gBattlerTarget -_0801647C: .4byte gUnknown_2023BDE +_0801647C: .4byte gBattlerByTurnOrder _08016480: .4byte gUnknown_2023BE2 _08016484: .4byte gBattle_BG0_X _08016488: .4byte gBattle_BG0_Y _0801648C: .4byte gLastUsedItem _08016490: .4byte gBattleBufferB -_08016494: .4byte gUnknown_2023D74 +_08016494: .4byte gBattlescriptCurrInstr _08016498: .4byte gUnknown_81D99B0 _0801649C: adds r0, r3, 0 @@ -12739,7 +12739,7 @@ _0801649C: lsrs r0, 16 cmp r0, 0x1 bhi _080164C4 - ldr r0, _080164B8 @ =gUnknown_2023D74 + ldr r0, _080164B8 @ =gBattlescriptCurrInstr ldr r1, _080164BC @ =gUnknown_81D99FC ldr r1, [r1] str r1, [r0] @@ -12747,7 +12747,7 @@ _0801649C: mov r10, r1 b _0801671E .align 2, 0 -_080164B8: .4byte gUnknown_2023D74 +_080164B8: .4byte gBattlescriptCurrInstr _080164BC: .4byte gUnknown_81D99FC _080164C0: .4byte gUnknown_2023BE3 _080164C4: @@ -12755,7 +12755,7 @@ _080164C4: lsls r0, 1 cmp r1, r0 bne _080164E8 - ldr r0, _080164DC @ =gUnknown_2023D74 + ldr r0, _080164DC @ =gBattlescriptCurrInstr ldr r1, _080164E0 @ =gUnknown_81D99FC ldr r1, [r1, 0x4] str r1, [r0] @@ -12763,7 +12763,7 @@ _080164C4: mov r10, r2 b _0801671E .align 2, 0 -_080164DC: .4byte gUnknown_2023D74 +_080164DC: .4byte gBattlescriptCurrInstr _080164E0: .4byte gUnknown_81D99FC _080164E4: .4byte gUnknown_2023BE3 _080164E8: @@ -12772,7 +12772,7 @@ _080164E8: lsls r0, 24 cmp r0, 0 bne _08016510 - ldr r0, _08016504 @ =gUnknown_2023D74 + ldr r0, _08016504 @ =gBattlescriptCurrInstr ldr r1, _08016508 @ =gUnknown_81D99E4 ldr r1, [r1] str r1, [r0] @@ -12781,7 +12781,7 @@ _080164FC: mov r10, r0 b _0801671E .align 2, 0 -_08016504: .4byte gUnknown_2023D74 +_08016504: .4byte gBattlescriptCurrInstr _08016508: .4byte gUnknown_81D99E4 _0801650C: .4byte gUnknown_2023BE3 _08016510: @@ -12797,7 +12797,7 @@ _08016510: ldrb r0, [r0] subs r0, 0x1 mov r8, r4 - ldr r1, _08016550 @ =gUnknown_2023D74 + ldr r1, _08016550 @ =gBattlescriptCurrInstr mov r9, r1 ldr r6, _08016554 @ =gUnknown_81D99E4 mov r12, r3 @@ -12816,7 +12816,7 @@ _0801653C: .align 2, 0 _08016548: .4byte gBattleScripting _0801654C: .4byte gBattleStruct -_08016550: .4byte gUnknown_2023D74 +_08016550: .4byte gBattlescriptCurrInstr _08016554: .4byte gUnknown_81D99E4 _08016558: .4byte gUnknown_2023BE3 _0801655C: .4byte _08016560 @@ -12828,7 +12828,7 @@ _08016560: .4byte _08016608 .4byte _080166D8 _08016574: - ldr r5, _080165AC @ =gUnknown_2023E82 + ldr r5, _080165AC @ =gBattleCommunication movs r0, 0 strb r0, [r5, 0x5] ldr r2, _080165B0 @ =gBattlerAttacker @@ -12845,7 +12845,7 @@ _08016574: beq _080165C0 movs r0, 0x3E ands r0, r1 - ldr r1, _080165B4 @ =gUnknown_2023D74 + ldr r1, _080165B4 @ =gBattlescriptCurrInstr mov r9, r1 ldr r6, _080165B8 @ =gUnknown_81D99E4 ldr r2, _080165BC @ =gUnknown_2023BE3 @@ -12858,13 +12858,13 @@ _080165A6: strb r0, [r5, 0x5] b _08016706 .align 2, 0 -_080165AC: .4byte gUnknown_2023E82 +_080165AC: .4byte gBattleCommunication _080165B0: .4byte gBattlerAttacker -_080165B4: .4byte gUnknown_2023D74 +_080165B4: .4byte gBattlescriptCurrInstr _080165B8: .4byte gUnknown_81D99E4 _080165BC: .4byte gUnknown_2023BE3 _080165C0: - ldr r0, _080165FC @ =gUnknown_2023D74 + ldr r0, _080165FC @ =gBattlescriptCurrInstr mov r9, r0 ldr r6, _08016600 @ =gUnknown_81D99E4 ldr r1, _08016604 @ =gUnknown_2023BE3 @@ -12896,11 +12896,11 @@ _080165D0: beq _080165D0 b _08016706 .align 2, 0 -_080165FC: .4byte gUnknown_2023D74 +_080165FC: .4byte gBattlescriptCurrInstr _08016600: .4byte gUnknown_81D99E4 _08016604: .4byte gUnknown_2023BE3 _08016608: - ldr r3, _0801663C @ =gUnknown_2023E82 + ldr r3, _0801663C @ =gBattleCommunication movs r0, 0x4 strb r0, [r3, 0x5] ldr r2, _08016640 @ =gBattlerAttacker @@ -12920,16 +12920,16 @@ _08016608: beq _08016650 movs r0, 0x5 strb r0, [r3, 0x5] - ldr r2, _08016644 @ =gUnknown_2023D74 + ldr r2, _08016644 @ =gBattlescriptCurrInstr mov r9, r2 ldr r6, _08016648 @ =gUnknown_81D99E4 ldr r0, _0801664C @ =gUnknown_2023BE3 mov r10, r0 b _08016706 .align 2, 0 -_0801663C: .4byte gUnknown_2023E82 +_0801663C: .4byte gBattleCommunication _08016640: .4byte gBattlerAttacker -_08016644: .4byte gUnknown_2023D74 +_08016644: .4byte gBattlescriptCurrInstr _08016648: .4byte gUnknown_81D99E4 _0801664C: .4byte gUnknown_2023BE3 _08016650: @@ -12952,7 +12952,7 @@ _08016650: strb r0, [r1, 0x4] ldrb r0, [r6] ands r2, r0 - ldr r1, _080166CC @ =gUnknown_2023D74 + ldr r1, _080166CC @ =gBattlescriptCurrInstr mov r9, r1 ldr r6, _080166D0 @ =gUnknown_81D99E4 ldr r0, _080166D4 @ =gUnknown_2023BE3 @@ -12995,7 +12995,7 @@ _080166B4: .align 2, 0 _080166C4: .4byte gBattleTextBuff1 _080166C8: .4byte gBattleTextBuff2 -_080166CC: .4byte gUnknown_2023D74 +_080166CC: .4byte gBattlescriptCurrInstr _080166D0: .4byte gUnknown_81D99E4 _080166D4: .4byte gUnknown_2023BE3 _080166D8: @@ -13005,20 +13005,20 @@ _080166D8: ands r1, r0 cmp r1, 0 beq _080166F4 - ldr r1, _080166F0 @ =gUnknown_2023E82 + ldr r1, _080166F0 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _080166F8 .align 2, 0 _080166EC: .4byte gBattleTypeFlags -_080166F0: .4byte gUnknown_2023E82 +_080166F0: .4byte gBattleCommunication _080166F4: - ldr r0, _08016734 @ =gUnknown_2023E82 + ldr r0, _08016734 @ =gBattleCommunication strb r1, [r0, 0x5] _080166F8: ldr r0, _08016738 @ =gBattlerAttacker mov r8, r0 - ldr r1, _0801673C @ =gUnknown_2023D74 + ldr r1, _0801673C @ =gBattlescriptCurrInstr mov r9, r1 ldr r6, _08016740 @ =gUnknown_81D99E4 ldr r2, _08016744 @ =gUnknown_2023BE3 @@ -13048,9 +13048,9 @@ _0801671E: pop {r0} bx r0 .align 2, 0 -_08016734: .4byte gUnknown_2023E82 +_08016734: .4byte gBattleCommunication _08016738: .4byte gBattlerAttacker -_0801673C: .4byte gUnknown_2023D74 +_0801673C: .4byte gBattlescriptCurrInstr _08016740: .4byte gUnknown_81D99E4 _08016744: .4byte gUnknown_2023BE3 thumb_func_end sub_8016418 @@ -13095,7 +13095,7 @@ _0801677E: adds r0, r1 ldrh r0, [r0, 0x2E] strh r0, [r2] - ldr r0, _080167B8 @ =gUnknown_2023E8C + ldr r0, _080167B8 @ =gProtectStructs lsls r2, r4, 4 adds r2, r0 ldrb r1, [r2, 0x1] @@ -13110,7 +13110,7 @@ _0801677E: _080167AC: .4byte gPotentialItemEffectBattler _080167B0: .4byte gLastUsedItem _080167B4: .4byte gBattleMons -_080167B8: .4byte gUnknown_2023E8C +_080167B8: .4byte gProtectStructs _080167BC: ldr r7, _080167EC @ =gBattleMons movs r2, 0x58 @@ -13124,7 +13124,7 @@ _080167BC: bne _080167F8 ldr r0, _080167F0 @ =gLastUsedAbility strb r1, [r0] - ldr r0, _080167F4 @ =gUnknown_2023E8C + ldr r0, _080167F4 @ =gProtectStructs lsls r2, r4, 4 adds r2, r0 ldrb r1, [r2, 0x1] @@ -13138,7 +13138,7 @@ _080167BC: .align 2, 0 _080167EC: .4byte gBattleMons _080167F0: .4byte gLastUsedAbility -_080167F4: .4byte gUnknown_2023E8C +_080167F4: .4byte gProtectStructs _080167F8: ldr r0, _08016820 @ =gBattleTypeFlags ldr r3, [r0] @@ -13231,7 +13231,7 @@ _080168A0: .4byte gBattleOutcome sub_80168A4: @ 80168A4 push {r4-r6,lr} ldr r4, _080168F4 @ =gBattlerAttacker - ldr r1, _080168F8 @ =gUnknown_2023BDE + ldr r1, _080168F8 @ =gBattlerByTurnOrder ldr r5, _080168FC @ =gUnknown_2023BE2 ldrb r0, [r5] adds r0, r1 @@ -13271,7 +13271,7 @@ _080168D8: b _08016922 .align 2, 0 _080168F4: .4byte gBattlerAttacker -_080168F8: .4byte gUnknown_2023BDE +_080168F8: .4byte gBattlerByTurnOrder _080168FC: .4byte gUnknown_2023BE2 _08016900: .4byte gBattleTypeFlags _08016904: .4byte gBattlersCount @@ -13322,18 +13322,18 @@ _0801694C: bne _080169D8 ldrb r0, [r4] bl ClearFuryCutterDestinyBondGrudge - ldr r1, _0801697C @ =gUnknown_2023E82 + ldr r1, _0801697C @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x5] - ldr r1, _08016980 @ =gUnknown_2023D74 + ldr r1, _08016980 @ =gBattlescriptCurrInstr ldr r0, _08016984 @ =gUnknown_81D893A str r0, [r1] ldr r1, _08016988 @ =gUnknown_2023BE3 movs r0, 0xA b _080169D6 .align 2, 0 -_0801697C: .4byte gUnknown_2023E82 -_08016980: .4byte gUnknown_2023D74 +_0801697C: .4byte gBattleCommunication +_08016980: .4byte gBattlescriptCurrInstr _08016984: .4byte gUnknown_81D893A _08016988: .4byte gUnknown_2023BE3 _0801698C: @@ -13348,10 +13348,10 @@ _0801698C: ands r0, r1 cmp r0, 0 beq _080169CC - ldr r1, _080169BC @ =gUnknown_2023E82 + ldr r1, _080169BC @ =gBattleCommunication movs r0, 0x4 strb r0, [r1, 0x5] - ldr r1, _080169C0 @ =gUnknown_2023D74 + ldr r1, _080169C0 @ =gBattlescriptCurrInstr ldr r0, _080169C4 @ =gUnknown_81D893A str r0, [r1] ldr r1, _080169C8 @ =gUnknown_2023BE3 @@ -13360,8 +13360,8 @@ _0801698C: .align 2, 0 _080169B4: .4byte gBattleMons _080169B8: .4byte 0x0400e000 -_080169BC: .4byte gUnknown_2023E82 -_080169C0: .4byte gUnknown_2023D74 +_080169BC: .4byte gBattleCommunication +_080169C0: .4byte gBattlescriptCurrInstr _080169C4: .4byte gUnknown_81D893A _080169C8: .4byte gUnknown_2023BE3 _080169CC: @@ -13385,7 +13385,7 @@ _080169E4: .4byte gBattleOutcome sub_80169E8: @ 80169E8 push {r4,r5,lr} ldr r2, _08016A44 @ =gBattlerAttacker - ldr r1, _08016A48 @ =gUnknown_2023BDE + ldr r1, _08016A48 @ =gBattlerByTurnOrder ldr r0, _08016A4C @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -13429,7 +13429,7 @@ sub_80169E8: @ 80169E8 b _08016A98 .align 2, 0 _08016A44: .4byte gBattlerAttacker -_08016A48: .4byte gUnknown_2023BDE +_08016A48: .4byte gBattlerByTurnOrder _08016A4C: .4byte gUnknown_2023BE2 _08016A50: .4byte gBattle_BG0_X _08016A54: .4byte gBattle_BG0_Y @@ -13438,12 +13438,12 @@ _08016A5C: .4byte gEnemyParty _08016A60: .4byte gBaseStats _08016A64: .4byte 0x000004fb _08016A68: - ldr r1, _08016A70 @ =gUnknown_2023E82 + ldr r1, _08016A70 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08016A9C .align 2, 0 -_08016A70: .4byte gUnknown_2023E82 +_08016A70: .4byte gBattleCommunication _08016A74: adds r1, 0x7A ldrb r0, [r1] @@ -13456,17 +13456,17 @@ _08016A74: ldrb r0, [r0] cmp r0, 0 beq _08016A98 - ldr r1, _08016A94 @ =gUnknown_2023E82 + ldr r1, _08016A94 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _08016A9C .align 2, 0 -_08016A94: .4byte gUnknown_2023E82 +_08016A94: .4byte gBattleCommunication _08016A98: - ldr r0, _08016AB0 @ =gUnknown_2023E82 + ldr r0, _08016AB0 @ =gBattleCommunication strb r5, [r0, 0x5] _08016A9C: - ldr r1, _08016AB4 @ =gUnknown_2023D74 + ldr r1, _08016AB4 @ =gBattlescriptCurrInstr ldr r0, _08016AB8 @ =gUnknown_81D9A04 ldr r0, [r0] str r0, [r1] @@ -13477,8 +13477,8 @@ _08016A9C: pop {r0} bx r0 .align 2, 0 -_08016AB0: .4byte gUnknown_2023E82 -_08016AB4: .4byte gUnknown_2023D74 +_08016AB0: .4byte gBattleCommunication +_08016AB4: .4byte gBattlescriptCurrInstr _08016AB8: .4byte gUnknown_81D9A04 _08016ABC: .4byte gUnknown_2023BE3 thumb_func_end sub_80169E8 @@ -13486,7 +13486,7 @@ _08016ABC: .4byte gUnknown_2023BE3 thumb_func_start sub_8016AC0 sub_8016AC0: @ 8016AC0 ldr r2, _08016AF8 @ =gBattlerAttacker - ldr r1, _08016AFC @ =gUnknown_2023BDE + ldr r1, _08016AFC @ =gBattlerByTurnOrder ldr r0, _08016B00 @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -13504,7 +13504,7 @@ sub_8016AC0: @ 8016AC0 ldr r1, _08016B10 @ =gLastUsedItem movs r0, 0x5 strh r0, [r1] - ldr r1, _08016B14 @ =gUnknown_2023D74 + ldr r1, _08016B14 @ =gBattlescriptCurrInstr ldr r0, _08016B18 @ =gUnknown_81D99B0 ldr r0, [r0, 0x14] str r0, [r1] @@ -13514,13 +13514,13 @@ sub_8016AC0: @ 8016AC0 bx lr .align 2, 0 _08016AF8: .4byte gBattlerAttacker -_08016AFC: .4byte gUnknown_2023BDE +_08016AFC: .4byte gBattlerByTurnOrder _08016B00: .4byte gUnknown_2023BE2 _08016B04: .4byte gBattle_BG0_X _08016B08: .4byte gBattle_BG0_Y _08016B0C: .4byte gNumSafariBalls _08016B10: .4byte gLastUsedItem -_08016B14: .4byte gUnknown_2023D74 +_08016B14: .4byte gBattlescriptCurrInstr _08016B18: .4byte gUnknown_81D99B0 _08016B1C: .4byte gUnknown_2023BE3 thumb_func_end sub_8016AC0 @@ -13529,7 +13529,7 @@ _08016B1C: .4byte gUnknown_2023BE3 sub_8016B20: @ 8016B20 push {r4-r7,lr} ldr r2, _08016B9C @ =gBattlerAttacker - ldr r1, _08016BA0 @ =gUnknown_2023BDE + ldr r1, _08016BA0 @ =gBattlerByTurnOrder ldr r0, _08016BA4 @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -13578,7 +13578,7 @@ _08016B66: movs r0, 0x3 strb r0, [r1] _08016B86: - ldr r1, _08016BB4 @ =gUnknown_2023D74 + ldr r1, _08016BB4 @ =gBattlescriptCurrInstr ldr r0, _08016BB8 @ =gUnknown_81D9A04 ldr r0, [r0, 0x8] str r0, [r1] @@ -13590,12 +13590,12 @@ _08016B86: bx r0 .align 2, 0 _08016B9C: .4byte gBattlerAttacker -_08016BA0: .4byte gUnknown_2023BDE +_08016BA0: .4byte gBattlerByTurnOrder _08016BA4: .4byte gUnknown_2023BE2 _08016BA8: .4byte gBattle_BG0_X _08016BAC: .4byte gBattle_BG0_Y _08016BB0: .4byte gBattleStruct -_08016BB4: .4byte gUnknown_2023D74 +_08016BB4: .4byte gBattlescriptCurrInstr _08016BB8: .4byte gUnknown_81D9A04 _08016BBC: .4byte gUnknown_2023BE3 thumb_func_end sub_8016B20 @@ -13604,7 +13604,7 @@ _08016BBC: .4byte gUnknown_2023BE3 sub_8016BC0: @ 8016BC0 push {r4-r7,lr} ldr r2, _08016C3C @ =gBattlerAttacker - ldr r1, _08016C40 @ =gUnknown_2023BDE + ldr r1, _08016C40 @ =gBattlerByTurnOrder ldr r0, _08016C44 @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -13653,7 +13653,7 @@ _08016C06: movs r0, 0x14 strb r0, [r1] _08016C26: - ldr r1, _08016C54 @ =gUnknown_2023D74 + ldr r1, _08016C54 @ =gBattlescriptCurrInstr ldr r0, _08016C58 @ =gUnknown_81D9A04 ldr r0, [r0, 0x4] str r0, [r1] @@ -13665,12 +13665,12 @@ _08016C26: bx r0 .align 2, 0 _08016C3C: .4byte gBattlerAttacker -_08016C40: .4byte gUnknown_2023BDE +_08016C40: .4byte gBattlerByTurnOrder _08016C44: .4byte gUnknown_2023BE2 _08016C48: .4byte gBattle_BG0_X _08016C4C: .4byte gBattle_BG0_Y _08016C50: .4byte gBattleStruct -_08016C54: .4byte gUnknown_2023D74 +_08016C54: .4byte gBattlescriptCurrInstr _08016C58: .4byte gUnknown_81D9A04 _08016C5C: .4byte gUnknown_2023BE3 thumb_func_end sub_8016BC0 @@ -13679,7 +13679,7 @@ _08016C5C: .4byte gUnknown_2023BE3 HandleAction_SafriZoneRun: @ 8016C60 push {r4,lr} ldr r2, _08016C88 @ =gBattlerAttacker - ldr r1, _08016C8C @ =gUnknown_2023BDE + ldr r1, _08016C8C @ =gBattlerByTurnOrder ldr r4, _08016C90 @ =gUnknown_2023BE2 ldrb r0, [r4] adds r0, r1 @@ -13698,7 +13698,7 @@ HandleAction_SafriZoneRun: @ 8016C60 bx r0 .align 2, 0 _08016C88: .4byte gBattlerAttacker -_08016C8C: .4byte gUnknown_2023BDE +_08016C8C: .4byte gBattlerByTurnOrder _08016C90: .4byte gUnknown_2023BE2 _08016C94: .4byte gBattlersCount _08016C98: .4byte gBattleOutcome @@ -13707,7 +13707,7 @@ _08016C98: .4byte gBattleOutcome thumb_func_start HandleAction_Action9 HandleAction_Action9: @ 8016C9C ldr r3, _08016CE8 @ =gBattlerAttacker - ldr r1, _08016CEC @ =gUnknown_2023BDE + ldr r1, _08016CEC @ =gBattlerByTurnOrder ldr r0, _08016CF0 @ =gUnknown_2023BE2 ldrb r0, [r0] adds r0, r1 @@ -13732,7 +13732,7 @@ HandleAction_Action9: @ 8016C9C strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _08016D04 @ =gUnknown_2023D74 + ldr r1, _08016D04 @ =gBattlescriptCurrInstr ldr r0, _08016D08 @ =gUnknown_81D9A04 ldr r0, [r0, 0xC] str r0, [r1] @@ -13745,13 +13745,13 @@ HandleAction_Action9: @ 8016C9C bx lr .align 2, 0 _08016CE8: .4byte gBattlerAttacker -_08016CEC: .4byte gUnknown_2023BDE +_08016CEC: .4byte gBattlerByTurnOrder _08016CF0: .4byte gUnknown_2023BE2 _08016CF4: .4byte gBattle_BG0_X _08016CF8: .4byte gBattle_BG0_Y _08016CFC: .4byte gBattleTextBuff1 _08016D00: .4byte gBattlerPartyIndexes -_08016D04: .4byte gUnknown_2023D74 +_08016D04: .4byte gBattlescriptCurrInstr _08016D08: .4byte gUnknown_81D9A04 _08016D0C: .4byte gUnknown_2023BE3 _08016D10: .4byte gUnknown_2023BDA @@ -13792,7 +13792,7 @@ HandleAction_NothingIsFainted: @ 8016D3C adds r0, r2 ldrb r0, [r0] strb r0, [r3] - ldr r2, _08016D68 @ =gUnknown_2023DD0 + ldr r2, _08016D68 @ =gHitMarker ldr r0, [r2] ldr r1, _08016D6C @ =0xf1e892af ands r0, r1 @@ -13802,7 +13802,7 @@ HandleAction_NothingIsFainted: @ 8016D3C _08016D5C: .4byte gUnknown_2023BE2 _08016D60: .4byte gUnknown_2023BE3 _08016D64: .4byte gUnknown_2023BDA -_08016D68: .4byte gUnknown_2023DD0 +_08016D68: .4byte gHitMarker _08016D6C: .4byte 0xf1e892af thumb_func_end HandleAction_NothingIsFainted @@ -13820,7 +13820,7 @@ HandleAction_ActionFinished: @ 8016D70 ldrb r0, [r0] strb r0, [r3] bl SpecialStatusesClear - ldr r2, _08016DF0 @ =gUnknown_2023DD0 + ldr r2, _08016DF0 @ =gHitMarker ldr r0, [r2] ldr r1, _08016DF4 @ =0xf1e892af ands r0, r1 @@ -13853,7 +13853,7 @@ HandleAction_ActionFinished: @ 8016D70 ldr r0, _08016E18 @ =gDynamicBasePower strh r4, [r0] strb r1, [r5, 0x14] - ldr r0, _08016E1C @ =gUnknown_2023E82 + ldr r0, _08016E1C @ =gBattleCommunication strb r1, [r0, 0x3] strb r1, [r0, 0x4] strb r1, [r5, 0x16] @@ -13869,7 +13869,7 @@ HandleAction_ActionFinished: @ 8016D70 _08016DE4: .4byte gUnknown_2023BE2 _08016DE8: .4byte gUnknown_2023BE3 _08016DEC: .4byte gUnknown_2023BDA -_08016DF0: .4byte gUnknown_2023DD0 +_08016DF0: .4byte gHitMarker _08016DF4: .4byte 0xf1e892af _08016DF8: .4byte gCurrentMove _08016DFC: .4byte gBattleMoveDamage @@ -13880,7 +13880,7 @@ _08016E0C: .4byte gBattlerAttacker _08016E10: .4byte gUnknown_2023DA8 _08016E14: .4byte gBattleStruct _08016E18: .4byte gDynamicBasePower -_08016E1C: .4byte gUnknown_2023E82 +_08016E1C: .4byte gBattleCommunication _08016E20: .4byte gBattleResources thumb_func_end HandleAction_ActionFinished diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s index 8b0422d3f..b703b8334 100644 --- a/asm/battle_anim_special.s +++ b/asm/battle_anim_special.s @@ -6192,7 +6192,7 @@ sub_80F1CE4: @ 80F1CE4 push {lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r2, _080F1CF8 @ =gUnknown_2023E82 + ldr r2, _080F1CF8 @ =gBattleCommunication ldrb r0, [r2, 0x5] cmp r0, 0x2 bls _080F1D00 @@ -6200,7 +6200,7 @@ sub_80F1CE4: @ 80F1CE4 movs r0, 0 b _080F1D04 .align 2, 0 -_080F1CF8: .4byte gUnknown_2023E82 +_080F1CF8: .4byte gBattleCommunication _080F1CFC: .4byte gBattleAnimArgs _080F1D00: ldr r1, _080F1D10 @ =gBattleAnimArgs diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 5afa2231e..3ded95b1d 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -2136,7 +2136,7 @@ _080E86DC: .4byte gActiveBattler _080E86E0: bl OpponentBufferExecCompleted _080E86E4: - ldr r0, _080E86FC @ =gUnknown_2023E82 + ldr r0, _080E86FC @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x7] ldr r0, _080E8700 @ =gBattleStruct @@ -2149,7 +2149,7 @@ _080E86F2: pop {r0} bx r0 .align 2, 0 -_080E86FC: .4byte gUnknown_2023E82 +_080E86FC: .4byte gBattleCommunication _080E8700: .4byte gBattleStruct thumb_func_end sub_80E85D4 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 373d191ef..25dbe3ce3 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -33,7 +33,7 @@ _0801D784: ldrh r0, [r0, 0x28] cmp r0, 0 bne _0801D7C8 - ldr r2, _0801D7BC @ =gUnknown_2023DD0 + ldr r2, _0801D7BC @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 2 @@ -44,17 +44,17 @@ _0801D784: lsls r0, 12 orrs r1, r0 str r1, [r2] - ldr r1, _0801D7C0 @ =gUnknown_2023D74 + ldr r1, _0801D7C0 @ =gBattlescriptCurrInstr ldr r0, _0801D7C4 @ =gUnknown_81D694E b _0801DAFA .align 2, 0 _0801D7B4: .4byte gBattleMons _0801D7B8: .4byte gBattlerAttacker -_0801D7BC: .4byte gUnknown_2023DD0 -_0801D7C0: .4byte gUnknown_2023D74 +_0801D7BC: .4byte gHitMarker +_0801D7C0: .4byte gBattlescriptCurrInstr _0801D7C4: .4byte gUnknown_81D694E _0801D7C8: - bl sub_80192D4 + bl AtkCanceller_UnableToUseMove lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -85,7 +85,7 @@ _0801D7EE: adds r0, 0x24 adds r1, r0 ldrb r0, [r1] - ldr r5, _0801D854 @ =gUnknown_2023DD0 + ldr r5, _0801D854 @ =gHitMarker cmp r0, 0 bne _0801D86C ldr r0, _0801D858 @ =gCurrentMove @@ -106,7 +106,7 @@ _0801D7EE: ands r0, r1 cmp r0, 0 bne _0801D86C - ldr r1, _0801D860 @ =gUnknown_2023D74 + ldr r1, _0801D860 @ =gBattlescriptCurrInstr ldr r0, _0801D864 @ =gUnknown_81D8EA8 str r0, [r1] ldr r2, _0801D868 @ =gMoveResultFlags @@ -120,10 +120,10 @@ _0801D844: .4byte gBattlerTarget _0801D848: .4byte gBattleMons _0801D84C: .4byte gUnknown_2023D48 _0801D850: .4byte gBattlerAttacker -_0801D854: .4byte gUnknown_2023DD0 +_0801D854: .4byte gHitMarker _0801D858: .4byte gCurrentMove _0801D85C: .4byte 0x00800200 -_0801D860: .4byte gUnknown_2023D74 +_0801D860: .4byte gBattlescriptCurrInstr _0801D864: .4byte gUnknown_81D8EA8 _0801D868: .4byte gMoveResultFlags _0801D86C: @@ -148,7 +148,7 @@ _0801D86C: ands r0, r1 cmp r0, 0 bne _0801D8C4 - bl sub_801D438 + bl IsMonDisobedient lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -171,13 +171,13 @@ _0801D8B4: .align 2, 0 _0801D8C0: .4byte gMoveResultFlags _0801D8C4: - ldr r2, _0801D928 @ =gUnknown_2023DD0 + ldr r2, _0801D928 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 18 orrs r0, r1 str r0, [r2] - ldr r2, _0801D92C @ =gUnknown_2023E8C + ldr r2, _0801D92C @ =gProtectStructs ldr r1, _0801D930 @ =gBattlerTarget ldrb r3, [r1] lsls r0, r3, 4 @@ -215,18 +215,18 @@ _0801D8C4: ands r0, r2 strb r0, [r1] bl BattleScriptPushCursor - ldr r1, _0801D944 @ =gUnknown_2023D74 + ldr r1, _0801D944 @ =gBattlescriptCurrInstr ldr r0, _0801D948 @ =gUnknown_81D8FAA b _0801DAFA .align 2, 0 -_0801D928: .4byte gUnknown_2023DD0 -_0801D92C: .4byte gUnknown_2023E8C +_0801D928: .4byte gHitMarker +_0801D92C: .4byte gProtectStructs _0801D930: .4byte gBattlerTarget _0801D934: .4byte gBattleMoves _0801D938: .4byte gCurrentMove _0801D93C: .4byte gBattlerAttacker _0801D940: .4byte 0x00000115 -_0801D944: .4byte gUnknown_2023D74 +_0801D944: .4byte gBattlescriptCurrInstr _0801D948: .4byte gUnknown_81D8FAA _0801D94C: movs r2, 0 @@ -234,11 +234,11 @@ _0801D94C: ldrb r0, [r0] cmp r2, r0 bge _0801D98E - ldr r6, _0801D9CC @ =gUnknown_2023E8C + ldr r6, _0801D9CC @ =gProtectStructs ldr r1, _0801D9D0 @ =gBattleMoves mov r12, r1 adds r5, r0, 0 - ldr r7, _0801D9D4 @ =gUnknown_2023BDE + ldr r7, _0801D9D4 @ =gBattlerByTurnOrder _0801D960: adds r4, r2, r7 ldrb r3, [r4] @@ -265,7 +265,7 @@ _0801D988: cmp r2, r5 blt _0801D960 _0801D98E: - ldr r0, _0801D9DC @ =gUnknown_2023ECC + ldr r0, _0801D9DC @ =gSpecialStatuses mov r1, r8 ldrb r2, [r1] lsls r1, r2, 2 @@ -284,7 +284,7 @@ _0801D98E: movs r0, 0x1F strb r0, [r4] bl BattleScriptPushCursor - ldr r1, _0801D9E4 @ =gUnknown_2023D74 + ldr r1, _0801D9E4 @ =gBattlescriptCurrInstr ldr r0, _0801D9E8 @ =gUnknown_81D938D str r0, [r1] mov r1, r8 @@ -294,13 +294,13 @@ _0801D98E: b _0801DAFC .align 2, 0 _0801D9C8: .4byte gBattlersCount -_0801D9CC: .4byte gUnknown_2023E8C +_0801D9CC: .4byte gProtectStructs _0801D9D0: .4byte gBattleMoves -_0801D9D4: .4byte gUnknown_2023BDE +_0801D9D4: .4byte gBattlerByTurnOrder _0801D9D8: .4byte gCurrentMove -_0801D9DC: .4byte gUnknown_2023ECC +_0801D9DC: .4byte gSpecialStatuses _0801D9E0: .4byte gLastUsedAbility -_0801D9E4: .4byte gUnknown_2023D74 +_0801D9E4: .4byte gBattlescriptCurrInstr _0801D9E8: .4byte gUnknown_81D938D _0801D9EC: lsls r0, r2, 4 @@ -382,7 +382,7 @@ _0801DA5E: lsls r0, 1 adds r0, r1 strh r2, [r0] - ldr r1, _0801DAB0 @ =gUnknown_2023E82 + ldr r1, _0801DAB0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x6] b _0801DAF4 @@ -395,7 +395,7 @@ _0801DAA0: .4byte gMoveResultFlags _0801DAA4: .4byte gUnknown_2023DA0 _0801DAA8: .4byte gBattlerTarget _0801DAAC: .4byte gUnknown_2023DA8 -_0801DAB0: .4byte gUnknown_2023E82 +_0801DAB0: .4byte gBattleCommunication _0801DAB4: ldr r0, _0801DAE0 @ =gBattlerAttacker ldrb r0, [r0] @@ -414,17 +414,17 @@ _0801DAB4: ldrb r0, [r4] strb r0, [r1, 0x17] bl BattleScriptPushCursor - ldr r1, _0801DAEC @ =gUnknown_2023D74 + ldr r1, _0801DAEC @ =gBattlescriptCurrInstr ldr r0, _0801DAF0 @ =gUnknown_81D8FC2 b _0801DAFA .align 2, 0 _0801DAE0: .4byte gBattlerAttacker _0801DAE4: .4byte 0x00000121 _0801DAE8: .4byte gBattleScripting -_0801DAEC: .4byte gUnknown_2023D74 +_0801DAEC: .4byte gBattlescriptCurrInstr _0801DAF0: .4byte gUnknown_81D8FC2 _0801DAF4: - ldr r1, _0801DB0C @ =gUnknown_2023D74 + ldr r1, _0801DB0C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 _0801DAFA: @@ -438,7 +438,7 @@ _0801DAFC: pop {r0} bx r0 .align 2, 0 -_0801DB0C: .4byte gUnknown_2023D74 +_0801DB0C: .4byte gBattlescriptCurrInstr thumb_func_end atk00_attackcanceler thumb_func_start JumpIfMoveFailed @@ -449,7 +449,7 @@ JumpIfMoveFailed: @ 801DB10 lsrs r0, 24 lsls r1, 16 lsrs r6, r1, 16 - ldr r1, _0801DB5C @ =gUnknown_2023D74 + ldr r1, _0801DB5C @ =gBattlescriptCurrInstr ldr r5, [r1] adds r4, r5, r0 ldr r0, _0801DB60 @ =gMoveResultFlags @@ -482,7 +482,7 @@ JumpIfMoveFailed: @ 801DB10 orrs r4, r0 b _0801DB8A .align 2, 0 -_0801DB5C: .4byte gUnknown_2023D74 +_0801DB5C: .4byte gBattlescriptCurrInstr _0801DB60: .4byte gMoveResultFlags _0801DB64: .4byte gUnknown_2023DA0 _0801DB68: .4byte gBattlerTarget @@ -500,7 +500,7 @@ _0801DB70: cmp r0, 0 bne _0801DB8E _0801DB8A: - ldr r0, _0801DB9C @ =gUnknown_2023D74 + ldr r0, _0801DB9C @ =gBattlescriptCurrInstr str r4, [r0] _0801DB8E: add sp, 0x4 @@ -509,13 +509,13 @@ _0801DB8E: bx r0 .align 2, 0 _0801DB98: .4byte gBattlerTarget -_0801DB9C: .4byte gUnknown_2023D74 +_0801DB9C: .4byte gBattlescriptCurrInstr thumb_func_end JumpIfMoveFailed thumb_func_start atk40_jumpifaffectedbyprotect atk40_jumpifaffectedbyprotect: @ 801DBA0 push {lr} - ldr r1, _0801DBE8 @ =gUnknown_2023E8C + ldr r1, _0801DBE8 @ =gProtectStructs ldr r0, _0801DBEC @ =gBattlerTarget ldrb r0, [r0] lsls r0, 4 @@ -544,19 +544,19 @@ atk40_jumpifaffectedbyprotect: @ 801DBA0 movs r0, 0x5 movs r1, 0 bl JumpIfMoveFailed - ldr r1, _0801DBFC @ =gUnknown_2023E82 + ldr r1, _0801DBFC @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x6] b _0801DC08 .align 2, 0 -_0801DBE8: .4byte gUnknown_2023E8C +_0801DBE8: .4byte gProtectStructs _0801DBEC: .4byte gBattlerTarget _0801DBF0: .4byte gBattleMoves _0801DBF4: .4byte gCurrentMove _0801DBF8: .4byte gMoveResultFlags -_0801DBFC: .4byte gUnknown_2023E82 +_0801DBFC: .4byte gBattleCommunication _0801DC00: - ldr r1, _0801DC0C @ =gUnknown_2023D74 + ldr r1, _0801DC0C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -564,7 +564,7 @@ _0801DC08: pop {r0} bx r0 .align 2, 0 -_0801DC0C: .4byte gUnknown_2023D74 +_0801DC0C: .4byte gBattlescriptCurrInstr thumb_func_end atk40_jumpifaffectedbyprotect thumb_func_start JumpIfMoveAffectedByProtect @@ -573,7 +573,7 @@ JumpIfMoveAffectedByProtect: @ 801DC10 lsls r0, 16 lsrs r3, r0, 16 movs r4, 0 - ldr r1, _0801DC64 @ =gUnknown_2023E8C + ldr r1, _0801DC64 @ =gProtectStructs ldr r0, _0801DC68 @ =gBattlerTarget ldrb r0, [r0] lsls r0, 4 @@ -602,7 +602,7 @@ JumpIfMoveAffectedByProtect: @ 801DC10 movs r0, 0x7 adds r1, r3, 0 bl JumpIfMoveFailed - ldr r1, _0801DC78 @ =gUnknown_2023E82 + ldr r1, _0801DC78 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x6] movs r4, 0x1 @@ -612,12 +612,12 @@ _0801DC5C: pop {r1} bx r1 .align 2, 0 -_0801DC64: .4byte gUnknown_2023E8C +_0801DC64: .4byte gProtectStructs _0801DC68: .4byte gBattlerTarget _0801DC6C: .4byte gBattleMoves _0801DC70: .4byte gCurrentMove _0801DC74: .4byte gMoveResultFlags -_0801DC78: .4byte gUnknown_2023E82 +_0801DC78: .4byte gBattleCommunication thumb_func_end JumpIfMoveAffectedByProtect thumb_func_start AccuracyCalcHelper @@ -648,7 +648,7 @@ AccuracyCalcHelper: @ 801DC7C cmp r0, r1 beq _0801DD98 _0801DCAE: - ldr r0, _0801DCEC @ =gUnknown_2023DD0 + ldr r0, _0801DCEC @ =gHitMarker ldr r1, [r0] movs r2, 0x80 lsls r2, 9 @@ -676,7 +676,7 @@ _0801DCDC: .4byte gStatuses3 _0801DCE0: .4byte gBattlerTarget _0801DCE4: .4byte gDisableStructs _0801DCE8: .4byte gBattlerAttacker -_0801DCEC: .4byte gUnknown_2023DD0 +_0801DCEC: .4byte gHitMarker _0801DCF0: .4byte gMoveResultFlags _0801DCF4: ldr r0, [r2] @@ -791,7 +791,7 @@ sub_801DDC4: @ 801DDC4 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r0, _0801DE60 @ =gUnknown_2023D74 + ldr r0, _0801DE60 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r6, [r0, 0x5] ldrb r0, [r0, 0x6] @@ -862,7 +862,7 @@ _0801DE56: bl JumpIfMoveFailed b _0801E1C2 .align 2, 0 -_0801DE60: .4byte gUnknown_2023D74 +_0801DE60: .4byte gBattlescriptCurrInstr _0801DE64: .4byte gBattleTypeFlags _0801DE68: .4byte gBattleMoves _0801DE6C: .4byte gBattlerAttacker @@ -904,7 +904,7 @@ _0801DEA8: ands r0, r1 cmp r0, 0 beq _0801DEF0 - ldr r3, _0801DEEC @ =gUnknown_2023D74 + ldr r3, _0801DEEC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -925,7 +925,7 @@ _0801DEDC: .4byte 0x0000ffff _0801DEE0: .4byte gDisableStructs _0801DEE4: .4byte gBattlerAttacker _0801DEE8: .4byte 0x000400c0 -_0801DEEC: .4byte gUnknown_2023D74 +_0801DEEC: .4byte gBattlescriptCurrInstr _0801DEF0: movs r0, 0 bl JumpIfMoveAffectedByProtect @@ -934,13 +934,13 @@ _0801DEF0: beq _0801DEFE b _0801E1C2 _0801DEFE: - ldr r1, _0801DF08 @ =gUnknown_2023D74 + ldr r1, _0801DF08 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x7 str r0, [r1] b _0801E1C2 .align 2, 0 -_0801DF08: .4byte gUnknown_2023D74 +_0801DF08: .4byte gBattlescriptCurrInstr _0801DF0C: cmp r6, 0 bne _0801DF14 @@ -1255,7 +1255,7 @@ _0801E150: cmp r0, 0x20 bne _0801E1B0 _0801E192: - ldr r1, _0801E1AC @ =gUnknown_2023E82 + ldr r1, _0801E1AC @ =gBattleCommunication movs r0, 0x2 b _0801E1B4 .align 2, 0 @@ -1264,9 +1264,9 @@ _0801E19C: .4byte gBattlerTarget _0801E1A0: .4byte gMoveResultFlags _0801E1A4: .4byte gBattleTypeFlags _0801E1A8: .4byte gBattleMoves -_0801E1AC: .4byte gUnknown_2023E82 +_0801E1AC: .4byte gBattleCommunication _0801E1B0: - ldr r1, _0801E1D4 @ =gUnknown_2023E82 + ldr r1, _0801E1D4 @ =gBattleCommunication movs r0, 0 _0801E1B4: strb r0, [r1, 0x6] @@ -1285,7 +1285,7 @@ _0801E1C2: pop {r0} bx r0 .align 2, 0 -_0801E1D4: .4byte gUnknown_2023E82 +_0801E1D4: .4byte gBattleCommunication thumb_func_end sub_801DDC4 thumb_func_start atk02_attackstring @@ -1295,7 +1295,7 @@ atk02_attackstring: @ 801E1D8 ldr r5, [r0] cmp r5, 0 bne _0801E210 - ldr r4, _0801E21C @ =gUnknown_2023DD0 + ldr r4, _0801E21C @ =gHitMarker ldr r0, [r4] movs r1, 0xC0 lsls r1, 3 @@ -1312,11 +1312,11 @@ atk02_attackstring: @ 801E1D8 orrs r0, r1 str r0, [r4] _0801E204: - ldr r0, _0801E224 @ =gUnknown_2023D74 + ldr r0, _0801E224 @ =gBattlescriptCurrInstr ldr r1, [r0] adds r1, 0x1 str r1, [r0] - ldr r0, _0801E228 @ =gUnknown_2023E82 + ldr r0, _0801E228 @ =gBattleCommunication strb r5, [r0, 0x7] _0801E210: pop {r4,r5} @@ -1324,10 +1324,10 @@ _0801E210: bx r0 .align 2, 0 _0801E218: .4byte gBattleControllerExecFlags -_0801E21C: .4byte gUnknown_2023DD0 +_0801E21C: .4byte gHitMarker _0801E220: .4byte gBattlerAttacker -_0801E224: .4byte gUnknown_2023D74 -_0801E228: .4byte gUnknown_2023E82 +_0801E224: .4byte gBattlescriptCurrInstr +_0801E228: .4byte gBattleCommunication thumb_func_end atk02_attackstring thumb_func_start atk03_ppreduce @@ -1345,7 +1345,7 @@ atk03_ppreduce: @ 801E22C beq _0801E244 b _0801E3DE _0801E244: - ldr r1, _0801E280 @ =gUnknown_2023ECC + ldr r1, _0801E280 @ =gSpecialStatuses ldr r2, _0801E284 @ =gBattlerAttacker ldrb r3, [r2] lsls r0, r3, 2 @@ -1375,7 +1375,7 @@ _0801E244: b _0801E2C6 .align 2, 0 _0801E27C: .4byte gBattleControllerExecFlags -_0801E280: .4byte gUnknown_2023ECC +_0801E280: .4byte gSpecialStatuses _0801E284: .4byte gBattlerAttacker _0801E288: .4byte gBattleMoves _0801E28C: .4byte gCurrentMove @@ -1425,7 +1425,7 @@ _0801E2C6: bne _0801E2E6 adds r6, 0x1 _0801E2E6: - ldr r0, _0801E350 @ =gUnknown_2023DD0 + ldr r0, _0801E350 @ =gHitMarker ldr r4, [r0] movs r0, 0xA0 lsls r0, 4 @@ -1452,7 +1452,7 @@ _0801E2E6: adds r7, r3, 0 cmp r0, 0 beq _0801E3CC - ldr r0, _0801E35C @ =gUnknown_2023E8C + ldr r0, _0801E35C @ =gProtectStructs lsls r1, r5, 4 adds r1, r0 ldrb r0, [r1, 0x2] @@ -1477,10 +1477,10 @@ _0801E2E6: .align 2, 0 _0801E348: .4byte gBattlerTarget _0801E34C: .4byte gBattleMons -_0801E350: .4byte gUnknown_2023DD0 +_0801E350: .4byte gHitMarker _0801E354: .4byte gUnknown_2023D48 _0801E358: .4byte gBattlerAttacker -_0801E35C: .4byte gUnknown_2023E8C +_0801E35C: .4byte gProtectStructs _0801E360: strb r4, [r2] _0801E362: @@ -1534,14 +1534,14 @@ _0801E362: bl BtlController_EmitSetMonData mov r7, r9 ldrb r0, [r7] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801E3CC: - ldr r2, _0801E3FC @ =gUnknown_2023DD0 + ldr r2, _0801E3FC @ =gHitMarker ldr r0, [r2] ldr r1, _0801E400 @ =0xfffff7ff ands r0, r1 str r0, [r2] - ldr r1, _0801E404 @ =gUnknown_2023D74 + ldr r1, _0801E404 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -1558,9 +1558,9 @@ _0801E3DE: _0801E3F0: .4byte gDisableStructs _0801E3F4: .4byte gBitTable _0801E3F8: .4byte gActiveBattler -_0801E3FC: .4byte gUnknown_2023DD0 +_0801E3FC: .4byte gHitMarker _0801E400: .4byte 0xfffff7ff -_0801E404: .4byte gUnknown_2023D74 +_0801E404: .4byte gBattlescriptCurrInstr thumb_func_end atk03_ppreduce thumb_func_start sub_801E408 @@ -1755,7 +1755,7 @@ _0801E580: movs r0, 0x1 _0801E584: strb r0, [r1] - ldr r1, _0801E598 @ =gUnknown_2023D74 + ldr r1, _0801E598 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -1764,14 +1764,14 @@ _0801E584: bx r0 .align 2, 0 _0801E594: .4byte gCritMultiplier -_0801E598: .4byte gUnknown_2023D74 +_0801E598: .4byte gBattlescriptCurrInstr thumb_func_end sub_801E408 thumb_func_start atk05_damagecalc atk05_damagecalc: @ 801E59C push {r4-r7,lr} sub sp, 0x10 - ldr r4, _0801E654 @ =gSideAffecting + ldr r4, _0801E654 @ =gSideStatuses ldr r5, _0801E658 @ =gBattlerTarget ldrb r0, [r5] bl GetBattlerPosition @@ -1834,7 +1834,7 @@ atk05_damagecalc: @ 801E59C lsls r0, r3, 1 str r0, [r4] _0801E620: - ldr r1, _0801E684 @ =gUnknown_2023E8C + ldr r1, _0801E684 @ =gProtectStructs ldr r0, _0801E65C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -1851,7 +1851,7 @@ _0801E620: bl __divsi3 str r0, [r4] _0801E642: - ldr r1, _0801E688 @ =gUnknown_2023D74 + ldr r1, _0801E688 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -1860,7 +1860,7 @@ _0801E642: pop {r0} bx r0 .align 2, 0 -_0801E654: .4byte gSideAffecting +_0801E654: .4byte gSideStatuses _0801E658: .4byte gBattlerTarget _0801E65C: .4byte gBattlerAttacker _0801E660: .4byte gBattleMons @@ -1872,8 +1872,8 @@ _0801E674: .4byte gCritMultiplier _0801E678: .4byte gBattleScripting _0801E67C: .4byte gStatuses3 _0801E680: .4byte gBattleMoves -_0801E684: .4byte gUnknown_2023E8C -_0801E688: .4byte gUnknown_2023D74 +_0801E684: .4byte gProtectStructs +_0801E688: .4byte gBattlescriptCurrInstr thumb_func_end atk05_damagecalc thumb_func_start AI_CalcDmg @@ -1887,7 +1887,7 @@ AI_CalcDmg: @ 801E68C lsrs r7, r0, 24 lsls r5, 24 lsrs r5, 24 - ldr r4, _0801E744 @ =gSideAffecting + ldr r4, _0801E744 @ =gSideStatuses adds r0, r5, 0 bl GetBattlerPosition movs r1, 0x1 @@ -1948,7 +1948,7 @@ AI_CalcDmg: @ 801E68C lsls r0, r3, 1 str r0, [r4] _0801E71A: - ldr r0, _0801E76C @ =gUnknown_2023E8C + ldr r0, _0801E76C @ =gProtectStructs lsls r1, r7, 4 adds r1, r0 ldrb r0, [r1] @@ -1970,7 +1970,7 @@ _0801E738: pop {r0} bx r0 .align 2, 0 -_0801E744: .4byte gSideAffecting +_0801E744: .4byte gSideStatuses _0801E748: .4byte gBattleMons _0801E74C: .4byte gCurrentMove _0801E750: .4byte gDynamicBasePower @@ -1980,7 +1980,7 @@ _0801E75C: .4byte gCritMultiplier _0801E760: .4byte gBattleScripting _0801E764: .4byte gStatuses3 _0801E768: .4byte gBattleMoves -_0801E76C: .4byte gUnknown_2023E8C +_0801E76C: .4byte gProtectStructs thumb_func_end AI_CalcDmg thumb_func_start ModulateDmgByType @@ -2193,7 +2193,7 @@ _0801E8C0: lsls r0, 1 adds r0, r1 strh r2, [r0] - ldr r0, _0801E934 @ =gUnknown_2023E82 + ldr r0, _0801E934 @ =gBattleCommunication mov r1, r8 strb r1, [r0, 0x6] ldrb r0, [r4] @@ -2210,7 +2210,7 @@ _0801E924: .4byte gLastUsedAbility _0801E928: .4byte gMoveResultFlags _0801E92C: .4byte gUnknown_2023DA0 _0801E930: .4byte gUnknown_2023DA8 -_0801E934: .4byte gUnknown_2023E82 +_0801E934: .4byte gBattleCommunication _0801E938: ldr r1, _0801E944 @ =gUnknown_824F050 adds r0, r3, r1 @@ -2350,7 +2350,7 @@ _0801EA10: lsls r0, 1 adds r0, r1 strh r2, [r0] - ldr r1, _0801EAAC @ =gUnknown_2023E82 + ldr r1, _0801EAAC @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x6] ldrb r0, [r5] @@ -2363,7 +2363,7 @@ _0801EA52: ands r0, r1 cmp r0, 0 beq _0801EA70 - ldr r2, _0801EAB0 @ =gUnknown_2023E8C + ldr r2, _0801EAB0 @ =gProtectStructs ldr r0, _0801EA90 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 @@ -2373,7 +2373,7 @@ _0801EA52: orrs r0, r2 strb r0, [r1, 0x1] _0801EA70: - ldr r1, _0801EAB4 @ =gUnknown_2023D74 + ldr r1, _0801EAB4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -2394,9 +2394,9 @@ _0801EA9C: .4byte gBattleMoves _0801EAA0: .4byte gLastUsedAbility _0801EAA4: .4byte gUnknown_2023DA0 _0801EAA8: .4byte gUnknown_2023DA8 -_0801EAAC: .4byte gUnknown_2023E82 -_0801EAB0: .4byte gUnknown_2023E8C -_0801EAB4: .4byte gUnknown_2023D74 +_0801EAAC: .4byte gBattleCommunication +_0801EAB0: .4byte gProtectStructs +_0801EAB4: .4byte gBattlescriptCurrInstr thumb_func_end atk06_typecalc thumb_func_start CheckWonderGuardAndLevitate @@ -2460,7 +2460,7 @@ _0801EB08: bne _0801EB4C ldr r0, _0801EB44 @ =gLastUsedAbility strb r1, [r0] - ldr r0, _0801EB48 @ =gUnknown_2023E82 + ldr r0, _0801EB48 @ =gBattleCommunication mov r1, r12 strb r1, [r0, 0x6] ldrb r0, [r3] @@ -2471,7 +2471,7 @@ _0801EB08: _0801EB3C: .4byte gBattleMons _0801EB40: .4byte gBattlerTarget _0801EB44: .4byte gLastUsedAbility -_0801EB48: .4byte gUnknown_2023E82 +_0801EB48: .4byte gBattleCommunication _0801EB4C: ldr r1, _0801EB58 @ =gUnknown_824F050 adds r0, r5, r1 @@ -2510,7 +2510,7 @@ _0801EB66: movs r1, 0x8 orrs r0, r1 strb r0, [r2] - ldr r1, _0801ED28 @ =gUnknown_2023E8C + ldr r1, _0801ED28 @ =gProtectStructs ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 @@ -2546,7 +2546,7 @@ _0801EBA6: movs r1, 0x8 orrs r0, r1 strb r0, [r2] - ldr r1, _0801ED28 @ =gUnknown_2023E8C + ldr r1, _0801ED28 @ =gProtectStructs ldr r0, _0801ED2C @ =gBattlerAttacker ldrb r2, [r0] lsls r2, 4 @@ -2704,7 +2704,7 @@ _0801ECC2: beq _0801ED18 ldr r0, _0801ED34 @ =gLastUsedAbility strb r4, [r0] - ldr r1, _0801ED38 @ =gUnknown_2023E82 + ldr r1, _0801ED38 @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x6] mov r1, r8 @@ -2720,11 +2720,11 @@ _0801ED18: bx r0 .align 2, 0 _0801ED24: .4byte gMoveResultFlags -_0801ED28: .4byte gUnknown_2023E8C +_0801ED28: .4byte gProtectStructs _0801ED2C: .4byte gBattlerAttacker _0801ED30: .4byte gBattleMoves _0801ED34: .4byte gLastUsedAbility -_0801ED38: .4byte gUnknown_2023E82 +_0801ED38: .4byte gBattleCommunication thumb_func_end CheckWonderGuardAndLevitate thumb_func_start ModulateDmgByType2 @@ -3322,7 +3322,7 @@ _0801F186: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _0801F250 @ =gUnknown_2023ECC + ldr r2, _0801F250 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -3358,14 +3358,14 @@ _0801F1C4: ldrb r0, [r0] cmp r0, 0x65 beq _0801F216 - ldr r0, _0801F260 @ =gUnknown_2023E8C + ldr r0, _0801F260 @ =gProtectStructs lsls r1, r4, 4 adds r1, r0 ldrb r0, [r1] lsls r0, 30 cmp r0, 0 blt _0801F216 - ldr r0, _0801F250 @ =gUnknown_2023ECC + ldr r0, _0801F250 @ =gSpecialStatuses lsls r1, r4, 2 adds r1, r4 lsls r1, 2 @@ -3386,7 +3386,7 @@ _0801F216: bgt _0801F294 subs r0, r1, 0x1 str r0, [r2] - ldr r1, _0801F260 @ =gUnknown_2023E8C + ldr r1, _0801F260 @ =gProtectStructs ldrb r3, [r3] lsls r0, r3, 4 adds r0, r1 @@ -3403,15 +3403,15 @@ _0801F216: .align 2, 0 _0801F248: .4byte gPotentialItemEffectBattler _0801F24C: .4byte gBattlerTarget -_0801F250: .4byte gUnknown_2023ECC +_0801F250: .4byte gSpecialStatuses _0801F254: .4byte gBattleMons _0801F258: .4byte gBattleMoves _0801F25C: .4byte gCurrentMove -_0801F260: .4byte gUnknown_2023E8C +_0801F260: .4byte gProtectStructs _0801F264: .4byte gBattleMoveDamage _0801F268: .4byte gMoveResultFlags _0801F26C: - ldr r0, _0801F2A4 @ =gUnknown_2023ECC + ldr r0, _0801F2A4 @ =gSpecialStatuses lsls r1, r3, 2 adds r1, r3 lsls r1, 2 @@ -3432,7 +3432,7 @@ _0801F26C: ldrh r0, [r0, 0x2E] strh r0, [r1] _0801F294: - ldr r1, _0801F2B0 @ =gUnknown_2023D74 + ldr r1, _0801F2B0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3440,10 +3440,10 @@ _0801F294: pop {r0} bx r0 .align 2, 0 -_0801F2A4: .4byte gUnknown_2023ECC +_0801F2A4: .4byte gSpecialStatuses _0801F2A8: .4byte gMoveResultFlags _0801F2AC: .4byte gLastUsedItem -_0801F2B0: .4byte gUnknown_2023D74 +_0801F2B0: .4byte gBattlescriptCurrInstr thumb_func_end atk07_adjustnormaldamage thumb_func_start atk08_adjustnormaldamage2 @@ -3526,7 +3526,7 @@ _0801F336: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _0801F3E4 @ =gUnknown_2023ECC + ldr r2, _0801F3E4 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -3552,14 +3552,14 @@ _0801F374: ands r0, r1 cmp r0, 0 bne _0801F420 - ldr r5, _0801F3EC @ =gUnknown_2023E8C + ldr r5, _0801F3EC @ =gProtectStructs lsls r0, r2, 4 adds r0, r5 ldrb r0, [r0] lsls r0, 30 cmp r0, 0 blt _0801F3B2 - ldr r0, _0801F3E4 @ =gUnknown_2023ECC + ldr r0, _0801F3E4 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -3593,13 +3593,13 @@ _0801F3B2: .align 2, 0 _0801F3DC: .4byte gPotentialItemEffectBattler _0801F3E0: .4byte gBattlerTarget -_0801F3E4: .4byte gUnknown_2023ECC +_0801F3E4: .4byte gSpecialStatuses _0801F3E8: .4byte gBattleMons -_0801F3EC: .4byte gUnknown_2023E8C +_0801F3EC: .4byte gProtectStructs _0801F3F0: .4byte gBattleMoveDamage _0801F3F4: .4byte gMoveResultFlags _0801F3F8: - ldr r0, _0801F430 @ =gUnknown_2023ECC + ldr r0, _0801F430 @ =gSpecialStatuses lsls r1, r3, 2 adds r1, r3 lsls r1, 2 @@ -3620,7 +3620,7 @@ _0801F3F8: ldrh r0, [r0, 0x2E] strh r0, [r1] _0801F420: - ldr r1, _0801F43C @ =gUnknown_2023D74 + ldr r1, _0801F43C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3628,10 +3628,10 @@ _0801F420: pop {r0} bx r0 .align 2, 0 -_0801F430: .4byte gUnknown_2023ECC +_0801F430: .4byte gSpecialStatuses _0801F434: .4byte gMoveResultFlags _0801F438: .4byte gLastUsedItem -_0801F43C: .4byte gUnknown_2023D74 +_0801F43C: .4byte gBattlescriptCurrInstr thumb_func_end atk08_adjustnormaldamage2 thumb_func_start atk09_attackanimation @@ -3646,7 +3646,7 @@ atk09_attackanimation: @ 801F440 beq _0801F452 b _0801F572 _0801F452: - ldr r0, _0801F48C @ =gUnknown_2023DD0 + ldr r0, _0801F48C @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -3658,7 +3658,7 @@ _0801F452: beq _0801F4A0 cmp r0, 0xA4 beq _0801F4A0 - ldr r4, _0801F494 @ =gUnknown_2023D74 + ldr r4, _0801F494 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -3674,9 +3674,9 @@ _0801F452: b _0801F572 .align 2, 0 _0801F488: .4byte gBattleControllerExecFlags -_0801F48C: .4byte gUnknown_2023DD0 +_0801F48C: .4byte gHitMarker _0801F490: .4byte gCurrentMove -_0801F494: .4byte gUnknown_2023D74 +_0801F494: .4byte gBattlescriptCurrInstr _0801F498: .4byte gUnknown_81D89F1 _0801F49C: .4byte gBattleScripting _0801F4A0: @@ -3751,9 +3751,9 @@ _0801F4CE: strb r0, [r6, 0x19] mov r1, r8 ldrb r0, [r1] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801F530: - ldr r1, _0801F560 @ =gUnknown_2023D74 + ldr r1, _0801F560 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3768,9 +3768,9 @@ _0801F550: .4byte gBattleMovePower _0801F554: .4byte gBattleMoveDamage _0801F558: .4byte gBattleMons _0801F55C: .4byte gDisableStructs -_0801F560: .4byte gUnknown_2023D74 +_0801F560: .4byte gBattlescriptCurrInstr _0801F564: - ldr r4, _0801F580 @ =gUnknown_2023D74 + ldr r4, _0801F580 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -3784,7 +3784,7 @@ _0801F572: pop {r0} bx r0 .align 2, 0 -_0801F580: .4byte gUnknown_2023D74 +_0801F580: .4byte gBattlescriptCurrInstr _0801F584: .4byte gUnknown_81D89F1 thumb_func_end atk09_attackanimation @@ -3795,7 +3795,7 @@ sub_801F588: @ 801F588 ldr r0, [r0] cmp r0, 0 bne _0801F59A - ldr r1, _0801F5A4 @ =gUnknown_2023D74 + ldr r1, _0801F5A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3804,7 +3804,7 @@ _0801F59A: bx r0 .align 2, 0 _0801F5A0: .4byte gBattleControllerExecFlags -_0801F5A4: .4byte gUnknown_2023D74 +_0801F5A4: .4byte gBattlescriptCurrInstr thumb_func_end sub_801F588 thumb_func_start atk0B_healthbarupdate @@ -3820,10 +3820,10 @@ atk0B_healthbarupdate: @ 801F5A8 ands r0, r1 cmp r0, 0 bne _0801F662 - ldr r0, _0801F614 @ =gUnknown_2023D74 + ldr r0, _0801F614 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _0801F618 @ =gActiveBattler strb r0, [r2] ldr r1, _0801F61C @ =gBattleMons @@ -3846,7 +3846,7 @@ atk0B_healthbarupdate: @ 801F5A8 ldrb r0, [r1, 0xA] cmp r0, 0 beq _0801F628 - ldr r0, _0801F624 @ =gUnknown_2023DD0 + ldr r0, _0801F624 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 1 @@ -3860,11 +3860,11 @@ atk0B_healthbarupdate: @ 801F5A8 .align 2, 0 _0801F60C: .4byte gBattleControllerExecFlags _0801F610: .4byte gMoveResultFlags -_0801F614: .4byte gUnknown_2023D74 +_0801F614: .4byte gBattlescriptCurrInstr _0801F618: .4byte gActiveBattler _0801F61C: .4byte gBattleMons _0801F620: .4byte gDisableStructs -_0801F624: .4byte gUnknown_2023DD0 +_0801F624: .4byte gHitMarker _0801F628: ldr r0, _0801F670 @ =gBattleMoveDamage ldr r0, [r0] @@ -3878,7 +3878,7 @@ _0801F636: bl BtlController_EmitHealthBarUpdate ldr r4, _0801F678 @ =gActiveBattler ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -3894,7 +3894,7 @@ _0801F636: orrs r1, r2 strb r1, [r0, 0x5] _0801F662: - ldr r1, _0801F680 @ =gUnknown_2023D74 + ldr r1, _0801F680 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -3907,7 +3907,7 @@ _0801F670: .4byte gBattleMoveDamage _0801F674: .4byte 0x00002710 _0801F678: .4byte gActiveBattler _0801F67C: .4byte gBattleResults -_0801F680: .4byte gUnknown_2023D74 +_0801F680: .4byte gBattlescriptCurrInstr thumb_func_end atk0B_healthbarupdate thumb_func_start atk0C_datahpupdate @@ -3953,10 +3953,10 @@ _0801F6C4: beq _0801F6D2 b _0801FA34 _0801F6D2: - ldr r0, _0801F75C @ =gUnknown_2023D74 + ldr r0, _0801F75C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r7, _0801F760 @ =gActiveBattler strb r0, [r7] ldr r1, _0801F764 @ =gBattleMons @@ -3980,7 +3980,7 @@ _0801F6D2: mov r12, r0 cmp r1, 0 beq _0801F7E8 - ldr r0, _0801F76C @ =gUnknown_2023DD0 + ldr r0, _0801F76C @ =gHitMarker ldr r3, [r0] movs r0, 0x80 lsls r0, 1 @@ -3992,7 +3992,7 @@ _0801F6D2: ldr r4, [r6] cmp r5, r4 blt _0801F77C - ldr r0, _0801F774 @ =gUnknown_2023ECC + ldr r0, _0801F774 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -4020,16 +4020,16 @@ _0801F736: _0801F750: .4byte gBattleMoves _0801F754: .4byte gCurrentMove _0801F758: .4byte gMoveResultFlags -_0801F75C: .4byte gUnknown_2023D74 +_0801F75C: .4byte gBattlescriptCurrInstr _0801F760: .4byte gActiveBattler _0801F764: .4byte gBattleMons _0801F768: .4byte gDisableStructs -_0801F76C: .4byte gUnknown_2023DD0 +_0801F76C: .4byte gHitMarker _0801F770: .4byte gBattleMoveDamage -_0801F774: .4byte gUnknown_2023ECC +_0801F774: .4byte gSpecialStatuses _0801F778: .4byte gUnknown_2023D54 _0801F77C: - ldr r0, _0801F7D4 @ =gUnknown_2023ECC + ldr r0, _0801F7D4 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -4066,7 +4066,7 @@ _0801F7AC: beq _0801F7C0 b _0801FA5A _0801F7C0: - ldr r4, _0801F7E0 @ =gUnknown_2023D74 + ldr r4, _0801F7E0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x2 str r0, [r4] @@ -4075,13 +4075,13 @@ _0801F7C0: str r0, [r4] b _0801FA62 .align 2, 0 -_0801F7D4: .4byte gUnknown_2023ECC +_0801F7D4: .4byte gSpecialStatuses _0801F7D8: .4byte gUnknown_2023D54 _0801F7DC: .4byte gActiveBattler -_0801F7E0: .4byte gUnknown_2023D74 +_0801F7E0: .4byte gBattlescriptCurrInstr _0801F7E4: .4byte gUnknown_81D9526 _0801F7E8: - ldr r0, _0801F828 @ =gUnknown_2023DD0 + ldr r0, _0801F828 @ =gHitMarker ldr r2, [r0] ldr r1, _0801F82C @ =0xfffffeff ands r2, r1 @@ -4115,7 +4115,7 @@ _0801F824: strh r3, [r1, 0x28] b _0801F9FA .align 2, 0 -_0801F828: .4byte gUnknown_2023DD0 +_0801F828: .4byte gHitMarker _0801F82C: .4byte 0xfffffeff _0801F830: .4byte gBattleMoveDamage _0801F834: .4byte gBattleMons @@ -4135,7 +4135,7 @@ _0801F83C: .align 2, 0 _0801F854: .4byte gActiveBattler _0801F858: - ldr r0, _0801F880 @ =gUnknown_2023D58 + ldr r0, _0801F880 @ =gTakenDmg ldr r2, _0801F884 @ =gActiveBattler ldrb r1, [r2] lsls r1, 2 @@ -4143,25 +4143,25 @@ _0801F858: ldr r0, [r1] adds r0, r5 str r0, [r1] - ldr r0, _0801F888 @ =gUnknown_2023D74 + ldr r0, _0801F888 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] adds r5, r2, 0 cmp r0, 0 bne _0801F894 - ldr r1, _0801F88C @ =gUnknown_2023DD8 + ldr r1, _0801F88C @ =gTakenDmgByBattler ldrb r0, [r5] adds r0, r1 ldr r1, _0801F890 @ =gBattlerAttacker b _0801F89C .align 2, 0 -_0801F880: .4byte gUnknown_2023D58 +_0801F880: .4byte gTakenDmg _0801F884: .4byte gActiveBattler -_0801F888: .4byte gUnknown_2023D74 -_0801F88C: .4byte gUnknown_2023DD8 +_0801F888: .4byte gBattlescriptCurrInstr +_0801F88C: .4byte gTakenDmgByBattler _0801F890: .4byte gBattlerAttacker _0801F894: - ldr r1, _0801F8C0 @ =gUnknown_2023DD8 + ldr r1, _0801F8C0 @ =gTakenDmgByBattler ldrb r0, [r5] adds r0, r1 ldr r1, _0801F8C4 @ =gBattlerTarget @@ -4185,7 +4185,7 @@ _0801F8A0: adds r7, r0, 0 b _0801F8E0 .align 2, 0 -_0801F8C0: .4byte gUnknown_2023DD8 +_0801F8C0: .4byte gTakenDmgByBattler _0801F8C4: .4byte gBattlerTarget _0801F8C8: .4byte gBattleMons _0801F8CC: .4byte gUnknown_2023D54 @@ -4199,7 +4199,7 @@ _0801F8D0: strh r1, [r0, 0x28] adds r7, r2, 0 _0801F8E0: - ldr r2, _0801F958 @ =gUnknown_2023ECC + ldr r2, _0801F958 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -4233,7 +4233,7 @@ _0801F908: ldrh r0, [r0] cmp r0, 0xDC beq _0801F98C - ldr r3, _0801F960 @ =gUnknown_2023E8C + ldr r3, _0801F960 @ =gProtectStructs ldrb r0, [r5] lsls r0, 4 adds r1, r3, 0x4 @@ -4248,7 +4248,7 @@ _0801F908: adds r1, 0x8 adds r0, r1 str r2, [r0] - ldr r0, _0801F964 @ =gUnknown_2023D74 + ldr r0, _0801F964 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -4260,10 +4260,10 @@ _0801F908: b _0801F974 .align 2, 0 _0801F954: .4byte gUnknown_2023D54 -_0801F958: .4byte gUnknown_2023ECC +_0801F958: .4byte gSpecialStatuses _0801F95C: .4byte gCurrentMove -_0801F960: .4byte gUnknown_2023E8C -_0801F964: .4byte gUnknown_2023D74 +_0801F960: .4byte gProtectStructs +_0801F964: .4byte gBattlescriptCurrInstr _0801F968: .4byte gBattlerAttacker _0801F96C: ldrb r0, [r5] @@ -4294,7 +4294,7 @@ _0801F990: ands r0, r1 cmp r0, 0 bne _0801F9FA - ldr r3, _0801F9D4 @ =gUnknown_2023E8C + ldr r3, _0801F9D4 @ =gProtectStructs ldrb r0, [r5] lsls r0, 4 adds r1, r3, 0 @@ -4310,7 +4310,7 @@ _0801F990: adds r1, 0xC adds r0, r1 str r2, [r0] - ldr r0, _0801F9D8 @ =gUnknown_2023D74 + ldr r0, _0801F9D8 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -4321,8 +4321,8 @@ _0801F990: ldr r2, _0801F9DC @ =gBattlerAttacker b _0801F9E8 .align 2, 0 -_0801F9D4: .4byte gUnknown_2023E8C -_0801F9D8: .4byte gUnknown_2023D74 +_0801F9D4: .4byte gProtectStructs +_0801F9D8: .4byte gBattlescriptCurrInstr _0801F9DC: .4byte gBattlerAttacker _0801F9E0: ldrb r0, [r5] @@ -4358,20 +4358,20 @@ _0801F9FA: movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0801FA5A .align 2, 0 _0801FA28: .4byte gBattlerTarget _0801FA2C: .4byte 0xffefffff _0801FA30: .4byte gUnknown_2023C0C _0801FA34: - ldr r0, _0801FA6C @ =gUnknown_2023D74 + ldr r0, _0801FA6C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _0801FA70 @ =gActiveBattler strb r0, [r1] - ldr r2, _0801FA74 @ =gUnknown_2023ECC + ldr r2, _0801FA74 @ =gSpecialStatuses ldrb r1, [r1] lsls r0, r1, 2 adds r0, r1 @@ -4384,7 +4384,7 @@ _0801FA34: ldr r0, _0801FA78 @ =0x0000ffff str r0, [r1] _0801FA5A: - ldr r1, _0801FA6C @ =gUnknown_2023D74 + ldr r1, _0801FA6C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -4394,9 +4394,9 @@ _0801FA62: pop {r0} bx r0 .align 2, 0 -_0801FA6C: .4byte gUnknown_2023D74 +_0801FA6C: .4byte gBattlescriptCurrInstr _0801FA70: .4byte gActiveBattler -_0801FA74: .4byte gUnknown_2023ECC +_0801FA74: .4byte gSpecialStatuses _0801FA78: .4byte 0x0000ffff thumb_func_end atk0C_datahpupdate @@ -4421,11 +4421,11 @@ atk0D_critmessage: @ 801FA7C ldrb r1, [r0] movs r0, 0xD9 bl PrepareStringBattle - ldr r1, _0801FAC8 @ =gUnknown_2023E82 + ldr r1, _0801FAC8 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x7] _0801FAAA: - ldr r1, _0801FACC @ =gUnknown_2023D74 + ldr r1, _0801FACC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -4437,8 +4437,8 @@ _0801FAB8: .4byte gBattleControllerExecFlags _0801FABC: .4byte gCritMultiplier _0801FAC0: .4byte gMoveResultFlags _0801FAC4: .4byte gBattlerAttacker -_0801FAC8: .4byte gUnknown_2023E82 -_0801FACC: .4byte gUnknown_2023D74 +_0801FAC8: .4byte gBattleCommunication +_0801FACC: .4byte gBattlescriptCurrInstr thumb_func_end atk0D_critmessage thumb_func_start atk0E_effectivenesssound @@ -4498,7 +4498,7 @@ _0801FB32: _0801FB36: bl BtlController_EmitPlaySE ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0801FB88 _0801FB42: ldrb r1, [r1] @@ -4520,7 +4520,7 @@ _0801FB5E: bl BtlController_EmitPlaySE ldr r0, _0801FB6C @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0801FB88 .align 2, 0 _0801FB6C: .4byte gActiveBattler @@ -4534,9 +4534,9 @@ _0801FB70: bl BtlController_EmitPlaySE ldr r0, _0801FB98 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0801FB88: - ldr r1, _0801FB9C @ =gUnknown_2023D74 + ldr r1, _0801FB9C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -4546,7 +4546,7 @@ _0801FB90: bx r0 .align 2, 0 _0801FB98: .4byte gActiveBattler -_0801FB9C: .4byte gUnknown_2023D74 +_0801FB9C: .4byte gBattlescriptCurrInstr thumb_func_end atk0E_effectivenesssound thumb_func_start atk0F_resultmessage @@ -4565,7 +4565,7 @@ _0801FBAE: adds r0, r4, 0 ands r0, r2 adds r6, r1, 0 - ldr r7, _0801FBE4 @ =gUnknown_2023E82 + ldr r7, _0801FBE4 @ =gBattleCommunication cmp r0, 0 beq _0801FBEC movs r0, 0x8 @@ -4586,7 +4586,7 @@ _0801FBCE: .align 2, 0 _0801FBDC: .4byte gBattleControllerExecFlags _0801FBE0: .4byte gMoveResultFlags -_0801FBE4: .4byte gUnknown_2023E82 +_0801FBE4: .4byte gBattleCommunication _0801FBE8: .4byte gUnknown_83FE514 _0801FBEC: movs r0, 0x1 @@ -4652,7 +4652,7 @@ _0801FC38: ands r0, r5 strb r0, [r6] bl BattleScriptPushCursor - ldr r1, _0801FC70 @ =gUnknown_2023D74 + ldr r1, _0801FC70 @ =gBattlescriptCurrInstr ldr r0, _0801FC74 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 @@ -4660,7 +4660,7 @@ _0801FC60: .4byte gLastUsedItem _0801FC64: .4byte gBattleMons _0801FC68: .4byte gBattlerTarget _0801FC6C: .4byte gPotentialItemEffectBattler -_0801FC70: .4byte gUnknown_2023D74 +_0801FC70: .4byte gBattlescriptCurrInstr _0801FC74: .4byte gUnknown_81D9641 _0801FC78: adds r2, r6, 0 @@ -4685,11 +4685,11 @@ _0801FC88: ands r0, r1 strb r0, [r2] bl BattleScriptPushCursor - ldr r1, _0801FCA8 @ =gUnknown_2023D74 + ldr r1, _0801FCA8 @ =gBattlescriptCurrInstr ldr r0, _0801FCAC @ =gUnknown_81D8FE4 b _0801FD3E .align 2, 0 -_0801FCA8: .4byte gUnknown_2023D74 +_0801FCA8: .4byte gBattlescriptCurrInstr _0801FCAC: .4byte gUnknown_81D8FE4 _0801FCB0: movs r0, 0x40 @@ -4700,11 +4700,11 @@ _0801FCB0: ands r0, r5 strb r0, [r2] bl BattleScriptPushCursor - ldr r1, _0801FCC8 @ =gUnknown_2023D74 + ldr r1, _0801FCC8 @ =gBattlescriptCurrInstr ldr r0, _0801FCCC @ =gUnknown_81D8FDD b _0801FD3E .align 2, 0 -_0801FCC8: .4byte gUnknown_2023D74 +_0801FCC8: .4byte gBattlescriptCurrInstr _0801FCCC: .4byte gUnknown_81D8FDD _0801FCD0: movs r0, 0x80 @@ -4727,7 +4727,7 @@ _0801FCD0: ands r0, r5 strb r0, [r6] bl BattleScriptPushCursor - ldr r1, _0801FD10 @ =gUnknown_2023D74 + ldr r1, _0801FD10 @ =gBattlescriptCurrInstr ldr r0, _0801FD14 @ =gUnknown_81D9641 b _0801FD3E .align 2, 0 @@ -4735,7 +4735,7 @@ _0801FD00: .4byte gLastUsedItem _0801FD04: .4byte gBattleMons _0801FD08: .4byte gBattlerTarget _0801FD0C: .4byte gPotentialItemEffectBattler -_0801FD10: .4byte gUnknown_2023D74 +_0801FD10: .4byte gBattlescriptCurrInstr _0801FD14: .4byte gUnknown_81D9641 _0801FD18: movs r0, 0x20 @@ -4758,7 +4758,7 @@ _0801FD2E: ldrb r1, [r1] bl PrepareStringBattle _0801FD38: - ldr r1, _0801FD4C @ =gUnknown_2023D74 + ldr r1, _0801FD4C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 _0801FD3E: @@ -4769,7 +4769,7 @@ _0801FD40: bx r0 .align 2, 0 _0801FD48: .4byte gBattlerAttacker -_0801FD4C: .4byte gUnknown_2023D74 +_0801FD4C: .4byte gBattlescriptCurrInstr thumb_func_end atk0F_resultmessage thumb_func_start atk10_printstring @@ -4779,7 +4779,7 @@ atk10_printstring: @ 801FD50 ldr r0, [r0] cmp r0, 0 bne _0801FD7A - ldr r4, _0801FD84 @ =gUnknown_2023D74 + ldr r4, _0801FD84 @ =gBattlescriptCurrInstr ldr r1, [r4] ldrb r0, [r1, 0x1] ldrb r1, [r1, 0x2] @@ -4791,7 +4791,7 @@ atk10_printstring: @ 801FD50 ldr r0, [r4] adds r0, 0x3 str r0, [r4] - ldr r1, _0801FD8C @ =gUnknown_2023E82 + ldr r1, _0801FD8C @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x7] _0801FD7A: @@ -4800,9 +4800,9 @@ _0801FD7A: bx r0 .align 2, 0 _0801FD80: .4byte gBattleControllerExecFlags -_0801FD84: .4byte gUnknown_2023D74 +_0801FD84: .4byte gBattlescriptCurrInstr _0801FD88: .4byte gBattlerAttacker -_0801FD8C: .4byte gUnknown_2023E82 +_0801FD8C: .4byte gBattleCommunication thumb_func_end atk10_printstring thumb_func_start atk11_printselectionstring @@ -4812,7 +4812,7 @@ atk11_printselectionstring: @ 801FD90 ldr r0, _0801FDC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] - ldr r4, _0801FDCC @ =gUnknown_2023D74 + ldr r4, _0801FDCC @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] ldrb r0, [r0, 0x2] @@ -4821,11 +4821,11 @@ atk11_printselectionstring: @ 801FD90 movs r0, 0 bl BtlController_EmitPrintSelectionString ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] - ldr r1, _0801FDD0 @ =gUnknown_2023E82 + ldr r1, _0801FDD0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x7] pop {r4,r5} @@ -4834,8 +4834,8 @@ atk11_printselectionstring: @ 801FD90 .align 2, 0 _0801FDC4: .4byte gActiveBattler _0801FDC8: .4byte gBattlerAttacker -_0801FDCC: .4byte gUnknown_2023D74 -_0801FDD0: .4byte gUnknown_2023E82 +_0801FDCC: .4byte gBattlescriptCurrInstr +_0801FDD0: .4byte gBattleCommunication thumb_func_end atk11_printselectionstring thumb_func_start atk12_waitmessage @@ -4845,21 +4845,21 @@ atk12_waitmessage: @ 801FDD4 ldr r4, [r0] cmp r4, 0 bne _0801FE22 - ldr r6, _0801FDF4 @ =gUnknown_2023E82 + ldr r6, _0801FDF4 @ =gBattleCommunication ldrb r0, [r6, 0x7] cmp r0, 0 bne _0801FDFC - ldr r1, _0801FDF8 @ =gUnknown_2023D74 + ldr r1, _0801FDF8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 str r0, [r1] b _0801FE22 .align 2, 0 _0801FDF0: .4byte gBattleControllerExecFlags -_0801FDF4: .4byte gUnknown_2023E82 -_0801FDF8: .4byte gUnknown_2023D74 +_0801FDF4: .4byte gBattleCommunication +_0801FDF8: .4byte gBattlescriptCurrInstr _0801FDFC: - ldr r5, _0801FE28 @ =gUnknown_2023D74 + ldr r5, _0801FE28 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4883,7 +4883,7 @@ _0801FE22: pop {r0} bx r0 .align 2, 0 -_0801FE28: .4byte gUnknown_2023D74 +_0801FE28: .4byte gBattlescriptCurrInstr _0801FE2C: .4byte gUnknown_2023E7C thumb_func_end atk12_waitmessage @@ -4894,7 +4894,7 @@ atk13_printfromtable: @ 801FE30 ldr r0, [r0] cmp r0, 0 bne _0801FE6E - ldr r4, _0801FE78 @ =gUnknown_2023D74 + ldr r4, _0801FE78 @ =gBattlescriptCurrInstr ldr r2, [r4] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4906,7 +4906,7 @@ atk13_printfromtable: @ 801FE30 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 - ldr r5, _0801FE7C @ =gUnknown_2023E82 + ldr r5, _0801FE7C @ =gBattleCommunication ldrb r0, [r5, 0x5] lsls r0, 1 adds r1, r0 @@ -4925,8 +4925,8 @@ _0801FE6E: bx r0 .align 2, 0 _0801FE74: .4byte gBattleControllerExecFlags -_0801FE78: .4byte gUnknown_2023D74 -_0801FE7C: .4byte gUnknown_2023E82 +_0801FE78: .4byte gBattlescriptCurrInstr +_0801FE7C: .4byte gBattleCommunication _0801FE80: .4byte gBattlerAttacker thumb_func_end atk13_printfromtable @@ -4937,7 +4937,7 @@ atk14_printselectionstringfromtable: @ 801FE84 ldr r0, [r0] cmp r0, 0 bne _0801FECE - ldr r5, _0801FED8 @ =gUnknown_2023D74 + ldr r5, _0801FED8 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4949,7 +4949,7 @@ atk14_printselectionstringfromtable: @ 801FE84 ldrb r0, [r2, 0x4] lsls r0, 24 orrs r1, r0 - ldr r6, _0801FEDC @ =gUnknown_2023E82 + ldr r6, _0801FEDC @ =gBattleCommunication ldrb r0, [r6, 0x5] lsls r0, 1 adds r1, r0 @@ -4961,7 +4961,7 @@ atk14_printselectionstringfromtable: @ 801FE84 movs r0, 0 bl BtlController_EmitPrintSelectionString ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x5 str r0, [r5] @@ -4973,8 +4973,8 @@ _0801FECE: bx r0 .align 2, 0 _0801FED4: .4byte gBattleControllerExecFlags -_0801FED8: .4byte gUnknown_2023D74 -_0801FEDC: .4byte gUnknown_2023E82 +_0801FED8: .4byte gBattlescriptCurrInstr +_0801FEDC: .4byte gBattleCommunication _0801FEE0: .4byte gActiveBattler _0801FEE4: .4byte gBattlerAttacker thumb_func_end atk14_printselectionstringfromtable @@ -4989,7 +4989,7 @@ BankGetTurnOrder: @ 801FEE8 ldrb r3, [r0] cmp r1, r3 bge _0801FF0E - ldr r4, _0801FF1C @ =gUnknown_2023BDE + ldr r4, _0801FF1C @ =gBattlerByTurnOrder ldrb r0, [r4] cmp r0, r2 beq _0801FF0E @@ -5009,11 +5009,11 @@ _0801FF0E: bx r1 .align 2, 0 _0801FF18: .4byte gBattlersCount -_0801FF1C: .4byte gUnknown_2023BDE +_0801FF1C: .4byte gBattlerByTurnOrder thumb_func_end BankGetTurnOrder - thumb_func_start sub_801FF20 -sub_801FF20: @ 801FF20 + thumb_func_start SetMoveEffect +SetMoveEffect: @ 801FF20 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -5029,7 +5029,7 @@ sub_801FF20: @ 801FF20 movs r7, 0 movs r1, 0x1 str r1, [sp, 0x4] - ldr r1, _0801FF64 @ =gUnknown_2023E82 + ldr r1, _0801FF64 @ =gBattleCommunication ldrb r3, [r1, 0x3] movs r0, 0x40 ands r0, r3 @@ -5048,7 +5048,7 @@ sub_801FF20: @ 801FF20 ldr r0, _0801FF74 @ =gBattlerTarget b _0801FF84 .align 2, 0 -_0801FF64: .4byte gUnknown_2023E82 +_0801FF64: .4byte gBattleCommunication _0801FF68: .4byte gEffectBattler _0801FF6C: .4byte gBattlerAttacker _0801FF70: .4byte gBattleScripting @@ -5094,7 +5094,7 @@ _0801FFB2: mov r9, r2 cmp r0, 0x13 bne _0801FFE6 - ldr r0, _080200AC @ =gUnknown_2023DD0 + ldr r0, _080200AC @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5103,7 +5103,7 @@ _0801FFB2: bne _0801FFE6 cmp r4, 0 bne _0801FFE6 - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0x9 bhi _0801FFE6 @@ -5112,7 +5112,7 @@ _0801FFE6: mov r3, r9 ldrb r0, [r3] bl GetBattlerPosition - ldr r2, _080200B4 @ =gSideAffecting + ldr r2, _080200B4 @ =gSideStatuses movs r1, 0x1 ands r1, r0 lsls r1, 1 @@ -5122,7 +5122,7 @@ _0801FFE6: ands r0, r1 cmp r0, 0 beq _08020020 - ldr r0, _080200AC @ =gUnknown_2023DD0 + ldr r0, _080200AC @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5131,7 +5131,7 @@ _0801FFE6: bne _08020020 cmp r4, 0 bne _08020020 - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0x7 bhi _08020020 @@ -5148,7 +5148,7 @@ _08020020: mov r8, r3 cmp r0, 0 bne _08020046 - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0xB beq _08020046 @@ -5173,7 +5173,7 @@ _08020046: beq _08020068 bl _080210EC _08020068: - ldr r0, _080200B0 @ =gUnknown_2023E82 + ldr r0, _080200B0 @ =gBattleCommunication ldrb r1, [r0, 0x3] adds r6, r0, 0 cmp r1, 0x6 @@ -5205,9 +5205,9 @@ _0802009C: .4byte gBattleScripting _080200A0: .4byte gBattlerAttacker _080200A4: .4byte gBattleTypeFlags _080200A8: .4byte gBattleMons -_080200AC: .4byte gUnknown_2023DD0 -_080200B0: .4byte gUnknown_2023E82 -_080200B4: .4byte gSideAffecting +_080200AC: .4byte gHitMarker +_080200B0: .4byte gBattleCommunication +_080200B4: .4byte gSideStatuses _080200B8: .4byte gUnknown_825053C _080200BC: cmp r0, 0x40 @@ -5343,14 +5343,14 @@ _080201A6: ldrb r0, [r3] movs r1, 0x11 bl sub_80C71D0 - ldr r4, _080201D8 @ =gUnknown_2023D74 + ldr r4, _080201D8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _080201DC @ =gUnknown_81D9438 _080201C0: str r0, [r4] - ldr r2, _080201E0 @ =gUnknown_2023DD0 + ldr r2, _080201E0 @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 6 @@ -5362,9 +5362,9 @@ _080201D2: b _080204A8 .align 2, 0 _080201D4: .4byte gLastUsedAbility -_080201D8: .4byte gUnknown_2023D74 +_080201D8: .4byte gBattlescriptCurrInstr _080201DC: .4byte gUnknown_81D9438 -_080201E0: .4byte gUnknown_2023DD0 +_080201E0: .4byte gHitMarker _080201E4: mov r1, r9 ldrb r0, [r1] @@ -5385,7 +5385,7 @@ _080201E4: cmp r0, 0x8 bne _08020222 _08020208: - ldr r0, _0802026C @ =gUnknown_2023DD0 + ldr r0, _0802026C @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5444,7 +5444,7 @@ _0802025E: _0802026A: b _08020560 .align 2, 0 -_0802026C: .4byte gUnknown_2023DD0 +_0802026C: .4byte gHitMarker _08020270: mov r2, r9 ldrb r1, [r2] @@ -5466,7 +5466,7 @@ _0802028A: ldrb r0, [r3] movs r1, 0x29 bl sub_80C71D0 - ldr r4, _080202AC @ =gUnknown_2023D74 + ldr r4, _080202AC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -5474,7 +5474,7 @@ _0802028A: b _080201C0 .align 2, 0 _080202A8: .4byte gLastUsedAbility -_080202AC: .4byte gUnknown_2023D74 +_080202AC: .4byte gBattlescriptCurrInstr _080202B0: .4byte gUnknown_81D9420 _080202B4: mov r0, r9 @@ -5494,7 +5494,7 @@ _080202B4: cmp r0, 0xA bne _08020304 _080202D4: - ldr r0, _080202F8 @ =gUnknown_2023DD0 + ldr r0, _080202F8 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5506,15 +5506,15 @@ _080202D4: cmp r5, 0x80 bne _08020304 _080202EA: - ldr r4, _080202FC @ =gUnknown_2023D74 + ldr r4, _080202FC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020300 @ =gUnknown_81D9420 b _080204F4 .align 2, 0 -_080202F8: .4byte gUnknown_2023DD0 -_080202FC: .4byte gUnknown_2023D74 +_080202F8: .4byte gHitMarker +_080202FC: .4byte gBattlescriptCurrInstr _08020300: .4byte gUnknown_81D9420 _08020304: mov r3, r9 @@ -5657,7 +5657,7 @@ _08020402: ldrb r0, [r3] movs r1, 0x7 bl sub_80C71D0 - ldr r4, _08020424 @ =gUnknown_2023D74 + ldr r4, _08020424 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -5665,7 +5665,7 @@ _08020402: b _080201C0 .align 2, 0 _08020420: .4byte gLastUsedAbility -_08020424: .4byte gUnknown_2023D74 +_08020424: .4byte gBattlescriptCurrInstr _08020428: .4byte gUnknown_81D942C _0802042C: mov r0, r8 @@ -5700,13 +5700,13 @@ _0802045A: ldrb r0, [r1] movs r1, 0x11 bl sub_80C71D0 - ldr r4, _08020498 @ =gUnknown_2023D74 + ldr r4, _08020498 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _0802049C @ =gUnknown_81D9438 str r0, [r4] - ldr r2, _080204A0 @ =gUnknown_2023DD0 + ldr r2, _080204A0 @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 6 @@ -5722,9 +5722,9 @@ _08020484: bl _0802110A .align 2, 0 _08020494: .4byte gLastUsedAbility -_08020498: .4byte gUnknown_2023D74 +_08020498: .4byte gBattlescriptCurrInstr _0802049C: .4byte gUnknown_81D9438 -_080204A0: .4byte gUnknown_2023DD0 +_080204A0: .4byte gHitMarker _080204A4: .4byte 0xffffdfff _080204A8: strb r0, [r6, 0x5] @@ -5749,7 +5749,7 @@ _080204AE: cmp r0, 0x8 bne _08020510 _080204D2: - ldr r0, _08020500 @ =gUnknown_2023DD0 + ldr r0, _08020500 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 6 @@ -5761,22 +5761,22 @@ _080204D2: cmp r5, 0x80 bne _08020510 _080204E8: - ldr r4, _08020504 @ =gUnknown_2023D74 + ldr r4, _08020504 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020508 @ =gUnknown_81D9438 _080204F4: str r0, [r4] - ldr r1, _0802050C @ =gUnknown_2023E82 + ldr r1, _0802050C @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] bl _0802110A .align 2, 0 -_08020500: .4byte gUnknown_2023DD0 -_08020504: .4byte gUnknown_2023D74 +_08020500: .4byte gHitMarker +_08020504: .4byte gBattlescriptCurrInstr _08020508: .4byte gUnknown_81D9438 -_0802050C: .4byte gUnknown_2023E82 +_0802050C: .4byte gBattleCommunication _08020510: mov r3, r9 ldrb r0, [r3] @@ -5834,12 +5834,12 @@ _08020570: beq _08020578 b _08020694 _08020578: - ldr r0, _080205B8 @ =gUnknown_2023D74 + ldr r0, _080205B8 @ =gBattlescriptCurrInstr ldr r0, [r0] adds r0, 0x1 bl BattleScriptPush ldr r1, _080205BC @ =gUnknown_825053C - ldr r0, _080205C0 @ =gUnknown_2023E82 + ldr r0, _080205C0 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -5863,9 +5863,9 @@ _08020578: b _080205E0 .align 2, 0 _080205B4: .4byte gMoveResultFlags -_080205B8: .4byte gUnknown_2023D74 +_080205B8: .4byte gBattlescriptCurrInstr _080205BC: .4byte gUnknown_825053C -_080205C0: .4byte gUnknown_2023E82 +_080205C0: .4byte gBattleCommunication _080205C4: .4byte gBattleMons _080205C8: .4byte gEffectBattler _080205CC: @@ -5880,9 +5880,9 @@ _080205CC: orrs r0, r3 str r0, [r1] _080205E0: - ldr r2, _08020638 @ =gUnknown_2023D74 + ldr r2, _08020638 @ =gBattlescriptCurrInstr ldr r1, _0802063C @ =gUnknown_825062C - ldr r5, _08020640 @ =gUnknown_2023E82 + ldr r5, _08020640 @ =gBattleCommunication ldrb r0, [r5, 0x3] lsls r0, 2 adds r0, r1 @@ -5904,8 +5904,8 @@ _080205E0: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r2, _0802064C @ =gUnknown_2023DD0 + bl MarkBattlerForControllerExec + ldr r2, _0802064C @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 6 @@ -5921,17 +5921,17 @@ _080205E0: .align 2, 0 _08020630: .4byte gBattleMons _08020634: .4byte gEffectBattler -_08020638: .4byte gUnknown_2023D74 +_08020638: .4byte gBattlescriptCurrInstr _0802063C: .4byte gUnknown_825062C -_08020640: .4byte gUnknown_2023E82 +_08020640: .4byte gBattleCommunication _08020644: .4byte gActiveBattler _08020648: .4byte gUnknown_2023C30 -_0802064C: .4byte gUnknown_2023DD0 +_0802064C: .4byte gHitMarker _08020650: .4byte 0xffffdfff _08020654: strb r0, [r5, 0x5] _08020656: - ldr r0, _08020688 @ =gUnknown_2023E82 + ldr r0, _08020688 @ =gBattleCommunication ldrb r2, [r0, 0x3] adds r6, r0, 0 cmp r2, 0x2 @@ -5949,15 +5949,15 @@ _08020670: adds r0, 0xB4 ldrb r1, [r6, 0x3] strb r1, [r0] - ldr r2, _08020690 @ =gUnknown_2023DD0 + ldr r2, _08020690 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 7 bl _08021008 .align 2, 0 -_08020688: .4byte gUnknown_2023E82 +_08020688: .4byte gBattleCommunication _0802068C: .4byte gBattleStruct -_08020690: .4byte gUnknown_2023DD0 +_08020690: .4byte gHitMarker _08020694: mov r2, r10 cmp r2, 0 @@ -6091,21 +6091,21 @@ _080207E6: ldr r0, [r2] orrs r0, r1 str r0, [r2] - ldr r4, _08020820 @ =gUnknown_2023D74 + ldr r4, _08020820 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020824 @ =gUnknown_825062C - ldr r0, _08020828 @ =gUnknown_2023E82 + ldr r0, _08020828 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 ldr r0, [r0] bl _08021108 .align 2, 0 -_08020820: .4byte gUnknown_2023D74 +_08020820: .4byte gBattlescriptCurrInstr _08020824: .4byte gUnknown_825062C -_08020828: .4byte gUnknown_2023E82 +_08020828: .4byte gBattleCommunication _0802082C: mov r0, r9 ldrb r2, [r0] @@ -6129,13 +6129,13 @@ _0802084C: ldrb r0, [r1] movs r1, 0x27 bl sub_80C71D0 - ldr r1, _08020868 @ =gUnknown_2023D74 + ldr r1, _08020868 @ =gBattlescriptCurrInstr ldr r0, _0802086C @ =gUnknown_81D9452 str r0, [r1] bl _0802110A .align 2, 0 _08020864: .4byte gLastUsedAbility -_08020868: .4byte gUnknown_2023D74 +_08020868: .4byte gBattlescriptCurrInstr _0802086C: .4byte gUnknown_81D9452 _08020870: adds r0, r2, 0 @@ -6156,7 +6156,7 @@ _08020886: adds r0, 0x50 adds r2, r0 ldr r1, _080208B0 @ =gUnknown_825053C - ldr r0, _080208B4 @ =gUnknown_2023E82 + ldr r0, _080208B4 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6168,7 +6168,7 @@ _08020886: .align 2, 0 _080208AC: .4byte gUnknown_2023BE2 _080208B0: .4byte gUnknown_825053C -_080208B4: .4byte gUnknown_2023E82 +_080208B4: .4byte gBattleCommunication _080208B8: mov r3, r9 ldrb r0, [r3] @@ -6208,12 +6208,12 @@ _080208D4: ldr r0, [r2] orrs r0, r1 str r0, [r2] - ldr r4, _08020928 @ =gUnknown_2023D74 + ldr r4, _08020928 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _0802092C @ =gUnknown_825062C - ldr r0, _08020930 @ =gUnknown_2023E82 + ldr r0, _08020930 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6222,9 +6222,9 @@ _080208D4: .align 2, 0 _08020920: .4byte gUnknown_2023DB8 _08020924: .4byte gCurrentMove -_08020928: .4byte gUnknown_2023D74 +_08020928: .4byte gBattlescriptCurrInstr _0802092C: .4byte gUnknown_825062C -_08020930: .4byte gUnknown_2023E82 +_08020930: .4byte gBattleCommunication _08020934: ldr r5, _08020984 @ =gBattlerAttacker ldrb r0, [r5] @@ -6254,12 +6254,12 @@ _08020934: adds r0, r3, 0 strh r0, [r4] _0802096C: - ldr r4, _08020994 @ =gUnknown_2023D74 + ldr r4, _08020994 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020998 @ =gUnknown_825062C - ldr r0, _0802099C @ =gUnknown_2023E82 + ldr r0, _0802099C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6270,9 +6270,9 @@ _08020984: .4byte gBattlerAttacker _08020988: .4byte gUnknown_2023E7E _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff -_08020994: .4byte gUnknown_2023D74 +_08020994: .4byte gBattlescriptCurrInstr _08020998: .4byte gUnknown_825062C -_0802099C: .4byte gUnknown_2023E82 +_0802099C: .4byte gBattleCommunication _080209A0: mov r4, r9 ldrb r1, [r4] @@ -6287,7 +6287,7 @@ _080209A0: b _080210EC _080209B6: bl Random - ldr r4, _080209D4 @ =gUnknown_2023E82 + ldr r4, _080209D4 @ =gBattleCommunication lsls r0, 16 lsrs r0, 16 movs r1, 0x3 @@ -6296,10 +6296,10 @@ _080209B6: strb r0, [r4, 0x3] movs r0, 0 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect b _0802110A .align 2, 0 -_080209D4: .4byte gUnknown_2023E82 +_080209D4: .4byte gBattleCommunication _080209D8: mov r0, r9 ldrb r1, [r0] @@ -6322,7 +6322,7 @@ _080209D8: ldr r1, _08020A18 @ =gCurrentMove ldrh r1, [r1] strh r1, [r0] - ldr r0, _08020A1C @ =gUnknown_2023E8C + ldr r0, _08020A1C @ =gProtectStructs ldrb r1, [r2] lsls r1, 4 adds r1, r0 @@ -6334,7 +6334,7 @@ _080209D8: .align 2, 0 _08020A14: .4byte gUnknown_2023DB8 _08020A18: .4byte gCurrentMove -_08020A1C: .4byte gUnknown_2023E8C +_08020A1C: .4byte gProtectStructs _08020A20: mov r3, r9 ldrb r0, [r3] @@ -6386,12 +6386,12 @@ _08020A3C: ldr r0, _08020AD8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r1, 0x14] - ldr r4, _08020ADC @ =gUnknown_2023D74 + ldr r4, _08020ADC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020AE0 @ =gUnknown_825062C - ldr r2, _08020AE4 @ =gUnknown_2023E82 + ldr r2, _08020AE4 @ =gBattleCommunication ldrb r0, [r2, 0x3] lsls r0, 2 adds r0, r1 @@ -6429,9 +6429,9 @@ _08020ABE: _08020AD0: .4byte gBattleStruct _08020AD4: .4byte gCurrentMove _08020AD8: .4byte gBattlerAttacker -_08020ADC: .4byte gUnknown_2023D74 +_08020ADC: .4byte gBattlescriptCurrInstr _08020AE0: .4byte gUnknown_825062C -_08020AE4: .4byte gUnknown_2023E82 +_08020AE4: .4byte gBattleCommunication _08020AE8: .4byte gUnknown_83FE664 _08020AEC: ldr r1, _08020B1C @ =gBattleMoveDamage @@ -6448,12 +6448,12 @@ _08020AF8: movs r0, 0x1 str r0, [r1] _08020B04: - ldr r4, _08020B24 @ =gUnknown_2023D74 + ldr r4, _08020B24 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020B28 @ =gUnknown_825062C - ldr r0, _08020B2C @ =gUnknown_2023E82 + ldr r0, _08020B2C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -6462,9 +6462,9 @@ _08020B04: .align 2, 0 _08020B1C: .4byte gBattleMoveDamage _08020B20: .4byte gUnknown_2023D54 -_08020B24: .4byte gUnknown_2023D74 +_08020B24: .4byte gBattlescriptCurrInstr _08020B28: .4byte gUnknown_825062C -_08020B2C: .4byte gUnknown_2023E82 +_08020B2C: .4byte gBattleCommunication _08020B30: ldrb r1, [r6, 0x3] adds r1, 0xF2 @@ -6486,7 +6486,7 @@ _08020B4C: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020B6C @ =gUnknown_2023D74 + ldr r4, _08020B6C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6494,7 +6494,7 @@ _08020B4C: b _08021108 .align 2, 0 _08020B68: .4byte gBattleScripting -_08020B6C: .4byte gUnknown_2023D74 +_08020B6C: .4byte gBattlescriptCurrInstr _08020B70: .4byte gUnknown_81D6BD1 _08020B74: movs r0, 0x70 @@ -6518,7 +6518,7 @@ _08020B92: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020BB0 @ =gUnknown_2023D74 + ldr r4, _08020BB0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6526,7 +6526,7 @@ _08020B92: b _08021108 .align 2, 0 _08020BAC: .4byte gBattleScripting -_08020BB0: .4byte gUnknown_2023D74 +_08020BB0: .4byte gBattlescriptCurrInstr _08020BB4: .4byte gUnknown_81D6C62 _08020BB8: ldrb r1, [r6, 0x3] @@ -6549,7 +6549,7 @@ _08020BD4: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020BF4 @ =gUnknown_2023D74 + ldr r4, _08020BF4 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6557,7 +6557,7 @@ _08020BD4: b _08021108 .align 2, 0 _08020BF0: .4byte gBattleScripting -_08020BF4: .4byte gUnknown_2023D74 +_08020BF4: .4byte gBattlescriptCurrInstr _08020BF8: .4byte gUnknown_81D6BD1 _08020BFC: movs r0, 0x60 @@ -6581,7 +6581,7 @@ _08020C1A: ands r0, r1 strb r0, [r2, 0x10] strb r3, [r2, 0x11] - ldr r4, _08020C38 @ =gUnknown_2023D74 + ldr r4, _08020C38 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6589,7 +6589,7 @@ _08020C1A: b _08021108 .align 2, 0 _08020C34: .4byte gBattleScripting -_08020C38: .4byte gUnknown_2023D74 +_08020C38: .4byte gBattlescriptCurrInstr _08020C3C: .4byte gUnknown_81D6C62 _08020C40: mov r0, r9 @@ -6690,7 +6690,7 @@ _08020CEA: lsls r0, 3 cmp r1, r0 beq _08020D26 - ldr r0, _08020D74 @ =gUnknown_2023F20 + ldr r0, _08020D74 @ =gWishFutureKnock adds r0, 0x29 adds r0, r6, r0 ldrb r1, [r0] @@ -6725,7 +6725,7 @@ _08020D26: ldrb r0, [r0] cmp r0, 0x3C bne _08020D94 - ldr r1, _08020D88 @ =gUnknown_2023D74 + ldr r1, _08020D88 @ =gBattlescriptCurrInstr ldr r0, _08020D8C @ =gUnknown_81D948E str r0, [r1] ldr r1, _08020D90 @ =gLastUsedAbility @@ -6744,12 +6744,12 @@ _08020D64: .4byte gBattleTypeFlags _08020D68: .4byte gBattlerAttacker _08020D6C: .4byte 0x00000902 _08020D70: .4byte gTrainerBattleOpponent_A -_08020D74: .4byte gUnknown_2023F20 +_08020D74: .4byte gWishFutureKnock _08020D78: .4byte gBitTable _08020D7C: .4byte gBattlerPartyIndexes _08020D80: .4byte gBattleMons _08020D84: .4byte gBattlerTarget -_08020D88: .4byte gUnknown_2023D74 +_08020D88: .4byte gBattlescriptCurrInstr _08020D8C: .4byte gUnknown_81D948E _08020D90: .4byte gLastUsedAbility _08020D94: @@ -6816,7 +6816,7 @@ _08020DD4: bl BtlController_EmitSetMonData mov r2, r10 ldrb r0, [r2] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r7] strb r0, [r4] ldrb r0, [r7] @@ -6833,8 +6833,8 @@ _08020DD4: movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r4, _08020E70 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r4, _08020E70 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6858,7 +6858,7 @@ _08020E60: .4byte gBattlerAttacker _08020E64: .4byte gBattleStruct _08020E68: .4byte gLastUsedItem _08020E6C: .4byte gActiveBattler -_08020E70: .4byte gUnknown_2023D74 +_08020E70: .4byte gBattlescriptCurrInstr _08020E74: .4byte gUnknown_81D9271 _08020E78: ldr r3, _08020EA8 @ =gBattlerTarget @@ -6904,24 +6904,24 @@ _08020EB4: .align 2, 0 _08020ECC: .4byte gBattlerTarget _08020ED0: - ldr r4, _08020EE0 @ =gUnknown_2023D74 + ldr r4, _08020EE0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020EE4 @ =gUnknown_81D8D55 b _08021108 .align 2, 0 -_08020EE0: .4byte gUnknown_2023D74 +_08020EE0: .4byte gBattlescriptCurrInstr _08020EE4: .4byte gUnknown_81D8D55 _08020EE8: - ldr r4, _08020EF8 @ =gUnknown_2023D74 + ldr r4, _08020EF8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020EFC @ =gUnknown_81D8DF1 b _08021108 .align 2, 0 -_08020EF8: .4byte gUnknown_2023D74 +_08020EF8: .4byte gBattlescriptCurrInstr _08020EFC: .4byte gUnknown_81D8DF1 _08020F00: ldr r6, _08020F50 @ =gBattlerTarget @@ -6955,8 +6955,8 @@ _08020F1A: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r4, _08020F58 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r4, _08020F58 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -6965,17 +6965,17 @@ _08020F1A: .align 2, 0 _08020F50: .4byte gBattlerTarget _08020F54: .4byte gActiveBattler -_08020F58: .4byte gUnknown_2023D74 +_08020F58: .4byte gBattlescriptCurrInstr _08020F5C: .4byte gUnknown_81D9177 _08020F60: - ldr r4, _08020F70 @ =gUnknown_2023D74 + ldr r4, _08020F70 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r0, _08020F74 @ =gUnknown_81D8F35 b _08021108 .align 2, 0 -_08020F70: .4byte gUnknown_2023D74 +_08020F70: .4byte gBattlescriptCurrInstr _08020F74: .4byte gUnknown_81D8F35 _08020F78: ldr r4, _08020FA8 @ =gBattleMoveDamage @@ -6989,12 +6989,12 @@ _08020F78: movs r0, 0x1 str r0, [r4] _08020F8E: - ldr r4, _08020FB0 @ =gUnknown_2023D74 + ldr r4, _08020FB0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush ldr r1, _08020FB4 @ =gUnknown_825062C - ldr r0, _08020FB8 @ =gUnknown_2023E82 + ldr r0, _08020FB8 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 adds r0, r1 @@ -7003,9 +7003,9 @@ _08020F8E: .align 2, 0 _08020FA8: .4byte gBattleMoveDamage _08020FAC: .4byte gUnknown_2023D54 -_08020FB0: .4byte gUnknown_2023D74 +_08020FB0: .4byte gBattlescriptCurrInstr _08020FB4: .4byte gUnknown_825062C -_08020FB8: .4byte gUnknown_2023E82 +_08020FB8: .4byte gBattleCommunication _08020FBC: mov r4, r9 ldrb r0, [r4] @@ -7070,7 +7070,7 @@ _08021018: beq _080210EC ldr r0, _0802104C @ =gLastUsedAbility strb r2, [r0] - ldr r1, _08021050 @ =gUnknown_2023D74 + ldr r1, _08021050 @ =gBattlescriptCurrInstr ldr r0, _08021054 @ =gUnknown_81D948E str r0, [r1] ldrb r0, [r5] @@ -7079,7 +7079,7 @@ _08021018: b _0802110A .align 2, 0 _0802104C: .4byte gLastUsedAbility -_08021050: .4byte gUnknown_2023D74 +_08021050: .4byte gBattlescriptCurrInstr _08021054: .4byte gUnknown_81D948E _08021058: ldrh r0, [r1, 0x2E] @@ -7102,7 +7102,7 @@ _08021058: movs r5, 0 movs r1, 0 strh r1, [r0, 0x2E] - ldr r2, _080210D4 @ =gUnknown_2023F20 + ldr r2, _080210D4 @ =gWishFutureKnock adds r2, 0x29 adds r2, r6, r2 ldr r3, _080210D8 @ =gBitTable @@ -7118,7 +7118,7 @@ _08021058: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r4, _080210E0 @ =gUnknown_2023D74 + ldr r4, _080210E0 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -7142,22 +7142,22 @@ _08021058: b _0802110A .align 2, 0 _080210D0: .4byte gLastUsedItem -_080210D4: .4byte gUnknown_2023F20 +_080210D4: .4byte gWishFutureKnock _080210D8: .4byte gBitTable _080210DC: .4byte gBattlerPartyIndexes -_080210E0: .4byte gUnknown_2023D74 +_080210E0: .4byte gBattlescriptCurrInstr _080210E4: .4byte gUnknown_81D8F86 _080210E8: .4byte gBattleStruct _080210EC: - ldr r1, _080210F8 @ =gUnknown_2023D74 + ldr r1, _080210F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] b _0802110A .align 2, 0 -_080210F8: .4byte gUnknown_2023D74 +_080210F8: .4byte gBattlescriptCurrInstr _080210FC: - ldr r4, _0802111C @ =gUnknown_2023D74 + ldr r4, _0802111C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -7174,9 +7174,9 @@ _0802110A: pop {r0} bx r0 .align 2, 0 -_0802111C: .4byte gUnknown_2023D74 +_0802111C: .4byte gBattlescriptCurrInstr _08021120: .4byte gUnknown_81D8FEB - thumb_func_end sub_801FF20 + thumb_func_end SetMoveEffect thumb_func_start atk15_seteffectwithchance atk15_seteffectwithchance: @ 8021124 @@ -7216,7 +7216,7 @@ _08021160: adds r0, r2 ldrb r4, [r0, 0x5] _08021170: - ldr r3, _08021198 @ =gUnknown_2023E82 + ldr r3, _08021198 @ =gBattleCommunication ldrb r2, [r3, 0x3] movs r0, 0x80 ands r0, r2 @@ -7235,7 +7235,7 @@ _08021170: .align 2, 0 _08021190: .4byte gBattleMoves _08021194: .4byte gCurrentMove -_08021198: .4byte gUnknown_2023E82 +_08021198: .4byte gBattleCommunication _0802119C: .4byte gMoveResultFlags _080211A0: bl Random @@ -7247,7 +7247,7 @@ _080211A0: lsrs r0, 16 cmp r0, r4 bhi _080211EA - ldr r0, _080211D8 @ =gUnknown_2023E82 + ldr r0, _080211D8 @ =gBattleCommunication ldrb r0, [r0, 0x3] cmp r0, 0 beq _080211EA @@ -7262,23 +7262,23 @@ _080211A0: _080211CE: movs r0, 0 movs r1, 0x80 - bl sub_801FF20 + bl SetMoveEffect b _080211F2 .align 2, 0 -_080211D8: .4byte gUnknown_2023E82 +_080211D8: .4byte gBattleCommunication _080211DC: .4byte gMoveResultFlags _080211E0: movs r0, 0 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect b _080211F2 _080211EA: - ldr r1, _08021204 @ =gUnknown_2023D74 + ldr r1, _08021204 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] _080211F2: - ldr r0, _08021208 @ =gUnknown_2023E82 + ldr r0, _08021208 @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x3] ldr r0, _0802120C @ =gBattleScripting @@ -7287,8 +7287,8 @@ _080211F2: pop {r0} bx r0 .align 2, 0 -_08021204: .4byte gUnknown_2023D74 -_08021208: .4byte gUnknown_2023E82 +_08021204: .4byte gBattlescriptCurrInstr +_08021208: .4byte gBattleCommunication _0802120C: .4byte gBattleScripting thumb_func_end atk15_seteffectwithchance @@ -7297,7 +7297,7 @@ atk16_seteffectprimary: @ 8021210 push {lr} movs r0, 0x1 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect pop {r0} bx r0 thumb_func_end atk16_seteffectprimary @@ -7307,7 +7307,7 @@ atk17_seteffectsecondary: @ 8021220 push {lr} movs r0, 0 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect pop {r0} bx r0 thumb_func_end atk17_seteffectsecondary @@ -7315,13 +7315,13 @@ atk17_seteffectsecondary: @ 8021220 thumb_func_start atk18_clearstatusfromeffect atk18_clearstatusfromeffect: @ 8021230 push {lr} - ldr r0, _08021254 @ =gUnknown_2023D74 + ldr r0, _08021254 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _08021258 @ =gActiveBattler strb r0, [r2] - ldr r3, _0802125C @ =gUnknown_2023E82 + ldr r3, _0802125C @ =gBattleCommunication ldrb r0, [r3, 0x3] cmp r0, 0x6 bhi _08021264 @@ -7332,9 +7332,9 @@ atk18_clearstatusfromeffect: @ 8021230 adds r1, 0x4C b _0802126E .align 2, 0 -_08021254: .4byte gUnknown_2023D74 +_08021254: .4byte gBattlescriptCurrInstr _08021258: .4byte gActiveBattler -_0802125C: .4byte gUnknown_2023E82 +_0802125C: .4byte gBattleCommunication _08021260: .4byte gBattleMons _08021264: ldr r1, _08021298 @ =gBattleMons @@ -7352,10 +7352,10 @@ _0802126E: ldr r0, [r2] bics r0, r1 str r0, [r2] - ldr r0, _080212A0 @ =gUnknown_2023E82 + ldr r0, _080212A0 @ =gBattleCommunication movs r2, 0 strb r2, [r0, 0x3] - ldr r1, _080212A4 @ =gUnknown_2023D74 + ldr r1, _080212A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -7366,8 +7366,8 @@ _0802126E: .align 2, 0 _08021298: .4byte gBattleMons _0802129C: .4byte gUnknown_825053C -_080212A0: .4byte gUnknown_2023E82 -_080212A4: .4byte gUnknown_2023D74 +_080212A0: .4byte gBattleCommunication +_080212A4: .4byte gBattlescriptCurrInstr _080212A8: .4byte gBattleScripting thumb_func_end atk18_clearstatusfromeffect @@ -7378,17 +7378,17 @@ atk19_tryfaintmon: @ 80212AC mov r6, r8 push {r6,r7} sub sp, 0x4 - ldr r0, _08021318 @ =gUnknown_2023D74 + ldr r0, _08021318 @ =gBattlescriptCurrInstr ldr r2, [r0] ldrb r1, [r2, 0x2] adds r6, r0, 0 cmp r1, 0 beq _08021330 ldrb r0, [r2, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _0802131C @ =gActiveBattler strb r0, [r5] - ldr r2, _08021320 @ =gUnknown_2023DD0 + ldr r2, _08021320 @ =gHitMarker ldr r1, _08021324 @ =gBitTable ldrb r0, [r5] lsls r0, 2 @@ -7416,7 +7416,7 @@ _080212E4: str r4, [r6] ldrb r0, [r5] bl GetBattlerSide - ldr r1, _08021328 @ =gSideAffecting + ldr r1, _08021328 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -7426,11 +7426,11 @@ _080212E4: strh r1, [r0] b _08021592 .align 2, 0 -_08021318: .4byte gUnknown_2023D74 +_08021318: .4byte gBattlescriptCurrInstr _0802131C: .4byte gActiveBattler -_08021320: .4byte gUnknown_2023DD0 +_08021320: .4byte gHitMarker _08021324: .4byte gBitTable -_08021328: .4byte gSideAffecting +_08021328: .4byte gSideStatuses _0802132C: .4byte 0x0000fdff _08021330: ldrb r0, [r2, 0x1] @@ -7483,7 +7483,7 @@ _08021382: beq _08021392 b _0802158C _08021392: - ldr r5, _080213EC @ =gUnknown_2023DD0 + ldr r5, _080213EC @ =gHitMarker lsls r1, r2, 28 ldr r0, [r5] orrs r0, r1 @@ -7520,7 +7520,7 @@ _080213DC: .4byte gUnknown_81D8684 _080213E0: .4byte gAbsentBattlerFlags _080213E4: .4byte gBitTable _080213E8: .4byte gBattleMons -_080213EC: .4byte gUnknown_2023DD0 +_080213EC: .4byte gHitMarker _080213F0: .4byte gBattleResults _080213F4: ldr r4, _0802154C @ =gBattleResults @@ -7552,7 +7552,7 @@ _08021400: ldrb r0, [r0] strb r0, [r1] _0802142C: - ldr r2, _08021560 @ =gUnknown_2023DD0 + ldr r2, _08021560 @ =gHitMarker ldr r1, [r2] movs r0, 0x40 ands r0, r1 @@ -7571,7 +7571,7 @@ _0802142C: negs r0, r0 ands r1, r0 str r1, [r2] - ldr r4, _08021568 @ =gUnknown_2023D74 + ldr r4, _08021568 @ =gBattlescriptCurrInstr ldr r0, [r4] bl BattleScriptPush ldr r1, _0802156C @ =gBattleMoveDamage @@ -7596,7 +7596,7 @@ _0802146A: bne _08021482 b _08021592 _08021482: - ldr r0, _08021560 @ =gUnknown_2023DD0 + ldr r0, _08021560 @ =gHitMarker ldr r5, [r0] movs r0, 0x80 lsls r0, 17 @@ -7642,7 +7642,7 @@ _08021492: adds r6, 0x24 adds r0, r6 strb r5, [r0] - ldr r5, _08021568 @ =gUnknown_2023D74 + ldr r5, _08021568 @ =gBattlescriptCurrInstr ldr r0, [r5] bl BattleScriptPush ldr r0, _08021580 @ =gUnknown_81D8FA3 @@ -7665,7 +7665,7 @@ _08021492: movs r3, 0x1 bl BtlController_EmitSetMonData ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r1, _08021588 @ =gBattleTextBuff1 movs r0, 0xFD strb r0, [r1] @@ -7698,9 +7698,9 @@ _08021550: .4byte gBattlerPartyIndexes _08021554: .4byte gEnemyParty _08021558: .4byte gBattleStruct _0802155C: .4byte gBattlerAttacker -_08021560: .4byte gUnknown_2023DD0 +_08021560: .4byte gHitMarker _08021564: .4byte gBattleMons -_08021568: .4byte gUnknown_2023D74 +_08021568: .4byte gBattlescriptCurrInstr _0802156C: .4byte gBattleMoveDamage _08021570: .4byte gUnknown_81D8C6C _08021574: .4byte gStatuses3 @@ -7730,16 +7730,16 @@ atk1A_faint_animation: @ 80215A0 ldr r0, [r0] cmp r0, 0 bne _080215CA - ldr r5, _080215D4 @ =gUnknown_2023D74 + ldr r5, _080215D4 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080215D8 @ =gActiveBattler strb r0, [r4] movs r0, 0 bl BtlController_EmitFaintAnimation ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -7749,7 +7749,7 @@ _080215CA: bx r0 .align 2, 0 _080215D0: .4byte gBattleControllerExecFlags -_080215D4: .4byte gUnknown_2023D74 +_080215D4: .4byte gBattlescriptCurrInstr _080215D8: .4byte gActiveBattler thumb_func_end atk1A_faint_animation @@ -7761,10 +7761,10 @@ atk1B_faint_effects_clear: @ 80215DC ldr r6, [r0] cmp r6, 0 bne _08021628 - ldr r5, _08021634 @ =gUnknown_2023D74 + ldr r5, _08021634 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08021638 @ =gActiveBattler strb r0, [r4] ldr r1, _0802163C @ =gBattleMons @@ -7784,7 +7784,7 @@ atk1B_faint_effects_clear: @ 80215DC movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec bl sub_8012BC8 ldr r0, [r5] adds r0, 0x2 @@ -7796,7 +7796,7 @@ _08021628: bx r0 .align 2, 0 _08021630: .4byte gBattleControllerExecFlags -_08021634: .4byte gUnknown_2023D74 +_08021634: .4byte gBattlescriptCurrInstr _08021638: .4byte gActiveBattler _0802163C: .4byte gBattleMons thumb_func_end atk1B_faint_effects_clear @@ -7804,10 +7804,10 @@ _0802163C: .4byte gBattleMons thumb_func_start atk1C_jumpifstatus atk1C_jumpifstatus: @ 8021640 push {r4,r5,lr} - ldr r5, _0802169C @ =gUnknown_2023D74 + ldr r5, _0802169C @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r2, [r5] @@ -7848,10 +7848,10 @@ atk1C_jumpifstatus: @ 8021640 str r3, [r5] b _080216AC .align 2, 0 -_0802169C: .4byte gUnknown_2023D74 +_0802169C: .4byte gBattlescriptCurrInstr _080216A0: .4byte gBattleMons _080216A4: - ldr r1, _080216B4 @ =gUnknown_2023D74 + ldr r1, _080216B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] @@ -7860,16 +7860,16 @@ _080216AC: pop {r0} bx r0 .align 2, 0 -_080216B4: .4byte gUnknown_2023D74 +_080216B4: .4byte gBattlescriptCurrInstr thumb_func_end atk1C_jumpifstatus thumb_func_start atk1D_jumpifstatus2 atk1D_jumpifstatus2: @ 80216B8 push {r4,r5,lr} - ldr r5, _08021714 @ =gUnknown_2023D74 + ldr r5, _08021714 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r2, [r5] @@ -7910,10 +7910,10 @@ atk1D_jumpifstatus2: @ 80216B8 str r3, [r5] b _08021724 .align 2, 0 -_08021714: .4byte gUnknown_2023D74 +_08021714: .4byte gBattlescriptCurrInstr _08021718: .4byte gBattleMons _0802171C: - ldr r1, _0802172C @ =gUnknown_2023D74 + ldr r1, _0802172C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] @@ -7922,7 +7922,7 @@ _08021724: pop {r0} bx r0 .align 2, 0 -_0802172C: .4byte gUnknown_2023D74 +_0802172C: .4byte gBattlescriptCurrInstr thumb_func_end atk1D_jumpifstatus2 thumb_func_start atk1E_jumpifability @@ -7931,7 +7931,7 @@ atk1E_jumpifability: @ 8021730 mov r7, r8 push {r7} sub sp, 0x4 - ldr r6, _08021784 @ =gUnknown_2023D74 + ldr r6, _08021784 @ =gBattlescriptCurrInstr ldr r2, [r6] ldrb r5, [r2, 0x2] mov r8, r5 @@ -7969,7 +7969,7 @@ atk1E_jumpifability: @ 8021730 ldrb r1, [r1] b _080217EC .align 2, 0 -_08021784: .4byte gUnknown_2023D74 +_08021784: .4byte gBattlescriptCurrInstr _08021788: .4byte gBattlerAttacker _0802178C: .4byte gLastUsedAbility _08021790: @@ -8000,7 +8000,7 @@ _080217C0: .4byte gBattlerAttacker _080217C4: .4byte gLastUsedAbility _080217C8: ldrb r0, [r2, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080217F8 @ =gBattleMons @@ -8041,7 +8041,7 @@ _0802180A: thumb_func_start atk1F_jumpifsideaffecting atk1F_jumpifsideaffecting: @ 8021818 push {r4-r6,lr} - ldr r0, _08021830 @ =gUnknown_2023D74 + ldr r0, _08021830 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r4, [r0, 0x1] cmp r4, 0x1 @@ -8051,7 +8051,7 @@ atk1F_jumpifsideaffecting: @ 8021818 bl GetBattlerPosition b _08021842 .align 2, 0 -_08021830: .4byte gUnknown_2023D74 +_08021830: .4byte gBattlescriptCurrInstr _08021834: .4byte gBattlerAttacker _08021838: ldr r0, _08021878 @ =gBattlerTarget @@ -8060,7 +8060,7 @@ _08021838: movs r4, 0x1 _08021842: ands r4, r0 - ldr r6, _0802187C @ =gUnknown_2023D74 + ldr r6, _0802187C @ =gBattlescriptCurrInstr ldr r3, [r6] ldrb r2, [r3, 0x2] ldrb r0, [r3, 0x3] @@ -8076,7 +8076,7 @@ _08021842: ldrb r0, [r3, 0x7] lsls r0, 24 adds r5, r1, r0 - ldr r1, _08021880 @ =gSideAffecting + ldr r1, _08021880 @ =gSideStatuses lsls r0, r4, 1 adds r0, r1 ldrh r0, [r0] @@ -8087,8 +8087,8 @@ _08021842: b _0802188A .align 2, 0 _08021878: .4byte gBattlerTarget -_0802187C: .4byte gUnknown_2023D74 -_08021880: .4byte gSideAffecting +_0802187C: .4byte gBattlescriptCurrInstr +_08021880: .4byte gSideStatuses _08021884: adds r0, r3, 0 adds r0, 0x8 @@ -8103,10 +8103,10 @@ _0802188A: atk20_jumpifstat: @ 8021890 push {r4,r5,lr} movs r5, 0 - ldr r4, _080218C4 @ =gUnknown_2023D74 + ldr r4, _080218C4 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r2, _080218C8 @ =gBattleMons @@ -8127,7 +8127,7 @@ atk20_jumpifstat: @ 8021890 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080218C4: .4byte gUnknown_2023D74 +_080218C4: .4byte gBattlescriptCurrInstr _080218C8: .4byte gBattleMons _080218CC: .4byte _080218D0 .align 2, 0 @@ -8139,43 +8139,43 @@ _080218D0: .4byte _08021928 .4byte _0802193C _080218E8: - ldr r0, _080218F4 @ =gUnknown_2023D74 + ldr r0, _080218F4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 bne _0802194E b _08021948 .align 2, 0 -_080218F4: .4byte gUnknown_2023D74 +_080218F4: .4byte gBattlescriptCurrInstr _080218F8: - ldr r0, _08021904 @ =gUnknown_2023D74 + ldr r0, _08021904 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 beq _0802194E b _08021948 .align 2, 0 -_08021904: .4byte gUnknown_2023D74 +_08021904: .4byte gBattlescriptCurrInstr _08021908: - ldr r0, _08021914 @ =gUnknown_2023D74 + ldr r0, _08021914 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 bls _0802194E b _08021948 .align 2, 0 -_08021914: .4byte gUnknown_2023D74 +_08021914: .4byte gBattlescriptCurrInstr _08021918: - ldr r0, _08021924 @ =gUnknown_2023D74 + ldr r0, _08021924 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] cmp r2, r0 bcs _0802194E b _08021948 .align 2, 0 -_08021924: .4byte gUnknown_2023D74 +_08021924: .4byte gBattlescriptCurrInstr _08021928: - ldr r0, _08021938 @ =gUnknown_2023D74 + ldr r0, _08021938 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] ands r2, r0 @@ -8183,9 +8183,9 @@ _08021928: beq _0802194E b _08021948 .align 2, 0 -_08021938: .4byte gUnknown_2023D74 +_08021938: .4byte gBattlescriptCurrInstr _0802193C: - ldr r0, _08021970 @ =gUnknown_2023D74 + ldr r0, _08021970 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x4] ands r2, r0 @@ -8198,7 +8198,7 @@ _08021948: _0802194E: cmp r5, 0 beq _08021974 - ldr r3, _08021970 @ =gUnknown_2023D74 + ldr r3, _08021970 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x5] ldrb r0, [r2, 0x6] @@ -8213,9 +8213,9 @@ _0802194E: str r1, [r3] b _0802197C .align 2, 0 -_08021970: .4byte gUnknown_2023D74 +_08021970: .4byte gBattlescriptCurrInstr _08021974: - ldr r1, _08021984 @ =gUnknown_2023D74 + ldr r1, _08021984 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x9 str r0, [r1] @@ -8224,16 +8224,16 @@ _0802197C: pop {r0} bx r0 .align 2, 0 -_08021984: .4byte gUnknown_2023D74 +_08021984: .4byte gBattlescriptCurrInstr thumb_func_end atk20_jumpifstat thumb_func_start atk21_jumpifstatus3condition atk21_jumpifstatus3condition: @ 8021988 push {r4-r6,lr} - ldr r4, _080219DC @ =gUnknown_2023D74 + ldr r4, _080219DC @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _080219E0 @ =gActiveBattler strb r0, [r5] ldr r2, [r4] @@ -8270,7 +8270,7 @@ atk21_jumpifstatus3condition: @ 8021988 bne _08021A00 b _080219F8 .align 2, 0 -_080219DC: .4byte gUnknown_2023D74 +_080219DC: .4byte gBattlescriptCurrInstr _080219E0: .4byte gActiveBattler _080219E4: .4byte gStatuses3 _080219E8: @@ -8300,10 +8300,10 @@ _08021A06: thumb_func_start atk22_jumpiftype atk22_jumpiftype: @ 8021A0C push {r4-r6,lr} - ldr r4, _08021A54 @ =gUnknown_2023D74 + ldr r4, _08021A54 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r3, [r4] @@ -8336,7 +8336,7 @@ _08021A50: str r6, [r4] b _08021A60 .align 2, 0 -_08021A54: .4byte gUnknown_2023D74 +_08021A54: .4byte gBattlescriptCurrInstr _08021A58: .4byte gBattleMons _08021A5C: adds r0, r3, 0x7 @@ -8358,13 +8358,13 @@ sub_8021A68: @ 8021A68 ldr r0, [r0] adds r0, 0x50 mov r9, r0 - ldr r0, _08021AB4 @ =gUnknown_2023D74 + ldr r0, _08021AB4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 - ldr r1, _08021AB8 @ =gUnknown_2023D6D + bl GetBattlerForBattleScript + ldr r1, _08021AB8 @ =gBattlerFainted strb r0, [r1] - ldr r2, _08021ABC @ =gUnknown_2023F4E + ldr r2, _08021ABC @ =gSentPokesToOpponent movs r1, 0x2 ands r1, r0 lsls r1, 24 @@ -8385,9 +8385,9 @@ _08021AA4: mov pc, r0 .align 2, 0 _08021AB0: .4byte gBattleStruct -_08021AB4: .4byte gUnknown_2023D74 -_08021AB8: .4byte gUnknown_2023D6D -_08021ABC: .4byte gUnknown_2023F4E +_08021AB4: .4byte gBattlescriptCurrInstr +_08021AB8: .4byte gBattlerFainted +_08021ABC: .4byte gSentPokesToOpponent _08021AC0: .4byte gBattleScripting _08021AC4: .4byte _08021AC8 .align 2, 0 @@ -8400,7 +8400,7 @@ _08021AC8: .4byte _08022368 .4byte _080223B0 _08021AE4: - ldr r4, _08021B34 @ =gUnknown_2023D6D + ldr r4, _08021B34 @ =gBattlerFainted ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -8438,7 +8438,7 @@ _08021B08: strb r0, [r2] bl _080223DA .align 2, 0 -_08021B34: .4byte gUnknown_2023D6D +_08021B34: .4byte gBattlerFainted _08021B38: .4byte gBattleTypeFlags _08021B3C: .4byte 0x00080982 _08021B40: .4byte gBattleScripting @@ -8506,7 +8506,7 @@ _08021BC2: ble _08021B54 ldr r3, _08021C28 @ =gBaseStats ldr r2, _08021C2C @ =gBattleMons - ldr r0, _08021C30 @ =gUnknown_2023D6D + ldr r0, _08021C30 @ =gBattlerFainted ldrb r1, [r0] movs r0, 0x58 muls r1, r0 @@ -8552,7 +8552,7 @@ _08021C0E: .align 2, 0 _08021C28: .4byte gBaseStats _08021C2C: .4byte gBattleMons -_08021C30: .4byte gUnknown_2023D6D +_08021C30: .4byte gBattlerFainted _08021C34: .4byte gUnknown_2023F52 _08021C38: adds r0, r1, 0 @@ -8922,7 +8922,7 @@ _08021EB6: ldr r1, _08021F6C @ =gPlayerParty adds r0, r1 ldr r3, _08021F70 @ =gBattleMons - ldr r1, _08021F74 @ =gUnknown_2023D6D + ldr r1, _08021F74 @ =gBattlerFainted ldrb r2, [r1] movs r1, 0x58 muls r1, r2 @@ -8944,7 +8944,7 @@ _08021F64: .4byte gBattleTextBuff2 _08021F68: .4byte gBattleTextBuff3 _08021F6C: .4byte gPlayerParty _08021F70: .4byte gBattleMons -_08021F74: .4byte gUnknown_2023D6D +_08021F74: .4byte gBattlerFainted _08021F78: ldr r0, _0802205C @ =gBattleControllerExecFlags ldr r2, [r0] @@ -9045,7 +9045,7 @@ _08021F82: movs r0, 0 bl BtlController_EmitExpUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08022052: ldr r1, _08022078 @ =gBattleScripting ldrb r0, [r1, 0x1C] @@ -9160,7 +9160,7 @@ _080220DA: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r1, _08022340 @ =gUnknown_2023D74 + ldr r1, _08022340 @ =gBattlescriptCurrInstr ldr r0, _08022344 @ =gUnknown_81D89F5 str r0, [r1] ldr r4, _08022348 @ =gBattleMoveDamage @@ -9390,7 +9390,7 @@ _08022330: .4byte gBattleTextBuff1 _08022334: .4byte gBattleTextBuff2 _08022338: .4byte gUnknown_3004FD4 _0802233C: .4byte gBitTable -_08022340: .4byte gUnknown_2023D74 +_08022340: .4byte gBattlescriptCurrInstr _08022344: .4byte gUnknown_81D89F5 _08022348: .4byte gBattleMoveDamage _0802234C: .4byte gBattleMons @@ -9448,7 +9448,7 @@ _080223B0: cmp r5, 0 bne _080223DA ldr r4, _080223EC @ =gBattleMons - ldr r2, _080223F0 @ =gUnknown_2023D6D + ldr r2, _080223F0 @ =gBattlerFainted ldrb r0, [r2] movs r1, 0x58 muls r0, r1 @@ -9460,7 +9460,7 @@ _080223B0: adds r0, r4 adds r0, 0x20 strb r3, [r0] - ldr r1, _080223F4 @ =gUnknown_2023D74 + ldr r1, _080223F4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -9474,8 +9474,8 @@ _080223DA: .align 2, 0 _080223E8: .4byte gBattleControllerExecFlags _080223EC: .4byte gBattleMons -_080223F0: .4byte gUnknown_2023D6D -_080223F4: .4byte gUnknown_2023D74 +_080223F0: .4byte gBattlerFainted +_080223F4: .4byte gBattlescriptCurrInstr thumb_func_end sub_8021A68 thumb_func_start sub_80223F8 @@ -9576,15 +9576,15 @@ _08022498: ldr r0, _08022548 @ =gBattlersCount ldrb r1, [r0] mov r12, r0 - ldr r7, _0802254C @ =gUnknown_2023D74 + ldr r7, _0802254C @ =gBattlescriptCurrInstr cmp r3, r1 bge _080224E4 - ldr r0, _08022550 @ =gUnknown_2023DD0 + ldr r0, _08022550 @ =gHitMarker movs r6, 0x80 lsls r6, 21 ldr r4, [r0] adds r2, r1, 0 - ldr r1, _08022554 @ =gUnknown_2023ECC + ldr r1, _08022554 @ =gSpecialStatuses _080224C8: adds r0, r6, 0 lsls r0, r5 @@ -9608,12 +9608,12 @@ _080224E4: ldrb r1, [r0] cmp r5, r1 bge _0802251E - ldr r0, _08022550 @ =gUnknown_2023DD0 + ldr r0, _08022550 @ =gHitMarker movs r4, 0x80 lsls r4, 21 mov r12, r4 ldr r6, [r0] - ldr r0, _08022554 @ =gUnknown_2023ECC + ldr r0, _08022554 @ =gSpecialStatuses adds r4, r1, 0 adds r1, r0, 0 adds r1, 0x14 @@ -9651,9 +9651,9 @@ _0802253C: .4byte gBattleOutcome _08022540: .4byte gEnemyParty _08022544: .4byte gBattleTypeFlags _08022548: .4byte gBattlersCount -_0802254C: .4byte gUnknown_2023D74 -_08022550: .4byte gUnknown_2023DD0 -_08022554: .4byte gUnknown_2023ECC +_0802254C: .4byte gBattlescriptCurrInstr +_08022550: .4byte gHitMarker +_08022554: .4byte gSpecialStatuses _08022558: cmp r2, 0 beq _0802257A @@ -9679,7 +9679,7 @@ _0802257A: str r0, [r7] b _0802258A _08022582: - ldr r1, _08022594 @ =gUnknown_2023D74 + ldr r1, _08022594 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -9690,7 +9690,7 @@ _0802258A: pop {r0} bx r0 .align 2, 0 -_08022594: .4byte gUnknown_2023D74 +_08022594: .4byte gBattlescriptCurrInstr thumb_func_end sub_80223F8 thumb_func_start MoveValuesCleanUp @@ -9704,10 +9704,10 @@ MoveValuesCleanUp: @ 8022598 strb r1, [r0, 0xE] ldr r0, _080225C8 @ =gCritMultiplier strb r1, [r0] - ldr r0, _080225CC @ =gUnknown_2023E82 + ldr r0, _080225CC @ =gBattleCommunication strb r2, [r0, 0x3] strb r2, [r0, 0x6] - ldr r2, _080225D0 @ =gUnknown_2023DD0 + ldr r2, _080225D0 @ =gHitMarker ldr r0, [r2] subs r1, 0x42 ands r0, r1 @@ -9719,8 +9719,8 @@ MoveValuesCleanUp: @ 8022598 _080225C0: .4byte gMoveResultFlags _080225C4: .4byte gBattleScripting _080225C8: .4byte gCritMultiplier -_080225CC: .4byte gUnknown_2023E82 -_080225D0: .4byte gUnknown_2023DD0 +_080225CC: .4byte gBattleCommunication +_080225D0: .4byte gHitMarker _080225D4: .4byte 0xffffbfff thumb_func_end MoveValuesCleanUp @@ -9728,20 +9728,20 @@ _080225D4: .4byte 0xffffbfff atk25_movevaluescleanup: @ 80225D8 push {lr} bl MoveValuesCleanUp - ldr r1, _080225EC @ =gUnknown_2023D74 + ldr r1, _080225EC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080225EC: .4byte gUnknown_2023D74 +_080225EC: .4byte gBattlescriptCurrInstr thumb_func_end atk25_movevaluescleanup thumb_func_start atk26_setmultihit atk26_setmultihit: @ 80225F0 ldr r3, _08022600 @ =gUnknown_2023D72 - ldr r2, _08022604 @ =gUnknown_2023D74 + ldr r2, _08022604 @ =gBattlescriptCurrInstr ldr r0, [r2] ldrb r1, [r0, 0x1] strb r1, [r3] @@ -9750,7 +9750,7 @@ atk26_setmultihit: @ 80225F0 bx lr .align 2, 0 _08022600: .4byte gUnknown_2023D72 -_08022604: .4byte gUnknown_2023D74 +_08022604: .4byte gBattlescriptCurrInstr thumb_func_end atk26_setmultihit thumb_func_start atk27_decrementmultihit @@ -9763,16 +9763,16 @@ atk27_decrementmultihit: @ 8022608 lsls r0, 24 cmp r0, 0 bne _0802262C - ldr r1, _08022628 @ =gUnknown_2023D74 + ldr r1, _08022628 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08022646 .align 2, 0 _08022624: .4byte gUnknown_2023D72 -_08022628: .4byte gUnknown_2023D74 +_08022628: .4byte gBattlescriptCurrInstr _0802262C: - ldr r3, _0802264C @ =gUnknown_2023D74 + ldr r3, _0802264C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -9789,12 +9789,12 @@ _08022646: pop {r0} bx r0 .align 2, 0 -_0802264C: .4byte gUnknown_2023D74 +_0802264C: .4byte gBattlescriptCurrInstr thumb_func_end atk27_decrementmultihit thumb_func_start atk28_goto atk28_goto: @ 8022650 - ldr r3, _0802266C @ =gUnknown_2023D74 + ldr r3, _0802266C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -9809,13 +9809,13 @@ atk28_goto: @ 8022650 str r1, [r3] bx lr .align 2, 0 -_0802266C: .4byte gUnknown_2023D74 +_0802266C: .4byte gBattlescriptCurrInstr thumb_func_end atk28_goto thumb_func_start atk29_jumpifbyte atk29_jumpifbyte: @ 8022670 push {r4-r6,lr} - ldr r3, _080226B4 @ =gUnknown_2023D74 + ldr r3, _080226B4 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r6, [r1, 0x1] ldrb r2, [r1, 0x2] @@ -9849,7 +9849,7 @@ atk29_jumpifbyte: @ 8022670 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080226B4: .4byte gUnknown_2023D74 +_080226B4: .4byte gBattlescriptCurrInstr _080226B8: .4byte _080226BC .align 2, 0 _080226BC: @@ -9901,7 +9901,7 @@ _08022708: thumb_func_start atk2A_jumpifhalfword atk2A_jumpifhalfword: @ 8022710 push {r4-r6,lr} - ldr r3, _0802275C @ =gUnknown_2023D74 + ldr r3, _0802275C @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r6, [r1, 0x1] ldrb r2, [r1, 0x2] @@ -9938,7 +9938,7 @@ atk2A_jumpifhalfword: @ 8022710 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802275C: .4byte gUnknown_2023D74 +_0802275C: .4byte gBattlescriptCurrInstr _08022760: .4byte _08022764 .align 2, 0 _08022764: @@ -9990,7 +9990,7 @@ _080227B0: thumb_func_start atk2B_jumpifword atk2B_jumpifword: @ 80227B8 push {r4-r6,lr} - ldr r3, _08022810 @ =gUnknown_2023D74 + ldr r3, _08022810 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r6, [r1, 0x1] ldrb r2, [r1, 0x2] @@ -10033,7 +10033,7 @@ atk2B_jumpifword: @ 80227B8 ldr r0, [r0] mov pc, r0 .align 2, 0 -_08022810: .4byte gUnknown_2023D74 +_08022810: .4byte gBattlescriptCurrInstr _08022814: .4byte _08022818 .align 2, 0 _08022818: @@ -10085,7 +10085,7 @@ _08022864: thumb_func_start atk2C_jumpifarrayequal atk2C_jumpifarrayequal: @ 802286C push {r4-r7,lr} - ldr r2, _080228C4 @ =gUnknown_2023D74 + ldr r2, _080228C4 @ =gBattlescriptCurrInstr ldr r3, [r2] ldrb r1, [r3, 0x1] ldrb r0, [r3, 0x2] @@ -10129,7 +10129,7 @@ atk2C_jumpifarrayequal: @ 802286C adds r0, r3, 0 b _080228E0 .align 2, 0 -_080228C4: .4byte gUnknown_2023D74 +_080228C4: .4byte gBattlescriptCurrInstr _080228C8: adds r5, 0x1 adds r4, 0x1 @@ -10161,7 +10161,7 @@ _080228EC: atk2D_jumpifarraynotequal: @ 80228F4 push {r4-r7,lr} movs r7, 0 - ldr r3, _08022968 @ =gUnknown_2023D74 + ldr r3, _08022968 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -10220,7 +10220,7 @@ _0802295E: mov r0, r12 b _08022970 .align 2, 0 -_08022968: .4byte gUnknown_2023D74 +_08022968: .4byte gBattlescriptCurrInstr _0802296C: ldr r0, [r3] adds r0, 0xE @@ -10233,7 +10233,7 @@ _08022970: thumb_func_start atk2E_setbyte atk2E_setbyte: @ 8022978 - ldr r3, _0802299C @ =gUnknown_2023D74 + ldr r3, _0802299C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10252,12 +10252,12 @@ atk2E_setbyte: @ 8022978 str r0, [r3] bx lr .align 2, 0 -_0802299C: .4byte gUnknown_2023D74 +_0802299C: .4byte gBattlescriptCurrInstr thumb_func_end atk2E_setbyte thumb_func_start atk2F_addbyte atk2F_addbyte: @ 80229A0 - ldr r3, _080229C8 @ =gUnknown_2023D74 + ldr r3, _080229C8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10278,12 +10278,12 @@ atk2F_addbyte: @ 80229A0 str r0, [r3] bx lr .align 2, 0 -_080229C8: .4byte gUnknown_2023D74 +_080229C8: .4byte gBattlescriptCurrInstr thumb_func_end atk2F_addbyte thumb_func_start atk30_subbyte atk30_subbyte: @ 80229CC - ldr r3, _080229F4 @ =gUnknown_2023D74 + ldr r3, _080229F4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10304,13 +10304,13 @@ atk30_subbyte: @ 80229CC str r0, [r3] bx lr .align 2, 0 -_080229F4: .4byte gUnknown_2023D74 +_080229F4: .4byte gBattlescriptCurrInstr thumb_func_end atk30_subbyte thumb_func_start atk31_copyarray atk31_copyarray: @ 80229F8 push {r4-r6,lr} - ldr r3, _08022A48 @ =gUnknown_2023D74 + ldr r3, _08022A48 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -10352,13 +10352,13 @@ _08022A3C: pop {r0} bx r0 .align 2, 0 -_08022A48: .4byte gUnknown_2023D74 +_08022A48: .4byte gBattlescriptCurrInstr thumb_func_end atk31_copyarray thumb_func_start atk32_copyarraywithindex atk32_copyarraywithindex: @ 8022A4C push {r4-r7,lr} - ldr r3, _08022AB4 @ =gUnknown_2023D74 + ldr r3, _08022AB4 @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -10412,12 +10412,12 @@ _08022AA8: pop {r0} bx r0 .align 2, 0 -_08022AB4: .4byte gUnknown_2023D74 +_08022AB4: .4byte gBattlescriptCurrInstr thumb_func_end atk32_copyarraywithindex thumb_func_start atk33_orbyte atk33_orbyte: @ 8022AB8 - ldr r3, _08022AE0 @ =gUnknown_2023D74 + ldr r3, _08022AE0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10438,13 +10438,13 @@ atk33_orbyte: @ 8022AB8 str r0, [r3] bx lr .align 2, 0 -_08022AE0: .4byte gUnknown_2023D74 +_08022AE0: .4byte gBattlescriptCurrInstr thumb_func_end atk33_orbyte thumb_func_start atk34_orhalfword atk34_orhalfword: @ 8022AE4 push {r4,lr} - ldr r4, _08022B18 @ =gUnknown_2023D74 + ldr r4, _08022B18 @ =gBattlescriptCurrInstr ldr r3, [r4] ldrb r2, [r3, 0x1] ldrb r0, [r3, 0x2] @@ -10470,13 +10470,13 @@ atk34_orhalfword: @ 8022AE4 pop {r0} bx r0 .align 2, 0 -_08022B18: .4byte gUnknown_2023D74 +_08022B18: .4byte gBattlescriptCurrInstr thumb_func_end atk34_orhalfword thumb_func_start atk35_orword atk35_orword: @ 8022B1C push {r4,lr} - ldr r4, _08022B5C @ =gUnknown_2023D74 + ldr r4, _08022B5C @ =gBattlescriptCurrInstr ldr r2, [r4] ldrb r3, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10508,12 +10508,12 @@ atk35_orword: @ 8022B1C pop {r0} bx r0 .align 2, 0 -_08022B5C: .4byte gUnknown_2023D74 +_08022B5C: .4byte gBattlescriptCurrInstr thumb_func_end atk35_orword thumb_func_start atk36_bicbyte atk36_bicbyte: @ 8022B60 - ldr r3, _08022B88 @ =gUnknown_2023D74 + ldr r3, _08022B88 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10534,13 +10534,13 @@ atk36_bicbyte: @ 8022B60 str r0, [r3] bx lr .align 2, 0 -_08022B88: .4byte gUnknown_2023D74 +_08022B88: .4byte gBattlescriptCurrInstr thumb_func_end atk36_bicbyte thumb_func_start atk37_bichalfword atk37_bichalfword: @ 8022B8C push {r4,lr} - ldr r4, _08022BC0 @ =gUnknown_2023D74 + ldr r4, _08022BC0 @ =gBattlescriptCurrInstr ldr r3, [r4] ldrb r1, [r3, 0x1] ldrb r0, [r3, 0x2] @@ -10566,13 +10566,13 @@ atk37_bichalfword: @ 8022B8C pop {r0} bx r0 .align 2, 0 -_08022BC0: .4byte gUnknown_2023D74 +_08022BC0: .4byte gBattlescriptCurrInstr thumb_func_end atk37_bichalfword thumb_func_start atk38_bicword atk38_bicword: @ 8022BC4 push {r4,lr} - ldr r4, _08022C04 @ =gUnknown_2023D74 + ldr r4, _08022C04 @ =gBattlescriptCurrInstr ldr r2, [r4] ldrb r3, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10604,7 +10604,7 @@ atk38_bicword: @ 8022BC4 pop {r0} bx r0 .align 2, 0 -_08022C04: .4byte gUnknown_2023D74 +_08022C04: .4byte gBattlescriptCurrInstr thumb_func_end atk38_bicword thumb_func_start atk39_pause @@ -10614,7 +10614,7 @@ atk39_pause: @ 8022C08 ldr r4, [r0] cmp r4, 0 bne _08022C34 - ldr r5, _08022C40 @ =gUnknown_2023D74 + ldr r5, _08022C40 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -10637,7 +10637,7 @@ _08022C34: bx r0 .align 2, 0 _08022C3C: .4byte gBattleControllerExecFlags -_08022C40: .4byte gUnknown_2023D74 +_08022C40: .4byte gBattlescriptCurrInstr _08022C44: .4byte gUnknown_2023E7C thumb_func_end atk39_pause @@ -10648,7 +10648,7 @@ sub_8022C48: @ 8022C48 ldr r0, [r0] cmp r0, 0 bne _08022C5A - ldr r1, _08022C64 @ =gUnknown_2023D74 + ldr r1, _08022C64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -10657,13 +10657,13 @@ _08022C5A: bx r0 .align 2, 0 _08022C60: .4byte gBattleControllerExecFlags -_08022C64: .4byte gUnknown_2023D74 +_08022C64: .4byte gBattlescriptCurrInstr thumb_func_end sub_8022C48 thumb_func_start atk3B_healthbar_update atk3B_healthbar_update: @ 8022C68 push {lr} - ldr r0, _08022C7C @ =gUnknown_2023D74 + ldr r0, _08022C7C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -10672,7 +10672,7 @@ atk3B_healthbar_update: @ 8022C68 ldr r1, _08022C84 @ =gBattlerTarget b _08022C8C .align 2, 0 -_08022C7C: .4byte gUnknown_2023D74 +_08022C7C: .4byte gBattlescriptCurrInstr _08022C80: .4byte gActiveBattler _08022C84: .4byte gBattlerTarget _08022C88: @@ -10687,8 +10687,8 @@ _08022C8C: bl BtlController_EmitHealthBarUpdate ldr r0, _08022CB0 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08022CBC @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08022CBC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -10698,7 +10698,7 @@ _08022C8C: _08022CB0: .4byte gActiveBattler _08022CB4: .4byte gBattlerAttacker _08022CB8: .4byte gBattleMoveDamage -_08022CBC: .4byte gUnknown_2023D74 +_08022CBC: .4byte gBattlescriptCurrInstr thumb_func_end atk3B_healthbar_update thumb_func_start atk3C_return @@ -10775,7 +10775,7 @@ _08022D3C: .4byte gBattleMainFunc thumb_func_start atk41_call atk41_call: @ 8022D40 push {r4,lr} - ldr r4, _08022D6C @ =gUnknown_2023D74 + ldr r4, _08022D6C @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x5 bl BattleScriptPush @@ -10795,16 +10795,16 @@ atk41_call: @ 8022D40 pop {r0} bx r0 .align 2, 0 -_08022D6C: .4byte gUnknown_2023D74 +_08022D6C: .4byte gBattlescriptCurrInstr thumb_func_end atk41_call thumb_func_start atk42_jumpiftype2 atk42_jumpiftype2: @ 8022D70 push {r4,lr} - ldr r4, _08022DB8 @ =gUnknown_2023D74 + ldr r4, _08022DB8 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r0, 24 ldr r3, [r4] @@ -10836,7 +10836,7 @@ _08022D9E: str r1, [r4] b _08022DC4 .align 2, 0 -_08022DB8: .4byte gUnknown_2023D74 +_08022DB8: .4byte gBattlescriptCurrInstr _08022DBC: .4byte gBattleMons _08022DC0: adds r0, r3, 0x7 @@ -10851,7 +10851,7 @@ _08022DC4: atk43_jumpifabilitypresent: @ 8022DCC push {r4,lr} sub sp, 0x4 - ldr r4, _08022E04 @ =gUnknown_2023D74 + ldr r4, _08022E04 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r2, [r0, 0x1] movs r0, 0 @@ -10877,7 +10877,7 @@ atk43_jumpifabilitypresent: @ 8022DCC str r1, [r4] b _08022E0E .align 2, 0 -_08022E04: .4byte gUnknown_2023D74 +_08022E04: .4byte gBattlescriptCurrInstr _08022E08: ldr r0, [r4] adds r0, 0x6 @@ -10908,10 +10908,10 @@ _08022E30: .4byte gBattleStruct thumb_func_start sub_8022E34 sub_8022E34: @ 8022E34 push {r4-r6,lr} - ldr r4, _08022E84 @ =gUnknown_2023D74 + ldr r4, _08022E84 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r6, _08022E88 @ =gActiveBattler strb r0, [r6] ldr r2, [r4] @@ -10936,7 +10936,7 @@ sub_8022E34: @ 8022E34 cmp r0, 0x19 bne _08022E8C _08022E6E: - ldr r4, _08022E84 @ =gUnknown_2023D74 + ldr r4, _08022E84 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x2] ldrh r2, [r3] @@ -10946,10 +10946,10 @@ _08022E6E: ldrb r0, [r0] b _08022EE4 .align 2, 0 -_08022E84: .4byte gUnknown_2023D74 +_08022E84: .4byte gBattlescriptCurrInstr _08022E88: .4byte gActiveBattler _08022E8C: - ldr r0, _08022EA4 @ =gUnknown_2023DD0 + ldr r0, _08022EA4 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -10960,7 +10960,7 @@ _08022E8C: ldr r0, _08022EA8 @ =gUnknown_81D89F1 b _08022EEC .align 2, 0 -_08022EA4: .4byte gUnknown_2023DD0 +_08022EA4: .4byte gHitMarker _08022EA8: .4byte gUnknown_81D89F1 _08022EAC: adds r0, r5, 0 @@ -10990,7 +10990,7 @@ _08022ED8: bl BtlController_EmitBattleAnimation ldrb r0, [r6] _08022EE4: - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x7 _08022EEC: @@ -11003,10 +11003,10 @@ _08022EEC: thumb_func_start atk46_playanimation2 atk46_playanimation2: @ 8022EF4 push {r4-r7,lr} - ldr r6, _08022F5C @ =gUnknown_2023D74 + ldr r6, _08022F5C @ =gBattlescriptCurrInstr ldr r0, [r6] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r7, _08022F60 @ =gActiveBattler strb r0, [r7] ldr r2, [r6] @@ -11045,17 +11045,17 @@ _08022F3E: bl BtlController_EmitBattleAnimation ldr r0, _08022F60 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08022F5C @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08022F5C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] b _08022FBA .align 2, 0 -_08022F5C: .4byte gUnknown_2023D74 +_08022F5C: .4byte gBattlescriptCurrInstr _08022F60: .4byte gActiveBattler _08022F64: - ldr r0, _08022F74 @ =gUnknown_2023DD0 + ldr r0, _08022F74 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -11064,7 +11064,7 @@ _08022F64: adds r0, r2, 0 b _08022FB6 .align 2, 0 -_08022F74: .4byte gUnknown_2023DD0 +_08022F74: .4byte gHitMarker _08022F78: adds r0, r5, 0 subs r0, 0xA @@ -11092,7 +11092,7 @@ _08022FA4: movs r0, 0 bl BtlController_EmitBattleAnimation ldrb r0, [r7] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r6] _08022FB6: adds r0, 0xA @@ -11147,7 +11147,7 @@ _08022FF8: movs r1, 0 strb r0, [r4, 0x10] strb r1, [r4, 0x11] - ldr r1, _08023018 @ =gUnknown_2023D74 + ldr r1, _08023018 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -11155,7 +11155,7 @@ _08022FF8: pop {r0} bx r0 .align 2, 0 -_08023018: .4byte gUnknown_2023D74 +_08023018: .4byte gBattlescriptCurrInstr thumb_func_end atk47_setgraphicalstatchangevalues thumb_func_start atk48_playstatchangeanimation @@ -11170,11 +11170,11 @@ atk48_playstatchangeanimation: @ 802301C movs r0, 0 mov r8, r0 movs r3, 0 - ldr r5, _08023090 @ =gUnknown_2023D74 + ldr r5, _08023090 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] str r3, [sp] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _08023094 @ =gActiveBattler strb r0, [r2] ldr r0, [r5] @@ -11205,7 +11205,7 @@ _0802306A: ands r0, r1 cmp r0, 0 beq _080230F6 - ldr r0, _08023090 @ =gUnknown_2023D74 + ldr r0, _08023090 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r1, [r0, 0x3] movs r0, 0x8 @@ -11219,7 +11219,7 @@ _0802306A: adds r0, r7, r0 b _080230E4 .align 2, 0 -_08023090: .4byte gUnknown_2023D74 +_08023090: .4byte gBattlescriptCurrInstr _08023094: .4byte gActiveBattler _08023098: .4byte gUnknown_2023BFC _0802309C: @@ -11279,7 +11279,7 @@ _080230F6: cmp r4, 0 bne _0802306A _08023104: - ldr r0, _0802312C @ =gUnknown_2023D74 + ldr r0, _0802312C @ =gBattlescriptCurrInstr mov r9, r0 cmp r3, 0x1 ble _08023192 @@ -11297,7 +11297,7 @@ _08023104: _08023120: .4byte gActiveBattler _08023124: .4byte gSideTimers _08023128: .4byte gBattleMons -_0802312C: .4byte gUnknown_2023D74 +_0802312C: .4byte gBattlescriptCurrInstr _08023130: movs r0, 0x2 ands r0, r1 @@ -11382,8 +11382,8 @@ _080231B0: bl BtlController_EmitBattleAnimation ldr r0, _080231F0 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r0, _080231F4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r0, _080231F4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r1, [r0, 0x3] movs r0, 0x4 @@ -11396,12 +11396,12 @@ _080231B0: movs r0, 0x1 strb r0, [r4, 0x1B] _080231E8: - ldr r1, _080231F4 @ =gUnknown_2023D74 + ldr r1, _080231F4 @ =gBattlescriptCurrInstr b _080231FA .align 2, 0 _080231EC: .4byte gBattleScripting _080231F0: .4byte gActiveBattler -_080231F4: .4byte gUnknown_2023D74 +_080231F4: .4byte gBattlescriptCurrInstr _080231F8: mov r1, r9 _080231FA: @@ -11439,7 +11439,7 @@ atk49_moveend: @ 8023210 ldrh r2, [r2] str r2, [sp, 0x18] _08023232: - ldr r0, _08023268 @ =gUnknown_2023D74 + ldr r0, _08023268 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r4, [r0, 0x1] str r4, [sp, 0x10] @@ -11464,7 +11464,7 @@ _08023232: .align 2, 0 _08023260: .4byte gChosenMove _08023264: .4byte 0x0000ffff -_08023268: .4byte gUnknown_2023D74 +_08023268: .4byte gBattlescriptCurrInstr _0802326C: .4byte gBattleMons _08023270: .4byte gBattlerAttacker _08023274: .4byte gEnigmaBerries @@ -11500,7 +11500,7 @@ _080232AC: movs r1, 0x1 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802379E .align 2, 0 _080232C0: .4byte gActiveBattler @@ -11511,7 +11511,7 @@ _080232C4: movs r1, 0 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r1, [r6] lsls r1, 2 adds r1, r5 @@ -11543,13 +11543,13 @@ _080232F0: adds r0, r2 ldr r0, [r0] bl BattleScriptPush - ldr r1, _0802332C @ =gUnknown_2023D74 + ldr r1, _0802332C @ =gBattlescriptCurrInstr ldr r0, _08023330 @ =gUnknown_81D96A8 bl _08023BFC .align 2, 0 _08023324: .4byte gBattleScripting _08023328: .4byte gUnknown_81D65A8 -_0802332C: .4byte gUnknown_2023D74 +_0802332C: .4byte gBattlescriptCurrInstr _08023330: .4byte gUnknown_81D96A8 _08023334: ldr r2, _0802334C @ =gBattleMoves @@ -11657,7 +11657,7 @@ _08023410: beq _0802341E b _080237C8 _0802341E: - ldr r2, _0802348C @ =gUnknown_2023ECC + ldr r2, _0802348C @ =gSpecialStatuses ldrb r3, [r5] lsls r0, r3, 2 adds r0, r3 @@ -11701,7 +11701,7 @@ _0802346A: adds r0, r2, 0x1 strb r0, [r1, 0x19] bl BattleScriptPushCursor - ldr r1, _08023498 @ =gUnknown_2023D74 + ldr r1, _08023498 @ =gBattlescriptCurrInstr ldr r0, _0802349C @ =gUnknown_81D8C48 str r0, [r1] b _080236FC @@ -11710,10 +11710,10 @@ _0802347C: .4byte gBattleMons _08023480: .4byte gBattlerTarget _08023484: .4byte gBattlerAttacker _08023488: .4byte gMoveResultFlags -_0802348C: .4byte gUnknown_2023ECC +_0802348C: .4byte gSpecialStatuses _08023490: .4byte gBattleMoves _08023494: .4byte gCurrentMove -_08023498: .4byte gUnknown_2023D74 +_08023498: .4byte gBattlescriptCurrInstr _0802349C: .4byte gUnknown_81D8C48 _080234A0: ldr r4, _0802353C @ =gBattleMons @@ -11745,7 +11745,7 @@ _080234CA: bne _080234D4 b _080237C8 _080234D4: - ldr r0, _08023548 @ =gUnknown_2023ECC + ldr r0, _08023548 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -11788,9 +11788,9 @@ _080234FE: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec bl BattleScriptPushCursor - ldr r1, _08023554 @ =gUnknown_2023D74 + ldr r1, _08023554 @ =gBattlescriptCurrInstr ldr r0, _08023558 @ =gUnknown_81D9098 str r0, [r1] movs r2, 0x1 @@ -11800,10 +11800,10 @@ _080234FE: _0802353C: .4byte gBattleMons _08023540: .4byte gBattlerTarget _08023544: .4byte gBattlerAttacker -_08023548: .4byte gUnknown_2023ECC +_08023548: .4byte gSpecialStatuses _0802354C: .4byte gMoveResultFlags _08023550: .4byte gActiveBattler -_08023554: .4byte gUnknown_2023D74 +_08023554: .4byte gBattlescriptCurrInstr _08023558: .4byte gUnknown_81D9098 _0802355C: ldr r0, _0802357C @ =gBattlerTarget @@ -11876,7 +11876,7 @@ _080235DA: .align 2, 0 _080235E0: .4byte gBattlerAttacker _080235E4: - ldr r0, _08023674 @ =gUnknown_2023DD0 + ldr r0, _08023674 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 18 @@ -11955,7 +11955,7 @@ _0802366A: strb r0, [r2, 0x14] b _08023BB4 .align 2, 0 -_08023674: .4byte gUnknown_2023DD0 +_08023674: .4byte gHitMarker _08023678: .4byte gChosenMove _0802367C: .4byte 0x0000ffff _08023680: .4byte gMoveResultFlags @@ -11998,7 +11998,7 @@ _080236CC: movs r0, 0x3 movs r1, 0 movs r2, 0 - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 cmp r0, 0 beq _080237C8 @@ -12013,7 +12013,7 @@ _080236EC: movs r0, 0x4 movs r1, 0 movs r2, 0 - bl sub_801BC68 + bl ItemBattleEffects _080236F6: lsls r0, 24 cmp r0, 0 @@ -12035,7 +12035,7 @@ _08023702: bne _08023718 b _08023AFA _08023718: - ldr r0, _08023734 @ =gUnknown_2023DD0 + ldr r0, _08023734 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -12048,7 +12048,7 @@ _08023726: _08023728: .4byte gStatuses3 _0802372C: .4byte gBattlerAttacker _08023730: .4byte 0x000400c0 -_08023734: .4byte gUnknown_2023DD0 +_08023734: .4byte gHitMarker _08023738: ldr r0, _080237A8 @ =gMoveResultFlags ldrb r1, [r0] @@ -12080,7 +12080,7 @@ _08023764: movs r1, 0 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, _080237AC @ =gStatuses3 ldrb r2, [r5] lsls r2, 2 @@ -12089,7 +12089,7 @@ _08023764: ldr r1, _080237BC @ =0xfffbff3f ands r0, r1 str r0, [r2] - ldr r2, _080237C0 @ =gUnknown_2023ECC + ldr r2, _080237C0 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -12112,7 +12112,7 @@ _080237B0: .4byte gBattlerAttacker _080237B4: .4byte 0x000400c0 _080237B8: .4byte gActiveBattler _080237BC: .4byte 0xfffbff3f -_080237C0: .4byte gUnknown_2023ECC +_080237C0: .4byte gSpecialStatuses _080237C4: .4byte gBattleScripting _080237C8: ldr r1, _080237D4 @ =gBattleScripting @@ -12124,7 +12124,7 @@ _080237C8: .align 2, 0 _080237D4: .4byte gBattleScripting _080237D8: - ldr r0, _08023808 @ =gUnknown_2023ECC + ldr r0, _08023808 @ =gSpecialStatuses ldr r6, _0802380C @ =gBattlerTarget ldrb r2, [r6] lsls r3, r2, 2 @@ -12150,7 +12150,7 @@ _080237D8: _08023806: b _08023846 .align 2, 0 -_08023808: .4byte gUnknown_2023ECC +_08023808: .4byte gSpecialStatuses _0802380C: .4byte gBattlerTarget _08023810: .4byte gBattlersCount _08023814: .4byte gStatuses3 @@ -12164,7 +12164,7 @@ _0802381C: ldr r2, _08023854 @ =gDisableStructs ldr r5, _08023858 @ =0xfeffffff adds r3, r0, 0 - ldr r1, _0802385C @ =gUnknown_2023C34 + ldr r1, _0802385C @ =gChosenMoveByBattler _0802382E: ldrb r0, [r2, 0xA] cmp r0, 0 @@ -12189,9 +12189,9 @@ _08023846: _08023850: .4byte gBattlersCount _08023854: .4byte gDisableStructs _08023858: .4byte 0xfeffffff -_0802385C: .4byte gUnknown_2023C34 +_0802385C: .4byte gChosenMoveByBattler _08023860: - ldr r1, _08023914 @ =gUnknown_2023DD0 + ldr r1, _08023914 @ =gHitMarker ldr r3, [r1] movs r0, 0x80 lsls r0, 5 @@ -12286,7 +12286,7 @@ _080238E8: strh r0, [r1] b _08023966 .align 2, 0 -_08023914: .4byte gUnknown_2023DD0 +_08023914: .4byte gHitMarker _08023918: .4byte gBattlerAttacker _0802391C: .4byte gActiveBattler _08023920: .4byte gBattlerTarget @@ -12450,7 +12450,7 @@ _08023A40: ands r0, r1 cmp r0, 0 beq _08023AFA - ldr r0, _08023B18 @ =gUnknown_2023DD0 + ldr r0, _08023B18 @ =gHitMarker ldr r1, [r0] movs r0, 0x80 lsls r0, 18 @@ -12524,12 +12524,12 @@ _08023B08: .4byte gBitTable _08023B0C: .4byte gBattlerAttacker _08023B10: .4byte gBattleStruct _08023B14: .4byte gBattleMoves -_08023B18: .4byte gUnknown_2023DD0 +_08023B18: .4byte gHitMarker _08023B1C: .4byte gBattlerTarget _08023B20: .4byte gMoveResultFlags _08023B24: .4byte gChosenMove _08023B28: - ldr r5, _08023C10 @ =gUnknown_2023DD0 + ldr r5, _08023C10 @ =gHitMarker ldr r2, [r5] movs r0, 0x80 lsls r0, 12 @@ -12542,7 +12542,7 @@ _08023B28: ands r0, r1 cmp r0, 0 beq _08023BAC - ldr r1, _08023C18 @ =gUnknown_2023E8C + ldr r1, _08023C18 @ =gProtectStructs ldr r0, _08023C1C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -12634,7 +12634,7 @@ _08023BE8: mov r2, r10 cmp r2, 0 bne _08023BFE - ldr r1, _08023C34 @ =gUnknown_2023D74 + ldr r1, _08023C34 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 _08023BFC: @@ -12649,16 +12649,16 @@ _08023BFE: pop {r0} bx r0 .align 2, 0 -_08023C10: .4byte gUnknown_2023DD0 +_08023C10: .4byte gHitMarker _08023C14: .4byte gBattleTypeFlags -_08023C18: .4byte gUnknown_2023E8C +_08023C18: .4byte gProtectStructs _08023C1C: .4byte gBattlerAttacker _08023C20: .4byte gBattleMoves _08023C24: .4byte gCurrentMove _08023C28: .4byte gBattlerTarget _08023C2C: .4byte gBattleMons _08023C30: .4byte gBattleScripting -_08023C34: .4byte gUnknown_2023D74 +_08023C34: .4byte gBattlescriptCurrInstr thumb_func_end atk49_moveend thumb_func_start atk4A_typecalc2 @@ -12704,7 +12704,7 @@ atk4A_typecalc2: @ 8023C38 lsls r0, 1 adds r0, r1 strh r4, [r0] - ldr r0, _08023CB8 @ =gUnknown_2023E82 + ldr r0, _08023CB8 @ =gBattleCommunication mov r2, r8 strb r2, [r0, 0x6] ldrb r0, [r7] @@ -12719,7 +12719,7 @@ _08023CA8: .4byte gBattlerTarget _08023CAC: .4byte gLastUsedAbility _08023CB0: .4byte gMoveResultFlags _08023CB4: .4byte gUnknown_2023DA0 -_08023CB8: .4byte gUnknown_2023E82 +_08023CB8: .4byte gBattleCommunication _08023CBC: ldr r0, _08023CC8 @ =gMoveResultFlags ldrb r1, [r0] @@ -12905,7 +12905,7 @@ _08023DF0: lsls r0, 1 adds r0, r1 strh r5, [r0] - ldr r1, _08023E7C @ =gUnknown_2023E82 + ldr r1, _08023E7C @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x6] ldrb r0, [r2] @@ -12918,7 +12918,7 @@ _08023E2A: ands r0, r1 cmp r0, 0 beq _08023E48 - ldr r2, _08023E80 @ =gUnknown_2023E8C + ldr r2, _08023E80 @ =gProtectStructs ldr r0, _08023E64 @ =gBattlerAttacker ldrb r1, [r0] lsls r1, 4 @@ -12928,7 +12928,7 @@ _08023E2A: orrs r0, r2 strb r0, [r1, 0x1] _08023E48: - ldr r1, _08023E84 @ =gUnknown_2023D74 + ldr r1, _08023E84 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -12946,9 +12946,9 @@ _08023E6C: .4byte gBattleMoves _08023E70: .4byte gLastUsedAbility _08023E74: .4byte gMoveResultFlags _08023E78: .4byte gUnknown_2023DA0 -_08023E7C: .4byte gUnknown_2023E82 -_08023E80: .4byte gUnknown_2023E8C -_08023E84: .4byte gUnknown_2023D74 +_08023E7C: .4byte gBattleCommunication +_08023E80: .4byte gProtectStructs +_08023E84: .4byte gBattlescriptCurrInstr thumb_func_end atk4A_typecalc2 thumb_func_start atk4B_returnatktoball @@ -12958,7 +12958,7 @@ atk4B_returnatktoball: @ 8023E88 ldr r0, _08023EC8 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r4] - ldr r2, _08023ECC @ =gUnknown_2023DD0 + ldr r2, _08023ECC @ =gHitMarker ldr r1, _08023ED0 @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -12973,9 +12973,9 @@ atk4B_returnatktoball: @ 8023E88 movs r1, 0 bl BtlController_EmitReturnMonToBall ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08023EB6: - ldr r1, _08023ED4 @ =gUnknown_2023D74 + ldr r1, _08023ED4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -12985,9 +12985,9 @@ _08023EB6: .align 2, 0 _08023EC4: .4byte gActiveBattler _08023EC8: .4byte gBattlerAttacker -_08023ECC: .4byte gUnknown_2023DD0 +_08023ECC: .4byte gHitMarker _08023ED0: .4byte gBitTable -_08023ED4: .4byte gUnknown_2023D74 +_08023ED4: .4byte gBattlescriptCurrInstr thumb_func_end atk4B_returnatktoball thumb_func_start atk4C_getswitchedmondata @@ -12997,10 +12997,10 @@ atk4C_getswitchedmondata: @ 8023ED8 ldr r0, [r0] cmp r0, 0 bne _08023F28 - ldr r5, _08023F34 @ =gUnknown_2023D74 + ldr r5, _08023F34 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08023F38 @ =gActiveBattler strb r0, [r4] ldr r3, _08023F3C @ =gBattlerPartyIndexes @@ -13025,7 +13025,7 @@ atk4C_getswitchedmondata: @ 8023ED8 movs r1, 0 bl BtlController_EmitGetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -13035,7 +13035,7 @@ _08023F28: bx r0 .align 2, 0 _08023F30: .4byte gBattleControllerExecFlags -_08023F34: .4byte gUnknown_2023D74 +_08023F34: .4byte gBattlescriptCurrInstr _08023F38: .4byte gActiveBattler _08023F3C: .4byte gBattlerPartyIndexes _08023F40: .4byte gBattleStruct @@ -13052,10 +13052,10 @@ sub_8023F48: @ 8023F48 beq _08023F56 b _08024098 _08023F56: - ldr r0, _080240A4 @ =gUnknown_2023D74 + ldr r0, _080240A4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080240A8 @ =gActiveBattler strb r0, [r4] ldr r6, _080240AC @ =gBattleMons @@ -13129,7 +13129,7 @@ _08023F84: bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080240B8 @ =gUnknown_2023F20 + ldr r0, _080240B8 @ =gWishFutureKnock adds r0, 0x29 adds r0, r2, r0 ldrb r1, [r0] @@ -13208,7 +13208,7 @@ _08024068: strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _080240A4 @ =gUnknown_2023D74 + ldr r1, _080240A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -13219,12 +13219,12 @@ _08024098: bx r0 .align 2, 0 _080240A0: .4byte gBattleControllerExecFlags -_080240A4: .4byte gUnknown_2023D74 +_080240A4: .4byte gBattlescriptCurrInstr _080240A8: .4byte gActiveBattler _080240AC: .4byte gBattleMons _080240B0: .4byte gBattleBufferB _080240B4: .4byte gBaseStats -_080240B8: .4byte gUnknown_2023F20 +_080240B8: .4byte gWishFutureKnock _080240BC: .4byte gBitTable _080240C0: .4byte gBattlerPartyIndexes _080240C4: .4byte gBattleMoves @@ -13240,10 +13240,10 @@ sub_80240D4: @ 80240D4 ldr r0, [r0] cmp r0, 0 bne _08024160 - ldr r0, _0802416C @ =gUnknown_2023D74 + ldr r0, _0802416C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r6, _08024170 @ =gActiveBattler strb r0, [r6] ldrb r0, [r6] @@ -13290,13 +13290,13 @@ _0802412A: lsls r0, 1 adds r0, r1 ldrb r1, [r0] - ldr r4, _0802416C @ =gUnknown_2023D74 + ldr r4, _0802416C @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r2, [r0, 0x2] movs r0, 0 bl BtlController_EmitSwitchInAnim ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] @@ -13306,7 +13306,7 @@ _08024160: bx r0 .align 2, 0 _08024168: .4byte gBattleControllerExecFlags -_0802416C: .4byte gUnknown_2023D74 +_0802416C: .4byte gBattlescriptCurrInstr _08024170: .4byte gActiveBattler _08024174: .4byte gBattleTypeFlags _08024178: .4byte 0x0001aa02 @@ -13321,12 +13321,12 @@ sub_802418C: @ 802418C push {r4-r7,lr} mov r7, r8 push {r7} - ldr r4, _080241F0 @ =gUnknown_2023D74 + ldr r4, _080241F0 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] movs r0, 0x7F ands r0, r1 - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r3, _080241F4 @ =gActiveBattler strb r0, [r3] ldr r2, [r4] @@ -13369,7 +13369,7 @@ _080241D8: str r1, [r4] b _08024388 .align 2, 0 -_080241F0: .4byte gUnknown_2023D74 +_080241F0: .4byte gBattlescriptCurrInstr _080241F4: .4byte gActiveBattler _080241F8: .4byte gBattleMons _080241FC: .4byte 0x0400e000 @@ -13542,7 +13542,7 @@ _08024354: cmp r5, 0x6 bne _08024380 _08024358: - ldr r3, _0802437C @ =gUnknown_2023D74 + ldr r3, _0802437C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x2] ldrb r0, [r2, 0x3] @@ -13559,9 +13559,9 @@ _08024358: .align 2, 0 _08024374: .4byte gPlayerParty _08024378: .4byte gBattlerPartyIndexes -_0802437C: .4byte gUnknown_2023D74 +_0802437C: .4byte gBattlescriptCurrInstr _08024380: - ldr r1, _08024394 @ =gUnknown_2023D74 + ldr r1, _08024394 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] @@ -13572,7 +13572,7 @@ _08024388: pop {r0} bx r0 .align 2, 0 -_08024394: .4byte gUnknown_2023D74 +_08024394: .4byte gBattlescriptCurrInstr thumb_func_end sub_802418C thumb_func_start sub_8024398 @@ -13605,7 +13605,7 @@ sub_8024398: @ 8024398 movs r3, 0 bl BtlController_EmitChoosePokemon ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec add sp, 0x4 pop {r4,r5} pop {r0} @@ -13626,7 +13626,7 @@ sub_80243EC: @ 80243EC movs r7, 0 movs r0, 0 mov r9, r0 - ldr r6, _08024498 @ =gUnknown_2023D74 + ldr r6, _08024498 @ =gBattlescriptCurrInstr ldr r2, [r6] ldrb r1, [r2, 0x2] ldrb r0, [r2, 0x3] @@ -13660,7 +13660,7 @@ _08024422: bcc _0802443C b _080248A6 _0802443C: - ldr r7, _080244A8 @ =gUnknown_2023DD0 + ldr r7, _080244A8 @ =gHitMarker ldr r6, _080244AC @ =gBitTable adds r4, r1, 0 ldr r2, _080244B0 @ =gAbsentBattlerFlags @@ -13678,7 +13678,7 @@ _08024446: adds r0, r2, 0 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080244B4 @@ -13702,18 +13702,18 @@ _08024446: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080244F6 .align 2, 0 -_08024498: .4byte gUnknown_2023D74 +_08024498: .4byte gBattlescriptCurrInstr _0802449C: .4byte gBattleTypeFlags _080244A0: .4byte gActiveBattler _080244A4: .4byte gBattlersCount -_080244A8: .4byte gUnknown_2023DD0 +_080244A8: .4byte gHitMarker _080244AC: .4byte gBitTable _080244B0: .4byte gAbsentBattlerFlags _080244B4: - ldr r5, _080244E4 @ =gUnknown_2023ECC + ldr r5, _080244E4 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -13736,13 +13736,13 @@ _080244B4: strb r1, [r0] b _080244F6 .align 2, 0 -_080244E4: .4byte gUnknown_2023ECC +_080244E4: .4byte gSpecialStatuses _080244E8: movs r0, 0 movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080244F6: ldrb r0, [r4] adds r0, 0x1 @@ -13762,7 +13762,7 @@ _08024510: bne _08024518 b _080248A6 _08024518: - ldr r0, _08024570 @ =gUnknown_2023DD0 + ldr r0, _08024570 @ =gHitMarker mov r8, r0 ldr r0, [r0] lsrs r5, r0, 28 @@ -13776,7 +13776,7 @@ _08024518: movs r0, 0 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _08024580 @@ -13800,15 +13800,15 @@ _08024518: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080245CE .align 2, 0 -_08024570: .4byte gUnknown_2023DD0 +_08024570: .4byte gHitMarker _08024574: .4byte gBitTable _08024578: .4byte gActiveBattler _0802457C: .4byte gAbsentBattlerFlags _08024580: - ldr r6, _080245B4 @ =gUnknown_2023ECC + ldr r6, _080245B4 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -13834,14 +13834,14 @@ _08024580: strb r1, [r0] b _080245CE .align 2, 0 -_080245B4: .4byte gUnknown_2023ECC +_080245B4: .4byte gSpecialStatuses _080245B8: .4byte gBattleStruct _080245BC: movs r0, 0 movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec movs r0, 0x1 mov r9, r0 _080245CE: @@ -13860,7 +13860,7 @@ _080245CE: movs r0, 0x2 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _08024638 @@ -13872,7 +13872,7 @@ _080245CE: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _08024634 @ =gUnknown_2023DD0 + ldr r2, _08024634 @ =gHitMarker ldrb r0, [r4] lsls r0, 2 adds r0, r6 @@ -13884,15 +13884,15 @@ _080245CE: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802468C .align 2, 0 _08024628: .4byte gBitTable _0802462C: .4byte gActiveBattler _08024630: .4byte gAbsentBattlerFlags -_08024634: .4byte gUnknown_2023DD0 +_08024634: .4byte gHitMarker _08024638: - ldr r6, _0802466C @ =gUnknown_2023ECC + ldr r6, _0802466C @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -13918,7 +13918,7 @@ _08024638: strb r1, [r0] b _0802468C .align 2, 0 -_0802466C: .4byte gUnknown_2023ECC +_0802466C: .4byte gSpecialStatuses _08024670: .4byte gBattleStruct _08024674: movs r0, 0x1 @@ -13930,7 +13930,7 @@ _08024674: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802468C: ldr r6, _080246DC @ =gBitTable ldr r0, [r6, 0x4] @@ -13943,7 +13943,7 @@ _0802468C: movs r0, 0x1 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080246EC @@ -13955,7 +13955,7 @@ _0802468C: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _080246E8 @ =gUnknown_2023DD0 + ldr r2, _080246E8 @ =gHitMarker ldrb r0, [r4] lsls r0, 2 adds r0, r6 @@ -13967,15 +13967,15 @@ _0802468C: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802473E .align 2, 0 _080246DC: .4byte gBitTable _080246E0: .4byte gActiveBattler _080246E4: .4byte gAbsentBattlerFlags -_080246E8: .4byte gUnknown_2023DD0 +_080246E8: .4byte gHitMarker _080246EC: - ldr r6, _08024720 @ =gUnknown_2023ECC + ldr r6, _08024720 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -14001,14 +14001,14 @@ _080246EC: strb r1, [r0] b _0802473E .align 2, 0 -_08024720: .4byte gUnknown_2023ECC +_08024720: .4byte gSpecialStatuses _08024724: .4byte gBattleStruct _08024728: movs r0, 0 movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec movs r0, 0x2 mov r2, r9 orrs r2, r0 @@ -14029,7 +14029,7 @@ _0802473E: movs r0, 0x3 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080247A8 @@ -14041,7 +14041,7 @@ _0802473E: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _080247A4 @ =gUnknown_2023DD0 + ldr r2, _080247A4 @ =gHitMarker ldrb r0, [r4] lsls r0, 2 adds r0, r6 @@ -14053,15 +14053,15 @@ _0802473E: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080247FC .align 2, 0 _08024798: .4byte gBitTable _0802479C: .4byte gActiveBattler _080247A0: .4byte gAbsentBattlerFlags -_080247A4: .4byte gUnknown_2023DD0 +_080247A4: .4byte gHitMarker _080247A8: - ldr r6, _080247DC @ =gUnknown_2023ECC + ldr r6, _080247DC @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -14087,7 +14087,7 @@ _080247A8: strb r1, [r0] b _080247FC .align 2, 0 -_080247DC: .4byte gUnknown_2023ECC +_080247DC: .4byte gSpecialStatuses _080247E0: .4byte gBattleStruct _080247E4: movs r0, 0x2 @@ -14099,9 +14099,9 @@ _080247E4: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080247FC: - ldr r1, _0802482C @ =gUnknown_2023ECC + ldr r1, _0802482C @ =gSpecialStatuses ldrb r0, [r1] lsls r0, 25 cmp r0, 0 @@ -14126,7 +14126,7 @@ _080247FC: strb r0, [r1] b _08024840 .align 2, 0 -_0802482C: .4byte gUnknown_2023ECC +_0802482C: .4byte gSpecialStatuses _08024830: .4byte gAbsentBattlerFlags _08024834: .4byte gBitTable _08024838: .4byte gActiveBattler @@ -14139,9 +14139,9 @@ _08024840: bl BtlController_EmitLinkStandbyMsg ldr r0, _08024880 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08024850: - ldr r1, _08024884 @ =gUnknown_2023ECC + ldr r1, _08024884 @ =gSpecialStatuses ldrb r0, [r1, 0x14] lsls r0, 25 cmp r0, 0 @@ -14166,7 +14166,7 @@ _08024850: b _08024894 .align 2, 0 _08024880: .4byte gActiveBattler -_08024884: .4byte gUnknown_2023ECC +_08024884: .4byte gSpecialStatuses _08024888: .4byte gAbsentBattlerFlags _0802488C: .4byte gBitTable _08024890: @@ -14179,16 +14179,16 @@ _08024894: bl BtlController_EmitLinkStandbyMsg ldr r0, _080248B0 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080248A6: - ldr r1, _080248B4 @ =gUnknown_2023D74 + ldr r1, _080248B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] b _08024C2E .align 2, 0 _080248B0: .4byte gActiveBattler -_080248B4: .4byte gUnknown_2023D74 +_080248B4: .4byte gBattlescriptCurrInstr _080248B8: cmp r0, 0x6 beq _080248BE @@ -14208,7 +14208,7 @@ _080248CC: bne _080248D6 b _08024A48 _080248D6: - ldr r7, _08024938 @ =gUnknown_2023DD0 + ldr r7, _08024938 @ =gHitMarker ldr r0, [r7] lsrs r5, r0, 28 ldr r4, _0802493C @ =gBitTable @@ -14227,7 +14227,7 @@ _080248D6: ldrb r1, [r0, 0x1] movs r0, 0x2 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _0802494C @@ -14250,17 +14250,17 @@ _080248D6: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r6] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802497E .align 2, 0 _08024934: .4byte gBattleTypeFlags -_08024938: .4byte gUnknown_2023DD0 +_08024938: .4byte gHitMarker _0802493C: .4byte gBitTable _08024940: .4byte gActiveBattler _08024944: .4byte gBattleBufferB _08024948: .4byte gAbsentBattlerFlags _0802494C: - ldr r4, _080249DC @ =gUnknown_2023ECC + ldr r4, _080249DC @ =gSpecialStatuses ldrb r0, [r6] lsls r1, r0, 2 adds r1, r0 @@ -14303,7 +14303,7 @@ _0802497E: ldrb r1, [r0] movs r0, 0x3 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _080249FC @@ -14315,7 +14315,7 @@ _0802497E: ldrb r1, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _080249F8 @ =gUnknown_2023DD0 + ldr r2, _080249F8 @ =gHitMarker ldrb r0, [r5] lsls r0, 2 adds r0, r4 @@ -14327,19 +14327,19 @@ _0802497E: movs r0, 0 bl BtlController_EmitCmd42 ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _08024A2E .align 2, 0 -_080249DC: .4byte gUnknown_2023ECC +_080249DC: .4byte gSpecialStatuses _080249E0: .4byte gBattleStruct _080249E4: .4byte gBitTable _080249E8: .4byte gActiveBattler _080249EC: .4byte gBattleBufferB _080249F0: .4byte 0x00000201 _080249F4: .4byte gAbsentBattlerFlags -_080249F8: .4byte gUnknown_2023DD0 +_080249F8: .4byte gHitMarker _080249FC: - ldr r4, _08024A3C @ =gUnknown_2023ECC + ldr r4, _08024A3C @ =gSpecialStatuses ldrb r0, [r5] lsls r1, r0, 2 adds r1, r0 @@ -14364,24 +14364,24 @@ _080249FC: orrs r1, r2 strb r1, [r0] _08024A2E: - ldr r1, _08024A44 @ =gUnknown_2023D74 + ldr r1, _08024A44 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] mov r12, r1 b _08024A4C .align 2, 0 -_08024A3C: .4byte gUnknown_2023ECC +_08024A3C: .4byte gSpecialStatuses _08024A40: .4byte gBattleStruct -_08024A44: .4byte gUnknown_2023D74 +_08024A44: .4byte gBattlescriptCurrInstr _08024A48: adds r0, r2, 0x6 str r0, [r6] _08024A4C: - ldr r0, _08024A9C @ =gUnknown_2023DD0 + ldr r0, _08024A9C @ =gHitMarker ldr r0, [r0] lsrs r5, r0, 28 - ldr r1, _08024AA0 @ =gUnknown_2023D6D + ldr r1, _08024AA0 @ =gBattlerFainted movs r0, 0 strb r0, [r1] ldr r4, _08024AA4 @ =gBitTable @@ -14421,8 +14421,8 @@ _08024A92: str r1, [r2] b _08024C2E .align 2, 0 -_08024A9C: .4byte gUnknown_2023DD0 -_08024AA0: .4byte gUnknown_2023D6D +_08024A9C: .4byte gHitMarker +_08024AA0: .4byte gBattlerFainted _08024AA4: .4byte gBitTable _08024AA8: .4byte gBattlersCount _08024AAC: @@ -14435,10 +14435,10 @@ _08024AAC: _08024AB8: movs r0, 0x7F ands r0, r1 - bl sub_8016E24 + bl GetBattlerForBattleScript lsls r0, 24 lsrs r7, r0, 24 - ldr r1, _08024AE0 @ =gUnknown_2023ECC + ldr r1, _08024AE0 @ =gSpecialStatuses lsls r0, r7, 2 adds r0, r7 lsls r0, 2 @@ -14452,12 +14452,12 @@ _08024AB8: str r0, [r6] b _08024C2E .align 2, 0 -_08024AE0: .4byte gUnknown_2023ECC +_08024AE0: .4byte gSpecialStatuses _08024AE4: adds r0, r7, 0 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 beq _08024B34 @@ -14472,7 +14472,7 @@ _08024AE4: ldrb r1, [r3] orrs r0, r1 strb r0, [r3] - ldr r3, _08024B30 @ =gUnknown_2023DD0 + ldr r3, _08024B30 @ =gHitMarker ldrb r0, [r2] lsls r0, 2 adds r0, r4 @@ -14488,7 +14488,7 @@ _08024AE4: _08024B24: .4byte gActiveBattler _08024B28: .4byte gAbsentBattlerFlags _08024B2C: .4byte gBitTable -_08024B30: .4byte gUnknown_2023DD0 +_08024B30: .4byte gHitMarker _08024B34: ldr r4, _08024BD8 @ =gActiveBattler strb r7, [r4] @@ -14520,7 +14520,7 @@ _08024B34: movs r3, 0 bl BtlController_EmitChoosePokemon ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r6] adds r0, 0x6 str r0, [r6] @@ -14558,7 +14558,7 @@ _08024BB0: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08024BC4: ldrb r0, [r4] adds r0, 0x1 @@ -14605,7 +14605,7 @@ _08024C20: movs r1, 0x2 bl BtlController_EmitLinkStandbyMsg ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08024C2E: add sp, 0x4 pop {r3,r4} @@ -14629,10 +14629,10 @@ sub_8024C48: @ 8024C48 beq _08024C54 b _08024E16 _08024C54: - ldr r4, _08024C78 @ =gUnknown_2023D74 + ldr r4, _08024C78 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r7, _08024C7C @ =gActiveBattler strb r0, [r7] ldr r0, [r4] @@ -14646,7 +14646,7 @@ _08024C54: b _08024E0E .align 2, 0 _08024C74: .4byte gBattleControllerExecFlags -_08024C78: .4byte gUnknown_2023D74 +_08024C78: .4byte gBattlescriptCurrInstr _08024C7C: .4byte gActiveBattler _08024C80: cmp r0, 0x2 @@ -14700,7 +14700,7 @@ _08024CD2: .align 2, 0 _08024CDC: .4byte gBattleTypeFlags _08024CE0: - ldr r1, _08024DAC @ =gUnknown_2023E82 + ldr r1, _08024DAC @ =gBattleCommunication ldr r4, _08024DB0 @ =gBattleBufferB ldrb r0, [r7] lsls r0, 9 @@ -14803,7 +14803,7 @@ _08024CE0: strb r0, [r1] b _08024DC2 .align 2, 0 -_08024DAC: .4byte gUnknown_2023E82 +_08024DAC: .4byte gBattleCommunication _08024DB0: .4byte gBattleBufferB _08024DB4: .4byte gBattleStruct _08024DB8: .4byte gBattleTypeFlags @@ -14850,7 +14850,7 @@ _08024DC2: negs r0, r0 strb r0, [r2, 0x4] _08024E0E: - ldr r1, _08024E34 @ =gUnknown_2023D74 + ldr r1, _08024E34 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 str r0, [r1] @@ -14865,7 +14865,7 @@ _08024E24: .4byte gBattlerAttacker _08024E28: .4byte gBattleTextBuff2 _08024E2C: .4byte gActiveBattler _08024E30: .4byte gBattleBufferB -_08024E34: .4byte gUnknown_2023D74 +_08024E34: .4byte gBattlescriptCurrInstr thumb_func_end sub_8024C48 thumb_func_start sub_8024E38 @@ -14875,15 +14875,15 @@ sub_8024E38: @ 8024E38 mov r6, r8 push {r6,r7} sub sp, 0x4 - ldr r6, _08024F40 @ =gUnknown_2023D74 + ldr r6, _08024F40 @ =gBattlescriptCurrInstr ldr r0, [r6] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08024F44 @ =gActiveBattler strb r0, [r4] ldrb r0, [r4] bl sub_80174B8 - ldr r2, _08024F48 @ =gUnknown_2023DD0 + ldr r2, _08024F48 @ =gHitMarker ldr r1, _08024F4C @ =gBitTable ldrb r0, [r4] lsls r0, 2 @@ -14893,7 +14893,7 @@ sub_8024E38: @ 8024E38 ldr r0, [r2] bics r0, r1 str r0, [r2] - ldr r2, _08024F50 @ =gUnknown_2023ECC + ldr r2, _08024F50 @ =gSpecialStatuses ldrb r0, [r4] lsls r1, r0, 2 adds r1, r0 @@ -14906,7 +14906,7 @@ sub_8024E38: @ 8024E38 strb r0, [r1] ldrb r0, [r4] bl GetBattlerSide - ldr r5, _08024F54 @ =gSideAffecting + ldr r5, _08024F54 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r5 @@ -14996,12 +14996,12 @@ _08024F28: str r0, [r6] b _080250C6 .align 2, 0 -_08024F40: .4byte gUnknown_2023D74 +_08024F40: .4byte gBattlescriptCurrInstr _08024F44: .4byte gActiveBattler -_08024F48: .4byte gUnknown_2023DD0 +_08024F48: .4byte gHitMarker _08024F4C: .4byte gBitTable -_08024F50: .4byte gUnknown_2023ECC -_08024F54: .4byte gSideAffecting +_08024F50: .4byte gSpecialStatuses +_08024F54: .4byte gSideStatuses _08024F58: .4byte gBattleMons _08024F5C: .4byte gSideTimers _08024F60: .4byte gBattleMoveDamage @@ -15056,13 +15056,13 @@ _08024FC4: ldrb r1, [r5] movs r0, 0 movs r2, 0 - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 cmp r0, 0 bne _080250C6 ldrb r0, [r5] bl GetBattlerSide - ldr r1, _08025070 @ =gSideAffecting + ldr r1, _08025070 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -15075,7 +15075,7 @@ _08024FC4: ldrb r3, [r0] cmp r4, r3 bge _08025012 - ldr r6, _0802507C @ =gUnknown_2023BDE + ldr r6, _0802507C @ =gBattlerByTurnOrder ldr r3, _08025080 @ =gUnknown_2023BDA movs r2, 0xC adds r1, r0, 0 @@ -15120,16 +15120,16 @@ _08025020: cmp r4, r0 blt _08025020 _08025046: - ldr r0, _08025088 @ =gUnknown_2023D74 + ldr r0, _08025088 @ =gBattlescriptCurrInstr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r5, r0, 0 cmp r1, 0x5 bne _080250C0 - ldr r0, _0802508C @ =gUnknown_2023DD0 + ldr r0, _0802508C @ =gHitMarker ldr r0, [r0] lsrs r4, r0, 28 - ldr r1, _08025090 @ =gUnknown_2023D6D + ldr r1, _08025090 @ =gBattlerFainted ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -15139,15 +15139,15 @@ _08025046: _08025064: .4byte gBattleMons _08025068: .4byte gActiveBattler _0802506C: .4byte gDisableStructs -_08025070: .4byte gSideAffecting +_08025070: .4byte gSideStatuses _08025074: .4byte 0x0000fdff _08025078: .4byte gBattlersCount -_0802507C: .4byte gUnknown_2023BDE +_0802507C: .4byte gBattlerByTurnOrder _08025080: .4byte gUnknown_2023BDA _08025084: .4byte gBattleStruct -_08025088: .4byte gUnknown_2023D74 -_0802508C: .4byte gUnknown_2023DD0 -_08025090: .4byte gUnknown_2023D6D +_08025088: .4byte gBattlescriptCurrInstr +_0802508C: .4byte gHitMarker +_08025090: .4byte gBattlerFainted _08025094: .4byte gBitTable _08025098: ldr r0, _080250D4 @ =gBattlersCount @@ -15191,7 +15191,7 @@ _080250D8: .4byte gAbsentBattlerFlags thumb_func_start atk53_trainer_slide atk53_trainer_slide: @ 80250DC push {lr} - ldr r0, _080250EC @ =gUnknown_2023D74 + ldr r0, _080250EC @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0 @@ -15199,7 +15199,7 @@ atk53_trainer_slide: @ 80250DC movs r0, 0 b _080250F2 .align 2, 0 -_080250EC: .4byte gUnknown_2023D74 +_080250EC: .4byte gBattlescriptCurrInstr _080250F0: movs r0, 0x1 _080250F2: @@ -15210,8 +15210,8 @@ _080250F2: bl BtlController_EmitTrainerSlide ldr r0, _08025114 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08025118 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08025118 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -15219,7 +15219,7 @@ _080250F2: bx r0 .align 2, 0 _08025114: .4byte gActiveBattler -_08025118: .4byte gUnknown_2023D74 +_08025118: .4byte gBattlescriptCurrInstr thumb_func_end atk53_trainer_slide thumb_func_start atk54_playse @@ -15229,7 +15229,7 @@ atk54_playse: @ 802511C ldr r0, _08025150 @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] - ldr r4, _08025154 @ =gUnknown_2023D74 + ldr r4, _08025154 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] ldrb r0, [r0, 0x2] @@ -15238,7 +15238,7 @@ atk54_playse: @ 802511C movs r0, 0 bl BtlController_EmitPlaySE ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] @@ -15248,7 +15248,7 @@ atk54_playse: @ 802511C .align 2, 0 _0802514C: .4byte gActiveBattler _08025150: .4byte gBattlerAttacker -_08025154: .4byte gUnknown_2023D74 +_08025154: .4byte gBattlescriptCurrInstr thumb_func_end atk54_playse thumb_func_start atk55_play_sound @@ -15258,7 +15258,7 @@ atk55_play_sound: @ 8025158 ldr r0, _0802518C @ =gBattlerAttacker ldrb r0, [r0] strb r0, [r5] - ldr r4, _08025190 @ =gUnknown_2023D74 + ldr r4, _08025190 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r1, [r0, 0x1] ldrb r0, [r0, 0x2] @@ -15267,7 +15267,7 @@ atk55_play_sound: @ 8025158 movs r0, 0 bl BtlController_EmitPlayFanfare ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r4] adds r0, 0x3 str r0, [r4] @@ -15277,22 +15277,22 @@ atk55_play_sound: @ 8025158 .align 2, 0 _08025188: .4byte gActiveBattler _0802518C: .4byte gBattlerAttacker -_08025190: .4byte gUnknown_2023D74 +_08025190: .4byte gBattlescriptCurrInstr thumb_func_end atk55_play_sound thumb_func_start atk56_playfaintcry atk56_playfaintcry: @ 8025194 push {r4,r5,lr} - ldr r5, _080251BC @ =gUnknown_2023D74 + ldr r5, _080251BC @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080251C0 @ =gActiveBattler strb r0, [r4] movs r0, 0 bl BtlController_EmitFaintingCry ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -15300,7 +15300,7 @@ atk56_playfaintcry: @ 8025194 pop {r0} bx r0 .align 2, 0 -_080251BC: .4byte gUnknown_2023D74 +_080251BC: .4byte gBattlescriptCurrInstr _080251C0: .4byte gActiveBattler thumb_func_end atk56_playfaintcry @@ -15316,8 +15316,8 @@ atk57: @ 80251C4 movs r0, 0 bl BtlController_EmitCmd55 ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _080251F8 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _080251F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -15327,23 +15327,23 @@ atk57: @ 80251C4 .align 2, 0 _080251F0: .4byte gActiveBattler _080251F4: .4byte gBattleOutcome -_080251F8: .4byte gUnknown_2023D74 +_080251F8: .4byte gBattlescriptCurrInstr thumb_func_end atk57 thumb_func_start atk58_returntoball atk58_returntoball: @ 80251FC push {r4,r5,lr} - ldr r5, _08025228 @ =gUnknown_2023D74 + ldr r5, _08025228 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _0802522C @ =gActiveBattler strb r0, [r4] movs r0, 0 movs r1, 0x1 bl BtlController_EmitReturnMonToBall ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -15351,14 +15351,14 @@ atk58_returntoball: @ 80251FC pop {r0} bx r0 .align 2, 0 -_08025228: .4byte gUnknown_2023D74 +_08025228: .4byte gBattlescriptCurrInstr _0802522C: .4byte gActiveBattler thumb_func_end atk58_returntoball thumb_func_start atk59_handlelearnnewmove atk59_handlelearnnewmove: @ 8025230 push {r4-r7,lr} - ldr r0, _080252A4 @ =gUnknown_2023D74 + ldr r0, _080252A4 @ =gBattlescriptCurrInstr ldr r2, [r0] ldrb r6, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -15412,11 +15412,11 @@ _0802527E: _0802529A: cmp r5, 0 bne _080252B4 - ldr r0, _080252A4 @ =gUnknown_2023D74 + ldr r0, _080252A4 @ =gBattlescriptCurrInstr str r4, [r0] b _0802535C .align 2, 0 -_080252A4: .4byte gUnknown_2023D74 +_080252A4: .4byte gBattlescriptCurrInstr _080252A8: .4byte gBattleStruct _080252AC: .4byte gPlayerParty _080252B0: .4byte 0x0000fffe @@ -15424,14 +15424,14 @@ _080252B4: ldr r0, _080252C4 @ =0x0000ffff cmp r5, r0 bne _080252CC - ldr r1, _080252C8 @ =gUnknown_2023D74 + ldr r1, _080252C8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0xA str r0, [r1] b _0802535C .align 2, 0 _080252C4: .4byte 0x0000ffff -_080252C8: .4byte gUnknown_2023D74 +_080252C8: .4byte gBattlescriptCurrInstr _080252CC: movs r0, 0 bl GetBattlerAtPosition @@ -15501,7 +15501,7 @@ _0802530C: adds r1, r5, 0 bl GiveMoveToBattleMon _08025358: - ldr r0, _08025378 @ =gUnknown_2023D74 + ldr r0, _08025378 @ =gBattlescriptCurrInstr str r6, [r0] _0802535C: pop {r4-r7} @@ -15513,7 +15513,7 @@ _08025368: .4byte gBattlerPartyIndexes _0802536C: .4byte gBattleStruct _08025370: .4byte gBattleMons _08025374: .4byte gBattleTypeFlags -_08025378: .4byte gUnknown_2023D74 +_08025378: .4byte gBattlescriptCurrInstr thumb_func_end atk59_handlelearnnewmove thumb_func_start sub_802537C @@ -15564,14 +15564,14 @@ _080253C4: ldrb r0, [r1, 0x1F] adds r0, 0x1 strb r0, [r1, 0x1F] - ldr r0, _080253F8 @ =gUnknown_2023E82 + ldr r0, _080253F8 @ =gBattleCommunication strb r4, [r0, 0x1] bl sub_802DCB8 b _080256D0 .align 2, 0 _080253F0: .4byte gUnknown_83FE791 _080253F4: .4byte gBattleScripting -_080253F8: .4byte gUnknown_2023E82 +_080253F8: .4byte gBattleCommunication _080253FC: ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] @@ -15579,7 +15579,7 @@ _080253FC: ands r0, r1 cmp r0, 0 beq _08025422 - ldr r4, _08025488 @ =gUnknown_2023E82 + ldr r4, _08025488 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 beq _08025422 @@ -15596,7 +15596,7 @@ _08025422: ands r0, r1 cmp r0, 0 beq _08025448 - ldr r4, _08025488 @ =gUnknown_2023E82 + ldr r4, _08025488 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _08025448 @@ -15616,7 +15616,7 @@ _08025448: beq _0802548C movs r0, 0x5 bl PlaySE - ldr r0, _08025488 @ =gUnknown_2023E82 + ldr r0, _08025488 @ =gBattleCommunication ldrb r4, [r0, 0x1] cmp r4, 0 bne _0802549C @@ -15636,7 +15636,7 @@ _08025448: b _080254D8 .align 2, 0 _08025484: .4byte gMain -_08025488: .4byte gUnknown_2023E82 +_08025488: .4byte gBattleCommunication _0802548C: movs r0, 0x2 ands r0, r1 @@ -15755,7 +15755,7 @@ _08025580: .4byte 0x0000013f _08025584: .4byte gActiveBattler _08025588: .4byte gBattleScripting _0802558C: - ldr r3, _08025680 @ =gUnknown_2023D74 + ldr r3, _08025680 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -15872,7 +15872,7 @@ _08025622: bl SetBattleMonMoveSlot b _080256D0 .align 2, 0 -_08025680: .4byte gUnknown_2023D74 +_08025680: .4byte gBattlescriptCurrInstr _08025684: .4byte gBattleTextBuff2 _08025688: .4byte gMoveToLearn _0802568C: .4byte gBattlerPartyIndexes @@ -15889,13 +15889,13 @@ _080256A4: movs r2, 0x1D movs r3, 0xD bl sub_802DB7C - ldr r1, _080256C0 @ =gUnknown_2023D74 + ldr r1, _080256C0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _080256D0 .align 2, 0 -_080256C0: .4byte gUnknown_2023D74 +_080256C0: .4byte gBattlescriptCurrInstr _080256C4: ldr r0, _080256DC @ =gBattleControllerExecFlags ldr r0, [r0] @@ -15940,13 +15940,13 @@ _080256F8: ldrb r0, [r5, 0x1F] adds r0, 0x1 strb r0, [r5, 0x1F] - ldr r0, _08025724 @ =gUnknown_2023E82 + ldr r0, _08025724 @ =gBattleCommunication strb r4, [r0, 0x1] bl sub_802DCB8 b _0802580E .align 2, 0 _08025720: .4byte gUnknown_83FE791 -_08025724: .4byte gUnknown_2023E82 +_08025724: .4byte gBattleCommunication _08025728: ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] @@ -15954,7 +15954,7 @@ _08025728: ands r0, r1 cmp r0, 0 beq _0802574E - ldr r4, _080257B0 @ =gUnknown_2023E82 + ldr r4, _080257B0 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 beq _0802574E @@ -15971,7 +15971,7 @@ _0802574E: ands r0, r1 cmp r0, 0 beq _08025774 - ldr r4, _080257B0 @ =gUnknown_2023E82 + ldr r4, _080257B0 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _08025774 @@ -15991,11 +15991,11 @@ _08025774: beq _080257D8 movs r0, 0x5 bl PlaySE - ldr r0, _080257B0 @ =gUnknown_2023E82 + ldr r0, _080257B0 @ =gBattleCommunication ldrb r0, [r0, 0x1] cmp r0, 0 beq _080257B8 - ldr r3, _080257B4 @ =gUnknown_2023D74 + ldr r3, _080257B4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -16011,10 +16011,10 @@ _08025774: b _080257C0 .align 2, 0 _080257AC: .4byte gMain -_080257B0: .4byte gUnknown_2023E82 -_080257B4: .4byte gUnknown_2023D74 +_080257B0: .4byte gBattleCommunication +_080257B4: .4byte gBattlescriptCurrInstr _080257B8: - ldr r1, _080257D4 @ =gUnknown_2023D74 + ldr r1, _080257D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -16028,7 +16028,7 @@ _080257C0: bl sub_802DB7C b _0802580E .align 2, 0 -_080257D4: .4byte gUnknown_2023D74 +_080257D4: .4byte gBattlescriptCurrInstr _080257D8: movs r0, 0x2 ands r0, r1 @@ -16036,7 +16036,7 @@ _080257D8: beq _0802580E movs r0, 0x5 bl PlaySE - ldr r3, _08025818 @ =gUnknown_2023D74 + ldr r3, _08025818 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -16061,16 +16061,16 @@ _0802580E: pop {r0} bx r0 .align 2, 0 -_08025818: .4byte gUnknown_2023D74 +_08025818: .4byte gBattlescriptCurrInstr thumb_func_end sub_80256E0 thumb_func_start sub_802581C sub_802581C: @ 802581C push {r4,lr} - ldr r4, _08025888 @ =gUnknown_2023D74 + ldr r4, _08025888 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r2, _0802588C @ =gActiveBattler strb r0, [r2] ldr r0, _08025890 @ =gMoveResultFlags @@ -16079,7 +16079,7 @@ sub_802581C: @ 802581C ands r0, r1 cmp r0, 0 bne _080258A0 - ldr r0, _08025894 @ =gUnknown_2023DD0 + ldr r0, _08025894 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 1 @@ -16111,17 +16111,17 @@ _0802586E: bl BtlController_EmitHitAnimation ldr r0, _0802588C @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08025888 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08025888 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] b _080258A6 .align 2, 0 -_08025888: .4byte gUnknown_2023D74 +_08025888: .4byte gBattlescriptCurrInstr _0802588C: .4byte gActiveBattler _08025890: .4byte gMoveResultFlags -_08025894: .4byte gUnknown_2023DD0 +_08025894: .4byte gHitMarker _08025898: .4byte gBattleMons _0802589C: .4byte gDisableStructs _080258A0: @@ -16334,16 +16334,16 @@ _08025A00: strb r0, [r1, 0x8] cmp r4, 0 beq _08025A48 - ldr r1, _08025A44 @ =gUnknown_2023D74 + ldr r1, _08025A44 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08025A62 .align 2, 0 _08025A40: .4byte gBattleTextBuff1 -_08025A44: .4byte gUnknown_2023D74 +_08025A44: .4byte gBattlescriptCurrInstr _08025A48: - ldr r3, _08025A6C @ =gUnknown_2023D74 + ldr r3, _08025A6C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -16363,7 +16363,7 @@ _08025A62: pop {r0} bx r0 .align 2, 0 -_08025A6C: .4byte gUnknown_2023D74 +_08025A6C: .4byte gBattlescriptCurrInstr thumb_func_end sub_80258AC thumb_func_start atk5E @@ -16371,13 +16371,13 @@ atk5E: @ 8025A70 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r4, _08025A94 @ =gUnknown_2023D74 + ldr r4, _08025A94 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r6, _08025A98 @ =gActiveBattler strb r0, [r6] - ldr r5, _08025A9C @ =gUnknown_2023E82 + ldr r5, _08025A9C @ =gBattleCommunication ldrb r0, [r5] mov r8, r4 cmp r0, 0 @@ -16386,16 +16386,16 @@ atk5E: @ 8025A70 beq _08025AB8 b _08025B0C .align 2, 0 -_08025A94: .4byte gUnknown_2023D74 +_08025A94: .4byte gBattlescriptCurrInstr _08025A98: .4byte gActiveBattler -_08025A9C: .4byte gUnknown_2023E82 +_08025A9C: .4byte gBattleCommunication _08025AA0: movs r0, 0 movs r1, 0 movs r2, 0 bl BtlController_EmitGetMonData ldrb r0, [r6] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] @@ -16467,7 +16467,7 @@ atk5F: @ 8025B24 ldrb r0, [r1] strb r0, [r2] strb r3, [r1] - ldr r2, _08025B58 @ =gUnknown_2023DD0 + ldr r2, _08025B58 @ =gHitMarker ldr r1, [r2] movs r3, 0x80 lsls r3, 5 @@ -16482,20 +16482,20 @@ atk5F: @ 8025B24 _08025B4C: .4byte gActiveBattler _08025B50: .4byte gBattlerAttacker _08025B54: .4byte gBattlerTarget -_08025B58: .4byte gUnknown_2023DD0 +_08025B58: .4byte gHitMarker _08025B5C: .4byte 0xffffefff _08025B60: orrs r1, r3 _08025B62: str r1, [r2] - ldr r1, _08025B70 @ =gUnknown_2023D74 + ldr r1, _08025B70 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_08025B70: .4byte gUnknown_2023D74 +_08025B70: .4byte gBattlescriptCurrInstr thumb_func_end atk5F thumb_func_start atk60_incrementgamestat @@ -16507,12 +16507,12 @@ atk60_incrementgamestat: @ 8025B74 lsls r0, 24 cmp r0, 0 bne _08025B8E - ldr r0, _08025BA0 @ =gUnknown_2023D74 + ldr r0, _08025BA0 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] bl IncrementGameStat _08025B8E: - ldr r1, _08025BA0 @ =gUnknown_2023D74 + ldr r1, _08025BA0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -16520,7 +16520,7 @@ _08025B8E: bx r0 .align 2, 0 _08025B9C: .4byte gBattlerAttacker -_08025BA0: .4byte gUnknown_2023D74 +_08025BA0: .4byte gBattlescriptCurrInstr thumb_func_end atk60_incrementgamestat thumb_func_start atk61_drawpartystatussummary @@ -16533,10 +16533,10 @@ atk61_drawpartystatussummary: @ 8025BA4 ldr r0, [r0] cmp r0, 0 bne _08025C58 - ldr r0, _08025C0C @ =gUnknown_2023D74 + ldr r0, _08025C0C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08025C10 @ =gActiveBattler strb r0, [r1] ldrb r0, [r1] @@ -16576,7 +16576,7 @@ _08025C00: b _08025C32 .align 2, 0 _08025C08: .4byte gBattleControllerExecFlags -_08025C0C: .4byte gUnknown_2023D74 +_08025C0C: .4byte gBattlescriptCurrInstr _08025C10: .4byte gActiveBattler _08025C14: .4byte gEnemyParty _08025C18: .4byte gPlayerParty @@ -16602,8 +16602,8 @@ _08025C32: bl BtlController_EmitDrawPartyStatusSummary ldr r0, _08025C64 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _08025C68 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08025C68 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -16616,22 +16616,22 @@ _08025C58: bx r0 .align 2, 0 _08025C64: .4byte gActiveBattler -_08025C68: .4byte gUnknown_2023D74 +_08025C68: .4byte gBattlescriptCurrInstr thumb_func_end atk61_drawpartystatussummary thumb_func_start atk62 atk62: @ 8025C6C push {r4,r5,lr} - ldr r5, _08025C94 @ =gUnknown_2023D74 + ldr r5, _08025C94 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08025C98 @ =gActiveBattler strb r0, [r4] movs r0, 0 bl BtlController_EmitHidePartyStatusSummary ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -16639,14 +16639,14 @@ atk62: @ 8025C6C pop {r0} bx r0 .align 2, 0 -_08025C94: .4byte gUnknown_2023D74 +_08025C94: .4byte gBattlescriptCurrInstr _08025C98: .4byte gActiveBattler thumb_func_end atk62 thumb_func_start atk63_jumptorandomattack atk63_jumptorandomattack: @ 8025C9C push {r4,lr} - ldr r0, _08025CB4 @ =gUnknown_2023D74 + ldr r0, _08025CB4 @ =gBattlescriptCurrInstr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -16658,7 +16658,7 @@ atk63_jumptorandomattack: @ 8025C9C strh r1, [r0] b _08025CCE .align 2, 0 -_08025CB4: .4byte gUnknown_2023D74 +_08025CB4: .4byte gBattlescriptCurrInstr _08025CB8: .4byte gCurrentMove _08025CBC: .4byte gUnknown_2023D4E _08025CC0: @@ -16700,10 +16700,10 @@ atk64_statusanimation: @ 8025D00 ldr r0, [r0] cmp r0, 0 bne _08025D68 - ldr r0, _08025D74 @ =gUnknown_2023D74 + ldr r0, _08025D74 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08025D78 @ =gActiveBattler strb r0, [r4] ldr r1, _08025D7C @ =gStatuses3 @@ -16723,7 +16723,7 @@ atk64_statusanimation: @ 8025D00 ldrb r0, [r1, 0xA] cmp r0, 0 bne _08025D60 - ldr r0, _08025D88 @ =gUnknown_2023DD0 + ldr r0, _08025D88 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -16739,9 +16739,9 @@ atk64_statusanimation: @ 8025D00 movs r1, 0 bl BtlController_EmitStatusAnimation ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08025D60: - ldr r1, _08025D74 @ =gUnknown_2023D74 + ldr r1, _08025D74 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -16751,12 +16751,12 @@ _08025D68: bx r0 .align 2, 0 _08025D70: .4byte gBattleControllerExecFlags -_08025D74: .4byte gUnknown_2023D74 +_08025D74: .4byte gBattlescriptCurrInstr _08025D78: .4byte gActiveBattler _08025D7C: .4byte gStatuses3 _08025D80: .4byte 0x000400c0 _08025D84: .4byte gDisableStructs -_08025D88: .4byte gUnknown_2023DD0 +_08025D88: .4byte gHitMarker _08025D8C: .4byte gBattleMons thumb_func_end atk64_statusanimation @@ -16767,10 +16767,10 @@ atk65_status2animation: @ 8025D90 ldr r0, [r0] cmp r0, 0 bne _08025E10 - ldr r4, _08025E1C @ =gUnknown_2023D74 + ldr r4, _08025E1C @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _08025E20 @ =gActiveBattler strb r0, [r5] ldr r1, [r4] @@ -16801,7 +16801,7 @@ atk65_status2animation: @ 8025D90 ldrb r0, [r1, 0xA] cmp r0, 0 bne _08025E08 - ldr r0, _08025E30 @ =gUnknown_2023DD0 + ldr r0, _08025E30 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -16818,9 +16818,9 @@ atk65_status2animation: @ 8025D90 movs r1, 0x1 bl BtlController_EmitStatusAnimation ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08025E08: - ldr r1, _08025E1C @ =gUnknown_2023D74 + ldr r1, _08025E1C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x6 str r0, [r1] @@ -16830,12 +16830,12 @@ _08025E10: bx r0 .align 2, 0 _08025E18: .4byte gBattleControllerExecFlags -_08025E1C: .4byte gUnknown_2023D74 +_08025E1C: .4byte gBattlescriptCurrInstr _08025E20: .4byte gActiveBattler _08025E24: .4byte gStatuses3 _08025E28: .4byte 0x000400c0 _08025E2C: .4byte gDisableStructs -_08025E30: .4byte gUnknown_2023DD0 +_08025E30: .4byte gHitMarker _08025E34: .4byte gBattleMons thumb_func_end atk65_status2animation @@ -16846,10 +16846,10 @@ atk66_chosenstatusanimation: @ 8025E38 ldr r0, [r0] cmp r0, 0 bne _08025EAA - ldr r4, _08025EB4 @ =gUnknown_2023D74 + ldr r4, _08025EB4 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _08025EB8 @ =gActiveBattler strb r0, [r5] ldr r4, [r4] @@ -16880,7 +16880,7 @@ atk66_chosenstatusanimation: @ 8025E38 ldrb r0, [r1, 0xA] cmp r0, 0 bne _08025EA2 - ldr r0, _08025EC8 @ =gUnknown_2023DD0 + ldr r0, _08025EC8 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 ands r0, r1 @@ -16890,9 +16890,9 @@ atk66_chosenstatusanimation: @ 8025E38 movs r0, 0 bl BtlController_EmitStatusAnimation ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08025EA2: - ldr r1, _08025EB4 @ =gUnknown_2023D74 + ldr r1, _08025EB4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x7 str r0, [r1] @@ -16902,19 +16902,19 @@ _08025EAA: bx r0 .align 2, 0 _08025EB0: .4byte gBattleControllerExecFlags -_08025EB4: .4byte gUnknown_2023D74 +_08025EB4: .4byte gBattlescriptCurrInstr _08025EB8: .4byte gActiveBattler _08025EBC: .4byte gStatuses3 _08025EC0: .4byte 0x000400c0 _08025EC4: .4byte gDisableStructs -_08025EC8: .4byte gUnknown_2023DD0 +_08025EC8: .4byte gHitMarker thumb_func_end atk66_chosenstatusanimation thumb_func_start atk67_yesnobox atk67_yesnobox: @ 8025ECC push {r4,r5,lr} sub sp, 0x4 - ldr r5, _08025EE0 @ =gUnknown_2023E82 + ldr r5, _08025EE0 @ =gBattleCommunication ldrb r4, [r5] cmp r4, 0 beq _08025EE4 @@ -16922,7 +16922,7 @@ atk67_yesnobox: @ 8025ECC beq _08025F0C b _08025F9A .align 2, 0 -_08025EE0: .4byte gUnknown_2023E82 +_08025EE0: .4byte gBattleCommunication _08025EE4: str r4, [sp] movs r0, 0x17 @@ -16964,7 +16964,7 @@ _08025F30: ands r0, r1 cmp r0, 0 beq _08025F56 - ldr r4, _08025F70 @ =gUnknown_2023E82 + ldr r4, _08025F70 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _08025F56 @@ -16981,13 +16981,13 @@ _08025F56: ands r0, r1 cmp r0, 0 beq _08025F74 - ldr r0, _08025F70 @ =gUnknown_2023E82 + ldr r0, _08025F70 @ =gBattleCommunication movs r4, 0x1 strb r4, [r0, 0x1] b _08025F7E .align 2, 0 _08025F6C: .4byte gMain -_08025F70: .4byte gUnknown_2023E82 +_08025F70: .4byte gBattleCommunication _08025F74: movs r4, 0x1 adds r0, r4, 0 @@ -17003,7 +17003,7 @@ _08025F7E: movs r2, 0x1D movs r3, 0xD bl sub_802DB7C - ldr r1, _08025FA4 @ =gUnknown_2023D74 + ldr r1, _08025FA4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17013,7 +17013,7 @@ _08025F9A: pop {r0} bx r0 .align 2, 0 -_08025FA4: .4byte gUnknown_2023D74 +_08025FA4: .4byte gBattlescriptCurrInstr thumb_func_end atk67_yesnobox thumb_func_start atk68_cancelallactions @@ -17021,7 +17021,7 @@ atk68_cancelallactions: @ 8025FA8 push {r4,r5,lr} movs r1, 0 ldr r2, _08025FD4 @ =gBattlersCount - ldr r5, _08025FD8 @ =gUnknown_2023D74 + ldr r5, _08025FD8 @ =gBattlescriptCurrInstr ldrb r0, [r2] cmp r1, r0 bge _08025FC6 @@ -17043,7 +17043,7 @@ _08025FC6: bx r0 .align 2, 0 _08025FD4: .4byte gBattlersCount -_08025FD8: .4byte gUnknown_2023D74 +_08025FD8: .4byte gBattlescriptCurrInstr _08025FDC: .4byte gUnknown_2023BDA thumb_func_end atk68_cancelallactions @@ -17103,7 +17103,7 @@ _0802602E: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _080260F8 @ =gUnknown_2023ECC + ldr r2, _080260F8 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -17139,14 +17139,14 @@ _0802606C: ldrb r0, [r0] cmp r0, 0x65 beq _080260BE - ldr r0, _08026108 @ =gUnknown_2023E8C + ldr r0, _08026108 @ =gProtectStructs lsls r1, r4, 4 adds r1, r0 ldrb r0, [r1] lsls r0, 30 cmp r0, 0 blt _080260BE - ldr r0, _080260F8 @ =gUnknown_2023ECC + ldr r0, _080260F8 @ =gSpecialStatuses lsls r1, r4, 2 adds r1, r4 lsls r1, 2 @@ -17167,7 +17167,7 @@ _080260BE: bgt _0802613C subs r0, r1, 0x1 str r0, [r2] - ldr r1, _08026108 @ =gUnknown_2023E8C + ldr r1, _08026108 @ =gProtectStructs ldrb r3, [r3] lsls r0, r3, 4 adds r0, r1 @@ -17184,15 +17184,15 @@ _080260BE: .align 2, 0 _080260F0: .4byte gPotentialItemEffectBattler _080260F4: .4byte gBattlerTarget -_080260F8: .4byte gUnknown_2023ECC +_080260F8: .4byte gSpecialStatuses _080260FC: .4byte gBattleMons _08026100: .4byte gBattleMoves _08026104: .4byte gCurrentMove -_08026108: .4byte gUnknown_2023E8C +_08026108: .4byte gProtectStructs _0802610C: .4byte gBattleMoveDamage _08026110: .4byte gMoveResultFlags _08026114: - ldr r0, _0802614C @ =gUnknown_2023ECC + ldr r0, _0802614C @ =gSpecialStatuses lsls r1, r3, 2 adds r1, r3 lsls r1, 2 @@ -17213,7 +17213,7 @@ _08026114: ldrh r0, [r0, 0x2E] strh r0, [r1] _0802613C: - ldr r1, _08026158 @ =gUnknown_2023D74 + ldr r1, _08026158 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17221,20 +17221,20 @@ _0802613C: pop {r0} bx r0 .align 2, 0 -_0802614C: .4byte gUnknown_2023ECC +_0802614C: .4byte gSpecialStatuses _08026150: .4byte gMoveResultFlags _08026154: .4byte gLastUsedItem -_08026158: .4byte gUnknown_2023D74 +_08026158: .4byte gBattlescriptCurrInstr thumb_func_end atk69_adjustsetdamage thumb_func_start atk6A_removeitem atk6A_removeitem: @ 802615C push {r4-r6,lr} sub sp, 0x4 - ldr r6, _080261BC @ =gUnknown_2023D74 + ldr r6, _080261BC @ =gBattlescriptCurrInstr ldr r0, [r6] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r5, _080261C0 @ =gActiveBattler strb r0, [r5] ldr r1, _080261C4 @ =gBattleStruct @@ -17266,7 +17266,7 @@ atk6A_removeitem: @ 802615C movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r5] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r6] adds r0, 0x2 str r0, [r6] @@ -17275,7 +17275,7 @@ atk6A_removeitem: @ 802615C pop {r0} bx r0 .align 2, 0 -_080261BC: .4byte gUnknown_2023D74 +_080261BC: .4byte gBattlescriptCurrInstr _080261C0: .4byte gActiveBattler _080261C4: .4byte gBattleStruct _080261C8: .4byte gBattleMons @@ -17299,7 +17299,7 @@ atk6B_atknameinbuff1: @ 80261CC strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _08026204 @ =gUnknown_2023D74 + ldr r1, _08026204 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17308,7 +17308,7 @@ atk6B_atknameinbuff1: @ 80261CC _080261F8: .4byte gBattleTextBuff1 _080261FC: .4byte gBattlerAttacker _08026200: .4byte gBattlerPartyIndexes -_08026204: .4byte gUnknown_2023D74 +_08026204: .4byte gBattlescriptCurrInstr thumb_func_end atk6B_atknameinbuff1 thumb_func_start atk6C_drawlvlupbox @@ -17524,7 +17524,7 @@ _080263C4: bl ShowBg movs r0, 0x1 bl ShowBg - ldr r1, _08026400 @ =gUnknown_2023D74 + ldr r1, _08026400 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -17534,7 +17534,7 @@ _080263F6: pop {r0} bx r0 .align 2, 0 -_08026400: .4byte gUnknown_2023D74 +_08026400: .4byte gBattlescriptCurrInstr thumb_func_end atk6C_drawlvlupbox thumb_func_start sub_8026404 @@ -18025,14 +18025,14 @@ _080267D2: atk6D_resetsentmonsvalue: @ 80267D8 push {lr} bl ResetSentPokesToOpponentValue - ldr r1, _080267EC @ =gUnknown_2023D74 + ldr r1, _080267EC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080267EC: .4byte gUnknown_2023D74 +_080267EC: .4byte gBattlescriptCurrInstr thumb_func_end atk6D_resetsentmonsvalue thumb_func_start atk6E_setatktoplayer0 @@ -18042,7 +18042,7 @@ atk6E_setatktoplayer0: @ 80267F0 bl GetBattlerAtPosition ldr r1, _08026808 @ =gBattlerAttacker strb r0, [r1] - ldr r1, _0802680C @ =gUnknown_2023D74 + ldr r1, _0802680C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -18050,23 +18050,23 @@ atk6E_setatktoplayer0: @ 80267F0 bx r0 .align 2, 0 _08026808: .4byte gBattlerAttacker -_0802680C: .4byte gUnknown_2023D74 +_0802680C: .4byte gBattlescriptCurrInstr thumb_func_end atk6E_setatktoplayer0 thumb_func_start atk6F_makevisible atk6F_makevisible: @ 8026810 push {r4,r5,lr} - ldr r5, _0802683C @ =gUnknown_2023D74 + ldr r5, _0802683C @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _08026840 @ =gActiveBattler strb r0, [r4] movs r0, 0 movs r1, 0 bl BtlController_EmitSpriteInvisibility ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -18074,17 +18074,17 @@ atk6F_makevisible: @ 8026810 pop {r0} bx r0 .align 2, 0 -_0802683C: .4byte gUnknown_2023D74 +_0802683C: .4byte gBattlescriptCurrInstr _08026840: .4byte gActiveBattler thumb_func_end atk6F_makevisible thumb_func_start atk70_recordlastability atk70_recordlastability: @ 8026844 push {r4,lr} - ldr r4, _0802686C @ =gUnknown_2023D74 + ldr r4, _0802686C @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08026870 @ =gActiveBattler strb r0, [r1] ldrb r0, [r1] @@ -18098,7 +18098,7 @@ atk70_recordlastability: @ 8026844 pop {r0} bx r0 .align 2, 0 -_0802686C: .4byte gUnknown_2023D74 +_0802686C: .4byte gBattlescriptCurrInstr _08026870: .4byte gActiveBattler _08026874: .4byte gLastUsedAbility thumb_func_end atk70_recordlastability @@ -18130,26 +18130,26 @@ _0802689C: .4byte gMoveToLearn atk71_buffermovetolearn: @ 80268A0 push {lr} bl BufferMoveToLearnIntoBattleTextBuff2 - ldr r1, _080268B4 @ =gUnknown_2023D74 + ldr r1, _080268B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080268B4: .4byte gUnknown_2023D74 +_080268B4: .4byte gBattlescriptCurrInstr thumb_func_end atk71_buffermovetolearn thumb_func_start atk72_jumpifplayerran atk72_jumpifplayerran: @ 80268B8 push {lr} - ldr r0, _080268E4 @ =gUnknown_2023D6D + ldr r0, _080268E4 @ =gBattlerFainted ldrb r0, [r0] bl sub_8016748 lsls r0, 24 cmp r0, 0 beq _080268EC - ldr r3, _080268E8 @ =gUnknown_2023D74 + ldr r3, _080268E8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -18164,10 +18164,10 @@ atk72_jumpifplayerran: @ 80268B8 str r1, [r3] b _080268F4 .align 2, 0 -_080268E4: .4byte gUnknown_2023D6D -_080268E8: .4byte gUnknown_2023D74 +_080268E4: .4byte gBattlerFainted +_080268E8: .4byte gBattlescriptCurrInstr _080268EC: - ldr r1, _080268F8 @ =gUnknown_2023D74 + ldr r1, _080268F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -18175,7 +18175,7 @@ _080268F4: pop {r0} bx r0 .align 2, 0 -_080268F8: .4byte gUnknown_2023D74 +_080268F8: .4byte gBattlescriptCurrInstr thumb_func_end atk72_jumpifplayerran thumb_func_start atk73_hpthresholds @@ -18187,10 +18187,10 @@ atk73_hpthresholds: @ 80268FC ands r4, r6 cmp r4, 0 bne _08026992 - ldr r0, _08026950 @ =gUnknown_2023D74 + ldr r0, _08026950 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08026954 @ =gActiveBattler strb r0, [r1] movs r1, 0x1 @@ -18222,7 +18222,7 @@ _08026942: b _08026992 .align 2, 0 _0802694C: .4byte gBattleTypeFlags -_08026950: .4byte gUnknown_2023D74 +_08026950: .4byte gBattlescriptCurrInstr _08026954: .4byte gActiveBattler _08026958: .4byte gBattleMons _0802695C: .4byte gBattleStruct @@ -18254,7 +18254,7 @@ _08026988: _08026990: strb r1, [r0] _08026992: - ldr r1, _080269A4 @ =gUnknown_2023D74 + ldr r1, _080269A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -18263,7 +18263,7 @@ _08026992: bx r0 .align 2, 0 _080269A0: .4byte gBattleStruct -_080269A4: .4byte gUnknown_2023D74 +_080269A4: .4byte gBattlescriptCurrInstr thumb_func_end atk73_hpthresholds thumb_func_start atk74_hpthresholds2 @@ -18278,10 +18278,10 @@ atk74_hpthresholds2: @ 80269A8 ands r7, r0 cmp r7, 0 bne _08026A42 - ldr r0, _08026A10 @ =gUnknown_2023D74 + ldr r0, _08026A10 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript adds r4, r0, 0 ldr r0, _08026A14 @ =gActiveBattler strb r4, [r0] @@ -18317,7 +18317,7 @@ atk74_hpthresholds2: @ 80269A8 b _08026A42 .align 2, 0 _08026A0C: .4byte gBattleTypeFlags -_08026A10: .4byte gUnknown_2023D74 +_08026A10: .4byte gBattlescriptCurrInstr _08026A14: .4byte gActiveBattler _08026A18: .4byte gBattleStruct _08026A1C: .4byte gBattleMons @@ -18343,7 +18343,7 @@ _08026A3A: _08026A40: strb r0, [r1] _08026A42: - ldr r1, _08026A54 @ =gUnknown_2023D74 + ldr r1, _08026A54 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -18353,7 +18353,7 @@ _08026A42: pop {r0} bx r0 .align 2, 0 -_08026A54: .4byte gUnknown_2023D74 +_08026A54: .4byte gBattlescriptCurrInstr thumb_func_end atk74_hpthresholds2 thumb_func_start atk75_useitemonopponent @@ -18381,7 +18381,7 @@ atk75_useitemonopponent: @ 8026A58 str r3, [sp] movs r3, 0 bl PokemonUseItemEffects - ldr r1, _08026AAC @ =gUnknown_2023D74 + ldr r1, _08026AAC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -18394,7 +18394,7 @@ _08026A9C: .4byte gBattlerAttacker _08026AA0: .4byte gBattlerPartyIndexes _08026AA4: .4byte gEnemyParty _08026AA8: .4byte gLastUsedItem -_08026AAC: .4byte gUnknown_2023D74 +_08026AAC: .4byte gBattlescriptCurrInstr thumb_func_end atk75_useitemonopponent thumb_func_start sub_8026AB0 @@ -18404,10 +18404,10 @@ sub_8026AB0: @ 8026AB0 mov r6, r8 push {r6,r7} sub sp, 0x8 - ldr r4, _08026ADC @ =gUnknown_2023D74 + ldr r4, _08026ADC @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _08026AE0 @ =gActiveBattler strb r0, [r1] ldr r0, [r4] @@ -18422,7 +18422,7 @@ _08026AD2: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08026ADC: .4byte gUnknown_2023D74 +_08026ADC: .4byte gBattlescriptCurrInstr _08026AE0: .4byte gActiveBattler _08026AE4: .4byte _08026AE8 .align 2, 0 @@ -18492,11 +18492,11 @@ _08026B84: .4byte gBattlerTarget _08026B88: .4byte gActiveBattler _08026B8C: bl IsRunningFromBattleImpossible - ldr r1, _08026B98 @ =gUnknown_2023E82 + ldr r1, _08026B98 @ =gBattleCommunication strb r0, [r1] b _08026F4E .align 2, 0 -_08026B98: .4byte gUnknown_2023E82 +_08026B98: .4byte gBattleCommunication _08026B9C: ldr r0, _08026BAC @ =gCurrentMove ldrh r0, [r0] @@ -18509,7 +18509,7 @@ _08026B9C: _08026BAC: .4byte gCurrentMove _08026BB0: .4byte gBattlerTarget _08026BB4: - ldr r2, _08026BD4 @ =gUnknown_2023DD0 + ldr r2, _08026BD4 @ =gHitMarker ldr r1, _08026BD8 @ =gBitTable ldr r0, _08026BDC @ =gActiveBattler ldrb r0, [r0] @@ -18521,23 +18521,23 @@ _08026BB4: ands r2, r0 cmp r2, 0 beq _08026BE4 - ldr r1, _08026BE0 @ =gUnknown_2023E82 + ldr r1, _08026BE0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1] b _08026F4E .align 2, 0 -_08026BD4: .4byte gUnknown_2023DD0 +_08026BD4: .4byte gHitMarker _08026BD8: .4byte gBitTable _08026BDC: .4byte gActiveBattler -_08026BE0: .4byte gUnknown_2023E82 +_08026BE0: .4byte gBattleCommunication _08026BE4: - ldr r0, _08026BEC @ =gUnknown_2023E82 + ldr r0, _08026BEC @ =gBattleCommunication strb r2, [r0] b _08026F4E .align 2, 0 -_08026BEC: .4byte gUnknown_2023E82 +_08026BEC: .4byte gBattleCommunication _08026BF0: - ldr r4, _08026C20 @ =gUnknown_2023ECC + ldr r4, _08026C20 @ =gSpecialStatuses ldr r3, _08026C24 @ =gActiveBattler ldrb r0, [r3] lsls r1, r0, 2 @@ -18561,7 +18561,7 @@ _08026BF0: strb r0, [r1] b _08026F4E .align 2, 0 -_08026C20: .4byte gUnknown_2023ECC +_08026C20: .4byte gSpecialStatuses _08026C24: .4byte gActiveBattler _08026C28: ldr r4, _08026C4C @ =gBattlerPartyIndexes @@ -18658,7 +18658,7 @@ _08026CCC: bne _08026CD8 b _08026F4E _08026CD8: - ldr r0, _08026CEC @ =gUnknown_2023DD0 + ldr r0, _08026CEC @ =gHitMarker ldr r1, [r0] ldr r2, _08026CF0 @ =0xffbfffff ands r1, r2 @@ -18667,11 +18667,11 @@ _08026CD8: .align 2, 0 _08026CE4: .4byte gBattleTypeFlags _08026CE8: .4byte gBattleMons -_08026CEC: .4byte gUnknown_2023DD0 +_08026CEC: .4byte gHitMarker _08026CF0: .4byte 0xffbfffff _08026CF4: movs r7, 0 - ldr r2, _08026D3C @ =gUnknown_2023E82 + ldr r2, _08026D3C @ =gBattleCommunication strb r7, [r2, 0x5] ldr r1, _08026D40 @ =gActiveBattler movs r0, 0x1 @@ -18709,7 +18709,7 @@ _08026D2A: bls _08026D0C b _08026F4E .align 2, 0 -_08026D3C: .4byte gUnknown_2023E82 +_08026D3C: .4byte gBattleCommunication _08026D40: .4byte gActiveBattler _08026D44: .4byte gBattlersCount _08026D48: .4byte gBattleMons @@ -18748,14 +18748,14 @@ _08026D84: movs r1, 0 bl BtlController_EmitReturnMonToBall ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _08026F4E .align 2, 0 _08026D94: .4byte gBattlersCount _08026D98: .4byte gActiveBattler _08026D9C: .4byte gBattleMons _08026DA0: - ldr r0, _08026F28 @ =gUnknown_2023E82 + ldr r0, _08026F28 @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x5] mov r8, r1 @@ -18865,8 +18865,8 @@ _08026E4E: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08026F28 @ =gUnknown_2023E82 + bl MarkBattlerForControllerExec + ldr r1, _08026F28 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] _08026E88: @@ -18940,13 +18940,13 @@ _08026EEC: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08026F28 @ =gUnknown_2023E82 + bl MarkBattlerForControllerExec + ldr r1, _08026F28 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08026F4E .align 2, 0 -_08026F28: .4byte gUnknown_2023E82 +_08026F28: .4byte gBattleCommunication _08026F2C: .4byte gBattlersCount _08026F30: .4byte gBattleMons _08026F34: .4byte 0xf7ffffff @@ -18959,7 +18959,7 @@ _08026F44: cmp r0, 0 beq _08026F56 _08026F4E: - ldr r1, _08026F64 @ =gUnknown_2023D74 + ldr r1, _08026F64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x3 str r0, [r1] @@ -18972,7 +18972,7 @@ _08026F56: pop {r0} bx r0 .align 2, 0 -_08026F64: .4byte gUnknown_2023D74 +_08026F64: .4byte gBattlescriptCurrInstr thumb_func_end sub_8026AB0 thumb_func_start atk77_setprotectlike @@ -19039,7 +19039,7 @@ _08026FA8: ldrb r0, [r1] cmp r0, 0x6F bne _08026FF8 - ldr r0, _08027054 @ =gUnknown_2023E8C + ldr r0, _08027054 @ =gProtectStructs ldrb r1, [r5] lsls r1, 4 adds r1, r0 @@ -19047,7 +19047,7 @@ _08026FA8: movs r2, 0x1 orrs r0, r2 strb r0, [r1] - ldr r1, _08027058 @ =gUnknown_2023E82 + ldr r1, _08027058 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] _08026FF8: @@ -19059,7 +19059,7 @@ _08026FF8: ldrb r0, [r1] cmp r0, 0x74 bne _0802701E - ldr r0, _08027054 @ =gUnknown_2023E8C + ldr r0, _08027054 @ =gProtectStructs ldrb r1, [r5] lsls r1, 4 adds r1, r0 @@ -19067,7 +19067,7 @@ _08026FF8: movs r2, 0x2 orrs r0, r2 strb r0, [r1] - ldr r1, _08027058 @ =gUnknown_2023E82 + ldr r1, _08027058 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] _0802701E: @@ -19090,8 +19090,8 @@ _08027044: .4byte gBattlersCount _08027048: .4byte gUnknown_82507E0 _0802704C: .4byte gBattleMoves _08027050: .4byte gCurrentMove -_08027054: .4byte gUnknown_2023E8C -_08027058: .4byte gUnknown_2023E82 +_08027054: .4byte gProtectStructs +_08027058: .4byte gBattleCommunication _0802705C: ldr r2, _08027090 @ =gDisableStructs ldr r0, _08027094 @ =gBattlerAttacker @@ -19102,7 +19102,7 @@ _0802705C: adds r0, r2 movs r1, 0 strb r1, [r0, 0x8] - ldr r1, _08027098 @ =gUnknown_2023E82 + ldr r1, _08027098 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] ldr r2, _0802709C @ =gMoveResultFlags @@ -19111,7 +19111,7 @@ _0802705C: orrs r0, r1 strb r0, [r2] _0802707E: - ldr r1, _080270A0 @ =gUnknown_2023D74 + ldr r1, _080270A0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19123,9 +19123,9 @@ _0802707E: .align 2, 0 _08027090: .4byte gDisableStructs _08027094: .4byte gBattlerAttacker -_08027098: .4byte gUnknown_2023E82 +_08027098: .4byte gBattleCommunication _0802709C: .4byte gMoveResultFlags -_080270A0: .4byte gUnknown_2023D74 +_080270A0: .4byte gBattlescriptCurrInstr thumb_func_end atk77_setprotectlike thumb_func_start atk78_faintifabilitynotdamp @@ -19190,8 +19190,8 @@ _080270F0: movs r0, 0 bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _08027180 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _08027180 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19235,7 +19235,7 @@ _08027170: .4byte gActiveBattler _08027174: .4byte gBattlerAttacker _08027178: .4byte gBattleMoveDamage _0802717C: .4byte 0x00007fff -_08027180: .4byte gUnknown_2023D74 +_08027180: .4byte gBattlescriptCurrInstr _08027184: .4byte gBitTable _08027188: .4byte gAbsentBattlerFlags _0802718C: @@ -19249,7 +19249,7 @@ _0802718C: adds r1, 0x20 ldrb r1, [r1] bl sub_80C71D0 - ldr r1, _080271B8 @ =gUnknown_2023D74 + ldr r1, _080271B8 @ =gBattlescriptCurrInstr ldr r0, _080271BC @ =gUnknown_81D93AF str r0, [r1] _080271A8: @@ -19260,7 +19260,7 @@ _080271A8: bx r0 .align 2, 0 _080271B4: .4byte gLastUsedAbility -_080271B8: .4byte gUnknown_2023D74 +_080271B8: .4byte gBattlescriptCurrInstr _080271BC: .4byte gUnknown_81D93AF thumb_func_end atk78_faintifabilitynotdamp @@ -19293,8 +19293,8 @@ atk79_setatkhptozero: @ 80271C0 movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _0802721C @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802721C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19308,13 +19308,13 @@ _0802720C: .4byte gBattleControllerExecFlags _08027210: .4byte gActiveBattler _08027214: .4byte gBattlerAttacker _08027218: .4byte gBattleMons -_0802721C: .4byte gUnknown_2023D74 +_0802721C: .4byte gBattlescriptCurrInstr thumb_func_end atk79_setatkhptozero thumb_func_start atk7A_jumpifnexttargetvalid atk7A_jumpifnexttargetvalid: @ 8027220 push {r4-r7,lr} - ldr r3, _08027298 @ =gUnknown_2023D74 + ldr r3, _08027298 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r4, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -19376,7 +19376,7 @@ _08027276: str r0, [r7] b _080272BC .align 2, 0 -_08027298: .4byte gUnknown_2023D74 +_08027298: .4byte gBattlescriptCurrInstr _0802729C: .4byte gBattleTypeFlags _080272A0: .4byte gBattlerTarget _080272A4: .4byte gBattlerAttacker @@ -19398,7 +19398,7 @@ _080272BC: thumb_func_start atk7B_tryhealhalfhealth atk7B_tryhealhalfhealth: @ 80272C4 push {r4-r6,lr} - ldr r4, _08027320 @ =gUnknown_2023D74 + ldr r4, _08027320 @ =gBattlescriptCurrInstr ldr r1, [r4] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -19445,7 +19445,7 @@ _08027306: str r2, [r4] b _0802733A .align 2, 0 -_08027320: .4byte gUnknown_2023D74 +_08027320: .4byte gBattlescriptCurrInstr _08027324: .4byte gBattlerTarget _08027328: .4byte gBattlerAttacker _0802732C: .4byte gBattleMoveDamage @@ -19538,7 +19538,7 @@ _080273AC: ldr r0, _080273EC @ =0x0000ffff cmp r3, r0 beq _080273FC - ldr r2, _080273F0 @ =gUnknown_2023DD0 + ldr r2, _080273F0 @ =gHitMarker ldr r0, [r2] ldr r1, _080273F4 @ =0xfffffbff ands r0, r1 @@ -19551,14 +19551,14 @@ _080273E0: .4byte gBattlersCount _080273E4: .4byte gBattleStruct _080273E8: .4byte gBattlerAttacker _080273EC: .4byte 0x0000ffff -_080273F0: .4byte gUnknown_2023DD0 +_080273F0: .4byte gHitMarker _080273F4: .4byte 0xfffffbff _080273F8: .4byte gCurrentMove _080273FC: mov r0, r8 cmp r0, 0 beq _0802746C - ldr r2, _08027450 @ =gUnknown_2023DD0 + ldr r2, _08027450 @ =gHitMarker ldr r0, [r2] ldr r1, _08027454 @ =0xfffffbff ands r0, r1 @@ -19580,7 +19580,7 @@ _08027426: bl GetMoveTarget ldr r1, _0802745C @ =gBattlerTarget strb r0, [r1] - ldr r5, _08027460 @ =gUnknown_2023D74 + ldr r5, _08027460 @ =gBattlescriptCurrInstr ldr r3, _08027464 @ =gUnknown_81D65A8 ldr r2, _08027468 @ =gBattleMoves ldrh r1, [r4] @@ -19595,15 +19595,15 @@ _08027426: str r0, [r5] b _0802748A .align 2, 0 -_08027450: .4byte gUnknown_2023DD0 +_08027450: .4byte gHitMarker _08027454: .4byte 0xfffffbff _08027458: .4byte gCurrentMove _0802745C: .4byte gBattlerTarget -_08027460: .4byte gUnknown_2023D74 +_08027460: .4byte gBattlescriptCurrInstr _08027464: .4byte gUnknown_81D65A8 _08027468: .4byte gBattleMoves _0802746C: - ldr r2, _0802749C @ =gUnknown_2023ECC + ldr r2, _0802749C @ =gSpecialStatuses ldr r0, _080274A0 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 @@ -19614,7 +19614,7 @@ _0802746C: movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r1, _080274A4 @ =gUnknown_2023D74 + ldr r1, _080274A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19628,9 +19628,9 @@ _0802748A: pop {r0} bx r0 .align 2, 0 -_0802749C: .4byte gUnknown_2023ECC +_0802749C: .4byte gSpecialStatuses _080274A0: .4byte gBattlerAttacker -_080274A4: .4byte gUnknown_2023D74 +_080274A4: .4byte gBattlescriptCurrInstr thumb_func_end atk7C_trymirrormove thumb_func_start atk7D_setrain @@ -19647,34 +19647,34 @@ atk7D_setrain: @ 80274A8 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _080274D0 @ =gUnknown_2023E82 + ldr r1, _080274D0 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _080274E4 .align 2, 0 _080274C8: .4byte gBattleWeather _080274CC: .4byte gMoveResultFlags -_080274D0: .4byte gUnknown_2023E82 +_080274D0: .4byte gBattleCommunication _080274D4: movs r0, 0x1 strh r0, [r2] - ldr r0, _080274F0 @ =gUnknown_2023E82 + ldr r0, _080274F0 @ =gBattleCommunication strb r1, [r0, 0x5] - ldr r0, _080274F4 @ =gUnknown_2023F20 + ldr r0, _080274F4 @ =gWishFutureKnock adds r0, 0x28 movs r1, 0x5 strb r1, [r0] _080274E4: - ldr r1, _080274F8 @ =gUnknown_2023D74 + ldr r1, _080274F8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080274F0: .4byte gUnknown_2023E82 -_080274F4: .4byte gUnknown_2023F20 -_080274F8: .4byte gUnknown_2023D74 +_080274F0: .4byte gBattleCommunication +_080274F4: .4byte gWishFutureKnock +_080274F8: .4byte gBattlescriptCurrInstr thumb_func_end atk7D_setrain thumb_func_start atk7E_setreflect @@ -19683,7 +19683,7 @@ atk7E_setreflect: @ 80274FC ldr r6, _0802752C @ =gBattlerAttacker ldrb r0, [r6] bl GetBattlerPosition - ldr r4, _08027530 @ =gSideAffecting + ldr r4, _08027530 @ =gSideStatuses movs r5, 0x1 adds r1, r5, 0 ands r1, r0 @@ -19699,14 +19699,14 @@ atk7E_setreflect: @ 80274FC movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08027538 @ =gUnknown_2023E82 + ldr r1, _08027538 @ =gBattleCommunication movs r0, 0 b _080275B0 .align 2, 0 _0802752C: .4byte gBattlerAttacker -_08027530: .4byte gSideAffecting +_08027530: .4byte gSideStatuses _08027534: .4byte gMoveResultFlags -_08027538: .4byte gUnknown_2023E82 +_08027538: .4byte gBattleCommunication _0802753C: ldrb r0, [r6] bl GetBattlerPosition @@ -19750,20 +19750,20 @@ _0802753C: lsrs r1, r0, 24 cmp r1, 0x2 bne _080275AC - ldr r0, _080275A8 @ =gUnknown_2023E82 + ldr r0, _080275A8 @ =gBattleCommunication strb r1, [r0, 0x5] b _080275B2 .align 2, 0 _080275A0: .4byte gSideTimers _080275A4: .4byte gBattleTypeFlags -_080275A8: .4byte gUnknown_2023E82 +_080275A8: .4byte gBattleCommunication _080275AC: - ldr r1, _080275C0 @ =gUnknown_2023E82 + ldr r1, _080275C0 @ =gBattleCommunication movs r0, 0x1 _080275B0: strb r0, [r1, 0x5] _080275B2: - ldr r1, _080275C4 @ =gUnknown_2023D74 + ldr r1, _080275C4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19771,8 +19771,8 @@ _080275B2: pop {r0} bx r0 .align 2, 0 -_080275C0: .4byte gUnknown_2023E82 -_080275C4: .4byte gUnknown_2023D74 +_080275C0: .4byte gBattleCommunication +_080275C4: .4byte gBattlescriptCurrInstr thumb_func_end atk7E_setreflect thumb_func_start atk7F_setseeded @@ -19806,7 +19806,7 @@ _080275FA: movs r0, 0x1 orrs r0, r5 strb r0, [r7] - ldr r1, _08027614 @ =gUnknown_2023E82 + ldr r1, _08027614 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08027668 @@ -19814,7 +19814,7 @@ _080275FA: _08027608: .4byte gMoveResultFlags _0802760C: .4byte gStatuses3 _08027610: .4byte gBattlerTarget -_08027614: .4byte gUnknown_2023E82 +_08027614: .4byte gBattleCommunication _08027618: ldr r1, _08027644 @ =gBattleMons movs r0, 0x58 @@ -19834,13 +19834,13 @@ _08027634: movs r0, 0x1 orrs r0, r5 strb r0, [r7] - ldr r1, _08027648 @ =gUnknown_2023E82 + ldr r1, _08027648 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _08027668 .align 2, 0 _08027644: .4byte gBattleMons -_08027648: .4byte gUnknown_2023E82 +_08027648: .4byte gBattleCommunication _0802764C: ldr r0, _0802767C @ =gBattlerAttacker ldrb r0, [r0] @@ -19854,10 +19854,10 @@ _0802764C: mov r2, r12 orrs r0, r2 str r0, [r1] - ldr r0, _08027680 @ =gUnknown_2023E82 + ldr r0, _08027680 @ =gBattleCommunication strb r3, [r0, 0x5] _08027668: - ldr r1, _08027684 @ =gUnknown_2023D74 + ldr r1, _08027684 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -19869,14 +19869,14 @@ _08027668: bx r0 .align 2, 0 _0802767C: .4byte gBattlerAttacker -_08027680: .4byte gUnknown_2023E82 -_08027684: .4byte gUnknown_2023D74 +_08027680: .4byte gBattleCommunication +_08027684: .4byte gBattlescriptCurrInstr thumb_func_end atk7F_setseeded thumb_func_start atk80_manipulatedamage atk80_manipulatedamage: @ 8027688 push {r4,lr} - ldr r1, _080276A0 @ =gUnknown_2023D74 + ldr r1, _080276A0 @ =gBattlescriptCurrInstr ldr r0, [r1] ldrb r2, [r0, 0x1] adds r4, r1, 0 @@ -19888,7 +19888,7 @@ atk80_manipulatedamage: @ 8027688 beq _080276AA b _080276F8 .align 2, 0 -_080276A0: .4byte gUnknown_2023D74 +_080276A0: .4byte gBattlescriptCurrInstr _080276A4: cmp r2, 0x2 beq _080276F0 @@ -19949,7 +19949,7 @@ _08027704: .4byte gBattleMoveDamage atk81_trysetrest: @ 8027708 push {r4-r7,lr} sub sp, 0x4 - ldr r0, _08027760 @ =gUnknown_2023D74 + ldr r0, _08027760 @ =gBattlescriptCurrInstr mov r12, r0 ldr r1, [r0] ldrb r6, [r1, 0x1] @@ -19992,7 +19992,7 @@ atk81_trysetrest: @ 8027708 str r6, [r0] b _080277C8 .align 2, 0 -_08027760: .4byte gUnknown_2023D74 +_08027760: .4byte gBattlescriptCurrInstr _08027764: .4byte gActiveBattler _08027768: .4byte gBattlerTarget _0802776C: .4byte gBattlerAttacker @@ -20007,14 +20007,14 @@ _08027778: ands r1, r0 cmp r1, 0 beq _08027794 - ldr r1, _08027790 @ =gUnknown_2023E82 + ldr r1, _08027790 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08027798 .align 2, 0 -_08027790: .4byte gUnknown_2023E82 +_08027790: .4byte gBattleCommunication _08027794: - ldr r0, _080277D0 @ =gUnknown_2023E82 + ldr r0, _080277D0 @ =gBattleCommunication strb r1, [r0, 0x5] _08027798: ldrb r0, [r5] @@ -20034,8 +20034,8 @@ _08027798: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r1, _080277D4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _080277D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -20045,14 +20045,14 @@ _080277C8: pop {r0} bx r0 .align 2, 0 -_080277D0: .4byte gUnknown_2023E82 -_080277D4: .4byte gUnknown_2023D74 +_080277D0: .4byte gBattleCommunication +_080277D4: .4byte gBattlescriptCurrInstr thumb_func_end atk81_trysetrest thumb_func_start atk82_jumpifnotfirstturn atk82_jumpifnotfirstturn: @ 80277D8 push {r4,r5,lr} - ldr r5, _0802780C @ =gUnknown_2023D74 + ldr r5, _0802780C @ =gBattlescriptCurrInstr ldr r4, [r5] ldrb r3, [r4, 0x1] ldrb r0, [r4, 0x2] @@ -20078,7 +20078,7 @@ atk82_jumpifnotfirstturn: @ 80277D8 str r0, [r5] b _0802781A .align 2, 0 -_0802780C: .4byte gUnknown_2023D74 +_0802780C: .4byte gBattlescriptCurrInstr _08027810: .4byte gDisableStructs _08027814: .4byte gBattlerAttacker _08027818: @@ -20091,13 +20091,13 @@ _0802781A: thumb_func_start atk83_nop atk83_nop: @ 8027820 - ldr r1, _0802782C @ =gUnknown_2023D74 + ldr r1, _0802782C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .align 2, 0 -_0802782C: .4byte gUnknown_2023D74 +_0802782C: .4byte gBattlescriptCurrInstr thumb_func_end atk83_nop thumb_func_start UproarWakeUpCheck @@ -20123,7 +20123,7 @@ UproarWakeUpCheck: @ 8027830 adds r4, r1, 0 movs r3, 0 ldr r6, _08027890 @ =gBattleScripting - ldr r7, _08027894 @ =gUnknown_2023E82 + ldr r7, _08027894 @ =gBattleCommunication _0802785C: mov r0, r12 adds r0, 0x50 @@ -20151,7 +20151,7 @@ _0802785C: _08027888: .4byte gBattlersCount _0802788C: .4byte gBattleMons _08027890: .4byte gBattleScripting -_08027894: .4byte gUnknown_2023E82 +_08027894: .4byte gBattleCommunication _08027898: .4byte gBattlerTarget _0802789C: adds r3, 0x58 @@ -20166,11 +20166,11 @@ _080278A4: movs r0, 0x1 b _080278C2 _080278B0: - ldr r0, _080278B8 @ =gUnknown_2023E82 + ldr r0, _080278B8 @ =gBattleCommunication strb r3, [r0, 0x5] b _080278A4 .align 2, 0 -_080278B8: .4byte gUnknown_2023E82 +_080278B8: .4byte gBattleCommunication _080278BC: strb r2, [r1] b _080278A4 @@ -20187,7 +20187,7 @@ _080278C2: thumb_func_start atk84_jumpifcantmakeasleep atk84_jumpifcantmakeasleep: @ 80278CC push {r4-r6,lr} - ldr r5, _080278F8 @ =gUnknown_2023D74 + ldr r5, _080278F8 @ =gBattlescriptCurrInstr ldr r1, [r5] ldrb r4, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -20208,7 +20208,7 @@ atk84_jumpifcantmakeasleep: @ 80278CC str r4, [r5] b _08027942 .align 2, 0 -_080278F8: .4byte gUnknown_2023D74 +_080278F8: .4byte gBattlescriptCurrInstr _080278FC: .4byte gBattlerTarget _08027900: ldr r1, _08027930 @ =gBattleMons @@ -20226,7 +20226,7 @@ _08027900: _08027918: ldr r2, _08027934 @ =gLastUsedAbility strb r0, [r2] - ldr r1, _08027938 @ =gUnknown_2023E82 + ldr r1, _08027938 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] str r4, [r5] @@ -20237,7 +20237,7 @@ _08027918: .align 2, 0 _08027930: .4byte gBattleMons _08027934: .4byte gLastUsedAbility -_08027938: .4byte gUnknown_2023E82 +_08027938: .4byte gBattleCommunication _0802793C: ldr r0, [r5] adds r0, 0x5 @@ -20266,7 +20266,7 @@ atk85_stockpile: @ 8027948 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802797C @ =gUnknown_2023E82 + ldr r1, _0802797C @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _080279AA @@ -20274,7 +20274,7 @@ atk85_stockpile: @ 8027948 _08027970: .4byte gDisableStructs _08027974: .4byte gBattlerAttacker _08027978: .4byte gMoveResultFlags -_0802797C: .4byte gUnknown_2023E82 +_0802797C: .4byte gBattleCommunication _08027980: adds r0, 0x1 movs r3, 0 @@ -20295,10 +20295,10 @@ _08027980: strb r0, [r2, 0x4] movs r0, 0xFF strb r0, [r2, 0x5] - ldr r0, _080279BC @ =gUnknown_2023E82 + ldr r0, _080279BC @ =gBattleCommunication strb r3, [r0, 0x5] _080279AA: - ldr r1, _080279C0 @ =gUnknown_2023D74 + ldr r1, _080279C0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -20307,8 +20307,8 @@ _080279AA: bx r0 .align 2, 0 _080279B8: .4byte gBattleTextBuff1 -_080279BC: .4byte gUnknown_2023E82 -_080279C0: .4byte gUnknown_2023D74 +_080279BC: .4byte gBattleCommunication +_080279C0: .4byte gBattlescriptCurrInstr thumb_func_end atk85_stockpile thumb_func_start atk86_stockpiletobasedamage @@ -20317,7 +20317,7 @@ atk86_stockpiletobasedamage: @ 80279C4 mov r7, r8 push {r7} sub sp, 0x10 - ldr r3, _080279FC @ =gUnknown_2023D74 + ldr r3, _080279FC @ =gBattlescriptCurrInstr ldr r1, [r3] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -20342,17 +20342,17 @@ atk86_stockpiletobasedamage: @ 80279C4 str r2, [r3] b _08027AAA .align 2, 0 -_080279FC: .4byte gUnknown_2023D74 +_080279FC: .4byte gBattlescriptCurrInstr _08027A00: .4byte gDisableStructs _08027A04: .4byte gBattlerAttacker _08027A08: - ldr r0, _08027AB8 @ =gUnknown_2023E82 + ldr r0, _08027AB8 @ =gBattleCommunication ldrb r0, [r0, 0x6] cmp r0, 0x1 beq _08027A90 ldr r0, _08027ABC @ =gBattleMoveDamage mov r8, r0 - ldr r4, _08027AC0 @ =gSideAffecting + ldr r4, _08027AC0 @ =gSideStatuses ldr r5, _08027AC4 @ =gBattlerTarget ldrb r0, [r5] bl GetBattlerPosition @@ -20397,7 +20397,7 @@ _08027A08: adds r0, r7 ldrb r0, [r0, 0x9] strb r0, [r2, 0x18] - ldr r1, _08027AD4 @ =gUnknown_2023E8C + ldr r1, _08027AD4 @ =gProtectStructs ldrb r0, [r6] lsls r0, 4 adds r0, r1 @@ -20421,7 +20421,7 @@ _08027A90: adds r0, r2 movs r1, 0 strb r1, [r0, 0x9] - ldr r1, _08027AE0 @ =gUnknown_2023D74 + ldr r1, _08027AE0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -20433,17 +20433,17 @@ _08027AAA: pop {r0} bx r0 .align 2, 0 -_08027AB8: .4byte gUnknown_2023E82 +_08027AB8: .4byte gBattleCommunication _08027ABC: .4byte gBattleMoveDamage -_08027AC0: .4byte gSideAffecting +_08027AC0: .4byte gSideStatuses _08027AC4: .4byte gBattlerTarget _08027AC8: .4byte gBattleMons _08027ACC: .4byte gCurrentMove _08027AD0: .4byte gBattleScripting -_08027AD4: .4byte gUnknown_2023E8C +_08027AD4: .4byte gProtectStructs _08027AD8: .4byte gDisableStructs _08027ADC: .4byte gBattlerAttacker -_08027AE0: .4byte gUnknown_2023D74 +_08027AE0: .4byte gBattlescriptCurrInstr thumb_func_end atk86_stockpiletobasedamage thumb_func_start atk87_stockpiletohpheal @@ -20451,7 +20451,7 @@ atk87_stockpiletohpheal: @ 8027AE4 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r7, _08027B24 @ =gUnknown_2023D74 + ldr r7, _08027B24 @ =gBattlescriptCurrInstr ldr r1, [r7] ldrb r2, [r1, 0x1] ldrb r0, [r1, 0x2] @@ -20476,14 +20476,14 @@ atk87_stockpiletohpheal: @ 8027AE4 cmp r1, 0 bne _08027B34 str r2, [r7] - ldr r0, _08027B30 @ =gUnknown_2023E82 + ldr r0, _08027B30 @ =gBattleCommunication strb r1, [r0, 0x5] b _08027BB0 .align 2, 0 -_08027B24: .4byte gUnknown_2023D74 +_08027B24: .4byte gBattlescriptCurrInstr _08027B28: .4byte gDisableStructs _08027B2C: .4byte gBattlerAttacker -_08027B30: .4byte gUnknown_2023E82 +_08027B30: .4byte gBattleCommunication _08027B34: ldr r1, _08027B58 @ =gBattleMons movs r0, 0x58 @@ -20499,14 +20499,14 @@ _08027B34: ldr r1, _08027B5C @ =gBattlerTarget ldrb r0, [r6] strb r0, [r1] - ldr r1, _08027B60 @ =gUnknown_2023E82 + ldr r1, _08027B60 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08027BB0 .align 2, 0 _08027B58: .4byte gBattleMons _08027B5C: .4byte gBattlerTarget -_08027B60: .4byte gUnknown_2023E82 +_08027B60: .4byte gBattleCommunication _08027B64: ldr r5, _08027BBC @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] @@ -20575,7 +20575,7 @@ atk88_negativedamage: @ 8027BC8 negs r0, r0 str r0, [r2] _08027BE4: - ldr r1, _08027BF8 @ =gUnknown_2023D74 + ldr r1, _08027BF8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -20584,7 +20584,7 @@ _08027BE4: .align 2, 0 _08027BF0: .4byte gBattleMoveDamage _08027BF4: .4byte gUnknown_2023D54 -_08027BF8: .4byte gUnknown_2023D74 +_08027BF8: .4byte gBattlescriptCurrInstr thumb_func_end atk88_negativedamage thumb_func_start ChangeStatBuffs @@ -20685,7 +20685,7 @@ _08027C88: beq _08027D58 cmp r5, 0x1 bne _08027D48 - ldr r4, _08027CE8 @ =gUnknown_2023ECC + ldr r4, _08027CE8 @ =gSpecialStatuses ldr r3, _08027CD4 @ =gActiveBattler ldrb r0, [r3] lsls r1, r0, 2 @@ -20696,7 +20696,7 @@ _08027C88: lsls r0, 31 cmp r0, 0 beq _08027CF0 - ldr r0, _08027CEC @ =gUnknown_2023D74 + ldr r0, _08027CEC @ =gBattlescriptCurrInstr mov r4, r8 str r4, [r0] b _08027D48 @@ -20706,8 +20706,8 @@ _08027CD8: .4byte gBattlerTarget _08027CDC: .4byte gBattleTextBuff1 _08027CE0: .4byte gSideTimers _08027CE4: .4byte gCurrentMove -_08027CE8: .4byte gUnknown_2023ECC -_08027CEC: .4byte gUnknown_2023D74 +_08027CE8: .4byte gSpecialStatuses +_08027CEC: .4byte gBattlescriptCurrInstr _08027CF0: mov r0, r8 bl BattleScriptPush @@ -20715,7 +20715,7 @@ _08027CF0: ldr r6, _08027D1C @ =gActiveBattler ldrb r0, [r6] strb r0, [r1, 0x17] - ldr r1, _08027D20 @ =gUnknown_2023D74 + ldr r1, _08027D20 @ =gBattlescriptCurrInstr ldr r0, _08027D24 @ =gUnknown_81D8C3E str r0, [r1] ldrb r1, [r6] @@ -20731,7 +20731,7 @@ _08027CF0: .align 2, 0 _08027D18: .4byte gBattleScripting _08027D1C: .4byte gActiveBattler -_08027D20: .4byte gUnknown_2023D74 +_08027D20: .4byte gBattlescriptCurrInstr _08027D24: .4byte gUnknown_81D8C3E _08027D28: ldr r0, _08027D4C @ =gCurrentMove @@ -20746,7 +20746,7 @@ _08027D28: lsls r0, 24 cmp r0, 0 beq _08027D58 - ldr r1, _08027D50 @ =gUnknown_2023D74 + ldr r1, _08027D50 @ =gBattlescriptCurrInstr ldr r0, _08027D54 @ =gUnknown_81D7DF2 str r0, [r1] _08027D48: @@ -20754,7 +20754,7 @@ _08027D48: b _08028060 .align 2, 0 _08027D4C: .4byte gCurrentMove -_08027D50: .4byte gUnknown_2023D74 +_08027D50: .4byte gBattlescriptCurrInstr _08027D54: .4byte gUnknown_81D7DF2 _08027D58: ldr r2, _08027DA0 @ =gBattleMons @@ -20781,7 +20781,7 @@ _08027D74: beq _08027E0C cmp r5, 0x1 bne _08027D48 - ldr r4, _08027DAC @ =gUnknown_2023ECC + ldr r4, _08027DAC @ =gSpecialStatuses lsls r0, r3, 2 adds r0, r3 lsls r0, 2 @@ -20790,7 +20790,7 @@ _08027D74: lsls r0, 31 cmp r0, 0 beq _08027DB4 - ldr r0, _08027DB0 @ =gUnknown_2023D74 + ldr r0, _08027DB0 @ =gBattlescriptCurrInstr mov r1, r8 str r1, [r0] b _08027D48 @@ -20798,8 +20798,8 @@ _08027D74: _08027DA0: .4byte gBattleMons _08027DA4: .4byte gActiveBattler _08027DA8: .4byte gCurrentMove -_08027DAC: .4byte gUnknown_2023ECC -_08027DB0: .4byte gUnknown_2023D74 +_08027DAC: .4byte gSpecialStatuses +_08027DB0: .4byte gBattlescriptCurrInstr _08027DB4: mov r0, r8 bl BattleScriptPush @@ -20807,7 +20807,7 @@ _08027DB4: ldr r2, _08027DFC @ =gActiveBattler ldrb r0, [r2] strb r0, [r1, 0x17] - ldr r1, _08027E00 @ =gUnknown_2023D74 + ldr r1, _08027E00 @ =gBattlescriptCurrInstr ldr r0, _08027E04 @ =gUnknown_81D9416 str r0, [r1] ldr r1, _08027E08 @ =gLastUsedAbility @@ -20835,7 +20835,7 @@ _08027DB4: .align 2, 0 _08027DF8: .4byte gBattleScripting _08027DFC: .4byte gActiveBattler -_08027E00: .4byte gUnknown_2023D74 +_08027E00: .4byte gBattlescriptCurrInstr _08027E04: .4byte gUnknown_81D9416 _08027E08: .4byte gLastUsedAbility _08027E0C: @@ -20861,7 +20861,7 @@ _08027E0C: ldr r3, _08027E58 @ =gActiveBattler ldrb r0, [r3] strb r0, [r1, 0x17] - ldr r1, _08027E60 @ =gUnknown_2023D74 + ldr r1, _08027E60 @ =gBattlescriptCurrInstr ldr r0, _08027E64 @ =gUnknown_81D947E str r0, [r1] ldr r1, _08027E68 @ =gLastUsedAbility @@ -20878,7 +20878,7 @@ _08027E0C: .align 2, 0 _08027E58: .4byte gActiveBattler _08027E5C: .4byte gBattleScripting -_08027E60: .4byte gUnknown_2023D74 +_08027E60: .4byte gBattlescriptCurrInstr _08027E64: .4byte gUnknown_81D947E _08027E68: .4byte gLastUsedAbility _08027E6C: @@ -20906,7 +20906,7 @@ _08027E8E: ldr r2, _08027EBC @ =gActiveBattler ldrb r0, [r2] strb r0, [r1, 0x17] - ldr r1, _08027EC4 @ =gUnknown_2023D74 + ldr r1, _08027EC4 @ =gBattlescriptCurrInstr ldr r0, _08027EC8 @ =gUnknown_81D947E str r0, [r1] ldr r1, _08027ECC @ =gLastUsedAbility @@ -20923,7 +20923,7 @@ _08027E8E: .align 2, 0 _08027EBC: .4byte gActiveBattler _08027EC0: .4byte gBattleScripting -_08027EC4: .4byte gUnknown_2023D74 +_08027EC4: .4byte gBattlescriptCurrInstr _08027EC8: .4byte gUnknown_81D947E _08027ECC: .4byte gLastUsedAbility _08027ED0: @@ -20991,7 +20991,7 @@ _08027F12: movs r1, 0 ldr r0, _08027F64 @ =gBattlerTarget ldrb r0, [r0] - ldr r3, _08027F68 @ =gUnknown_2023E82 + ldr r3, _08027F68 @ =gBattleCommunication mov r8, r3 cmp r0, r2 bne _08027F56 @@ -21004,7 +21004,7 @@ _08027F56: _08027F5C: .4byte gActiveBattler _08027F60: .4byte gBattleTextBuff2 _08027F64: .4byte gBattlerTarget -_08027F68: .4byte gUnknown_2023E82 +_08027F68: .4byte gBattleCommunication _08027F6C: asrs r6, r0, 28 movs r0, 0x7 @@ -21051,7 +21051,7 @@ _08027F86: cmp r0, 0xC bne _08027FDC _08027FC2: - ldr r1, _08027FD8 @ =gUnknown_2023E82 + ldr r1, _08027FD8 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] mov r8, r1 @@ -21060,12 +21060,12 @@ _08027FC2: _08027FCC: .4byte gBattleTextBuff2 _08027FD0: .4byte gBattleMons _08027FD4: .4byte gActiveBattler -_08027FD8: .4byte gUnknown_2023E82 +_08027FD8: .4byte gBattleCommunication _08027FDC: movs r1, 0 ldr r0, _08028070 @ =gBattlerTarget ldrb r0, [r0] - ldr r2, _08028074 @ =gUnknown_2023E82 + ldr r2, _08028074 @ =gBattleCommunication mov r8, r2 cmp r0, r3 bne _08027FEC @@ -21144,7 +21144,7 @@ _08028060: bx r1 .align 2, 0 _08028070: .4byte gBattlerTarget -_08028074: .4byte gUnknown_2023E82 +_08028074: .4byte gBattleCommunication _08028078: .4byte gActiveBattler _0802807C: .4byte gMoveResultFlags thumb_func_end ChangeStatBuffs @@ -21152,7 +21152,7 @@ _0802807C: .4byte gMoveResultFlags thumb_func_start atk89_statbuffchange atk89_statbuffchange: @ 8028080 push {r4,r5,lr} - ldr r5, _080280C4 @ =gUnknown_2023D74 + ldr r5, _080280C4 @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r3, [r2, 0x2] ldrb r0, [r2, 0x3] @@ -21185,7 +21185,7 @@ _080280BC: pop {r0} bx r0 .align 2, 0 -_080280C4: .4byte gUnknown_2023D74 +_080280C4: .4byte gBattlescriptCurrInstr _080280C8: .4byte gBattleScripting thumb_func_end atk89_statbuffchange @@ -21195,7 +21195,7 @@ atk8A_normalisebuffs: @ 80280CC movs r2, 0 ldr r0, _08028114 @ =gBattlersCount ldrb r1, [r0] - ldr r0, _08028118 @ =gUnknown_2023D74 + ldr r0, _08028118 @ =gBattlescriptCurrInstr mov r12, r0 cmp r2, r1 bge _08028104 @@ -21231,7 +21231,7 @@ _08028104: bx r0 .align 2, 0 _08028114: .4byte gBattlersCount -_08028118: .4byte gUnknown_2023D74 +_08028118: .4byte gBattlescriptCurrInstr _0802811C: .4byte gBattleMons thumb_func_end atk8A_normalisebuffs @@ -21259,7 +21259,7 @@ atk8B_setbide: @ 8028120 ldrh r1, [r1] movs r2, 0 strh r1, [r0] - ldr r1, _08028188 @ =gUnknown_2023D58 + ldr r1, _08028188 @ =gTakenDmg ldrb r0, [r3] lsls r0, 2 adds r0, r1 @@ -21273,7 +21273,7 @@ atk8B_setbide: @ 8028120 lsls r2, 2 orrs r0, r2 str r0, [r1] - ldr r1, _0802818C @ =gUnknown_2023D74 + ldr r1, _0802818C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -21285,8 +21285,8 @@ _08028178: .4byte gBattleMons _0802817C: .4byte gBattlerAttacker _08028180: .4byte gUnknown_2023DB8 _08028184: .4byte gCurrentMove -_08028188: .4byte gUnknown_2023D58 -_0802818C: .4byte gUnknown_2023D74 +_08028188: .4byte gTakenDmg +_0802818C: .4byte gBattlescriptCurrInstr thumb_func_end atk8B_setbide thumb_func_start atk8C_confuseifrepeatingattackends @@ -21305,11 +21305,11 @@ atk8C_confuseifrepeatingattackends: @ 8028190 ands r0, r1 cmp r0, 0 bne _080281B2 - ldr r1, _080281C8 @ =gUnknown_2023E82 + ldr r1, _080281C8 @ =gBattleCommunication movs r0, 0x75 strb r0, [r1, 0x3] _080281B2: - ldr r1, _080281CC @ =gUnknown_2023D74 + ldr r1, _080281CC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -21318,14 +21318,14 @@ _080281B2: .align 2, 0 _080281C0: .4byte gBattleMons _080281C4: .4byte gBattlerAttacker -_080281C8: .4byte gUnknown_2023E82 -_080281CC: .4byte gUnknown_2023D74 +_080281C8: .4byte gBattleCommunication +_080281CC: .4byte gBattlescriptCurrInstr thumb_func_end atk8C_confuseifrepeatingattackends thumb_func_start atk8D_setmultihitcounter atk8D_setmultihitcounter: @ 80281D0 push {r4,r5,lr} - ldr r0, _080281E4 @ =gUnknown_2023D74 + ldr r0, _080281E4 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r1, [r0, 0x1] cmp r1, 0 @@ -21334,7 +21334,7 @@ atk8D_setmultihitcounter: @ 80281D0 strb r1, [r0] b _08028206 .align 2, 0 -_080281E4: .4byte gUnknown_2023D74 +_080281E4: .4byte gBattlescriptCurrInstr _080281E8: .4byte gUnknown_2023D72 _080281EC: ldr r4, _08028214 @ =gUnknown_2023D72 @@ -21350,7 +21350,7 @@ _08028202: adds r0, 0x2 strb r0, [r4] _08028206: - ldr r1, _08028218 @ =gUnknown_2023D74 + ldr r1, _08028218 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -21359,7 +21359,7 @@ _08028206: bx r0 .align 2, 0 _08028214: .4byte gUnknown_2023D72 -_08028218: .4byte gUnknown_2023D74 +_08028218: .4byte gBattlescriptCurrInstr thumb_func_end atk8D_setmultihitcounter thumb_func_start atk8E_initmultihitstring @@ -21375,14 +21375,14 @@ atk8E_initmultihitstring: @ 802821C strb r2, [r1, 0xC] movs r0, 0xFF strb r0, [r1, 0xD] - ldr r1, _08028240 @ =gUnknown_2023D74 + ldr r1, _08028240 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] bx lr .align 2, 0 _0802823C: .4byte gBattleScripting -_08028240: .4byte gUnknown_2023D74 +_08028240: .4byte gBattlescriptCurrInstr thumb_func_end atk8E_initmultihitstring thumb_func_start TryDoForceSwitchOut @@ -21442,7 +21442,7 @@ _0802828C: lsrs r1, 2 cmp r0, r1 bhi _080282DC - ldr r3, _080282D8 @ =gUnknown_2023D74 + ldr r3, _080282D8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -21458,7 +21458,7 @@ _0802828C: movs r0, 0 b _080282F6 .align 2, 0 -_080282D8: .4byte gUnknown_2023D74 +_080282D8: .4byte gBattlescriptCurrInstr _080282DC: ldr r0, _080282FC @ =gBattleStruct ldr r1, [r0] @@ -21470,7 +21470,7 @@ _080282E8: adds r0, r2 ldrh r0, [r0] strb r0, [r1] - ldr r1, _08028304 @ =gUnknown_2023D74 + ldr r1, _08028304 @ =gBattlescriptCurrInstr ldr r0, _08028308 @ =gUnknown_81D8C10 str r0, [r1] movs r0, 0x1 @@ -21481,7 +21481,7 @@ _080282F6: .align 2, 0 _080282FC: .4byte gBattleStruct _08028300: .4byte gBattlerPartyIndexes -_08028304: .4byte gUnknown_2023D74 +_08028304: .4byte gBattlescriptCurrInstr _08028308: .4byte gUnknown_81D8C10 thumb_func_end TryDoForceSwitchOut @@ -21622,7 +21622,7 @@ _08028404: cmp r1, 0 bne _08028440 _0802841C: - ldr r3, _0802843C @ =gUnknown_2023D74 + ldr r3, _0802843C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -21638,7 +21638,7 @@ _0802841C: b _080285F8 .align 2, 0 _08028438: .4byte gBattleTypeFlags -_0802843C: .4byte gUnknown_2023D74 +_0802843C: .4byte gBattlescriptCurrInstr _08028440: bl TryDoForceSwitchOut lsls r0, 24 @@ -21955,7 +21955,7 @@ _080286BE: _080286C8: cmp r3, r6 bne _080286EC - ldr r3, _080286E8 @ =gUnknown_2023D74 + ldr r3, _080286E8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -21970,7 +21970,7 @@ _080286C8: str r1, [r3] b _08028790 .align 2, 0 -_080286E8: .4byte gUnknown_2023D74 +_080286E8: .4byte gBattlescriptCurrInstr _080286EC: movs r7, 0x3 ldr r5, _08028744 @ =gBattleMoves @@ -22051,7 +22051,7 @@ _08028752: strb r2, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r1, _080287A4 @ =gUnknown_2023D74 + ldr r1, _080287A4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -22065,7 +22065,7 @@ _08028790: bx r0 .align 2, 0 _080287A0: .4byte gBattleTextBuff1 -_080287A4: .4byte gUnknown_2023D74 +_080287A4: .4byte gBattlescriptCurrInstr thumb_func_end atk90_tryconversiontypechange thumb_func_start atk91_givepaydaymoney @@ -22111,7 +22111,7 @@ atk91_givepaydaymoney: @ 80287A8 strb r4, [r1, 0x5] movs r0, 0xFF strb r0, [r1, 0x6] - ldr r4, _08028820 @ =gUnknown_2023D74 + ldr r4, _08028820 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush @@ -22124,10 +22124,10 @@ _08028810: .4byte gUnknown_2023E7E _08028814: .4byte gBattleStruct _08028818: .4byte gSaveBlock1Ptr _0802881C: .4byte gBattleTextBuff1 -_08028820: .4byte gUnknown_2023D74 +_08028820: .4byte gBattlescriptCurrInstr _08028824: .4byte gUnknown_81D911D _08028828: - ldr r1, _08028838 @ =gUnknown_2023D74 + ldr r1, _08028838 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22136,7 +22136,7 @@ _08028830: pop {r0} bx r0 .align 2, 0 -_08028838: .4byte gUnknown_2023D74 +_08028838: .4byte gBattlescriptCurrInstr thumb_func_end atk91_givepaydaymoney thumb_func_start atk92_setlightscreen @@ -22145,7 +22145,7 @@ atk92_setlightscreen: @ 802883C ldr r5, _0802886C @ =gBattlerAttacker ldrb r0, [r5] bl GetBattlerPosition - ldr r4, _08028870 @ =gSideAffecting + ldr r4, _08028870 @ =gSideStatuses movs r6, 0x1 adds r1, r6, 0 ands r1, r0 @@ -22161,14 +22161,14 @@ atk92_setlightscreen: @ 802883C movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08028878 @ =gUnknown_2023E82 + ldr r1, _08028878 @ =gBattleCommunication movs r0, 0 b _080288F0 .align 2, 0 _0802886C: .4byte gBattlerAttacker -_08028870: .4byte gSideAffecting +_08028870: .4byte gSideStatuses _08028874: .4byte gMoveResultFlags -_08028878: .4byte gUnknown_2023E82 +_08028878: .4byte gBattleCommunication _0802887C: ldrb r0, [r5] bl GetBattlerPosition @@ -22212,19 +22212,19 @@ _0802887C: lsrs r0, 24 cmp r0, 0x2 bne _080288EC - ldr r1, _080288E8 @ =gUnknown_2023E82 + ldr r1, _080288E8 @ =gBattleCommunication movs r0, 0x4 b _080288F0 .align 2, 0 _080288E0: .4byte gSideTimers _080288E4: .4byte gBattleTypeFlags -_080288E8: .4byte gUnknown_2023E82 +_080288E8: .4byte gBattleCommunication _080288EC: - ldr r1, _08028900 @ =gUnknown_2023E82 + ldr r1, _08028900 @ =gBattleCommunication movs r0, 0x3 _080288F0: strb r0, [r1, 0x5] - ldr r1, _08028904 @ =gUnknown_2023D74 + ldr r1, _08028904 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22232,8 +22232,8 @@ _080288F0: pop {r0} bx r0 .align 2, 0 -_08028900: .4byte gUnknown_2023E82 -_08028904: .4byte gUnknown_2023D74 +_08028900: .4byte gBattleCommunication +_08028904: .4byte gBattlescriptCurrInstr thumb_func_end atk92_setlightscreen thumb_func_start atk93_tryKO @@ -22295,7 +22295,7 @@ _0802895A: ldrb r0, [r5] movs r1, 0x27 bl sub_80C7208 - ldr r2, _080289DC @ =gUnknown_2023ECC + ldr r2, _080289DC @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 adds r0, r1 @@ -22327,7 +22327,7 @@ _08028998: strb r0, [r2] ldr r0, _080289E8 @ =gLastUsedAbility strb r4, [r0] - ldr r1, _080289EC @ =gUnknown_2023D74 + ldr r1, _080289EC @ =gBattlescriptCurrInstr ldr r0, _080289F0 @ =gUnknown_81D93A1 str r0, [r1] mov r1, r9 @@ -22338,11 +22338,11 @@ _08028998: .align 2, 0 _080289D4: .4byte gPotentialItemEffectBattler _080289D8: .4byte gBattlerTarget -_080289DC: .4byte gUnknown_2023ECC +_080289DC: .4byte gSpecialStatuses _080289E0: .4byte gBattleMons _080289E4: .4byte gMoveResultFlags _080289E8: .4byte gLastUsedAbility -_080289EC: .4byte gUnknown_2023D74 +_080289EC: .4byte gBattlescriptCurrInstr _080289F0: .4byte gUnknown_81D93A1 _080289F4: ldr r1, _08028A68 @ =gStatuses3 @@ -22491,7 +22491,7 @@ _08028B0E: cmp r4, 0 beq _08028BE0 _08028B1A: - ldr r0, _08028B5C @ =gUnknown_2023E8C + ldr r0, _08028B5C @ =gProtectStructs mov r1, r9 ldrb r2, [r1] lsls r1, r2, 4 @@ -22518,11 +22518,11 @@ _08028B4C: .4byte gBattleMoves _08028B50: .4byte gCurrentMove _08028B54: .4byte gBattleMons _08028B58: .4byte gBattlerTarget -_08028B5C: .4byte gUnknown_2023E8C +_08028B5C: .4byte gProtectStructs _08028B60: .4byte gBattleMoveDamage _08028B64: .4byte gMoveResultFlags _08028B68: - ldr r0, _08028BA4 @ =gUnknown_2023ECC + ldr r0, _08028BA4 @ =gSpecialStatuses lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -22553,7 +22553,7 @@ _08028B68: strh r0, [r1] b _08028BCA .align 2, 0 -_08028BA4: .4byte gUnknown_2023ECC +_08028BA4: .4byte gSpecialStatuses _08028BA8: .4byte gBattleMoveDamage _08028BAC: .4byte gMoveResultFlags _08028BB0: .4byte gLastUsedItem @@ -22571,7 +22571,7 @@ _08028BC6: orrs r0, r1 strb r0, [r2] _08028BCA: - ldr r1, _08028BDC @ =gUnknown_2023D74 + ldr r1, _08028BDC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -22579,7 +22579,7 @@ _08028BCA: .align 2, 0 _08028BD4: .4byte gBattleMoveDamage _08028BD8: .4byte gMoveResultFlags -_08028BDC: .4byte gUnknown_2023D74 +_08028BDC: .4byte gBattlescriptCurrInstr _08028BE0: ldr r2, _08028C14 @ =gMoveResultFlags ldrb r0, [r2] @@ -22603,7 +22603,7 @@ _08028BE0: ldrb r0, [r0] cmp r1, r0 bcc _08028C28 - ldr r1, _08028C24 @ =gUnknown_2023E82 + ldr r1, _08028C24 @ =gBattleCommunication movs r0, 0 b _08028C2C .align 2, 0 @@ -22611,13 +22611,13 @@ _08028C14: .4byte gMoveResultFlags _08028C18: .4byte gBattleMons _08028C1C: .4byte gBattlerAttacker _08028C20: .4byte gBattlerTarget -_08028C24: .4byte gUnknown_2023E82 +_08028C24: .4byte gBattleCommunication _08028C28: - ldr r1, _08028C54 @ =gUnknown_2023E82 + ldr r1, _08028C54 @ =gBattleCommunication movs r0, 0x1 _08028C2C: strb r0, [r1, 0x5] - ldr r3, _08028C58 @ =gUnknown_2023D74 + ldr r3, _08028C58 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -22638,8 +22638,8 @@ _08028C48: pop {r0} bx r0 .align 2, 0 -_08028C54: .4byte gUnknown_2023E82 -_08028C58: .4byte gUnknown_2023D74 +_08028C54: .4byte gBattleCommunication +_08028C58: .4byte gBattlescriptCurrInstr thumb_func_end atk93_tryKO thumb_func_start atk94_damagetohalftargethp @@ -22660,7 +22660,7 @@ atk94_damagetohalftargethp: @ 8028C5C movs r0, 0x1 str r0, [r3] _08028C7A: - ldr r1, _08028C94 @ =gUnknown_2023D74 + ldr r1, _08028C94 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22670,7 +22670,7 @@ _08028C7A: _08028C88: .4byte gBattleMoveDamage _08028C8C: .4byte gBattleMons _08028C90: .4byte gBattlerTarget -_08028C94: .4byte gUnknown_2023D74 +_08028C94: .4byte gBattlescriptCurrInstr thumb_func_end atk94_damagetohalftargethp thumb_func_start atk95_setsandstorm @@ -22687,35 +22687,35 @@ atk95_setsandstorm: @ 8028C98 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08028CC0 @ =gUnknown_2023E82 + ldr r1, _08028CC0 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _08028CD6 .align 2, 0 _08028CB8: .4byte gBattleWeather _08028CBC: .4byte gMoveResultFlags -_08028CC0: .4byte gUnknown_2023E82 +_08028CC0: .4byte gBattleCommunication _08028CC4: movs r0, 0x8 strh r0, [r2] - ldr r1, _08028CE4 @ =gUnknown_2023E82 + ldr r1, _08028CE4 @ =gBattleCommunication movs r0, 0x3 strb r0, [r1, 0x5] - ldr r0, _08028CE8 @ =gUnknown_2023F20 + ldr r0, _08028CE8 @ =gWishFutureKnock adds r0, 0x28 movs r1, 0x5 strb r1, [r0] _08028CD6: - ldr r1, _08028CEC @ =gUnknown_2023D74 + ldr r1, _08028CEC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_08028CE4: .4byte gUnknown_2023E82 -_08028CE8: .4byte gUnknown_2023F20 -_08028CEC: .4byte gUnknown_2023D74 +_08028CE4: .4byte gBattleCommunication +_08028CE8: .4byte gWishFutureKnock +_08028CEC: .4byte gBattlescriptCurrInstr thumb_func_end atk95_setsandstorm thumb_func_start sub_8028CF0 @@ -22909,7 +22909,7 @@ _08028E64: movs r0, 0 str r0, [r1] _08028E6A: - ldr r1, _08028E8C @ =gUnknown_2023D74 + ldr r1, _08028E8C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -22922,7 +22922,7 @@ _08028E7C: .4byte gBattleMoveDamage _08028E80: .4byte gBattlerAttacker _08028E84: .4byte gAbsentBattlerFlags _08028E88: .4byte gBitTable -_08028E8C: .4byte gUnknown_2023D74 +_08028E8C: .4byte gBattlescriptCurrInstr thumb_func_end sub_8028CF0 thumb_func_start sub_8028E90 @@ -23023,7 +23023,7 @@ _08028F1C: ldrb r2, [r0] cmp r2, 0xC bne _08028F94 - ldr r1, _08028F88 @ =gUnknown_2023D74 + ldr r1, _08028F88 @ =gBattlescriptCurrInstr ldr r0, _08028F8C @ =gUnknown_81D9444 str r0, [r1] ldr r0, _08028F90 @ =gLastUsedAbility @@ -23037,7 +23037,7 @@ _08028F78: .4byte gBattlerPartyIndexes _08028F7C: .4byte gEnemyParty _08028F80: .4byte gBattlerTarget _08028F84: .4byte gBattleMons -_08028F88: .4byte gUnknown_2023D74 +_08028F88: .4byte gBattlescriptCurrInstr _08028F8C: .4byte gUnknown_81D9444 _08028F90: .4byte gLastUsedAbility _08028F94: @@ -23078,7 +23078,7 @@ _08028F94: cmp r0, 0xFF bne _08029008 _08028FE4: - ldr r3, _08029004 @ =gUnknown_2023D74 + ldr r3, _08029004 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -23094,7 +23094,7 @@ _08028FE4: b _0802902C .align 2, 0 _08029000: .4byte gBattleMons -_08029004: .4byte gUnknown_2023D74 +_08029004: .4byte gBattlescriptCurrInstr _08029008: ldrb r0, [r5] adds r2, r0, 0 @@ -23110,7 +23110,7 @@ _08029008: ldr r0, [r2] orrs r0, r1 str r0, [r2] - ldr r1, _08029044 @ =gUnknown_2023D74 + ldr r1, _08029044 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -23125,7 +23125,7 @@ _0802902C: .align 2, 0 _0802903C: .4byte gBitTable _08029040: .4byte gBattlerAttacker -_08029044: .4byte gUnknown_2023D74 +_08029044: .4byte gBattlescriptCurrInstr thumb_func_end sub_8028E90 thumb_func_start sub_8029048 @@ -23137,7 +23137,7 @@ sub_8029048: @ 8029048 beq _08029054 b _080291C0 _08029054: - ldr r5, _080290BC @ =gUnknown_2023D74 + ldr r5, _080290BC @ =gBattlescriptCurrInstr ldr r2, [r5] ldrb r0, [r2, 0x1] cmp r0, 0xD @@ -23174,7 +23174,7 @@ _08029074: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080290A2: ldrb r0, [r4] adds r0, 0x1 @@ -23188,7 +23188,7 @@ _080290A2: b _08029164 .align 2, 0 _080290B8: .4byte gBattleControllerExecFlags -_080290BC: .4byte gUnknown_2023D74 +_080290BC: .4byte gBattlescriptCurrInstr _080290C0: .4byte gActiveBattler _080290C4: .4byte gBattlersCount _080290C8: .4byte gBitTable @@ -23224,7 +23224,7 @@ _080290D4: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08029114: ldr r0, _08029184 @ =gBattleTypeFlags ldr r0, [r0] @@ -23261,9 +23261,9 @@ _08029114: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08029164: - ldr r1, _08029188 @ =gUnknown_2023D74 + ldr r1, _08029188 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -23275,10 +23275,10 @@ _08029178: .4byte gAbsentBattlerFlags _0802917C: .4byte gBitTable _08029180: .4byte gBattleMons _08029184: .4byte gBattleTypeFlags -_08029188: .4byte gUnknown_2023D74 +_08029188: .4byte gBattlescriptCurrInstr _0802918C: ldrb r0, [r2, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _080291C8 @ =gActiveBattler strb r0, [r4] ldr r3, _080291CC @ =gBattleMons @@ -23296,7 +23296,7 @@ _0802918C: movs r0, 0 bl BtlController_EmitStatusIconUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r0, [r5] adds r0, 0x2 str r0, [r5] @@ -23331,14 +23331,14 @@ atk99_setmist: @ 80291D0 movs r1, 0x20 orrs r0, r1 strb r0, [r2] - ldr r0, _0802920C @ =gUnknown_2023E82 + ldr r0, _0802920C @ =gBattleCommunication strb r5, [r0, 0x5] b _0802925E .align 2, 0 _08029200: .4byte gSideTimers _08029204: .4byte gBattlerAttacker _08029208: .4byte gMoveResultFlags -_0802920C: .4byte gUnknown_2023E82 +_0802920C: .4byte gBattleCommunication _08029210: ldrb r0, [r4] bl GetBattlerPosition @@ -23362,7 +23362,7 @@ _08029210: strb r1, [r0, 0x5] ldrb r0, [r4] bl GetBattlerPosition - ldr r2, _0802926C @ =gSideAffecting + ldr r2, _0802926C @ =gSideStatuses adds r1, r5, 0 ands r1, r0 lsls r1, 1 @@ -23374,10 +23374,10 @@ _08029210: movs r3, 0 orrs r0, r2 strh r0, [r1] - ldr r0, _08029270 @ =gUnknown_2023E82 + ldr r0, _08029270 @ =gBattleCommunication strb r3, [r0, 0x5] _0802925E: - ldr r1, _08029274 @ =gUnknown_2023D74 + ldr r1, _08029274 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -23385,9 +23385,9 @@ _0802925E: pop {r0} bx r0 .align 2, 0 -_0802926C: .4byte gSideAffecting -_08029270: .4byte gUnknown_2023E82 -_08029274: .4byte gUnknown_2023D74 +_0802926C: .4byte gSideStatuses +_08029270: .4byte gBattleCommunication +_08029274: .4byte gBattlescriptCurrInstr thumb_func_end atk99_setmist thumb_func_start atk9A_setfocusenergy @@ -23412,7 +23412,7 @@ atk9A_setfocusenergy: @ 8029278 movs r1, 0x20 orrs r0, r1 strb r0, [r2] - ldr r1, _080292B4 @ =gUnknown_2023E82 + ldr r1, _080292B4 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _080292C0 @@ -23420,22 +23420,22 @@ atk9A_setfocusenergy: @ 8029278 _080292A8: .4byte gBattleMons _080292AC: .4byte gBattlerAttacker _080292B0: .4byte gMoveResultFlags -_080292B4: .4byte gUnknown_2023E82 +_080292B4: .4byte gBattleCommunication _080292B8: orrs r1, r3 str r1, [r0] - ldr r0, _080292CC @ =gUnknown_2023E82 + ldr r0, _080292CC @ =gBattleCommunication strb r2, [r0, 0x5] _080292C0: - ldr r1, _080292D0 @ =gUnknown_2023D74 + ldr r1, _080292D0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_080292CC: .4byte gUnknown_2023E82 -_080292D0: .4byte gUnknown_2023D74 +_080292CC: .4byte gBattleCommunication +_080292D0: .4byte gBattlescriptCurrInstr thumb_func_end atk9A_setfocusenergy thumb_func_start atk9B_transformdataexecution @@ -23447,7 +23447,7 @@ atk9B_transformdataexecution: @ 80292D4 ldr r2, _08029330 @ =0x0000ffff adds r0, r2, 0 strh r0, [r1] - ldr r1, _08029334 @ =gUnknown_2023D74 + ldr r1, _08029334 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -23481,19 +23481,19 @@ _0802931A: movs r1, 0x20 orrs r0, r1 strb r0, [r2] - ldr r1, _0802934C @ =gUnknown_2023E82 + ldr r1, _0802934C @ =gBattleCommunication movs r0, 0x1 b _08029464 .align 2, 0 _0802932C: .4byte gChosenMove _08029330: .4byte 0x0000ffff -_08029334: .4byte gUnknown_2023D74 +_08029334: .4byte gBattlescriptCurrInstr _08029338: .4byte gBattleMons _0802933C: .4byte gBattlerTarget _08029340: .4byte gStatuses3 _08029344: .4byte 0x000400c0 _08029348: .4byte gMoveResultFlags -_0802934C: .4byte gUnknown_2023E82 +_0802934C: .4byte gBattleCommunication _08029350: ldr r3, _08029424 @ =gBattlerAttacker ldrb r0, [r3] @@ -23626,8 +23626,8 @@ _08029442: bl BtlController_EmitResetActionMoveSelection mov r2, r8 ldrb r0, [r2] - bl MarkBufferBankForExecution - ldr r1, _08029470 @ =gUnknown_2023E82 + bl MarkBattlerForControllerExec + ldr r1, _08029470 @ =gBattleCommunication movs r0, 0 _08029464: strb r0, [r1, 0x5] @@ -23637,7 +23637,7 @@ _08029464: pop {r0} bx r0 .align 2, 0 -_08029470: .4byte gUnknown_2023E82 +_08029470: .4byte gBattleCommunication thumb_func_end atk9B_transformdataexecution thumb_func_start atk9C_setsubstitute @@ -23662,7 +23662,7 @@ _0802948E: ldr r1, _080294AC @ =gBattleMoveDamage movs r0, 0 str r0, [r1] - ldr r1, _080294B0 @ =gUnknown_2023E82 + ldr r1, _080294B0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08029508 @@ -23670,7 +23670,7 @@ _0802948E: _080294A4: .4byte gBattleMons _080294A8: .4byte gBattlerAttacker _080294AC: .4byte gBattleMoveDamage -_080294B0: .4byte gUnknown_2023E82 +_080294B0: .4byte gBattleCommunication _080294B4: ldr r4, _08029518 @ =gBattleMoveDamage str r1, [r4] @@ -23707,16 +23707,16 @@ _080294C0: ldr r1, [r4] movs r2, 0 strb r1, [r0, 0xA] - ldr r0, _08029524 @ =gUnknown_2023E82 + ldr r0, _08029524 @ =gBattleCommunication strb r2, [r0, 0x5] - ldr r2, _08029528 @ =gUnknown_2023DD0 + ldr r2, _08029528 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 1 orrs r0, r1 str r0, [r2] _08029508: - ldr r1, _0802952C @ =gUnknown_2023D74 + ldr r1, _0802952C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -23727,9 +23727,9 @@ _08029508: _08029518: .4byte gBattleMoveDamage _0802951C: .4byte 0xffff1fff _08029520: .4byte gDisableStructs -_08029524: .4byte gUnknown_2023E82 -_08029528: .4byte gUnknown_2023DD0 -_0802952C: .4byte gUnknown_2023D74 +_08029524: .4byte gBattleCommunication +_08029528: .4byte gHitMarker +_0802952C: .4byte gBattlescriptCurrInstr thumb_func_end atk9C_setsubstitute thumb_func_start IsMoveUncopyableByMimic @@ -23819,7 +23819,7 @@ atk9D_mimicattackcopy: @ 8029578 cmp r1, r7 bne _0802960C _080295D2: - ldr r3, _08029608 @ =gUnknown_2023D74 + ldr r3, _08029608 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -23840,14 +23840,14 @@ _080295F8: .4byte gLastUsedMove _080295FC: .4byte gBattlerTarget _08029600: .4byte gBattleMons _08029604: .4byte gBattlerAttacker -_08029608: .4byte gUnknown_2023D74 +_08029608: .4byte gBattlescriptCurrInstr _0802960C: movs r2, 0 mov r3, r12 adds r3, 0xC adds r0, r4, r3 ldrh r0, [r0] - ldr r4, _0802969C @ =gUnknown_2023D74 + ldr r4, _0802969C @ =gBattlescriptCurrInstr mov r10, r4 cmp r0, r1 beq _08029646 @@ -23916,7 +23916,7 @@ _08029646: strb r4, [r0] b _080296C4 .align 2, 0 -_0802969C: .4byte gUnknown_2023D74 +_0802969C: .4byte gBattlescriptCurrInstr _080296A0: .4byte gUnknown_2023D48 _080296A4: .4byte gLastUsedMove _080296A8: .4byte gBattlerTarget @@ -24014,7 +24014,7 @@ atk9E_metronome: @ 8029754 movs r6, 0xB1 lsls r6, 1 ldr r5, _080297D8 @ =gUnknown_82507E8 - ldr r0, _080297DC @ =gUnknown_2023D74 + ldr r0, _080297DC @ =gBattlescriptCurrInstr mov r8, r0 _08029766: bl Random @@ -24045,7 +24045,7 @@ _08029794: ldr r0, _080297E4 @ =0x0000ffff cmp r1, r0 bne _08029766 - ldr r2, _080297E8 @ =gUnknown_2023DD0 + ldr r2, _080297E8 @ =gHitMarker ldr r0, [r2] ldr r1, _080297EC @ =0xfffffbff ands r0, r1 @@ -24076,10 +24076,10 @@ _08029794: .align 2, 0 _080297D4: .4byte gCurrentMove _080297D8: .4byte gUnknown_82507E8 -_080297DC: .4byte gUnknown_2023D74 +_080297DC: .4byte gBattlescriptCurrInstr _080297E0: .4byte 0x000001ff _080297E4: .4byte 0x0000ffff -_080297E8: .4byte gUnknown_2023DD0 +_080297E8: .4byte gHitMarker _080297EC: .4byte 0xfffffbff _080297F0: .4byte gUnknown_81D65A8 _080297F4: .4byte gBattleMoves @@ -24098,7 +24098,7 @@ atk9F_dmgtolevel: @ 80297FC adds r0, 0x2A ldrb r0, [r0] str r0, [r3] - ldr r1, _08029828 @ =gUnknown_2023D74 + ldr r1, _08029828 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -24107,7 +24107,7 @@ atk9F_dmgtolevel: @ 80297FC _0802981C: .4byte gBattleMoveDamage _08029820: .4byte gBattleMons _08029824: .4byte gBattlerAttacker -_08029828: .4byte gUnknown_2023D74 +_08029828: .4byte gBattlescriptCurrInstr thumb_func_end atk9F_dmgtolevel thumb_func_start atkA0_psywavedamageeffect @@ -24138,7 +24138,7 @@ _08029830: movs r1, 0x64 bl __divsi3 str r0, [r4] - ldr r1, _0802987C @ =gUnknown_2023D74 + ldr r1, _0802987C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -24149,7 +24149,7 @@ _08029830: _08029870: .4byte gBattleMoveDamage _08029874: .4byte gBattleMons _08029878: .4byte gBattlerAttacker -_0802987C: .4byte gUnknown_2023D74 +_0802987C: .4byte gBattlescriptCurrInstr thumb_func_end atkA0_psywavedamageeffect thumb_func_start atkA1_counterdamagecalculator @@ -24160,7 +24160,7 @@ atkA1_counterdamagecalculator: @ 8029880 bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r5, _080298F4 @ =gUnknown_2023E8C + ldr r5, _080298F4 @ =gProtectStructs ldrb r0, [r4] lsls r0, 4 adds r0, r5 @@ -24209,14 +24209,14 @@ atkA1_counterdamagecalculator: @ 8029880 b _08029918 .align 2, 0 _080298F0: .4byte gBattlerAttacker -_080298F4: .4byte gUnknown_2023E8C +_080298F4: .4byte gProtectStructs _080298F8: .4byte gBattleMons _080298FC: .4byte gBattleMoveDamage _08029900: .4byte gSideTimers _08029904: .4byte gBattlerTarget _08029908: ldr r2, _08029924 @ =gBattlerTarget - ldr r1, _08029928 @ =gUnknown_2023E8C + ldr r1, _08029928 @ =gProtectStructs ldr r0, _0802992C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -24224,18 +24224,18 @@ _08029908: ldrb r0, [r0, 0xC] strb r0, [r2] _08029918: - ldr r1, _08029930 @ =gUnknown_2023D74 + ldr r1, _08029930 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08029964 .align 2, 0 _08029924: .4byte gBattlerTarget -_08029928: .4byte gUnknown_2023E8C +_08029928: .4byte gProtectStructs _0802992C: .4byte gBattlerAttacker -_08029930: .4byte gUnknown_2023D74 +_08029930: .4byte gBattlescriptCurrInstr _08029934: - ldr r2, _0802996C @ =gUnknown_2023ECC + ldr r2, _0802996C @ =gSpecialStatuses ldr r0, _08029970 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 @@ -24246,7 +24246,7 @@ _08029934: movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r3, _08029974 @ =gUnknown_2023D74 + ldr r3, _08029974 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24264,9 +24264,9 @@ _08029964: pop {r0} bx r0 .align 2, 0 -_0802996C: .4byte gUnknown_2023ECC +_0802996C: .4byte gSpecialStatuses _08029970: .4byte gBattlerAttacker -_08029974: .4byte gUnknown_2023D74 +_08029974: .4byte gBattlescriptCurrInstr thumb_func_end atkA1_counterdamagecalculator thumb_func_start atkA2_mirrorcoatdamagecalculator @@ -24277,7 +24277,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 - ldr r5, _080299EC @ =gUnknown_2023E8C + ldr r5, _080299EC @ =gProtectStructs ldrb r0, [r4] lsls r0, 4 adds r0, r5 @@ -24327,14 +24327,14 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 b _08029A10 .align 2, 0 _080299E8: .4byte gBattlerAttacker -_080299EC: .4byte gUnknown_2023E8C +_080299EC: .4byte gProtectStructs _080299F0: .4byte gBattleMons _080299F4: .4byte gBattleMoveDamage _080299F8: .4byte gSideTimers _080299FC: .4byte gBattlerTarget _08029A00: ldr r2, _08029A1C @ =gBattlerTarget - ldr r1, _08029A20 @ =gUnknown_2023E8C + ldr r1, _08029A20 @ =gProtectStructs ldr r0, _08029A24 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -24342,18 +24342,18 @@ _08029A00: ldrb r0, [r0, 0xD] strb r0, [r2] _08029A10: - ldr r1, _08029A28 @ =gUnknown_2023D74 + ldr r1, _08029A28 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _08029A5C .align 2, 0 _08029A1C: .4byte gBattlerTarget -_08029A20: .4byte gUnknown_2023E8C +_08029A20: .4byte gProtectStructs _08029A24: .4byte gBattlerAttacker -_08029A28: .4byte gUnknown_2023D74 +_08029A28: .4byte gBattlescriptCurrInstr _08029A2C: - ldr r2, _08029A64 @ =gUnknown_2023ECC + ldr r2, _08029A64 @ =gSpecialStatuses ldr r0, _08029A68 @ =gBattlerAttacker ldrb r1, [r0] lsls r0, r1, 2 @@ -24364,7 +24364,7 @@ _08029A2C: movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r3, _08029A6C @ =gUnknown_2023D74 + ldr r3, _08029A6C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24382,9 +24382,9 @@ _08029A5C: pop {r0} bx r0 .align 2, 0 -_08029A64: .4byte gUnknown_2023ECC +_08029A64: .4byte gSpecialStatuses _08029A68: .4byte gBattlerAttacker -_08029A6C: .4byte gUnknown_2023D74 +_08029A6C: .4byte gBattlescriptCurrInstr thumb_func_end atkA2_mirrorcoatdamagecalculator thumb_func_start atkA3_disablelastusedattack @@ -24513,7 +24513,7 @@ _08029AC4: ands r0, r3 orrs r0, r2 strb r0, [r1, 0xB] - ldr r1, _08029B84 @ =gUnknown_2023D74 + ldr r1, _08029B84 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -24524,9 +24524,9 @@ _08029B74: .4byte gBattlerTarget _08029B78: .4byte gLastUsedMove _08029B7C: .4byte gDisableStructs _08029B80: .4byte gBattleTextBuff1 -_08029B84: .4byte gUnknown_2023D74 +_08029B84: .4byte gBattlescriptCurrInstr _08029B88: - ldr r3, _08029BB0 @ =gUnknown_2023D74 + ldr r3, _08029BB0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24547,7 +24547,7 @@ _08029BA2: pop {r0} bx r0 .align 2, 0 -_08029BB0: .4byte gUnknown_2023D74 +_08029BB0: .4byte gBattlescriptCurrInstr thumb_func_end atkA3_disablelastusedattack thumb_func_start atkA4_trysetencore @@ -24672,7 +24672,7 @@ _08029C24: ands r0, r3 orrs r0, r2 strb r0, [r1, 0xE] - ldr r1, _08029CB8 @ =gUnknown_2023D74 + ldr r1, _08029CB8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -24682,9 +24682,9 @@ _08029CA8: .4byte gBattleMons _08029CAC: .4byte gBattlerTarget _08029CB0: .4byte gLastUsedMove _08029CB4: .4byte gDisableStructs -_08029CB8: .4byte gUnknown_2023D74 +_08029CB8: .4byte gBattlescriptCurrInstr _08029CBC: - ldr r3, _08029CE4 @ =gUnknown_2023D74 + ldr r3, _08029CE4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24706,7 +24706,7 @@ _08029CD6: pop {r0} bx r0 .align 2, 0 -_08029CE4: .4byte gUnknown_2023D74 +_08029CE4: .4byte gBattlescriptCurrInstr thumb_func_end atkA4_trysetencore thumb_func_start atkA5_painsplitdmgcalc @@ -24760,7 +24760,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 ldrh r0, [r0, 0x28] subs r0, r3 str r0, [r4] - ldr r2, _08029D7C @ =gUnknown_2023ECC + ldr r2, _08029D7C @ =gSpecialStatuses mov r0, r12 ldrb r1, [r0] lsls r0, r1, 2 @@ -24770,7 +24770,7 @@ atkA5_painsplitdmgcalc: @ 8029CE8 adds r0, r2 ldr r1, _08029D80 @ =0x0000ffff str r1, [r0] - ldr r1, _08029D84 @ =gUnknown_2023D74 + ldr r1, _08029D84 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -24781,11 +24781,11 @@ _08029D6C: .4byte gBattlerTarget _08029D70: .4byte gBattlerAttacker _08029D74: .4byte gBattleMoveDamage _08029D78: .4byte gBattleScripting -_08029D7C: .4byte gUnknown_2023ECC +_08029D7C: .4byte gSpecialStatuses _08029D80: .4byte 0x0000ffff -_08029D84: .4byte gUnknown_2023D74 +_08029D84: .4byte gBattlescriptCurrInstr _08029D88: - ldr r3, _08029DA8 @ =gUnknown_2023D74 + ldr r3, _08029DA8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24803,7 +24803,7 @@ _08029DA2: pop {r0} bx r0 .align 2, 0 -_08029DA8: .4byte gUnknown_2023D74 +_08029DA8: .4byte gBattlescriptCurrInstr thumb_func_end atkA5_painsplitdmgcalc thumb_func_start atkA6_settypetorandomresistance @@ -24845,7 +24845,7 @@ atkA6_settypetorandomresistance: @ 8029DAC cmp r0, 0 beq _08029E94 _08029DF6: - ldr r3, _08029E28 @ =gUnknown_2023D74 + ldr r3, _08029E28 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -24865,7 +24865,7 @@ _08029E18: .4byte gBattlerAttacker _08029E1C: .4byte 0x0000ffff _08029E20: .4byte gBattleMons _08029E24: .4byte gUnknown_2023DC0 -_08029E28: .4byte gUnknown_2023D74 +_08029E28: .4byte gBattlescriptCurrInstr _08029E2C: mov r0, r12 strb r5, [r0] @@ -24883,11 +24883,11 @@ _08029E2C: strb r5, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r1, _08029E54 @ =gUnknown_2023D74 + ldr r1, _08029E54 @ =gBattlescriptCurrInstr b _08029E82 .align 2, 0 _08029E50: .4byte gBattleTextBuff1 -_08029E54: .4byte gUnknown_2023D74 +_08029E54: .4byte gBattlescriptCurrInstr _08029E58: mov r0, r8 adds r0, 0x1 @@ -24977,7 +24977,7 @@ _08029EF8: ble _08029E9C movs r0, 0 mov r8, r0 - ldr r1, _08029FA4 @ =gUnknown_2023D74 + ldr r1, _08029FA4 @ =gBattlescriptCurrInstr mov r12, r1 ldr r3, _08029F90 @ =gUnknown_824F050 adds r0, r4, 0x1 @@ -25055,7 +25055,7 @@ _08029F94: .4byte gUnknown_2023DA8 _08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons _08029FA0: .4byte 0x000003e7 -_08029FA4: .4byte gUnknown_2023D74 +_08029FA4: .4byte gBattlescriptCurrInstr _08029FA8: .4byte 0x0000014f thumb_func_end atkA6_settypetorandomresistance @@ -25088,7 +25088,7 @@ atkA7_setalwayshitflag: @ 8029FAC ldr r1, _08029FFC @ =gBattlerAttacker ldrb r1, [r1] strb r1, [r0, 0x15] - ldr r1, _0802A000 @ =gUnknown_2023D74 + ldr r1, _0802A000 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -25100,7 +25100,7 @@ _08029FF0: .4byte gStatuses3 _08029FF4: .4byte gBattlerTarget _08029FF8: .4byte gDisableStructs _08029FFC: .4byte gBattlerAttacker -_0802A000: .4byte gUnknown_2023D74 +_0802A000: .4byte gBattlescriptCurrInstr thumb_func_end atkA7_setalwayshitflag thumb_func_start atkA8_copymovepermanently @@ -25263,7 +25263,7 @@ _0802A0F2: bl BtlController_EmitSetMonData ldr r0, _0802A184 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r1, _0802A188 @ =gBattleTextBuff1 movs r0, 0xFD strb r0, [r1] @@ -25284,7 +25284,7 @@ _0802A0F2: strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _0802A18C @ =gUnknown_2023D74 + ldr r1, _0802A18C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -25300,9 +25300,9 @@ _0802A17C: .4byte gUnknown_2023D48 _0802A180: .4byte gBattleMoves _0802A184: .4byte gActiveBattler _0802A188: .4byte gBattleTextBuff1 -_0802A18C: .4byte gUnknown_2023D74 +_0802A18C: .4byte gBattlescriptCurrInstr _0802A190: - ldr r3, _0802A1BC @ =gUnknown_2023D74 + ldr r3, _0802A1BC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -25325,7 +25325,7 @@ _0802A1AA: pop {r0} bx r0 .align 2, 0 -_0802A1BC: .4byte gUnknown_2023D74 +_0802A1BC: .4byte gBattlescriptCurrInstr thumb_func_end atkA8_copymovepermanently thumb_func_start IsTwoTurnsMove @@ -25429,7 +25429,7 @@ _0802A248: cmp r0, 0x1A bne _0802A288 _0802A26A: - ldr r0, _0802A284 @ =gUnknown_2023DD0 + ldr r0, _0802A284 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 20 @@ -25441,7 +25441,7 @@ _0802A26A: .align 2, 0 _0802A27C: .4byte gBattleMoves _0802A280: .4byte gBattleWeather -_0802A284: .4byte gUnknown_2023DD0 +_0802A284: .4byte gHitMarker _0802A288: movs r0, 0x2 _0802A28A: @@ -25518,7 +25518,7 @@ _0802A2FC: lsrs r6, r0, 24 cmp r6, 0xF bne _0802A330 - ldr r1, _0802A32C @ =gUnknown_2023D74 + ldr r1, _0802A32C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -25527,7 +25527,7 @@ _0802A2FC: _0802A320: .4byte gBattlerAttacker _0802A324: .4byte gUnknown_2023BF0 _0802A328: .4byte gBitTable -_0802A32C: .4byte gUnknown_2023D74 +_0802A32C: .4byte gBattlescriptCurrInstr _0802A330: movs r7, 0x3 ldr r4, _0802A3A4 @ =gBitTable @@ -25555,7 +25555,7 @@ _0802A334: strh r0, [r4] ldr r0, _0802A3B4 @ =gUnknown_2023D48 strb r5, [r0] - ldr r2, _0802A3B8 @ =gUnknown_2023DD0 + ldr r2, _0802A3B8 @ =gHitMarker ldr r0, [r2] ldr r1, _0802A3BC @ =0xfffffbff ands r0, r1 @@ -25565,7 +25565,7 @@ _0802A334: bl GetMoveTarget ldr r1, _0802A3C0 @ =gBattlerTarget strb r0, [r1] - ldr r3, _0802A3C4 @ =gUnknown_2023D74 + ldr r3, _0802A3C4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -25592,10 +25592,10 @@ _0802A3A8: .4byte gUnknown_2023D4E _0802A3AC: .4byte gBattleMons _0802A3B0: .4byte gBattlerAttacker _0802A3B4: .4byte gUnknown_2023D48 -_0802A3B8: .4byte gUnknown_2023DD0 +_0802A3B8: .4byte gHitMarker _0802A3BC: .4byte 0xfffffbff _0802A3C0: .4byte gBattlerTarget -_0802A3C4: .4byte gUnknown_2023D74 +_0802A3C4: .4byte gBattlescriptCurrInstr thumb_func_end atkA9_trychoosesleeptalkmove thumb_func_start atkAA_setdestinybond @@ -25612,7 +25612,7 @@ atkAA_setdestinybond: @ 802A3C8 lsls r1, 18 orrs r0, r1 str r0, [r2] - ldr r1, _0802A3F4 @ =gUnknown_2023D74 + ldr r1, _0802A3F4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -25620,7 +25620,7 @@ atkAA_setdestinybond: @ 802A3C8 .align 2, 0 _0802A3EC: .4byte gBattleMons _0802A3F0: .4byte gBattlerAttacker -_0802A3F4: .4byte gUnknown_2023D74 +_0802A3F4: .4byte gBattlescriptCurrInstr thumb_func_end atkAA_setdestinybond thumb_func_start TrySetDestinyBondToHappen @@ -25650,7 +25650,7 @@ TrySetDestinyBondToHappen: @ 802A3F8 beq _0802A442 cmp r5, r3 beq _0802A442 - ldr r2, _0802A454 @ =gUnknown_2023DD0 + ldr r2, _0802A454 @ =gHitMarker ldr r1, [r2] movs r0, 0x80 lsls r0, 17 @@ -25668,21 +25668,21 @@ _0802A442: _0802A448: .4byte gBattlerAttacker _0802A44C: .4byte gBattlerTarget _0802A450: .4byte gBattleMons -_0802A454: .4byte gUnknown_2023DD0 +_0802A454: .4byte gHitMarker thumb_func_end TrySetDestinyBondToHappen thumb_func_start atkAB_trysetdestinybondtohappen atkAB_trysetdestinybondtohappen: @ 802A458 push {lr} bl TrySetDestinyBondToHappen - ldr r1, _0802A46C @ =gUnknown_2023D74 + ldr r1, _0802A46C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802A46C: .4byte gUnknown_2023D74 +_0802A46C: .4byte gBattlescriptCurrInstr thumb_func_end atkAB_trysetdestinybondtohappen thumb_func_start atkAC_remaininghptopower @@ -25723,7 +25723,7 @@ _0802A4AA: adds r0, r1 ldrb r0, [r0] strh r0, [r2] - ldr r1, _0802A4D4 @ =gUnknown_2023D74 + ldr r1, _0802A4D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -25734,7 +25734,7 @@ _0802A4C4: .4byte gBattleMons _0802A4C8: .4byte gBattlerAttacker _0802A4CC: .4byte gUnknown_8250810 _0802A4D0: .4byte gDynamicBasePower -_0802A4D4: .4byte gUnknown_2023D74 +_0802A4D4: .4byte gBattlescriptCurrInstr thumb_func_end atkAC_remaininghptopower thumb_func_start atkAD_tryspiteppreduce @@ -25913,9 +25913,9 @@ _0802A57C: movs r3, 0x1 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802A630: - ldr r1, _0802A67C @ =gUnknown_2023D74 + ldr r1, _0802A67C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -25943,9 +25943,9 @@ _0802A66C: .4byte gBattleTextBuff2 _0802A670: .4byte gActiveBattler _0802A674: .4byte gDisableStructs _0802A678: .4byte gBitTable -_0802A67C: .4byte gUnknown_2023D74 +_0802A67C: .4byte gBattlescriptCurrInstr _0802A680: - ldr r3, _0802A6AC @ =gUnknown_2023D74 + ldr r3, _0802A6AC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -25968,7 +25968,7 @@ _0802A69A: pop {r0} bx r0 .align 2, 0 -_0802A6AC: .4byte gUnknown_2023D74 +_0802A6AC: .4byte gBattlescriptCurrInstr thumb_func_end atkAD_tryspiteppreduce thumb_func_start atkAE_healpartystatus @@ -25988,7 +25988,7 @@ atkAE_healpartystatus: @ 802A6B0 beq _0802A6CC b _0802A8B6 _0802A6CC: - ldr r6, _0802A724 @ =gUnknown_2023E82 + ldr r6, _0802A724 @ =gBattleCommunication mov r0, r8 strb r0, [r6, 0x5] ldr r5, _0802A728 @ =gBattlerAttacker @@ -26031,7 +26031,7 @@ _0802A6E8: b _0802A74C .align 2, 0 _0802A720: .4byte gCurrentMove -_0802A724: .4byte gUnknown_2023E82 +_0802A724: .4byte gBattleCommunication _0802A728: .4byte gBattlerAttacker _0802A72C: .4byte gEnemyParty _0802A730: .4byte gPlayerParty @@ -26114,7 +26114,7 @@ _0802A7E0: ldrb r1, [r1] adds r0, r3, 0 bl sub_80C71D0 - ldr r1, _0802A838 @ =gUnknown_2023E82 + ldr r1, _0802A838 @ =gBattleCommunication ldrb r0, [r1, 0x5] mov r2, r9 orrs r0, r2 @@ -26155,7 +26155,7 @@ _0802A7F6: muls r0, r1 b _0802A878 .align 2, 0 -_0802A838: .4byte gUnknown_2023E82 +_0802A838: .4byte gBattleCommunication _0802A83C: .4byte gBattleMons _0802A840: .4byte gBattlerPartyIndexes _0802A844: .4byte gBattlerAttacker @@ -26216,7 +26216,7 @@ _0802A8AE: ble _0802A7F6 b _0802A934 _0802A8B6: - ldr r1, _0802A970 @ =gUnknown_2023E82 + ldr r1, _0802A970 @ =gBattleCommunication movs r0, 0x4 strb r0, [r1, 0x5] movs r2, 0x3F @@ -26292,9 +26292,9 @@ _0802A934: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802A956: - ldr r1, _0802A990 @ =gUnknown_2023D74 + ldr r1, _0802A990 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -26307,7 +26307,7 @@ _0802A956: pop {r0} bx r0 .align 2, 0 -_0802A970: .4byte gUnknown_2023E82 +_0802A970: .4byte gBattleCommunication _0802A974: .4byte gBattleMons _0802A978: .4byte gBattlerAttacker _0802A97C: .4byte 0xf7ffffff @@ -26315,7 +26315,7 @@ _0802A980: .4byte gActiveBattler _0802A984: .4byte gBattleTypeFlags _0802A988: .4byte gAbsentBattlerFlags _0802A98C: .4byte gBitTable -_0802A990: .4byte gUnknown_2023D74 +_0802A990: .4byte gBattlescriptCurrInstr thumb_func_end atkAE_healpartystatus thumb_func_start atkAF_cursetarget @@ -26337,7 +26337,7 @@ atkAF_cursetarget: @ 802A994 ands r0, r3 cmp r0, 0 beq _0802A9E0 - ldr r3, _0802A9DC @ =gUnknown_2023D74 + ldr r3, _0802A9DC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -26354,7 +26354,7 @@ atkAF_cursetarget: @ 802A994 .align 2, 0 _0802A9D4: .4byte gBattleMons _0802A9D8: .4byte gBattlerTarget -_0802A9DC: .4byte gUnknown_2023D74 +_0802A9DC: .4byte gBattlescriptCurrInstr _0802A9E0: orrs r2, r3 str r2, [r1] @@ -26371,7 +26371,7 @@ _0802A9E0: movs r0, 0x1 str r0, [r1] _0802A9FC: - ldr r1, _0802AA14 @ =gUnknown_2023D74 + ldr r1, _0802AA14 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -26382,7 +26382,7 @@ _0802AA04: .align 2, 0 _0802AA0C: .4byte gBattleMoveDamage _0802AA10: .4byte gBattlerAttacker -_0802AA14: .4byte gUnknown_2023D74 +_0802AA14: .4byte gBattlescriptCurrInstr thumb_func_end atkAF_cursetarget thumb_func_start atkB0_trysetspikes @@ -26403,7 +26403,7 @@ atkB0_trysetspikes: @ 802AA18 ldrb r0, [r3, 0xA] cmp r0, 0x3 bne _0802AA7C - ldr r2, _0802AA74 @ =gUnknown_2023ECC + ldr r2, _0802AA74 @ =gSpecialStatuses ldrb r1, [r4] lsls r0, r1, 2 adds r0, r1 @@ -26413,7 +26413,7 @@ atkB0_trysetspikes: @ 802AA18 movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r3, _0802AA78 @ =gUnknown_2023D74 + ldr r3, _0802AA78 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -26430,10 +26430,10 @@ atkB0_trysetspikes: @ 802AA18 .align 2, 0 _0802AA6C: .4byte gBattlerAttacker _0802AA70: .4byte gSideTimers -_0802AA74: .4byte gUnknown_2023ECC -_0802AA78: .4byte gUnknown_2023D74 +_0802AA74: .4byte gSpecialStatuses +_0802AA78: .4byte gBattlescriptCurrInstr _0802AA7C: - ldr r1, _0802AA9C @ =gSideAffecting + ldr r1, _0802AA9C @ =gSideStatuses adds r1, r2, r1 ldrh r2, [r1] movs r0, 0x10 @@ -26442,7 +26442,7 @@ _0802AA7C: ldrb r0, [r3, 0xA] adds r0, 0x1 strb r0, [r3, 0xA] - ldr r1, _0802AAA0 @ =gUnknown_2023D74 + ldr r1, _0802AAA0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -26451,8 +26451,8 @@ _0802AA96: pop {r0} bx r0 .align 2, 0 -_0802AA9C: .4byte gSideAffecting -_0802AAA0: .4byte gUnknown_2023D74 +_0802AA9C: .4byte gSideStatuses +_0802AAA0: .4byte gBattlescriptCurrInstr thumb_func_end atkB0_trysetspikes thumb_func_start atkB1_setforesight @@ -26469,7 +26469,7 @@ atkB1_setforesight: @ 802AAA4 lsls r1, 22 orrs r0, r1 str r0, [r2] - ldr r1, _0802AAD0 @ =gUnknown_2023D74 + ldr r1, _0802AAD0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -26477,7 +26477,7 @@ atkB1_setforesight: @ 802AAA4 .align 2, 0 _0802AAC8: .4byte gBattleMons _0802AACC: .4byte gBattlerTarget -_0802AAD0: .4byte gUnknown_2023D74 +_0802AAD0: .4byte gBattlescriptCurrInstr thumb_func_end atkB1_setforesight thumb_func_start atkB2_trysetperishsong @@ -26544,7 +26544,7 @@ _0802AB40: ldrb r0, [r0] cmp r6, r0 bne _0802AB74 - ldr r3, _0802AB70 @ =gUnknown_2023D74 + ldr r3, _0802AB70 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -26560,9 +26560,9 @@ _0802AB40: b _0802AB7C .align 2, 0 _0802AB6C: .4byte gBattlersCount -_0802AB70: .4byte gUnknown_2023D74 +_0802AB70: .4byte gBattlescriptCurrInstr _0802AB74: - ldr r1, _0802AB88 @ =gUnknown_2023D74 + ldr r1, _0802AB88 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -26574,7 +26574,7 @@ _0802AB7C: pop {r0} bx r0 .align 2, 0 -_0802AB88: .4byte gUnknown_2023D74 +_0802AB88: .4byte gBattlescriptCurrInstr thumb_func_end atkB2_trysetperishsong thumb_func_start atkB3_rolloutdamagecalculation @@ -26592,14 +26592,14 @@ atkB3_rolloutdamagecalculation: @ 802AB8C ldr r0, _0802ABB4 @ =gBattlerAttacker ldrb r0, [r0] bl CancelMultiTurnMoves - ldr r1, _0802ABB8 @ =gUnknown_2023D74 + ldr r1, _0802ABB8 @ =gBattlescriptCurrInstr ldr r0, _0802ABBC @ =gUnknown_81D6960 str r0, [r1] b _0802ACD8 .align 2, 0 _0802ABB0: .4byte gMoveResultFlags _0802ABB4: .4byte gBattlerAttacker -_0802ABB8: .4byte gUnknown_2023D74 +_0802ABB8: .4byte gBattlescriptCurrInstr _0802ABBC: .4byte gUnknown_81D6960 _0802ABC0: ldr r2, _0802ACE4 @ =gBattleMons @@ -26709,7 +26709,7 @@ _0802AC66: lsrs r0, 28 movs r1, 0x5 subs r1, r0 - ldr r7, _0802AD04 @ =gUnknown_2023D74 + ldr r7, _0802AD04 @ =gBattlescriptCurrInstr adds r5, r3, 0 cmp r2, r1 bge _0802ACB4 @@ -26763,7 +26763,7 @@ _0802ACF4: .4byte gUnknown_2023DB8 _0802ACF8: .4byte 0xffffefff _0802ACFC: .4byte gDynamicBasePower _0802AD00: .4byte gBattleMoves -_0802AD04: .4byte gUnknown_2023D74 +_0802AD04: .4byte gBattlescriptCurrInstr thumb_func_end atkB3_rolloutdamagecalculation thumb_func_start atkB4_jumpifconfusedandstatmaxed @@ -26781,7 +26781,7 @@ atkB4_jumpifconfusedandstatmaxed: @ 802AD08 ldr r0, [r0] movs r1, 0x7 ands r0, r1 - ldr r4, _0802AD60 @ =gUnknown_2023D74 + ldr r4, _0802AD60 @ =gBattlescriptCurrInstr cmp r0, 0 beq _0802AD64 ldr r2, [r4] @@ -26810,7 +26810,7 @@ atkB4_jumpifconfusedandstatmaxed: @ 802AD08 .align 2, 0 _0802AD58: .4byte gBattleMons _0802AD5C: .4byte gBattlerTarget -_0802AD60: .4byte gUnknown_2023D74 +_0802AD60: .4byte gBattlescriptCurrInstr _0802AD64: ldr r0, [r4] adds r0, 0x6 @@ -26839,7 +26839,7 @@ atkB5_furycuttercalc: @ 802AD70 adds r0, r2 movs r1, 0 strb r1, [r0, 0x10] - ldr r1, _0802ADA4 @ =gUnknown_2023D74 + ldr r1, _0802ADA4 @ =gBattlescriptCurrInstr ldr r0, _0802ADA8 @ =gUnknown_81D6960 str r0, [r1] b _0802AE04 @@ -26847,7 +26847,7 @@ atkB5_furycuttercalc: @ 802AD70 _0802AD98: .4byte gMoveResultFlags _0802AD9C: .4byte gDisableStructs _0802ADA0: .4byte gBattlerAttacker -_0802ADA4: .4byte gUnknown_2023D74 +_0802ADA4: .4byte gBattlescriptCurrInstr _0802ADA8: .4byte gUnknown_81D6960 _0802ADAC: ldr r5, _0802AE0C @ =gDisableStructs @@ -26879,7 +26879,7 @@ _0802ADC4: subs r0, r1 lsls r0, 2 adds r0, r5 - ldr r4, _0802AE20 @ =gUnknown_2023D74 + ldr r4, _0802AE20 @ =gBattlescriptCurrInstr ldrb r1, [r0, 0x10] cmp r2, r1 bge _0802ADFE @@ -26907,7 +26907,7 @@ _0802AE10: .4byte gBattlerAttacker _0802AE14: .4byte gDynamicBasePower _0802AE18: .4byte gBattleMoves _0802AE1C: .4byte gCurrentMove -_0802AE20: .4byte gUnknown_2023D74 +_0802AE20: .4byte gBattlescriptCurrInstr thumb_func_end atkB5_furycuttercalc thumb_func_start atkB6_happinesstodamagecalculation @@ -26958,7 +26958,7 @@ _0802AE7A: movs r1, 0x19 bl __divsi3 strh r0, [r4] - ldr r1, _0802AEA4 @ =gUnknown_2023D74 + ldr r1, _0802AEA4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -26969,7 +26969,7 @@ _0802AE7A: _0802AE98: .4byte gDynamicBasePower _0802AE9C: .4byte gBattleMons _0802AEA0: .4byte gBattlerAttacker -_0802AEA4: .4byte gUnknown_2023D74 +_0802AEA4: .4byte gBattlescriptCurrInstr thumb_func_end atkB6_happinesstodamagecalculation thumb_func_start atkB7_presentdamagecalculation @@ -27026,14 +27026,14 @@ _0802AF00: _0802AF06: cmp r4, 0xCB bgt _0802AF24 - ldr r1, _0802AF1C @ =gUnknown_2023D74 + ldr r1, _0802AF1C @ =gBattlescriptCurrInstr ldr r0, _0802AF20 @ =gUnknown_81D6930 b _0802AF5E .align 2, 0 _0802AF10: .4byte gBattleMoveDamage _0802AF14: .4byte gBattleMons _0802AF18: .4byte gBattlerTarget -_0802AF1C: .4byte gUnknown_2023D74 +_0802AF1C: .4byte gBattlescriptCurrInstr _0802AF20: .4byte gUnknown_81D6930 _0802AF24: ldr r2, _0802AF40 @ =gBattleMons @@ -27046,13 +27046,13 @@ _0802AF24: ldrh r0, [r0, 0x28] cmp r1, r0 bne _0802AF50 - ldr r1, _0802AF48 @ =gUnknown_2023D74 + ldr r1, _0802AF48 @ =gBattlescriptCurrInstr ldr r0, _0802AF4C @ =gUnknown_81D7DD1 b _0802AF5E .align 2, 0 _0802AF40: .4byte gBattleMons _0802AF44: .4byte gBattlerTarget -_0802AF48: .4byte gUnknown_2023D74 +_0802AF48: .4byte gBattlescriptCurrInstr _0802AF4C: .4byte gUnknown_81D7DD1 _0802AF50: ldr r2, _0802AF68 @ =gMoveResultFlags @@ -27060,7 +27060,7 @@ _0802AF50: movs r0, 0xF7 ands r0, r1 strb r0, [r2] - ldr r1, _0802AF6C @ =gUnknown_2023D74 + ldr r1, _0802AF6C @ =gBattlescriptCurrInstr ldr r0, _0802AF70 @ =gUnknown_81D7DB7 _0802AF5E: str r0, [r1] @@ -27069,7 +27069,7 @@ _0802AF5E: bx r0 .align 2, 0 _0802AF68: .4byte gMoveResultFlags -_0802AF6C: .4byte gUnknown_2023D74 +_0802AF6C: .4byte gBattlescriptCurrInstr _0802AF70: .4byte gUnknown_81D7DB7 thumb_func_end atkB7_presentdamagecalculation @@ -27079,7 +27079,7 @@ atkB8_setsafeguard: @ 802AF74 ldr r7, _0802AFA8 @ =gBattlerAttacker ldrb r0, [r7] bl GetBattlerPosition - ldr r4, _0802AFAC @ =gSideAffecting + ldr r4, _0802AFAC @ =gSideStatuses movs r6, 0x1 adds r1, r6, 0 ands r1, r0 @@ -27095,15 +27095,15 @@ atkB8_setsafeguard: @ 802AF74 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802AFB4 @ =gUnknown_2023E82 + ldr r1, _0802AFB4 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] b _0802B000 .align 2, 0 _0802AFA8: .4byte gBattlerAttacker -_0802AFAC: .4byte gSideAffecting +_0802AFAC: .4byte gSideStatuses _0802AFB0: .4byte gMoveResultFlags -_0802AFB4: .4byte gUnknown_2023E82 +_0802AFB4: .4byte gBattleCommunication _0802AFB8: ldrb r0, [r7] bl GetBattlerPosition @@ -27136,10 +27136,10 @@ _0802AFB8: adds r0, r5 ldrb r1, [r7] strb r1, [r0, 0x7] - ldr r0, _0802B014 @ =gUnknown_2023E82 + ldr r0, _0802B014 @ =gBattleCommunication strb r4, [r0, 0x5] _0802B000: - ldr r1, _0802B018 @ =gUnknown_2023D74 + ldr r1, _0802B018 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -27148,8 +27148,8 @@ _0802B000: bx r0 .align 2, 0 _0802B010: .4byte gSideTimers -_0802B014: .4byte gUnknown_2023E82 -_0802B018: .4byte gUnknown_2023D74 +_0802B014: .4byte gBattleCommunication +_0802B018: .4byte gBattlescriptCurrInstr thumb_func_end atkB8_setsafeguard thumb_func_start atkB9_magnitudedamagecalculation @@ -27246,7 +27246,7 @@ _0802B0B4: ldr r0, _0802B12C @ =gBattlersCount ldrb r3, [r0] adds r6, r1, 0 - ldr r0, _0802B130 @ =gUnknown_2023D74 + ldr r0, _0802B130 @ =gBattlescriptCurrInstr mov r8, r0 cmp r2, r3 bcs _0802B10C @@ -27290,7 +27290,7 @@ _0802B120: .4byte gDynamicBasePower _0802B124: .4byte gBattleTextBuff1 _0802B128: .4byte gBattlerTarget _0802B12C: .4byte gBattlersCount -_0802B130: .4byte gUnknown_2023D74 +_0802B130: .4byte gBattlescriptCurrInstr _0802B134: .4byte gBattlerAttacker _0802B138: .4byte gBitTable _0802B13C: .4byte gAbsentBattlerFlags @@ -27396,12 +27396,12 @@ _0802B1A2: mov r10, r7 ldr r2, _0802B28C @ =gUnknown_2023D49 mov r9, r2 - ldr r7, _0802B290 @ =gUnknown_2023DD0 + ldr r7, _0802B290 @ =gHitMarker mov r12, r7 ldrb r2, [r0] cmp r1, r2 bge _0802B22E - ldr r6, _0802B294 @ =gUnknown_2023BDE + ldr r6, _0802B294 @ =gBattlerByTurnOrder ldr r5, _0802B264 @ =gBattlerTarget ldr r4, _0802B298 @ =gUnknown_2023BDA movs r3, 0xB @@ -27434,7 +27434,7 @@ _0802B22E: strb r0, [r1] mov r2, r10 strb r0, [r2] - ldr r7, _0802B29C @ =gUnknown_2023D74 + ldr r7, _0802B29C @ =gBattlescriptCurrInstr ldr r0, [r7] adds r0, 0x5 str r0, [r7] @@ -27459,14 +27459,14 @@ _0802B280: .4byte gBattlersCount _0802B284: .4byte gCurrentMove _0802B288: .4byte gUnknown_2023D48 _0802B28C: .4byte gUnknown_2023D49 -_0802B290: .4byte gUnknown_2023DD0 -_0802B294: .4byte gUnknown_2023BDE +_0802B290: .4byte gHitMarker +_0802B294: .4byte gBattlerByTurnOrder _0802B298: .4byte gUnknown_2023BDA -_0802B29C: .4byte gUnknown_2023D74 +_0802B29C: .4byte gBattlescriptCurrInstr _0802B2A0: .4byte gBattleScripting _0802B2A4: .4byte 0xfffffbff _0802B2A8: - ldr r3, _0802B2D0 @ =gUnknown_2023D74 + ldr r3, _0802B2D0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -27488,7 +27488,7 @@ _0802B2C2: pop {r0} bx r0 .align 2, 0 -_0802B2D0: .4byte gUnknown_2023D74 +_0802B2D0: .4byte gBattlescriptCurrInstr thumb_func_end atkBA_jumpifnopursuitswitchdmg thumb_func_start atkBB_setsunny @@ -27505,35 +27505,35 @@ atkBB_setsunny: @ 802B2D4 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802B2FC @ =gUnknown_2023E82 + ldr r1, _0802B2FC @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _0802B312 .align 2, 0 _0802B2F4: .4byte gBattleWeather _0802B2F8: .4byte gMoveResultFlags -_0802B2FC: .4byte gUnknown_2023E82 +_0802B2FC: .4byte gBattleCommunication _0802B300: movs r0, 0x20 strh r0, [r2] - ldr r1, _0802B320 @ =gUnknown_2023E82 + ldr r1, _0802B320 @ =gBattleCommunication movs r0, 0x4 strb r0, [r1, 0x5] - ldr r0, _0802B324 @ =gUnknown_2023F20 + ldr r0, _0802B324 @ =gWishFutureKnock adds r0, 0x28 movs r1, 0x5 strb r1, [r0] _0802B312: - ldr r1, _0802B328 @ =gUnknown_2023D74 + ldr r1, _0802B328 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802B320: .4byte gUnknown_2023E82 -_0802B324: .4byte gUnknown_2023F20 -_0802B328: .4byte gUnknown_2023D74 +_0802B320: .4byte gBattleCommunication +_0802B324: .4byte gWishFutureKnock +_0802B328: .4byte gBattlescriptCurrInstr thumb_func_end atkBB_setsunny thumb_func_start atkBC_maxattackhalvehp @@ -27572,7 +27572,7 @@ _0802B344: movs r0, 0x1 str r0, [r1] _0802B36C: - ldr r1, _0802B384 @ =gUnknown_2023D74 + ldr r1, _0802B384 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -27581,9 +27581,9 @@ _0802B36C: _0802B378: .4byte gBattleMons _0802B37C: .4byte gBattlerAttacker _0802B380: .4byte gBattleMoveDamage -_0802B384: .4byte gUnknown_2023D74 +_0802B384: .4byte gBattlescriptCurrInstr _0802B388: - ldr r3, _0802B3A8 @ =gUnknown_2023D74 + ldr r3, _0802B3A8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -27601,14 +27601,14 @@ _0802B3A2: pop {r0} bx r0 .align 2, 0 -_0802B3A8: .4byte gUnknown_2023D74 +_0802B3A8: .4byte gBattlescriptCurrInstr thumb_func_end atkBC_maxattackhalvehp thumb_func_start atkBD_copyfoestats atkBD_copyfoestats: @ 802B3AC push {r4-r7,lr} movs r2, 0 - ldr r7, _0802B3E4 @ =gUnknown_2023D74 + ldr r7, _0802B3E4 @ =gBattlescriptCurrInstr ldr r6, _0802B3E8 @ =gBattlerAttacker movs r4, 0x58 ldr r3, _0802B3EC @ =gUnknown_2023BFC @@ -27635,7 +27635,7 @@ _0802B3BA: pop {r0} bx r0 .align 2, 0 -_0802B3E4: .4byte gUnknown_2023D74 +_0802B3E4: .4byte gBattlescriptCurrInstr _0802B3E8: .4byte gBattlerAttacker _0802B3EC: .4byte gUnknown_2023BFC _0802B3F0: .4byte gBattlerTarget @@ -27695,7 +27695,7 @@ atkBE_rapidspinfree: @ 802B3F4 movs r0, 0xFF strb r0, [r1, 0x4] bl BattleScriptPushCursor - ldr r1, _0802B480 @ =gUnknown_2023D74 + ldr r1, _0802B480 @ =gBattlescriptCurrInstr ldr r0, _0802B484 @ =gUnknown_81D8DF3 b _0802B532 .align 2, 0 @@ -27706,7 +27706,7 @@ _0802B470: .4byte gBattlerTarget _0802B474: .4byte 0xffff1fff _0802B478: .4byte gBattleStruct _0802B47C: .4byte gBattleTextBuff1 -_0802B480: .4byte gUnknown_2023D74 +_0802B480: .4byte gBattlescriptCurrInstr _0802B484: .4byte gUnknown_81D8DF3 _0802B488: ldr r4, _0802B4BC @ =gStatuses3 @@ -27730,17 +27730,17 @@ _0802B488: ands r0, r2 str r0, [r1] bl BattleScriptPushCursor - ldr r1, _0802B4C0 @ =gUnknown_2023D74 + ldr r1, _0802B4C0 @ =gBattlescriptCurrInstr ldr r0, _0802B4C4 @ =gUnknown_81D8E04 b _0802B532 .align 2, 0 _0802B4BC: .4byte gStatuses3 -_0802B4C0: .4byte gUnknown_2023D74 +_0802B4C0: .4byte gBattlescriptCurrInstr _0802B4C4: .4byte gUnknown_81D8E04 _0802B4C8: adds r0, r2, 0 bl GetBattlerSide - ldr r4, _0802B518 @ =gSideAffecting + ldr r4, _0802B518 @ =gSideStatuses lsls r0, 24 lsrs r0, 23 adds r0, r4 @@ -27770,17 +27770,17 @@ _0802B4C8: adds r1, r2 strb r4, [r1, 0xA] bl BattleScriptPushCursor - ldr r1, _0802B524 @ =gUnknown_2023D74 + ldr r1, _0802B524 @ =gBattlescriptCurrInstr ldr r0, _0802B528 @ =gUnknown_81D8E0B b _0802B532 .align 2, 0 -_0802B518: .4byte gSideAffecting +_0802B518: .4byte gSideStatuses _0802B51C: .4byte 0x0000ffef _0802B520: .4byte gSideTimers -_0802B524: .4byte gUnknown_2023D74 +_0802B524: .4byte gBattlescriptCurrInstr _0802B528: .4byte gUnknown_81D8E0B _0802B52C: - ldr r1, _0802B53C @ =gUnknown_2023D74 + ldr r1, _0802B53C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 _0802B532: @@ -27789,7 +27789,7 @@ _0802B532: pop {r0} bx r0 .align 2, 0 -_0802B53C: .4byte gUnknown_2023D74 +_0802B53C: .4byte gBattlescriptCurrInstr thumb_func_end atkBE_rapidspinfree thumb_func_start atkBF_setdefensecurlbit @@ -27806,7 +27806,7 @@ atkBF_setdefensecurlbit: @ 802B540 lsls r1, 23 orrs r0, r1 str r0, [r2] - ldr r1, _0802B56C @ =gUnknown_2023D74 + ldr r1, _0802B56C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -27814,7 +27814,7 @@ atkBF_setdefensecurlbit: @ 802B540 .align 2, 0 _0802B564: .4byte gBattleMons _0802B568: .4byte gBattlerAttacker -_0802B56C: .4byte gUnknown_2023D74 +_0802B56C: .4byte gBattlescriptCurrInstr thumb_func_end atkBF_setdefensecurlbit thumb_func_start atkC0_recoverbasedonsunlight @@ -27917,16 +27917,16 @@ _0802B636: ldr r0, [r1] negs r0, r0 str r0, [r1] - ldr r1, _0802B64C @ =gUnknown_2023D74 + ldr r1, _0802B64C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802B66A .align 2, 0 _0802B648: .4byte gBattleMoveDamage -_0802B64C: .4byte gUnknown_2023D74 +_0802B64C: .4byte gBattlescriptCurrInstr _0802B650: - ldr r3, _0802B674 @ =gUnknown_2023D74 + ldr r3, _0802B674 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -27945,7 +27945,7 @@ _0802B66A: pop {r0} bx r0 .align 2, 0 -_0802B674: .4byte gUnknown_2023D74 +_0802B674: .4byte gBattlescriptCurrInstr thumb_func_end atkC0_recoverbasedonsunlight thumb_func_start sub_802B678 @@ -28055,7 +28055,7 @@ _0802B742: movs r1, 0xC0 orrs r0, r1 strb r0, [r2, 0x13] - ldr r1, _0802B770 @ =gUnknown_2023D74 + ldr r1, _0802B770 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28070,7 +28070,7 @@ _0802B760: .4byte gBattleMons _0802B764: .4byte gBattlerAttacker _0802B768: .4byte gDynamicBasePower _0802B76C: .4byte gBattleStruct -_0802B770: .4byte gUnknown_2023D74 +_0802B770: .4byte gBattlescriptCurrInstr thumb_func_end sub_802B678 thumb_func_start atkC2_selectfirstvalidtarget @@ -28084,7 +28084,7 @@ atkC2_selectfirstvalidtarget: @ 802B774 ldr r1, _0802B7D4 @ =gBattlersCount ldrb r1, [r1] adds r6, r0, 0 - ldr r0, _0802B7D8 @ =gUnknown_2023D74 + ldr r0, _0802B7D8 @ =gBattlescriptCurrInstr mov r8, r0 cmp r1, 0 beq _0802B7BE @@ -28127,7 +28127,7 @@ _0802B7BE: .align 2, 0 _0802B7D0: .4byte gBattlerTarget _0802B7D4: .4byte gBattlersCount -_0802B7D8: .4byte gUnknown_2023D74 +_0802B7D8: .4byte gBattlescriptCurrInstr _0802B7DC: .4byte gBattlerAttacker _0802B7E0: .4byte gBitTable _0802B7E4: .4byte gAbsentBattlerFlags @@ -28141,7 +28141,7 @@ atkC3_trysetfutureattack: @ 802B7E8 mov r5, r8 push {r5-r7} sub sp, 0x10 - ldr r0, _0802B820 @ =gUnknown_2023F20 + ldr r0, _0802B820 @ =gWishFutureKnock mov r8, r0 ldr r7, _0802B824 @ =gBattlerTarget ldrb r1, [r7] @@ -28149,7 +28149,7 @@ atkC3_trysetfutureattack: @ 802B7E8 ldrb r6, [r0] cmp r6, 0 beq _0802B82C - ldr r3, _0802B828 @ =gUnknown_2023D74 + ldr r3, _0802B828 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28164,9 +28164,9 @@ atkC3_trysetfutureattack: @ 802B7E8 str r1, [r3] b _0802B8F6 .align 2, 0 -_0802B820: .4byte gUnknown_2023F20 +_0802B820: .4byte gWishFutureKnock _0802B824: .4byte gBattlerTarget -_0802B828: .4byte gUnknown_2023D74 +_0802B828: .4byte gBattlescriptCurrInstr _0802B82C: lsls r1, 1 mov r0, r8 @@ -28187,7 +28187,7 @@ _0802B82C: add r0, r8 movs r1, 0x3 strb r1, [r0] - ldr r4, _0802B8D4 @ =gSideAffecting + ldr r4, _0802B8D4 @ =gSideStatuses ldrb r0, [r7] bl GetBattlerPosition movs r1, 0x1 @@ -28219,7 +28219,7 @@ _0802B82C: adds r2, 0x8 adds r1, r2 str r0, [r1] - ldr r1, _0802B8DC @ =gUnknown_2023E8C + ldr r1, _0802B8DC @ =gProtectStructs ldrb r0, [r5] lsls r0, 4 adds r0, r1 @@ -28242,24 +28242,24 @@ _0802B8BA: ldr r0, _0802B8E0 @ =0x00000161 cmp r1, r0 bne _0802B8E8 - ldr r0, _0802B8E4 @ =gUnknown_2023E82 + ldr r0, _0802B8E4 @ =gBattleCommunication mov r1, r10 strb r1, [r0, 0x5] b _0802B8EE .align 2, 0 _0802B8CC: .4byte gCurrentMove _0802B8D0: .4byte gBattlerAttacker -_0802B8D4: .4byte gSideAffecting +_0802B8D4: .4byte gSideStatuses _0802B8D8: .4byte gBattleMons -_0802B8DC: .4byte gUnknown_2023E8C +_0802B8DC: .4byte gProtectStructs _0802B8E0: .4byte 0x00000161 -_0802B8E4: .4byte gUnknown_2023E82 +_0802B8E4: .4byte gBattleCommunication _0802B8E8: - ldr r1, _0802B908 @ =gUnknown_2023E82 + ldr r1, _0802B908 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] _0802B8EE: - ldr r1, _0802B90C @ =gUnknown_2023D74 + ldr r1, _0802B90C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -28273,8 +28273,8 @@ _0802B8F6: pop {r0} bx r0 .align 2, 0 -_0802B908: .4byte gUnknown_2023E82 -_0802B90C: .4byte gUnknown_2023D74 +_0802B908: .4byte gBattleCommunication +_0802B90C: .4byte gBattlescriptCurrInstr thumb_func_end atkC3_trysetfutureattack thumb_func_start atkC4_trydobeatup @@ -28301,7 +28301,7 @@ _0802B92A: ldrh r0, [r0, 0x28] cmp r0, 0 bne _0802B96C - ldr r3, _0802B968 @ =gUnknown_2023D74 + ldr r3, _0802B968 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28318,9 +28318,9 @@ _0802B958: .4byte gEnemyParty _0802B95C: .4byte gPlayerParty _0802B960: .4byte gBattleMons _0802B964: .4byte gBattlerTarget -_0802B968: .4byte gUnknown_2023D74 +_0802B968: .4byte gBattlescriptCurrInstr _0802B96C: - ldr r6, _0802BAA8 @ =gUnknown_2023E82 + ldr r6, _0802BAA8 @ =gBattleCommunication ldrb r0, [r6] mov r8, r0 cmp r0, 0x5 @@ -28370,7 +28370,7 @@ _0802B9C0: cmp r0, 0x5 bls _0802B97C _0802B9D0: - ldr r1, _0802BAA8 @ =gUnknown_2023E82 + ldr r1, _0802BAA8 @ =gBattleCommunication mov r9, r1 ldrb r2, [r1] cmp r2, 0x5 @@ -28386,7 +28386,7 @@ _0802B9D0: strb r2, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _0802BAB4 @ =gUnknown_2023D74 + ldr r1, _0802BAB4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x9 str r0, [r1] @@ -28452,7 +28452,7 @@ _0802B9D0: adds r2, r0, 0x2 mov r0, r8 str r2, [r0] - ldr r1, _0802BAD0 @ =gUnknown_2023E8C + ldr r1, _0802BAD0 @ =gProtectStructs ldrb r0, [r6] lsls r0, 4 adds r0, r1 @@ -28473,22 +28473,22 @@ _0802BA9C: strb r0, [r2] b _0802BB0E .align 2, 0 -_0802BAA8: .4byte gUnknown_2023E82 +_0802BAA8: .4byte gBattleCommunication _0802BAAC: .4byte gBattleTextBuff1 _0802BAB0: .4byte gBattlerAttacker -_0802BAB4: .4byte gUnknown_2023D74 +_0802BAB4: .4byte gBattlescriptCurrInstr _0802BAB8: .4byte gBattleMoveDamage _0802BABC: .4byte gBaseStats _0802BAC0: .4byte gBattleMoves _0802BAC4: .4byte gCurrentMove _0802BAC8: .4byte gBattleMons _0802BACC: .4byte gBattlerTarget -_0802BAD0: .4byte gUnknown_2023E8C +_0802BAD0: .4byte gProtectStructs _0802BAD4: mov r0, r8 cmp r0, 0 beq _0802BAF4 - ldr r3, _0802BAF0 @ =gUnknown_2023D74 + ldr r3, _0802BAF0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28500,9 +28500,9 @@ _0802BAD4: ldrb r0, [r2, 0x4] b _0802BB08 .align 2, 0 -_0802BAF0: .4byte gUnknown_2023D74 +_0802BAF0: .4byte gBattlescriptCurrInstr _0802BAF4: - ldr r3, _0802BB1C @ =gUnknown_2023D74 + ldr r3, _0802BB1C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x5] ldrb r0, [r2, 0x6] @@ -28524,7 +28524,7 @@ _0802BB0E: pop {r0} bx r0 .align 2, 0 -_0802BB1C: .4byte gUnknown_2023D74 +_0802BB1C: .4byte gBattlescriptCurrInstr thumb_func_end atkC4_trydobeatup thumb_func_start atkC5_setsemiinvulnerablebit @@ -28586,7 +28586,7 @@ _0802BB88: orrs r0, r2 str r0, [r1] _0802BB8C: - ldr r1, _0802BBA0 @ =gUnknown_2023D74 + ldr r1, _0802BBA0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28595,7 +28595,7 @@ _0802BB8C: .align 2, 0 _0802BB98: .4byte gStatuses3 _0802BB9C: .4byte gBattlerAttacker -_0802BBA0: .4byte gUnknown_2023D74 +_0802BBA0: .4byte gBattlescriptCurrInstr thumb_func_end atkC5_setsemiinvulnerablebit thumb_func_start atkC6_clearsemiinvulnerablebit @@ -28658,7 +28658,7 @@ _0802BC12: ands r0, r2 str r0, [r1] _0802BC16: - ldr r1, _0802BC30 @ =gUnknown_2023D74 + ldr r1, _0802BC30 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28668,13 +28668,13 @@ _0802BC16: _0802BC24: .4byte gStatuses3 _0802BC28: .4byte gBattlerAttacker _0802BC2C: .4byte 0xfffbffff -_0802BC30: .4byte gUnknown_2023D74 +_0802BC30: .4byte gBattlescriptCurrInstr thumb_func_end atkC6_clearsemiinvulnerablebit thumb_func_start atkC7_setminimize atkC7_setminimize: @ 802BC34 push {lr} - ldr r0, _0802BC64 @ =gUnknown_2023DD0 + ldr r0, _0802BC64 @ =gHitMarker ldr r0, [r0] movs r1, 0x80 lsls r1, 18 @@ -28692,17 +28692,17 @@ atkC7_setminimize: @ 802BC34 orrs r0, r2 str r0, [r1] _0802BC58: - ldr r1, _0802BC70 @ =gUnknown_2023D74 + ldr r1, _0802BC70 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802BC64: .4byte gUnknown_2023DD0 +_0802BC64: .4byte gHitMarker _0802BC68: .4byte gStatuses3 _0802BC6C: .4byte gBattlerAttacker -_0802BC70: .4byte gUnknown_2023D74 +_0802BC70: .4byte gBattlescriptCurrInstr thumb_func_end atkC7_setminimize thumb_func_start atkC8_sethail @@ -28720,33 +28720,33 @@ atkC8_sethail: @ 802BC74 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0802BCA0 @ =gUnknown_2023E82 + ldr r1, _0802BCA0 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _0802BCB2 .align 2, 0 _0802BC98: .4byte gBattleWeather _0802BC9C: .4byte gMoveResultFlags -_0802BCA0: .4byte gUnknown_2023E82 +_0802BCA0: .4byte gBattleCommunication _0802BCA4: strh r2, [r3] - ldr r0, _0802BCC0 @ =gUnknown_2023E82 + ldr r0, _0802BCC0 @ =gBattleCommunication movs r1, 0x5 strb r1, [r0, 0x5] - ldr r0, _0802BCC4 @ =gUnknown_2023F20 + ldr r0, _0802BCC4 @ =gWishFutureKnock adds r0, 0x28 strb r1, [r0] _0802BCB2: - ldr r1, _0802BCC8 @ =gUnknown_2023D74 + ldr r1, _0802BCC8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802BCC0: .4byte gUnknown_2023E82 -_0802BCC4: .4byte gUnknown_2023F20 -_0802BCC8: .4byte gUnknown_2023D74 +_0802BCC0: .4byte gBattleCommunication +_0802BCC4: .4byte gWishFutureKnock +_0802BCC8: .4byte gBattlescriptCurrInstr thumb_func_end atkC8_sethail thumb_func_start atkC9_jumpifattackandspecialattackcannotfall @@ -28767,11 +28767,11 @@ atkC9_jumpifattackandspecialattackcannotfall: @ 802BCCC ldrsb r0, [r1, r0] cmp r0, 0 bne _0802BD20 - ldr r0, _0802BD18 @ =gUnknown_2023E82 + ldr r0, _0802BD18 @ =gBattleCommunication ldrb r0, [r0, 0x6] cmp r0, 0x1 beq _0802BD20 - ldr r3, _0802BD1C @ =gUnknown_2023D74 + ldr r3, _0802BD1C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -28788,8 +28788,8 @@ atkC9_jumpifattackandspecialattackcannotfall: @ 802BCCC .align 2, 0 _0802BD10: .4byte gBattleMons _0802BD14: .4byte gBattlerTarget -_0802BD18: .4byte gUnknown_2023E82 -_0802BD1C: .4byte gUnknown_2023D74 +_0802BD18: .4byte gBattleCommunication +_0802BD1C: .4byte gBattlescriptCurrInstr _0802BD20: ldr r4, _0802BD54 @ =gActiveBattler ldr r0, _0802BD58 @ =gBattlerAttacker @@ -28806,8 +28806,8 @@ _0802BD20: movs r0, 0 bl BtlController_EmitHealthBarUpdate ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _0802BD64 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802BD64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -28820,7 +28820,7 @@ _0802BD54: .4byte gActiveBattler _0802BD58: .4byte gBattlerAttacker _0802BD5C: .4byte gBattleMoveDamage _0802BD60: .4byte 0x00007fff -_0802BD64: .4byte gUnknown_2023D74 +_0802BD64: .4byte gBattlescriptCurrInstr thumb_func_end atkC9_jumpifattackandspecialattackcannotfall thumb_func_start atkCA_setforcedtarget @@ -28848,7 +28848,7 @@ atkCA_setforcedtarget: @ 802BD68 adds r1, r5 ldrb r0, [r4] strb r0, [r1, 0x9] - ldr r1, _0802BDB0 @ =gUnknown_2023D74 + ldr r1, _0802BDB0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28858,7 +28858,7 @@ atkCA_setforcedtarget: @ 802BD68 .align 2, 0 _0802BDA8: .4byte gBattlerAttacker _0802BDAC: .4byte gSideTimers -_0802BDB0: .4byte gUnknown_2023D74 +_0802BDB0: .4byte gBattlescriptCurrInstr thumb_func_end atkCA_setforcedtarget thumb_func_start atkCB_setcharge @@ -28898,7 +28898,7 @@ atkCB_setcharge: @ 802BDB4 movs r2, 0x20 orrs r1, r2 strb r1, [r0, 0x12] - ldr r1, _0802BE14 @ =gUnknown_2023D74 + ldr r1, _0802BE14 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28909,13 +28909,13 @@ atkCB_setcharge: @ 802BDB4 _0802BE08: .4byte gStatuses3 _0802BE0C: .4byte gBattlerAttacker _0802BE10: .4byte gDisableStructs -_0802BE14: .4byte gUnknown_2023D74 +_0802BE14: .4byte gBattlescriptCurrInstr thumb_func_end atkCB_setcharge thumb_func_start atkCC_callterrainattack atkCC_callterrainattack: @ 802BE18 push {r4,lr} - ldr r2, _0802BE68 @ =gUnknown_2023DD0 + ldr r2, _0802BE68 @ =gHitMarker ldr r0, [r2] ldr r1, _0802BE6C @ =0xfffffbff ands r0, r1 @@ -28945,7 +28945,7 @@ atkCC_callterrainattack: @ 802BE18 adds r0, r3 ldr r0, [r0] bl BattleScriptPush - ldr r1, _0802BE88 @ =gUnknown_2023D74 + ldr r1, _0802BE88 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -28953,7 +28953,7 @@ atkCC_callterrainattack: @ 802BE18 pop {r0} bx r0 .align 2, 0 -_0802BE68: .4byte gUnknown_2023DD0 +_0802BE68: .4byte gHitMarker _0802BE6C: .4byte 0xfffffbff _0802BE70: .4byte gCurrentMove _0802BE74: .4byte gUnknown_825081C @@ -28961,7 +28961,7 @@ _0802BE78: .4byte gUnknown_2022B50 _0802BE7C: .4byte gBattlerTarget _0802BE80: .4byte gUnknown_81D65A8 _0802BE84: .4byte gBattleMoves -_0802BE88: .4byte gUnknown_2023D74 +_0802BE88: .4byte gBattlescriptCurrInstr thumb_func_end atkCC_callterrainattack thumb_func_start atkCD_cureifburnedparalysedorpoisoned @@ -28983,7 +28983,7 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C beq _0802BEE8 movs r0, 0 str r0, [r2] - ldr r1, _0802BEE0 @ =gUnknown_2023D74 + ldr r1, _0802BEE0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29000,15 +29000,15 @@ atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0802BF02 .align 2, 0 _0802BED8: .4byte gBattleMons _0802BEDC: .4byte gBattlerAttacker -_0802BEE0: .4byte gUnknown_2023D74 +_0802BEE0: .4byte gBattlescriptCurrInstr _0802BEE4: .4byte gActiveBattler _0802BEE8: - ldr r3, _0802BF0C @ =gUnknown_2023D74 + ldr r3, _0802BF0C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29027,7 +29027,7 @@ _0802BF02: pop {r0} bx r0 .align 2, 0 -_0802BF0C: .4byte gUnknown_2023D74 +_0802BF0C: .4byte gBattlescriptCurrInstr thumb_func_end atkCD_cureifburnedparalysedorpoisoned thumb_func_start atkCE_settorment @@ -29045,7 +29045,7 @@ atkCE_settorment: @ 802BF10 lsls r2, 24 cmp r1, 0 bge _0802BF54 - ldr r3, _0802BF50 @ =gUnknown_2023D74 + ldr r3, _0802BF50 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29062,11 +29062,11 @@ atkCE_settorment: @ 802BF10 .align 2, 0 _0802BF48: .4byte gBattleMons _0802BF4C: .4byte gBattlerTarget -_0802BF50: .4byte gUnknown_2023D74 +_0802BF50: .4byte gBattlescriptCurrInstr _0802BF54: orrs r1, r2 str r1, [r0] - ldr r1, _0802BF64 @ =gUnknown_2023D74 + ldr r1, _0802BF64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29074,13 +29074,13 @@ _0802BF60: pop {r0} bx r0 .align 2, 0 -_0802BF64: .4byte gUnknown_2023D74 +_0802BF64: .4byte gBattlescriptCurrInstr thumb_func_end atkCE_settorment thumb_func_start atkCF_jumpifnodamage atkCF_jumpifnodamage: @ 802BF68 push {lr} - ldr r2, _0802BF94 @ =gUnknown_2023E8C + ldr r2, _0802BF94 @ =gProtectStructs ldr r0, _0802BF98 @ =gBattlerAttacker ldrb r0, [r0] lsls r1, r0, 4 @@ -29096,17 +29096,17 @@ atkCF_jumpifnodamage: @ 802BF68 cmp r0, 0 beq _0802BFA0 _0802BF88: - ldr r1, _0802BF9C @ =gUnknown_2023D74 + ldr r1, _0802BF9C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802BFBA .align 2, 0 -_0802BF94: .4byte gUnknown_2023E8C +_0802BF94: .4byte gProtectStructs _0802BF98: .4byte gBattlerAttacker -_0802BF9C: .4byte gUnknown_2023D74 +_0802BF9C: .4byte gBattlescriptCurrInstr _0802BFA0: - ldr r3, _0802BFC0 @ =gUnknown_2023D74 + ldr r3, _0802BFC0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29123,7 +29123,7 @@ _0802BFBA: pop {r0} bx r0 .align 2, 0 -_0802BFC0: .4byte gUnknown_2023D74 +_0802BFC0: .4byte gBattlescriptCurrInstr thumb_func_end atkCF_jumpifnodamage thumb_func_start atkD0_settaunt @@ -29157,7 +29157,7 @@ atkD0_settaunt: @ 802BFC4 movs r2, 0x20 orrs r1, r2 strb r1, [r0, 0x13] - ldr r1, _0802C010 @ =gUnknown_2023D74 + ldr r1, _0802C010 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29165,9 +29165,9 @@ atkD0_settaunt: @ 802BFC4 .align 2, 0 _0802C008: .4byte gDisableStructs _0802C00C: .4byte gBattlerTarget -_0802C010: .4byte gUnknown_2023D74 +_0802C010: .4byte gBattlescriptCurrInstr _0802C014: - ldr r3, _0802C034 @ =gUnknown_2023D74 + ldr r3, _0802C034 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29185,7 +29185,7 @@ _0802C02E: pop {r0} bx r0 .align 2, 0 -_0802C034: .4byte gUnknown_2023D74 +_0802C034: .4byte gBattlescriptCurrInstr thumb_func_end atkD0_settaunt thumb_func_start atkD1_trysethelpinghand @@ -29217,7 +29217,7 @@ atkD1_trysethelpinghand: @ 802C038 ands r1, r0 cmp r1, 0 bne _0802C0BC - ldr r1, _0802C0B4 @ =gUnknown_2023E8C + ldr r1, _0802C0B4 @ =gProtectStructs ldrb r0, [r4] lsls r0, 4 adds r0, r1 @@ -29234,7 +29234,7 @@ atkD1_trysethelpinghand: @ 802C038 movs r0, 0x8 orrs r0, r1 strb r0, [r2] - ldr r1, _0802C0B8 @ =gUnknown_2023D74 + ldr r1, _0802C0B8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29245,10 +29245,10 @@ _0802C0A4: .4byte gBattlerTarget _0802C0A8: .4byte gBattleTypeFlags _0802C0AC: .4byte gAbsentBattlerFlags _0802C0B0: .4byte gBitTable -_0802C0B4: .4byte gUnknown_2023E8C -_0802C0B8: .4byte gUnknown_2023D74 +_0802C0B4: .4byte gProtectStructs +_0802C0B8: .4byte gBattlescriptCurrInstr _0802C0BC: - ldr r3, _0802C0DC @ =gUnknown_2023D74 + ldr r3, _0802C0DC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29266,7 +29266,7 @@ _0802C0D6: pop {r0} bx r0 .align 2, 0 -_0802C0DC: .4byte gUnknown_2023D74 +_0802C0DC: .4byte gBattlescriptCurrInstr thumb_func_end atkD1_trysethelpinghand thumb_func_start sub_802C0E0 @@ -29325,7 +29325,7 @@ _0802C120: lsls r0, 3 cmp r1, r0 beq _0802C18A - ldr r0, _0802C210 @ =gUnknown_2023F20 + ldr r0, _0802C210 @ =gWishFutureKnock adds r2, r0, 0 adds r2, 0x29 adds r0, r4, r2 @@ -29399,7 +29399,7 @@ _0802C1B2: cmp r0, 0xB bhi _0802C224 _0802C1DE: - ldr r3, _0802C220 @ =gUnknown_2023D74 + ldr r3, _0802C220 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29419,18 +29419,18 @@ _0802C200: .4byte gBattlerAttacker _0802C204: .4byte 0x00000902 _0802C208: .4byte gTrainerBattleOpponent_A _0802C20C: .4byte gBattlerTarget -_0802C210: .4byte gUnknown_2023F20 +_0802C210: .4byte gWishFutureKnock _0802C214: .4byte gBitTable _0802C218: .4byte gBattlerPartyIndexes _0802C21C: .4byte gBattleMons -_0802C220: .4byte gUnknown_2023D74 +_0802C220: .4byte gBattlescriptCurrInstr _0802C224: adds r0, r1, 0 adds r0, 0x20 ldrb r0, [r0] cmp r0, 0x3C bne _0802C258 - ldr r1, _0802C24C @ =gUnknown_2023D74 + ldr r1, _0802C24C @ =gBattlescriptCurrInstr ldr r0, _0802C250 @ =gUnknown_81D948E str r0, [r1] ldr r1, _0802C254 @ =gLastUsedAbility @@ -29445,7 +29445,7 @@ _0802C224: bl sub_80C71D0 b _0802C37A .align 2, 0 -_0802C24C: .4byte gUnknown_2023D74 +_0802C24C: .4byte gBattlescriptCurrInstr _0802C250: .4byte gUnknown_81D948E _0802C254: .4byte gLastUsedAbility _0802C258: @@ -29482,7 +29482,7 @@ _0802C258: bl BtlController_EmitSetMonData ldr r1, _0802C348 @ =gBattlerAttacker ldrb r0, [r1] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r7] strb r0, [r4] ldrb r0, [r7] @@ -29497,7 +29497,7 @@ _0802C258: movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldrb r0, [r7] mov r2, r10 ldr r1, [r2] @@ -29528,7 +29528,7 @@ _0802C258: adds r0, 0xC9 movs r1, 0 strb r1, [r0] - ldr r1, _0802C350 @ =gUnknown_2023D74 + ldr r1, _0802C350 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29560,29 +29560,29 @@ _0802C258: ldrh r0, [r6] cmp r0, 0 beq _0802C374 - ldr r1, _0802C35C @ =gUnknown_2023E82 + ldr r1, _0802C35C @ =gBattleCommunication movs r0, 0x2 b _0802C378 .align 2, 0 _0802C344: .4byte gBattleStruct _0802C348: .4byte gBattlerAttacker _0802C34C: .4byte gActiveBattler -_0802C350: .4byte gUnknown_2023D74 +_0802C350: .4byte gBattlescriptCurrInstr _0802C354: .4byte gBattleTextBuff1 _0802C358: .4byte gBattleTextBuff2 -_0802C35C: .4byte gUnknown_2023E82 +_0802C35C: .4byte gBattleCommunication _0802C360: ldrh r0, [r6] cmp r0, 0 beq _0802C374 - ldr r0, _0802C370 @ =gUnknown_2023E82 + ldr r0, _0802C370 @ =gBattleCommunication movs r1, 0 strb r1, [r0, 0x5] b _0802C37A .align 2, 0 -_0802C370: .4byte gUnknown_2023E82 +_0802C370: .4byte gBattleCommunication _0802C374: - ldr r1, _0802C38C @ =gUnknown_2023E82 + ldr r1, _0802C38C @ =gBattleCommunication movs r0, 0x1 _0802C378: strb r0, [r1, 0x5] @@ -29596,7 +29596,7 @@ _0802C37A: pop {r0} bx r0 .align 2, 0 -_0802C38C: .4byte gUnknown_2023E82 +_0802C38C: .4byte gBattleCommunication thumb_func_end sub_802C0E0 thumb_func_start atkD3_trycopyability @@ -29628,7 +29628,7 @@ atkD3_trycopyability: @ 802C390 adds r0, 0x20 ldrb r0, [r0] strb r0, [r1] - ldr r1, _0802C3E0 @ =gUnknown_2023D74 + ldr r1, _0802C3E0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29638,9 +29638,9 @@ _0802C3D0: .4byte gBattleMons _0802C3D4: .4byte gBattlerTarget _0802C3D8: .4byte gBattlerAttacker _0802C3DC: .4byte gLastUsedAbility -_0802C3E0: .4byte gUnknown_2023D74 +_0802C3E0: .4byte gBattlescriptCurrInstr _0802C3E4: - ldr r3, _0802C404 @ =gUnknown_2023D74 + ldr r3, _0802C404 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29658,13 +29658,13 @@ _0802C3FE: pop {r0} bx r0 .align 2, 0 -_0802C404: .4byte gUnknown_2023D74 +_0802C404: .4byte gBattlescriptCurrInstr thumb_func_end atkD3_trycopyability thumb_func_start atkD4_trywish atkD4_trywish: @ 802C408 push {r4-r7,lr} - ldr r7, _0802C41C @ =gUnknown_2023D74 + ldr r7, _0802C41C @ =gBattlescriptCurrInstr ldr r2, [r7] ldrb r3, [r2, 0x1] cmp r3, 0 @@ -29673,9 +29673,9 @@ atkD4_trywish: @ 802C408 beq _0802C458 b _0802C4D4 .align 2, 0 -_0802C41C: .4byte gUnknown_2023D74 +_0802C41C: .4byte gBattlescriptCurrInstr _0802C420: - ldr r1, _0802C44C @ =gUnknown_2023F20 + ldr r1, _0802C44C @ =gWishFutureKnock ldr r4, _0802C450 @ =gBattlerAttacker adds r0, r1, 0 adds r0, 0x20 @@ -29698,7 +29698,7 @@ _0802C420: adds r0, 0x6 b _0802C4D2 .align 2, 0 -_0802C44C: .4byte gUnknown_2023F20 +_0802C44C: .4byte gWishFutureKnock _0802C450: .4byte gBattlerAttacker _0802C454: .4byte gBattlerPartyIndexes _0802C458: @@ -29710,7 +29710,7 @@ _0802C458: ldr r4, _0802C4C0 @ =gBattlerTarget ldrb r0, [r4] strb r0, [r1, 0x2] - ldr r0, _0802C4C4 @ =gUnknown_2023F20 + ldr r0, _0802C4C4 @ =gWishFutureKnock adds r0, 0x24 ldrb r5, [r4] adds r0, r5 @@ -29757,7 +29757,7 @@ _0802C4A4: .align 2, 0 _0802C4BC: .4byte gBattleTextBuff1 _0802C4C0: .4byte gBattlerTarget -_0802C4C4: .4byte gUnknown_2023F20 +_0802C4C4: .4byte gWishFutureKnock _0802C4C8: .4byte gBattleMoveDamage _0802C4CC: .4byte gBattleMons _0802C4D0: @@ -29785,7 +29785,7 @@ atkD5_trysetroots: @ 802C4DC ands r0, r3 cmp r0, 0 beq _0802C520 - ldr r3, _0802C51C @ =gUnknown_2023D74 + ldr r3, _0802C51C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29802,11 +29802,11 @@ atkD5_trysetroots: @ 802C4DC .align 2, 0 _0802C514: .4byte gStatuses3 _0802C518: .4byte gBattlerAttacker -_0802C51C: .4byte gUnknown_2023D74 +_0802C51C: .4byte gBattlescriptCurrInstr _0802C520: orrs r1, r3 str r1, [r2] - ldr r1, _0802C530 @ =gUnknown_2023D74 + ldr r1, _0802C530 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29814,13 +29814,13 @@ _0802C52C: pop {r0} bx r0 .align 2, 0 -_0802C530: .4byte gUnknown_2023D74 +_0802C530: .4byte gBattlescriptCurrInstr thumb_func_end atkD5_trysetroots thumb_func_start atkD6_doubledamagedealtifdamaged atkD6_doubledamagedealtifdamaged: @ 802C534 push {lr} - ldr r3, _0802C580 @ =gUnknown_2023E8C + ldr r3, _0802C580 @ =gProtectStructs ldr r0, _0802C584 @ =gBattlerAttacker ldrb r0, [r0] lsls r2, r0, 4 @@ -29853,18 +29853,18 @@ _0802C56C: movs r0, 0x2 strb r0, [r1, 0xE] _0802C572: - ldr r1, _0802C590 @ =gUnknown_2023D74 + ldr r1, _0802C590 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802C580: .4byte gUnknown_2023E8C +_0802C580: .4byte gProtectStructs _0802C584: .4byte gBattlerAttacker _0802C588: .4byte gBattlerTarget _0802C58C: .4byte gBattleScripting -_0802C590: .4byte gUnknown_2023D74 +_0802C590: .4byte gBattlescriptCurrInstr thumb_func_end atkD6_doubledamagedealtifdamaged thumb_func_start atkD7_setyawn @@ -29890,7 +29890,7 @@ atkD7_setyawn: @ 802C594 cmp r0, 0 beq _0802C5E8 _0802C5BC: - ldr r3, _0802C5E4 @ =gUnknown_2023D74 + ldr r3, _0802C5E4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29908,13 +29908,13 @@ _0802C5BC: _0802C5D8: .4byte gStatuses3 _0802C5DC: .4byte gBattlerTarget _0802C5E0: .4byte gBattleMons -_0802C5E4: .4byte gUnknown_2023D74 +_0802C5E4: .4byte gBattlescriptCurrInstr _0802C5E8: movs r0, 0x80 lsls r0, 5 orrs r2, r0 str r2, [r4] - ldr r1, _0802C600 @ =gUnknown_2023D74 + ldr r1, _0802C600 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29923,7 +29923,7 @@ _0802C5F8: pop {r0} bx r0 .align 2, 0 -_0802C600: .4byte gUnknown_2023D74 +_0802C600: .4byte gBattlescriptCurrInstr thumb_func_end atkD7_setyawn thumb_func_start atkD8_setdamagetohealthdifference @@ -29943,7 +29943,7 @@ atkD8_setdamagetohealthdifference: @ 802C604 ldrh r2, [r1, 0x28] cmp r0, r2 bhi _0802C650 - ldr r3, _0802C64C @ =gUnknown_2023D74 + ldr r3, _0802C64C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -29961,14 +29961,14 @@ atkD8_setdamagetohealthdifference: @ 802C604 _0802C640: .4byte gBattleMons _0802C644: .4byte gBattlerTarget _0802C648: .4byte gBattlerAttacker -_0802C64C: .4byte gUnknown_2023D74 +_0802C64C: .4byte gBattlescriptCurrInstr _0802C650: ldr r2, _0802C668 @ =gBattleMoveDamage ldrh r0, [r3, 0x28] ldrh r1, [r1, 0x28] subs r0, r1 str r0, [r2] - ldr r1, _0802C66C @ =gUnknown_2023D74 + ldr r1, _0802C66C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -29977,7 +29977,7 @@ _0802C662: bx r0 .align 2, 0 _0802C668: .4byte gBattleMoveDamage -_0802C66C: .4byte gUnknown_2023D74 +_0802C66C: .4byte gBattlescriptCurrInstr thumb_func_end atkD8_setdamagetohealthdifference thumb_func_start atkD9_scaledamagebyhealthratio @@ -30012,7 +30012,7 @@ atkD9_scaledamagebyhealthratio: @ 802C670 movs r0, 0x1 strh r0, [r4] _0802C6AC: - ldr r1, _0802C6D0 @ =gUnknown_2023D74 + ldr r1, _0802C6D0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -30025,7 +30025,7 @@ _0802C6C0: .4byte gBattleMoves _0802C6C4: .4byte gCurrentMove _0802C6C8: .4byte gBattleMons _0802C6CC: .4byte gBattlerAttacker -_0802C6D0: .4byte gUnknown_2023D74 +_0802C6D0: .4byte gBattlescriptCurrInstr thumb_func_end atkD9_scaledamagebyhealthratio thumb_func_start atkDA_tryswapabilities @@ -30068,7 +30068,7 @@ _0802C6FC: cmp r0, 0 beq _0802C74C _0802C71C: - ldr r3, _0802C748 @ =gUnknown_2023D74 + ldr r3, _0802C748 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30087,7 +30087,7 @@ _0802C738: .4byte gBattleMons _0802C73C: .4byte gBattlerAttacker _0802C740: .4byte gBattlerTarget _0802C744: .4byte gMoveResultFlags -_0802C748: .4byte gUnknown_2023D74 +_0802C748: .4byte gBattlescriptCurrInstr _0802C74C: ldrb r1, [r2] strb r3, [r2] @@ -30096,7 +30096,7 @@ _0802C74C: adds r0, r5 adds r0, 0x20 strb r1, [r0] - ldr r1, _0802C768 @ =gUnknown_2023D74 + ldr r1, _0802C768 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30105,7 +30105,7 @@ _0802C762: pop {r0} bx r0 .align 2, 0 -_0802C768: .4byte gUnknown_2023D74 +_0802C768: .4byte gBattlescriptCurrInstr thumb_func_end atkDA_tryswapabilities thumb_func_start atkDB_tryimprision @@ -30140,14 +30140,14 @@ _0802C794: lsls r2, 6 orrs r0, r2 str r0, [r1] - ldr r1, _0802C7B8 @ =gUnknown_2023D74 + ldr r1, _0802C7B8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802C836 .align 2, 0 _0802C7B4: .4byte gStatuses3 -_0802C7B8: .4byte gUnknown_2023D74 +_0802C7B8: .4byte gBattlescriptCurrInstr _0802C7BC: adds r0, r2, 0 bl GetBattlerSide @@ -30221,7 +30221,7 @@ _0802C836: cmp r6, r0 bne _0802C858 _0802C83E: - ldr r3, _0802C870 @ =gUnknown_2023D74 + ldr r3, _0802C870 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30245,7 +30245,7 @@ _0802C858: _0802C864: .4byte gBattlerAttacker _0802C868: .4byte gBattleMons _0802C86C: .4byte gBattlersCount -_0802C870: .4byte gUnknown_2023D74 +_0802C870: .4byte gBattlescriptCurrInstr thumb_func_end atkDB_tryimprision thumb_func_start atkDC_trysetgrudge @@ -30263,7 +30263,7 @@ atkDC_trysetgrudge: @ 802C874 ands r0, r3 cmp r0, 0 beq _0802C8B8 - ldr r3, _0802C8B4 @ =gUnknown_2023D74 + ldr r3, _0802C8B4 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30280,11 +30280,11 @@ atkDC_trysetgrudge: @ 802C874 .align 2, 0 _0802C8AC: .4byte gStatuses3 _0802C8B0: .4byte gBattlerAttacker -_0802C8B4: .4byte gUnknown_2023D74 +_0802C8B4: .4byte gBattlescriptCurrInstr _0802C8B8: orrs r1, r3 str r1, [r2] - ldr r1, _0802C8C8 @ =gUnknown_2023D74 + ldr r1, _0802C8C8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30292,7 +30292,7 @@ _0802C8C4: pop {r0} bx r0 .align 2, 0 -_0802C8C8: .4byte gUnknown_2023D74 +_0802C8C8: .4byte gBattlescriptCurrInstr thumb_func_end atkDC_trysetgrudge thumb_func_start atkDD_weightdamagecalculation @@ -30358,7 +30358,7 @@ _0802C944: movs r0, 0x78 strh r0, [r1] _0802C94A: - ldr r1, _0802C960 @ =gUnknown_2023D74 + ldr r1, _0802C960 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -30369,7 +30369,7 @@ _0802C94A: bx r0 .align 2, 0 _0802C95C: .4byte gDynamicBasePower -_0802C960: .4byte gUnknown_2023D74 +_0802C960: .4byte gBattlescriptCurrInstr thumb_func_end atkDD_weightdamagecalculation thumb_func_start atkDE_asistattackselect @@ -30491,7 +30491,7 @@ _0802CA3C: mov r1, r10 cmp r1, 0 beq _0802CAB4 - ldr r2, _0802CAA0 @ =gUnknown_2023DD0 + ldr r2, _0802CAA0 @ =gHitMarker ldr r0, [r2] ldr r1, _0802CAA4 @ =0xfffffbff ands r0, r1 @@ -30513,7 +30513,7 @@ _0802CA3C: bl GetMoveTarget ldr r1, _0802CAAC @ =gBattlerTarget strb r0, [r1] - ldr r1, _0802CAB0 @ =gUnknown_2023D74 + ldr r1, _0802CAB0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30526,13 +30526,13 @@ _0802CA90: .4byte gEnemyParty _0802CA94: .4byte gBattlerPartyIndexes _0802CA98: .4byte 0x0000ffff _0802CA9C: .4byte gUnknown_82507E8 -_0802CAA0: .4byte gUnknown_2023DD0 +_0802CAA0: .4byte gHitMarker _0802CAA4: .4byte 0xfffffbff _0802CAA8: .4byte gUnknown_2023D4E _0802CAAC: .4byte gBattlerTarget -_0802CAB0: .4byte gUnknown_2023D74 +_0802CAB0: .4byte gBattlescriptCurrInstr _0802CAB4: - ldr r3, _0802CAE0 @ =gUnknown_2023D74 + ldr r3, _0802CAE0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30555,7 +30555,7 @@ _0802CACE: pop {r0} bx r0 .align 2, 0 -_0802CAE0: .4byte gUnknown_2023D74 +_0802CAE0: .4byte gBattlescriptCurrInstr thumb_func_end atkDE_asistattackselect thumb_func_start atkDF_trysetmagiccoat @@ -30565,7 +30565,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 ldr r3, _0802CB30 @ =gBattlerAttacker ldrb r0, [r3] strb r0, [r1] - ldr r2, _0802CB34 @ =gUnknown_2023ECC + ldr r2, _0802CB34 @ =gSpecialStatuses ldrb r1, [r3] lsls r0, r1, 2 adds r0, r1 @@ -30582,7 +30582,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 subs r0, 0x1 cmp r1, r0 bne _0802CB44 - ldr r3, _0802CB40 @ =gUnknown_2023D74 + ldr r3, _0802CB40 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30599,12 +30599,12 @@ atkDF_trysetmagiccoat: @ 802CAE4 .align 2, 0 _0802CB2C: .4byte gBattlerTarget _0802CB30: .4byte gBattlerAttacker -_0802CB34: .4byte gUnknown_2023ECC +_0802CB34: .4byte gSpecialStatuses _0802CB38: .4byte gUnknown_2023BE2 _0802CB3C: .4byte gBattlersCount -_0802CB40: .4byte gUnknown_2023D74 +_0802CB40: .4byte gBattlescriptCurrInstr _0802CB44: - ldr r0, _0802CB60 @ =gUnknown_2023E8C + ldr r0, _0802CB60 @ =gProtectStructs ldrb r1, [r3] lsls r1, 4 adds r1, r0 @@ -30612,7 +30612,7 @@ _0802CB44: movs r2, 0x10 orrs r0, r2 strb r0, [r1] - ldr r1, _0802CB64 @ =gUnknown_2023D74 + ldr r1, _0802CB64 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30620,14 +30620,14 @@ _0802CB5C: pop {r0} bx r0 .align 2, 0 -_0802CB60: .4byte gUnknown_2023E8C -_0802CB64: .4byte gUnknown_2023D74 +_0802CB60: .4byte gProtectStructs +_0802CB64: .4byte gBattlescriptCurrInstr thumb_func_end atkDF_trysetmagiccoat thumb_func_start atkE0_trysetsnatch atkE0_trysetsnatch: @ 802CB68 push {lr} - ldr r2, _0802CBAC @ =gUnknown_2023ECC + ldr r2, _0802CBAC @ =gSpecialStatuses ldr r3, _0802CBB0 @ =gBattlerAttacker ldrb r1, [r3] lsls r0, r1, 2 @@ -30645,7 +30645,7 @@ atkE0_trysetsnatch: @ 802CB68 subs r0, 0x1 cmp r1, r0 bne _0802CBC0 - ldr r3, _0802CBBC @ =gUnknown_2023D74 + ldr r3, _0802CBBC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30660,20 +30660,20 @@ atkE0_trysetsnatch: @ 802CB68 str r1, [r3] b _0802CBD6 .align 2, 0 -_0802CBAC: .4byte gUnknown_2023ECC +_0802CBAC: .4byte gSpecialStatuses _0802CBB0: .4byte gBattlerAttacker _0802CBB4: .4byte gUnknown_2023BE2 _0802CBB8: .4byte gBattlersCount -_0802CBBC: .4byte gUnknown_2023D74 +_0802CBBC: .4byte gBattlescriptCurrInstr _0802CBC0: - ldr r0, _0802CBDC @ =gUnknown_2023E8C + ldr r0, _0802CBDC @ =gProtectStructs ldrb r1, [r3] lsls r1, 4 adds r1, r0 ldrb r0, [r1] orrs r0, r2 strb r0, [r1] - ldr r1, _0802CBE0 @ =gUnknown_2023D74 + ldr r1, _0802CBE0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30681,8 +30681,8 @@ _0802CBD6: pop {r0} bx r0 .align 2, 0 -_0802CBDC: .4byte gUnknown_2023E8C -_0802CBE0: .4byte gUnknown_2023D74 +_0802CBDC: .4byte gProtectStructs +_0802CBE0: .4byte gBattlescriptCurrInstr thumb_func_end atkE0_trysetsnatch thumb_func_start atkE1_trygetintimidatetarget @@ -30756,7 +30756,7 @@ _0802CC60: cmp r0, r2 bcc _0802CCAC _0802CC6A: - ldr r3, _0802CCA8 @ =gUnknown_2023D74 + ldr r3, _0802CCA8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -30779,9 +30779,9 @@ _0802CC98: .4byte gBattlerTarget _0802CC9C: .4byte gBattlersCount _0802CCA0: .4byte gBitTable _0802CCA4: .4byte gAbsentBattlerFlags -_0802CCA8: .4byte gUnknown_2023D74 +_0802CCA8: .4byte gBattlescriptCurrInstr _0802CCAC: - ldr r1, _0802CCBC @ =gUnknown_2023D74 + ldr r1, _0802CCBC @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -30790,17 +30790,17 @@ _0802CCB4: pop {r0} bx r0 .align 2, 0 -_0802CCBC: .4byte gUnknown_2023D74 +_0802CCBC: .4byte gBattlescriptCurrInstr thumb_func_end atkE1_trygetintimidatetarget thumb_func_start atkE2_switchoutabilities atkE2_switchoutabilities: @ 802CCC0 push {r4-r6,lr} sub sp, 0x4 - ldr r5, _0802CD28 @ =gUnknown_2023D74 + ldr r5, _0802CD28 @ =gBattlescriptCurrInstr ldr r0, [r5] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r4, _0802CD2C @ =gActiveBattler strb r0, [r4] ldr r3, _0802CD30 @ =gBattleMons @@ -30836,7 +30836,7 @@ atkE2_switchoutabilities: @ 802CCC0 movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _0802CD1A: ldr r0, [r5] adds r0, 0x2 @@ -30846,7 +30846,7 @@ _0802CD1A: pop {r0} bx r0 .align 2, 0 -_0802CD28: .4byte gUnknown_2023D74 +_0802CD28: .4byte gBattlescriptCurrInstr _0802CD2C: .4byte gActiveBattler _0802CD30: .4byte gBattleMons _0802CD34: .4byte gBitTable @@ -30856,10 +30856,10 @@ _0802CD38: .4byte gBattleStruct thumb_func_start atkE3_jumpifhasnohp atkE3_jumpifhasnohp: @ 802CD3C push {r4,lr} - ldr r4, _0802CD78 @ =gUnknown_2023D74 + ldr r4, _0802CD78 @ =gBattlescriptCurrInstr ldr r0, [r4] ldrb r0, [r0, 0x1] - bl sub_8016E24 + bl GetBattlerForBattleScript ldr r1, _0802CD7C @ =gActiveBattler strb r0, [r1] ldr r2, _0802CD80 @ =gBattleMons @@ -30884,7 +30884,7 @@ atkE3_jumpifhasnohp: @ 802CD3C str r1, [r4] b _0802CD8A .align 2, 0 -_0802CD78: .4byte gUnknown_2023D74 +_0802CD78: .4byte gBattlescriptCurrInstr _0802CD7C: .4byte gActiveBattler _0802CD80: .4byte gBattleMons _0802CD84: @@ -30923,67 +30923,67 @@ _0802CDAC: .4byte _0802CE14 .4byte _0802CE20 _0802CDCC: - ldr r1, _0802CDD4 @ =gUnknown_2023E82 + ldr r1, _0802CDD4 @ =gBattleCommunication movs r0, 0x2 b _0802CE30 .align 2, 0 -_0802CDD4: .4byte gUnknown_2023E82 +_0802CDD4: .4byte gBattleCommunication _0802CDD8: - ldr r1, _0802CDE0 @ =gUnknown_2023E82 + ldr r1, _0802CDE0 @ =gBattleCommunication movs r0, 0x1 b _0802CE30 .align 2, 0 -_0802CDE0: .4byte gUnknown_2023E82 +_0802CDE0: .4byte gBattleCommunication _0802CDE4: - ldr r1, _0802CDEC @ =gUnknown_2023E82 + ldr r1, _0802CDEC @ =gBattleCommunication movs r0, 0x1B b _0802CE30 .align 2, 0 -_0802CDEC: .4byte gUnknown_2023E82 +_0802CDEC: .4byte gBattleCommunication _0802CDF0: - ldr r1, _0802CDF8 @ =gUnknown_2023E82 + ldr r1, _0802CDF8 @ =gBattleCommunication movs r0, 0x17 b _0802CE30 .align 2, 0 -_0802CDF8: .4byte gUnknown_2023E82 +_0802CDF8: .4byte gBattleCommunication _0802CDFC: - ldr r1, _0802CE04 @ =gUnknown_2023E82 + ldr r1, _0802CE04 @ =gBattleCommunication movs r0, 0x16 b _0802CE30 .align 2, 0 -_0802CE04: .4byte gUnknown_2023E82 +_0802CE04: .4byte gBattleCommunication _0802CE08: - ldr r1, _0802CE10 @ =gUnknown_2023E82 + ldr r1, _0802CE10 @ =gBattleCommunication movs r0, 0x18 b _0802CE30 .align 2, 0 -_0802CE10: .4byte gUnknown_2023E82 +_0802CE10: .4byte gBattleCommunication _0802CE14: - ldr r1, _0802CE1C @ =gUnknown_2023E82 + ldr r1, _0802CE1C @ =gBattleCommunication movs r0, 0x7 b _0802CE30 .align 2, 0 -_0802CE1C: .4byte gUnknown_2023E82 +_0802CE1C: .4byte gBattleCommunication _0802CE20: - ldr r1, _0802CE28 @ =gUnknown_2023E82 + ldr r1, _0802CE28 @ =gBattleCommunication movs r0, 0x8 b _0802CE30 .align 2, 0 -_0802CE28: .4byte gUnknown_2023E82 +_0802CE28: .4byte gBattleCommunication _0802CE2C: - ldr r1, _0802CE40 @ =gUnknown_2023E82 + ldr r1, _0802CE40 @ =gBattleCommunication movs r0, 0x5 _0802CE30: strb r0, [r1, 0x3] - ldr r1, _0802CE44 @ =gUnknown_2023D74 + ldr r1, _0802CE44 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] pop {r0} bx r0 .align 2, 0 -_0802CE40: .4byte gUnknown_2023E82 -_0802CE44: .4byte gUnknown_2023D74 +_0802CE40: .4byte gBattleCommunication +_0802CE44: .4byte gBattlescriptCurrInstr thumb_func_end atkE4_getsecretpowereffect thumb_func_start sub_802CE48 @@ -31085,7 +31085,7 @@ _0802CF0A: adds r7, r4, 0 cmp r7, 0x5 ble _0802CE54 - ldr r1, _0802CF2C @ =gUnknown_2023D74 + ldr r1, _0802CF2C @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31097,7 +31097,7 @@ _0802CF0A: .align 2, 0 _0802CF24: .4byte gPlayerParty _0802CF28: .4byte gUnknown_8250848 -_0802CF2C: .4byte gUnknown_2023D74 +_0802CF2C: .4byte gBattlescriptCurrInstr thumb_func_end sub_802CE48 thumb_func_start atkE6_docastformchangeanimation @@ -31134,8 +31134,8 @@ _0802CF60: movs r1, 0 bl BtlController_EmitBattleAnimation ldrb r0, [r4] - bl MarkBufferBankForExecution - ldr r1, _0802CF94 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802CF94 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31147,24 +31147,24 @@ _0802CF84: .4byte gActiveBattler _0802CF88: .4byte gBattleScripting _0802CF8C: .4byte gBattleMons _0802CF90: .4byte gBattleStruct -_0802CF94: .4byte gUnknown_2023D74 +_0802CF94: .4byte gBattlescriptCurrInstr thumb_func_end atkE6_docastformchangeanimation thumb_func_start atkE7_trycastformdatachange atkE7_trycastformdatachange: @ 802CF98 push {r4,lr} - ldr r1, _0802CFC8 @ =gUnknown_2023D74 + ldr r1, _0802CFC8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] ldr r0, _0802CFCC @ =gBattleScripting ldrb r0, [r0, 0x17] - bl sub_8019DAC + bl CastformDataTypeChange lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 beq _0802CFC2 - ldr r0, _0802CFD0 @ =gUnknown_81D92F8 + ldr r0, _0802CFD0 @ =BattleScript_CastformChange bl BattleScriptPushCursorAndCallback ldr r0, _0802CFD4 @ =gBattleStruct ldr r0, [r0] @@ -31176,9 +31176,9 @@ _0802CFC2: pop {r0} bx r0 .align 2, 0 -_0802CFC8: .4byte gUnknown_2023D74 +_0802CFC8: .4byte gBattlescriptCurrInstr _0802CFCC: .4byte gBattleScripting -_0802CFD0: .4byte gUnknown_81D92F8 +_0802CFD0: .4byte BattleScript_CastformChange _0802CFD4: .4byte gBattleStruct thumb_func_end atkE7_trycastformdatachange @@ -31210,7 +31210,7 @@ atkE8_settypebasedhalvers: @ 802CFD8 bne _0802D04C orrs r1, r3 str r1, [r2] - ldr r0, _0802D024 @ =gUnknown_2023E82 + ldr r0, _0802D024 @ =gBattleCommunication strb r4, [r0, 0x5] b _0802D050 .align 2, 0 @@ -31218,7 +31218,7 @@ _0802D014: .4byte gBattleMoves _0802D018: .4byte gCurrentMove _0802D01C: .4byte gStatuses3 _0802D020: .4byte gBattlerAttacker -_0802D024: .4byte gUnknown_2023E82 +_0802D024: .4byte gBattleCommunication _0802D028: ldr r1, _0802D05C @ =gStatuses3 ldr r0, _0802D060 @ =gBattlerAttacker @@ -31234,7 +31234,7 @@ _0802D028: bne _0802D04C orrs r1, r3 str r1, [r2] - ldr r1, _0802D064 @ =gUnknown_2023E82 + ldr r1, _0802D064 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] movs r4, 0x1 @@ -31242,7 +31242,7 @@ _0802D04C: cmp r4, 0 beq _0802D06C _0802D050: - ldr r1, _0802D068 @ =gUnknown_2023D74 + ldr r1, _0802D068 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31250,10 +31250,10 @@ _0802D050: .align 2, 0 _0802D05C: .4byte gStatuses3 _0802D060: .4byte gBattlerAttacker -_0802D064: .4byte gUnknown_2023E82 -_0802D068: .4byte gUnknown_2023D74 +_0802D064: .4byte gBattleCommunication +_0802D068: .4byte gBattlescriptCurrInstr _0802D06C: - ldr r3, _0802D08C @ =gUnknown_2023D74 + ldr r3, _0802D08C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31271,7 +31271,7 @@ _0802D086: pop {r0} bx r0 .align 2, 0 -_0802D08C: .4byte gUnknown_2023D74 +_0802D08C: .4byte gBattlescriptCurrInstr thumb_func_end atkE8_settypebasedhalvers thumb_func_start atkE9_setweatherballtype @@ -31359,7 +31359,7 @@ _0802D128: _0802D12E: strb r0, [r1, 0x13] _0802D130: - ldr r1, _0802D144 @ =gUnknown_2023D74 + ldr r1, _0802D144 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31368,7 +31368,7 @@ _0802D130: bx r0 .align 2, 0 _0802D140: .4byte gBattleStruct -_0802D144: .4byte gUnknown_2023D74 +_0802D144: .4byte gBattlescriptCurrInstr thumb_func_end atkE9_setweatherballtype thumb_func_start atkEA_tryrecycleitem @@ -31416,8 +31416,8 @@ atkEA_tryrecycleitem: @ 802D148 movs r3, 0x2 bl BtlController_EmitSetMonData ldrb r0, [r7] - bl MarkBufferBankForExecution - ldr r1, _0802D1C4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D1C4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31428,9 +31428,9 @@ _0802D1B4: .4byte gBattlerAttacker _0802D1B8: .4byte gBattleStruct _0802D1BC: .4byte gBattleMons _0802D1C0: .4byte gLastUsedItem -_0802D1C4: .4byte gUnknown_2023D74 +_0802D1C4: .4byte gBattlescriptCurrInstr _0802D1C8: - ldr r3, _0802D1EC @ =gUnknown_2023D74 + ldr r3, _0802D1EC @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31449,7 +31449,7 @@ _0802D1E2: pop {r0} bx r0 .align 2, 0 -_0802D1EC: .4byte gUnknown_2023D74 +_0802D1EC: .4byte gBattlescriptCurrInstr thumb_func_end atkEA_tryrecycleitem thumb_func_start atkEB_settypetoterrain @@ -31505,7 +31505,7 @@ atkEB_settypetoterrain: @ 802D1F0 strb r0, [r1, 0x2] movs r0, 0xFF strb r0, [r1, 0x3] - ldr r1, _0802D274 @ =gUnknown_2023D74 + ldr r1, _0802D274 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31516,9 +31516,9 @@ _0802D264: .4byte gBattlerAttacker _0802D268: .4byte gUnknown_8250888 _0802D26C: .4byte gUnknown_2022B50 _0802D270: .4byte gBattleTextBuff1 -_0802D274: .4byte gUnknown_2023D74 +_0802D274: .4byte gBattlescriptCurrInstr _0802D278: - ldr r3, _0802D29C @ =gUnknown_2023D74 + ldr r3, _0802D29C @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31538,7 +31538,7 @@ _0802D292: pop {r0} bx r0 .align 2, 0 -_0802D29C: .4byte gUnknown_2023D74 +_0802D29C: .4byte gBattlescriptCurrInstr thumb_func_end atkEB_settypetoterrain thumb_func_start atkEC_pursuitrelated @@ -31587,7 +31587,7 @@ atkEC_pursuitrelated: @ 802D2A0 strb r1, [r0] ldr r0, _0802D334 @ =gCurrentMove strh r2, [r0] - ldr r1, _0802D338 @ =gUnknown_2023D74 + ldr r1, _0802D338 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -31609,10 +31609,10 @@ _0802D328: .4byte gUnknown_2023D7C _0802D32C: .4byte gUnknown_2023DC4 _0802D330: .4byte gUnknown_2023BDA _0802D334: .4byte gCurrentMove -_0802D338: .4byte gUnknown_2023D74 +_0802D338: .4byte gBattlescriptCurrInstr _0802D33C: .4byte gBattleScripting _0802D340: - ldr r3, _0802D360 @ =gUnknown_2023D74 + ldr r3, _0802D360 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -31630,7 +31630,7 @@ _0802D35A: pop {r0} bx r0 .align 2, 0 -_0802D360: .4byte gUnknown_2023D74 +_0802D360: .4byte gBattlescriptCurrInstr thumb_func_end atkEC_pursuitrelated thumb_func_start atkEF_snatchsetbanks @@ -31664,7 +31664,7 @@ _0802D398: _0802D39E: ldrb r0, [r4] strb r0, [r1, 0x17] - ldr r1, _0802D3B4 @ =gUnknown_2023D74 + ldr r1, _0802D3B4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31673,7 +31673,7 @@ _0802D39E: bx r0 .align 2, 0 _0802D3B0: .4byte gBattleScripting -_0802D3B4: .4byte gUnknown_2023D74 +_0802D3B4: .4byte gBattlescriptCurrInstr thumb_func_end atkEF_snatchsetbanks thumb_func_start atkEE_removelightscreenreflect @@ -31698,7 +31698,7 @@ atkEE_removelightscreenreflect: @ 802D3B8 cmp r1, 0 beq _0802D418 _0802D3E0: - ldr r2, _0802D408 @ =gSideAffecting + ldr r2, _0802D408 @ =gSideStatuses adds r2, r3, r2 ldrh r1, [r2] ldr r0, _0802D40C @ =0x0000fffe @@ -31717,7 +31717,7 @@ _0802D3E0: .align 2, 0 _0802D400: .4byte gBattlerAttacker _0802D404: .4byte gSideTimers -_0802D408: .4byte gSideAffecting +_0802D408: .4byte gSideStatuses _0802D40C: .4byte 0x0000fffe _0802D410: .4byte 0x0000fffd _0802D414: .4byte gBattleScripting @@ -31726,7 +31726,7 @@ _0802D418: strb r1, [r0, 0x18] strb r1, [r0, 0x19] _0802D41E: - ldr r1, _0802D430 @ =gUnknown_2023D74 + ldr r1, _0802D430 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -31735,7 +31735,7 @@ _0802D41E: bx r0 .align 2, 0 _0802D42C: .4byte gBattleScripting -_0802D430: .4byte gUnknown_2023D74 +_0802D430: .4byte gBattlescriptCurrInstr thumb_func_end atkEE_removelightscreenreflect thumb_func_start sub_802D434 @@ -31767,8 +31767,8 @@ _0802D442: movs r1, 0x6 bl BtlController_EmitBallThrowAnim ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802D488 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D488 @ =gBattlescriptCurrInstr ldr r0, _0802D48C @ =gUnknown_81D9AD1 b _0802D7EC .align 2, 0 @@ -31777,7 +31777,7 @@ _0802D478: .4byte gActiveBattler _0802D47C: .4byte gBattlerAttacker _0802D480: .4byte gBattlerTarget _0802D484: .4byte gBattleTypeFlags -_0802D488: .4byte gUnknown_2023D74 +_0802D488: .4byte gBattlescriptCurrInstr _0802D48C: .4byte gUnknown_81D9AD1 _0802D490: movs r0, 0x8 @@ -31788,12 +31788,12 @@ _0802D490: movs r1, 0x5 bl BtlController_EmitBallThrowAnim ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802D4AC @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D4AC @ =gBattlescriptCurrInstr ldr r0, _0802D4B0 @ =gUnknown_81D9AC1 b _0802D7EC .align 2, 0 -_0802D4AC: .4byte gUnknown_2023D74 +_0802D4AC: .4byte gBattlescriptCurrInstr _0802D4B0: .4byte gUnknown_81D9AC1 _0802D4B4: movs r0, 0x81 @@ -31805,12 +31805,12 @@ _0802D4B4: movs r1, 0x4 bl BtlController_EmitBallThrowAnim ldrb r0, [r5] - bl MarkBufferBankForExecution - ldr r1, _0802D4D4 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D4D4 @ =gBattlescriptCurrInstr ldr r0, _0802D4D8 @ =gUnknown_81D9A88 b _0802D7EC .align 2, 0 -_0802D4D4: .4byte gUnknown_2023D74 +_0802D4D4: .4byte gBattlescriptCurrInstr _0802D4D8: .4byte gUnknown_81D9A88 _0802D4DC: ldr r0, _0802D500 @ =gLastUsedItem @@ -32051,8 +32051,8 @@ _0802D6BC: bl BtlController_EmitBallThrowAnim ldr r0, _0802D704 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution - ldr r1, _0802D708 @ =gUnknown_2023D74 + bl MarkBattlerForControllerExec + ldr r1, _0802D708 @ =gBattlescriptCurrInstr ldr r0, _0802D70C @ =gUnknown_81D9A42 str r0, [r1] ldr r1, _0802D710 @ =gBattlerPartyIndexes @@ -32077,7 +32077,7 @@ _0802D6BC: .align 2, 0 _0802D700: .4byte gBattleResults _0802D704: .4byte gActiveBattler -_0802D708: .4byte gUnknown_2023D74 +_0802D708: .4byte gBattlescriptCurrInstr _0802D70C: .4byte gUnknown_81D9A42 _0802D710: .4byte gBattlerPartyIndexes _0802D714: .4byte gBattlerTarget @@ -32126,10 +32126,10 @@ _0802D76C: bl BtlController_EmitBallThrowAnim ldr r0, _0802D7BC @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec cmp r4, 0x4 bne _0802D7E4 - ldr r1, _0802D7C0 @ =gUnknown_2023D74 + ldr r1, _0802D7C0 @ =gBattlescriptCurrInstr ldr r0, _0802D7C4 @ =gUnknown_81D9A42 str r0, [r1] ldr r1, _0802D7C8 @ =gBattlerPartyIndexes @@ -32151,30 +32151,30 @@ _0802D76C: cmp r0, 0x6 bne _0802D7D8 _0802D7AE: - ldr r1, _0802D7D4 @ =gUnknown_2023E82 + ldr r1, _0802D7D4 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] b _0802D7EE .align 2, 0 _0802D7B8: .4byte gLastUsedItem _0802D7BC: .4byte gActiveBattler -_0802D7C0: .4byte gUnknown_2023D74 +_0802D7C0: .4byte gBattlescriptCurrInstr _0802D7C4: .4byte gUnknown_81D9A42 _0802D7C8: .4byte gBattlerPartyIndexes _0802D7CC: .4byte gBattlerTarget _0802D7D0: .4byte gEnemyParty -_0802D7D4: .4byte gUnknown_2023E82 +_0802D7D4: .4byte gBattleCommunication _0802D7D8: - ldr r1, _0802D7E0 @ =gUnknown_2023E82 + ldr r1, _0802D7E0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _0802D7EE .align 2, 0 -_0802D7E0: .4byte gUnknown_2023E82 +_0802D7E0: .4byte gBattleCommunication _0802D7E4: - ldr r0, _0802D7F4 @ =gUnknown_2023E82 + ldr r0, _0802D7F4 @ =gBattleCommunication strb r4, [r0, 0x5] - ldr r1, _0802D7F8 @ =gUnknown_2023D74 + ldr r1, _0802D7F8 @ =gBattlescriptCurrInstr ldr r0, _0802D7FC @ =gUnknown_81D9A93 _0802D7EC: str r0, [r1] @@ -32183,8 +32183,8 @@ _0802D7EE: pop {r0} bx r0 .align 2, 0 -_0802D7F4: .4byte gUnknown_2023E82 -_0802D7F8: .4byte gUnknown_2023D74 +_0802D7F4: .4byte gBattleCommunication +_0802D7F8: .4byte gBattlescriptCurrInstr _0802D7FC: .4byte gUnknown_81D9A93 thumb_func_end sub_802D434 @@ -32217,7 +32217,7 @@ sub_802D800: @ 802D800 lsrs r1, r0, 24 cmp r1, 0 bne _0802D88C - ldr r0, _0802D87C @ =gUnknown_2023E82 + ldr r0, _0802D87C @ =gBattleCommunication strb r1, [r0, 0x5] ldr r4, _0802D880 @ =gStringVar1 ldr r0, _0802D884 @ =0x00004037 @@ -32243,7 +32243,7 @@ sub_802D800: @ 802D800 _0802D870: .4byte gBattlerPartyIndexes _0802D874: .4byte gBattlerAttacker _0802D878: .4byte gEnemyParty -_0802D87C: .4byte gUnknown_2023E82 +_0802D87C: .4byte gBattleCommunication _0802D880: .4byte gStringVar1 _0802D884: .4byte 0x00004037 _0802D888: .4byte gStringVar2 @@ -32275,7 +32275,7 @@ _0802D88C: adds r1, r0, 0 adds r0, r4, 0 bl StringCopy - ldr r1, _0802D93C @ =gUnknown_2023E82 + ldr r1, _0802D93C @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] _0802D8D6: @@ -32284,7 +32284,7 @@ _0802D8D6: lsls r0, 24 cmp r0, 0 beq _0802D8EA - ldr r1, _0802D93C @ =gUnknown_2023E82 + ldr r1, _0802D93C @ =gBattleCommunication ldrb r0, [r1, 0x5] adds r0, 0x1 strb r0, [r1, 0x5] @@ -32311,7 +32311,7 @@ _0802D8EA: adds r2, 0x2A movs r1, 0x2 bl GetMonData - ldr r1, _0802D958 @ =gUnknown_2023D74 + ldr r1, _0802D958 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -32326,14 +32326,14 @@ _0802D92C: .4byte gStringVar1 _0802D930: .4byte 0x00004037 _0802D934: .4byte gStringVar2 _0802D938: .4byte gStringVar3 -_0802D93C: .4byte gUnknown_2023E82 +_0802D93C: .4byte gBattleCommunication _0802D940: .4byte 0x00000834 _0802D944: .4byte gBattleResults _0802D948: .4byte gBattleMons _0802D94C: .4byte gBattlerAttacker _0802D950: .4byte gBattlerPartyIndexes _0802D954: .4byte gEnemyParty -_0802D958: .4byte gUnknown_2023D74 +_0802D958: .4byte gBattlescriptCurrInstr thumb_func_end sub_802D800 thumb_func_start sub_802D95C @@ -32360,7 +32360,7 @@ sub_802D95C: @ 802D95C lsls r0, 24 cmp r0, 0 beq _0802D9B4 - ldr r3, _0802D9B0 @ =gUnknown_2023D74 + ldr r3, _0802D9B0 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -32376,7 +32376,7 @@ sub_802D95C: @ 802D95C b _0802D9CE .align 2, 0 _0802D9AC: .4byte gEnemyParty -_0802D9B0: .4byte gUnknown_2023D74 +_0802D9B0: .4byte gBattlescriptCurrInstr _0802D9B4: adds r0, r5, 0 bl SpeciesToNationalPokedexNum @@ -32385,7 +32385,7 @@ _0802D9B4: movs r1, 0x3 adds r2, r4, 0 bl HandleSetPokedexFlag - ldr r1, _0802D9D4 @ =gUnknown_2023D74 + ldr r1, _0802D9D4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -32394,7 +32394,7 @@ _0802D9CE: pop {r0} bx r0 .align 2, 0 -_0802D9D4: .4byte gUnknown_2023D74 +_0802D9D4: .4byte gBattlescriptCurrInstr thumb_func_end sub_802D95C thumb_func_start sub_802D9D8 @@ -32407,7 +32407,7 @@ sub_802D9D8: @ 802D9D8 bl GetMonData lsls r0, 16 lsrs r5, r0, 16 - ldr r0, _0802DA04 @ =gUnknown_2023E82 + ldr r0, _0802DA04 @ =gBattleCommunication ldrb r0, [r0] cmp r0, 0x5 bls _0802D9F4 @@ -32420,7 +32420,7 @@ _0802D9F4: mov pc, r0 .align 2, 0 _0802DA00: .4byte gEnemyParty -_0802DA04: .4byte gUnknown_2023E82 +_0802DA04: .4byte gBattleCommunication _0802DA08: .4byte _0802DA0C .align 2, 0 _0802DA0C: @@ -32454,12 +32454,12 @@ _0802DA4A: bl FreeAllWindowBuffers adds r0, r5, 0 bl sub_8106B60 - ldr r1, _0802DA60 @ =gUnknown_2023E82 + ldr r1, _0802DA60 @ =gBattleCommunication strb r0, [r1, 0x1] b _0802DB36 .align 2, 0 _0802DA5C: .4byte gPaletteFade -_0802DA60: .4byte gUnknown_2023E82 +_0802DA60: .4byte gBattleCommunication _0802DA64: ldr r0, _0802DAAC @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -32475,7 +32475,7 @@ _0802DA72: cmp r1, r0 bne _0802DB6C ldr r2, _0802DAB8 @ =gTasks - ldr r4, _0802DABC @ =gUnknown_2023E82 + ldr r4, _0802DABC @ =gBattleCommunication ldrb r1, [r4, 0x1] lsls r0, r1, 2 adds r0, r1 @@ -32501,7 +32501,7 @@ _0802DAAC: .4byte gPaletteFade _0802DAB0: .4byte gMain _0802DAB4: .4byte BattleMainCB2 _0802DAB8: .4byte gTasks -_0802DABC: .4byte gUnknown_2023E82 +_0802DABC: .4byte gBattleCommunication _0802DAC0: .4byte 0x05006000 _0802DAC4: .4byte sub_80116F4 _0802DAC8: @@ -32553,7 +32553,7 @@ _0802DAE0: movs r0, 0x3 bl ShowBg _0802DB34: - ldr r1, _0802DB54 @ =gUnknown_2023E82 + ldr r1, _0802DB54 @ =gBattleCommunication _0802DB36: ldrb r0, [r1] adds r0, 0x1 @@ -32565,7 +32565,7 @@ _0802DB44: .4byte 0x0000ffff _0802DB48: .4byte gPlttBufferFaded _0802DB4C: .4byte 0x05000080 _0802DB50: .4byte 0x0001ffff -_0802DB54: .4byte gUnknown_2023E82 +_0802DB54: .4byte gBattleCommunication _0802DB58: ldr r0, _0802DB74 @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -32573,7 +32573,7 @@ _0802DB58: ands r0, r1 cmp r0, 0 bne _0802DB6C - ldr r1, _0802DB78 @ =gUnknown_2023D74 + ldr r1, _0802DB78 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -32584,7 +32584,7 @@ _0802DB6C: bx r0 .align 2, 0 _0802DB74: .4byte gPaletteFade -_0802DB78: .4byte gUnknown_2023D74 +_0802DB78: .4byte gBattlescriptCurrInstr thumb_func_end sub_802D9D8 thumb_func_start sub_802DB7C @@ -32765,7 +32765,7 @@ sub_802DCB8: @ 802DCB8 strh r2, [r0] movs r1, 0x2 strh r1, [r0, 0x2] - ldr r0, _0802DCF4 @ =gUnknown_2023E82 + ldr r0, _0802DCF4 @ =gBattleCommunication ldrb r3, [r0, 0x1] lsls r3, 25 movs r0, 0x90 @@ -32786,7 +32786,7 @@ sub_802DCB8: @ 802DCB8 pop {r0} bx r0 .align 2, 0 -_0802DCF4: .4byte gUnknown_2023E82 +_0802DCF4: .4byte gBattleCommunication thumb_func_end sub_802DCB8 thumb_func_start sub_802DCF8 @@ -32797,7 +32797,7 @@ sub_802DCF8: @ 802DCF8 movs r1, 0x20 strh r1, [r0] strh r1, [r0, 0x2] - ldr r0, _0802DD34 @ =gUnknown_2023E82 + ldr r0, _0802DD34 @ =gBattleCommunication ldrb r3, [r0, 0x1] lsls r3, 25 movs r0, 0x90 @@ -32820,7 +32820,7 @@ sub_802DCF8: @ 802DCF8 pop {r0} bx r0 .align 2, 0 -_0802DD34: .4byte gUnknown_2023E82 +_0802DD34: .4byte gBattleCommunication thumb_func_end sub_802DCF8 thumb_func_start sub_802DD38 @@ -32831,7 +32831,7 @@ sub_802DD38: @ 802DD38 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r0, _0802DD5C @ =gUnknown_2023E82 + ldr r0, _0802DD5C @ =gBattleCommunication ldrb r1, [r0] adds r4, r0, 0 cmp r1, 0x4 @@ -32844,7 +32844,7 @@ _0802DD50: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802DD5C: .4byte gUnknown_2023E82 +_0802DD5C: .4byte gBattleCommunication _0802DD60: .4byte _0802DD64 .align 2, 0 _0802DD64: @@ -32864,7 +32864,7 @@ _0802DD78: ldr r0, _0802DDA0 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow - ldr r1, _0802DDA4 @ =gUnknown_2023E82 + ldr r1, _0802DDA4 @ =gBattleCommunication ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -32873,7 +32873,7 @@ _0802DD78: b _0802DFA6 .align 2, 0 _0802DDA0: .4byte gUnknown_83FE791 -_0802DDA4: .4byte gUnknown_2023E82 +_0802DDA4: .4byte gBattleCommunication _0802DDA8: ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] @@ -32897,7 +32897,7 @@ _0802DDCC: ands r0, r1 cmp r0, 0 beq _0802DDF2 - ldr r4, _0802DE20 @ =gUnknown_2023E82 + ldr r4, _0802DE20 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _0802DDF2 @@ -32916,7 +32916,7 @@ _0802DDF2: beq _0802DE24 movs r0, 0x5 bl PlaySE - ldr r1, _0802DE20 @ =gUnknown_2023E82 + ldr r1, _0802DE20 @ =gBattleCommunication ldrb r0, [r1, 0x1] cmp r0, 0 bne _0802DE36 @@ -32928,7 +32928,7 @@ _0802DDF2: b _0802DFA6 .align 2, 0 _0802DE1C: .4byte gMain -_0802DE20: .4byte gUnknown_2023E82 +_0802DE20: .4byte gBattleCommunication _0802DE24: movs r0, 0x2 ands r0, r1 @@ -32938,13 +32938,13 @@ _0802DE24: _0802DE2E: movs r0, 0x5 bl PlaySE - ldr r1, _0802DE3C @ =gUnknown_2023E82 + ldr r1, _0802DE3C @ =gBattleCommunication _0802DE36: movs r0, 0x4 strb r0, [r1] b _0802DFA6 .align 2, 0 -_0802DE3C: .4byte gUnknown_2023E82 +_0802DE3C: .4byte gBattleCommunication _0802DE40: ldr r0, _0802DEFC @ =gPaletteFade ldrb r1, [r0, 0x7] @@ -33029,7 +33029,7 @@ _0802DE4E: adds r2, r6, 0 adds r3, r5, 0 bl DoNamingScreen - ldr r1, _0802DF14 @ =gUnknown_2023E82 + ldr r1, _0802DF14 @ =gBattleCommunication ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -33041,7 +33041,7 @@ _0802DF04: .4byte gBattlerAttacker _0802DF08: .4byte gEnemyParty _0802DF0C: .4byte gBattleStruct _0802DF10: .4byte BattleMainCB2 -_0802DF14: .4byte gUnknown_2023E82 +_0802DF14: .4byte gBattleCommunication _0802DF18: ldr r0, _0802DF54 @ =gMain ldr r1, [r0, 0x4] @@ -33086,15 +33086,15 @@ _0802DF70: lsrs r0, 24 cmp r0, 0x6 bne _0802DF8C - ldr r1, _0802DF88 @ =gUnknown_2023D74 + ldr r1, _0802DF88 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 str r0, [r1] b _0802DFA6 .align 2, 0 -_0802DF88: .4byte gUnknown_2023D74 +_0802DF88: .4byte gBattlescriptCurrInstr _0802DF8C: - ldr r3, _0802DFB8 @ =gUnknown_2023D74 + ldr r3, _0802DFB8 @ =gBattlescriptCurrInstr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -33117,7 +33117,7 @@ _0802DFA6: pop {r0} bx r0 .align 2, 0 -_0802DFB8: .4byte gUnknown_2023D74 +_0802DFB8: .4byte gBattlescriptCurrInstr thumb_func_end sub_802DD38 thumb_func_start atkF4_subattackerhpbydmg @@ -33133,7 +33133,7 @@ atkF4_subattackerhpbydmg: @ 802DFBC ldrh r0, [r1, 0x28] subs r0, r2 strh r0, [r1, 0x28] - ldr r1, _0802DFE8 @ =gUnknown_2023D74 + ldr r1, _0802DFE8 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -33142,7 +33142,7 @@ atkF4_subattackerhpbydmg: @ 802DFBC _0802DFDC: .4byte gBattleMons _0802DFE0: .4byte gBattlerAttacker _0802DFE4: .4byte gBattleMoveDamage -_0802DFE8: .4byte gUnknown_2023D74 +_0802DFE8: .4byte gBattlescriptCurrInstr thumb_func_end atkF4_subattackerhpbydmg thumb_func_start atkF5_removeattackerstatus1 @@ -33156,7 +33156,7 @@ atkF5_removeattackerstatus1: @ 802DFEC adds r0, r1 movs r1, 0 str r1, [r0] - ldr r1, _0802E010 @ =gUnknown_2023D74 + ldr r1, _0802E010 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -33164,7 +33164,7 @@ atkF5_removeattackerstatus1: @ 802DFEC .align 2, 0 _0802E008: .4byte gBattleMons _0802E00C: .4byte gBattlerAttacker -_0802E010: .4byte gUnknown_2023D74 +_0802E010: .4byte gBattlescriptCurrInstr thumb_func_end atkF5_removeattackerstatus1 thumb_func_start sub_802E014 diff --git a/asm/battle_util.s b/asm/battle_util.s index 34e4ad428..d73ed9e0e 100644 --- a/asm/battle_util.s +++ b/asm/battle_util.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8016E24 -sub_8016E24: @ 8016E24 + thumb_func_start GetBattlerForBattleScript +GetBattlerForBattleScript: @ 8016E24 push {lr} lsls r0, 24 lsrs r0, 24 @@ -63,11 +63,11 @@ _08016E9C: .align 2, 0 _08016EA4: .4byte gBattleScripting _08016EA8: - ldr r0, _08016EB0 @ =gUnknown_2023D6D + ldr r0, _08016EB0 @ =gBattlerFainted ldrb r2, [r0] b _08016EC2 .align 2, 0 -_08016EB0: .4byte gUnknown_2023D6D +_08016EB0: .4byte gBattlerFainted _08016EB4: movs r0, 0 b _08016EBA @@ -81,7 +81,7 @@ _08016EC2: adds r0, r2, 0 pop {r1} bx r1 - thumb_func_end sub_8016E24 + thumb_func_end GetBattlerForBattleScript thumb_func_start PressurePPLose PressurePPLose: @ 8016EC8 @@ -174,7 +174,7 @@ _08016F26: movs r3, 0x1 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08016F7A: add sp, 0x4 pop {r4-r7} @@ -324,7 +324,7 @@ _08017038: movs r3, 0x1 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080170A0: add sp, 0x4 pop {r3-r5} @@ -461,7 +461,7 @@ _08017146: movs r3, 0x1 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _080171AA: add sp, 0x4 pop {r3-r5} @@ -481,8 +481,8 @@ _080171D0: .4byte gBitTable _080171D4: .4byte gActiveBattler thumb_func_end PressurePPLoseOnUsingPerishSong - thumb_func_start MarkAllBufferBanksForExecution -MarkAllBufferBanksForExecution: @ 80171D8 + thumb_func_start MarkAllBattlersForControllerExec +MarkAllBattlersForControllerExec: @ 80171D8 push {r4,r5,lr} ldr r0, _08017208 @ =gBattleTypeFlags ldr r0, [r0] @@ -538,10 +538,10 @@ _08017236: _0801723C: .4byte gBattlersCount _08017240: .4byte gBattleControllerExecFlags _08017244: .4byte gBitTable - thumb_func_end MarkAllBufferBanksForExecution + thumb_func_end MarkAllBattlersForControllerExec - thumb_func_start MarkBufferBankForExecution -MarkBufferBankForExecution: @ 8017248 + thumb_func_start MarkBattlerForControllerExec +MarkBattlerForControllerExec: @ 8017248 push {lr} lsls r0, 24 lsrs r3, r0, 24 @@ -580,7 +580,7 @@ _0801728C: .align 2, 0 _08017290: .4byte gBattleControllerExecFlags _08017294: .4byte gBitTable - thumb_func_end MarkBufferBankForExecution + thumb_func_end MarkBattlerForControllerExec thumb_func_start sub_8017298 sub_8017298: @ 8017298 @@ -679,7 +679,7 @@ _08017350: .4byte gDisableStructs WasUnableToUseMove: @ 8017354 push {lr} lsls r0, 24 - ldr r1, _080173A0 @ =gUnknown_2023E8C + ldr r1, _080173A0 @ =gProtectStructs lsrs r0, 20 adds r1, r0, r1 ldrb r0, [r1] @@ -716,7 +716,7 @@ _0801739A: movs r0, 0x1 b _080173A6 .align 2, 0 -_080173A0: .4byte gUnknown_2023E8C +_080173A0: .4byte gProtectStructs _080173A4: movs r0, 0 _080173A6: @@ -736,7 +736,7 @@ PrepareStringBattle: @ 80173AC adds r1, r2, 0 bl BtlController_EmitPrintString ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec pop {r4} pop {r0} bx r0 @@ -748,7 +748,7 @@ _080173CC: .4byte gActiveBattler ResetSentPokesToOpponentValue: @ 80173D0 push {r4-r6,lr} movs r3, 0 - ldr r0, _08017424 @ =gUnknown_2023F4E + ldr r0, _08017424 @ =gSentPokesToOpponent strb r3, [r0] strb r3, [r0, 0x1] movs r1, 0 @@ -776,7 +776,7 @@ _080173FE: ldrb r0, [r2] cmp r1, r0 bge _0801741E - ldr r5, _08017424 @ =gUnknown_2023F4E + ldr r5, _08017424 @ =gSentPokesToOpponent movs r4, 0x2 _0801740C: adds r0, r1, 0 @@ -793,7 +793,7 @@ _0801741E: pop {r0} bx r0 .align 2, 0 -_08017424: .4byte gUnknown_2023F4E +_08017424: .4byte gSentPokesToOpponent _08017428: .4byte gBattlersCount _0801742C: .4byte gBitTable _08017430: .4byte gBattlerPartyIndexes @@ -818,7 +818,7 @@ sub_8017434: @ 8017434 lsls r0, 24 lsrs r0, 25 mov r12, r0 - ldr r1, _080174A4 @ =gUnknown_2023F4E + ldr r1, _080174A4 @ =gSentPokesToOpponent adds r0, r1 strb r4, [r0] adds r5, r4, 0 @@ -860,7 +860,7 @@ _08017498: pop {r0} bx r0 .align 2, 0 -_080174A4: .4byte gUnknown_2023F4E +_080174A4: .4byte gSentPokesToOpponent _080174A8: .4byte gBattlersCount _080174AC: .4byte gAbsentBattlerFlags _080174B0: .4byte gBitTable @@ -887,7 +887,7 @@ _080174D4: ldrb r0, [r5] cmp r3, r0 bge _0801750A - ldr r0, _08017514 @ =gUnknown_2023F4E + ldr r0, _08017514 @ =gSentPokesToOpponent mov r12, r0 movs r7, 0x2 ldr r6, _08017518 @ =gBitTable @@ -916,7 +916,7 @@ _0801750A: bx r0 .align 2, 0 _08017510: .4byte gBattlersCount -_08017514: .4byte gUnknown_2023F4E +_08017514: .4byte gSentPokesToOpponent _08017518: .4byte gBitTable _0801751C: .4byte gBattlerPartyIndexes thumb_func_end sub_80174B8 @@ -956,18 +956,18 @@ BattleScriptPushCursor: @ 8017544 lsls r0, 24 lsrs r0, 22 adds r2, r0 - ldr r0, _08017568 @ =gUnknown_2023D74 + ldr r0, _08017568 @ =gBattlescriptCurrInstr ldr r0, [r0] str r0, [r2] bx lr .align 2, 0 _08017564: .4byte gBattleResources -_08017568: .4byte gUnknown_2023D74 +_08017568: .4byte gBattlescriptCurrInstr thumb_func_end BattleScriptPushCursor thumb_func_start BattleScriptPop BattleScriptPop: @ 801756C - ldr r3, _0801758C @ =gUnknown_2023D74 + ldr r3, _0801758C @ =gBattlescriptCurrInstr ldr r0, _08017590 @ =gBattleResources ldr r0, [r0] ldr r1, [r0, 0x8] @@ -983,12 +983,12 @@ BattleScriptPop: @ 801756C str r0, [r3] bx lr .align 2, 0 -_0801758C: .4byte gUnknown_2023D74 +_0801758C: .4byte gBattlescriptCurrInstr _08017590: .4byte gBattleResources thumb_func_end BattleScriptPop - thumb_func_start sub_8017594 -sub_8017594: @ 8017594 + thumb_func_start TrySetCantSelectMoveBattleScript +TrySetCantSelectMoveBattleScript: @ 8017594 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1028,11 +1028,11 @@ sub_8017594: @ 8017594 strb r3, [r0, 0x17] ldr r0, _080176C4 @ =gCurrentMove strh r4, [r0] - ldr r1, _080176C8 @ =gUnknown_2023D80 + ldr r1, _080176C8 @ =gSelectionBattleScripts ldrb r0, [r5] lsls r0, 2 adds r0, r1 - ldr r1, _080176CC @ =gUnknown_81D8C5A + ldr r1, _080176CC @ =BattleScript_SelectingDisabledMove str r1, [r0] movs r6, 0x1 _080175F0: @@ -1056,11 +1056,11 @@ _080175F0: bge _0801762C adds r0, r2, 0 bl CancelMultiTurnMoves - ldr r1, _080176C8 @ =gUnknown_2023D80 + ldr r1, _080176C8 @ =gSelectionBattleScripts ldrb r0, [r5] lsls r0, 2 adds r0, r1 - ldr r1, _080176D4 @ =gUnknown_81D8EB7 + ldr r1, _080176D4 @ =BattleScript_SelectingTormentedMove str r1, [r0] adds r0, r6, 0x1 lsls r0, 24 @@ -1087,11 +1087,11 @@ _0801762C: bne _08017668 ldr r0, _080176C4 @ =gCurrentMove strh r4, [r0] - ldr r1, _080176C8 @ =gUnknown_2023D80 + ldr r1, _080176C8 @ =gSelectionBattleScripts ldrb r0, [r3] lsls r0, 2 adds r0, r1 - ldr r1, _080176DC @ =gUnknown_81D8EC6 + ldr r1, _080176DC @ =BattleScript_SelectingNotAllowedMoveTaunt str r1, [r0] adds r0, r6, 0x1 lsls r0, 24 @@ -1106,11 +1106,11 @@ _08017668: beq _0801768E ldr r0, _080176C4 @ =gCurrentMove strh r4, [r0] - ldr r1, _080176C8 @ =gUnknown_2023D80 + ldr r1, _080176C8 @ =gSelectionBattleScripts ldrb r0, [r5] lsls r0, 2 adds r0, r1 - ldr r1, _080176E0 @ =gUnknown_81D8F9F + ldr r1, _080176E0 @ =BattleScript_SelectingImprisonedMove str r1, [r0] adds r0, r6, 0x1 lsls r0, 24 @@ -1139,13 +1139,13 @@ _080176B8: .4byte gBattleStruct _080176BC: .4byte gDisableStructs _080176C0: .4byte gBattleScripting _080176C4: .4byte gCurrentMove -_080176C8: .4byte gUnknown_2023D80 -_080176CC: .4byte gUnknown_81D8C5A +_080176C8: .4byte gSelectionBattleScripts +_080176CC: .4byte BattleScript_SelectingDisabledMove _080176D0: .4byte gLastUsedMove -_080176D4: .4byte gUnknown_81D8EB7 +_080176D4: .4byte BattleScript_SelectingTormentedMove _080176D8: .4byte gBattleMoves -_080176DC: .4byte gUnknown_81D8EC6 -_080176E0: .4byte gUnknown_81D8F9F +_080176DC: .4byte BattleScript_SelectingNotAllowedMoveTaunt +_080176E0: .4byte BattleScript_SelectingImprisonedMove _080176E4: .4byte gEnigmaBerries _080176E8: ldrh r0, [r1, 0x2E] @@ -1180,11 +1180,11 @@ _080176F2: adds r0, r7 ldrh r0, [r0, 0x2E] strh r0, [r2] - ldr r1, _0801778C @ =gUnknown_2023D80 + ldr r1, _0801778C @ =gSelectionBattleScripts ldrb r0, [r5] lsls r0, 2 adds r0, r1 - ldr r1, _08017790 @ =gUnknown_81D963D + ldr r1, _08017790 @ =BattleScript_SelectingNotAllowedMoveChoiceItem str r1, [r0] adds r0, r6, 0x1 lsls r0, 24 @@ -1205,10 +1205,10 @@ _0801773A: ldrb r0, [r0] cmp r0, 0 bne _08017768 - ldr r1, _0801778C @ =gUnknown_2023D80 + ldr r1, _0801778C @ =gSelectionBattleScripts lsls r0, r2, 2 adds r0, r1 - ldr r1, _08017798 @ =gUnknown_81D8EA4 + ldr r1, _08017798 @ =BattleScript_SelectingMoveWithNoPP str r1, [r0] adds r0, r6, 0x1 lsls r0, 24 @@ -1227,11 +1227,11 @@ _0801777C: .4byte gBattleMons _08017780: .4byte 0x0000ffff _08017784: .4byte gCurrentMove _08017788: .4byte gLastUsedItem -_0801778C: .4byte gUnknown_2023D80 -_08017790: .4byte gUnknown_81D963D +_0801778C: .4byte gSelectionBattleScripts +_08017790: .4byte BattleScript_SelectingNotAllowedMoveChoiceItem _08017794: .4byte gBattleBufferB -_08017798: .4byte gUnknown_81D8EA4 - thumb_func_end sub_8017594 +_08017798: .4byte BattleScript_SelectingMoveWithNoPP + thumb_func_end TrySetCantSelectMoveBattleScript thumb_func_start CheckMoveLimitations CheckMoveLimitations: @ 801779C @@ -1491,8 +1491,8 @@ _08017990: .4byte gBattleMoves _08017994: .4byte 0x0000ffff thumb_func_end CheckMoveLimitations - thumb_func_start sub_8017998 -sub_8017998: @ 8017998 + thumb_func_start AreAllMovesUnusable +AreAllMovesUnusable: @ 8017998 push {r4-r6,lr} ldr r5, _08017A04 @ =gActiveBattler ldrb r0, [r5] @@ -1503,7 +1503,7 @@ sub_8017998: @ 8017998 lsrs r6, r0, 24 cmp r6, 0xF bne _08017A40 - ldr r0, _08017A08 @ =gUnknown_2023E8C + ldr r0, _08017A08 @ =gProtectStructs ldrb r1, [r5] lsls r1, 4 adds r1, r0 @@ -1511,7 +1511,7 @@ sub_8017998: @ 8017998 movs r2, 0x4 orrs r0, r2 strb r0, [r1] - ldr r1, _08017A0C @ =gUnknown_2023D80 + ldr r1, _08017A0C @ =gSelectionBattleScripts ldrb r0, [r5] lsls r0, 2 adds r0, r1 @@ -1544,8 +1544,8 @@ sub_8017998: @ 8017998 b _08017A50 .align 2, 0 _08017A04: .4byte gActiveBattler -_08017A08: .4byte gUnknown_2023E8C -_08017A0C: .4byte gUnknown_2023D80 +_08017A08: .4byte gProtectStructs +_08017A0C: .4byte gSelectionBattleScripts _08017A10: .4byte gUnknown_81D8EA0 _08017A14: .4byte gBattleTypeFlags _08017A18: .4byte gBattleBufferB @@ -1566,7 +1566,7 @@ _08017A1C: .align 2, 0 _08017A3C: .4byte gBattleBufferB _08017A40: - ldr r0, _08017A60 @ =gUnknown_2023E8C + ldr r0, _08017A60 @ =gProtectStructs ldrb r1, [r5] lsls r1, 4 adds r1, r0 @@ -1585,8 +1585,8 @@ _08017A5A: pop {r1} bx r1 .align 2, 0 -_08017A60: .4byte gUnknown_2023E8C - thumb_func_end sub_8017998 +_08017A60: .4byte gProtectStructs + thumb_func_end AreAllMovesUnusable thumb_func_start GetImprisonedMovesCount GetImprisonedMovesCount: @ 8017A64 @@ -1672,8 +1672,8 @@ _08017AFC: .4byte gUnknown_2023BF0 _08017B00: .4byte gStatuses3 thumb_func_end GetImprisonedMovesCount - thumb_func_start UpdateTurnCounters -UpdateTurnCounters: @ 8017B04 + thumb_func_start DoFieldEndTurnEffects +DoFieldEndTurnEffects: @ 8017B04 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1789,7 +1789,7 @@ _08017BF0: ldrb r2, [r1] cmp r5, r2 bge _08017C0A - ldr r2, _08017C14 @ =gUnknown_2023BDE + ldr r2, _08017C14 @ =gBattlerByTurnOrder _08017BFE: adds r0, r5, r2 strb r5, [r0] @@ -1802,14 +1802,14 @@ _08017C0A: b _08017C58 .align 2, 0 _08017C10: .4byte gBattlersCount -_08017C14: .4byte gUnknown_2023BDE +_08017C14: .4byte gBattlerByTurnOrder _08017C18: adds r4, r5, 0x1 adds r6, r4, 0 ldrb r1, [r1] cmp r6, r1 bge _08017C56 - ldr r7, _08017D14 @ =gUnknown_2023BDE + ldr r7, _08017D14 @ =gBattlerByTurnOrder ldr r0, _08017D18 @ =gBattlersCount mov r10, r0 lsls r1, r5, 24 @@ -1880,7 +1880,7 @@ _08017C8E: strb r0, [r6] mov r3, r8 strb r0, [r3] - ldr r0, _08017D30 @ =gSideAffecting + ldr r0, _08017D30 @ =gSideStatuses adds r3, r1, r0 ldrh r1, [r3] movs r0, 0x1 @@ -1899,7 +1899,7 @@ _08017C8E: adds r1, r2, 0 ands r0, r1 strh r0, [r3] - ldr r0, _08017D38 @ =gUnknown_81D8B32 + ldr r0, _08017D38 @ =BattleScript_SideStatusWoreOff bl BattleScriptExecute movs r0, 0xFD strb r0, [r5] @@ -1937,16 +1937,16 @@ _08017D06: bls _08017C8E b _08017F60 .align 2, 0 -_08017D14: .4byte gUnknown_2023BDE +_08017D14: .4byte gBattlerByTurnOrder _08017D18: .4byte gBattlersCount _08017D1C: .4byte gBattleStruct _08017D20: .4byte gActiveBattler _08017D24: .4byte gBattlerAttacker _08017D28: .4byte gBattleTextBuff1 _08017D2C: .4byte gSideTimers -_08017D30: .4byte gSideAffecting +_08017D30: .4byte gSideStatuses _08017D34: .4byte 0x0000fffe -_08017D38: .4byte gUnknown_81D8B32 +_08017D38: .4byte BattleScript_SideStatusWoreOff _08017D3C: mov r1, r12 ldr r0, [r1] @@ -1975,7 +1975,7 @@ _08017D56: strb r0, [r7] ldr r3, _08017DF0 @ =gActiveBattler strb r0, [r3] - ldr r0, _08017DF4 @ =gSideAffecting + ldr r0, _08017DF4 @ =gSideStatuses adds r3, r1, r0 ldrh r1, [r3] movs r0, 0x2 @@ -1994,9 +1994,9 @@ _08017D56: adds r1, r2, 0 ands r0, r1 strh r0, [r3] - ldr r0, _08017DFC @ =gUnknown_81D8B32 + ldr r0, _08017DFC @ =BattleScript_SideStatusWoreOff bl BattleScriptExecute - ldr r0, _08017E00 @ =gUnknown_2023E82 + ldr r0, _08017E00 @ =gBattleCommunication strb r4, [r0, 0x5] movs r0, 0xFD strb r0, [r5] @@ -2039,10 +2039,10 @@ _08017DE4: .4byte gBattlerAttacker _08017DE8: .4byte gBattleTextBuff1 _08017DEC: .4byte gSideTimers _08017DF0: .4byte gActiveBattler -_08017DF4: .4byte gSideAffecting +_08017DF4: .4byte gSideStatuses _08017DF8: .4byte 0x0000fffd -_08017DFC: .4byte gUnknown_81D8B32 -_08017E00: .4byte gUnknown_2023E82 +_08017DFC: .4byte BattleScript_SideStatusWoreOff +_08017E00: .4byte gBattleCommunication _08017E04: .4byte gBattleStruct _08017E08: mov r1, r12 @@ -2079,16 +2079,16 @@ _08017E20: lsls r0, 24 cmp r0, 0 bne _08017E82 - ldr r2, _08017ED0 @ =gSideAffecting + ldr r2, _08017ED0 @ =gSideStatuses adds r2, r3, r2 ldrh r0, [r2] ldr r3, _08017ED4 @ =0x0000feff adds r1, r3, 0 ands r0, r1 strh r0, [r2] - ldr r0, _08017ED8 @ =gUnknown_81D8B32 + ldr r0, _08017ED8 @ =BattleScript_SideStatusWoreOff bl BattleScriptExecute - ldr r0, _08017EDC @ =gUnknown_2023E82 + ldr r0, _08017EDC @ =gBattleCommunication strb r4, [r0, 0x5] movs r0, 0xFD strb r0, [r5] @@ -2145,10 +2145,10 @@ _08017EC0: .4byte gActiveBattler _08017EC4: .4byte gBattlerAttacker _08017EC8: .4byte gBattleTextBuff1 _08017ECC: .4byte gSideTimers -_08017ED0: .4byte gSideAffecting +_08017ED0: .4byte gSideStatuses _08017ED4: .4byte 0x0000feff -_08017ED8: .4byte gUnknown_81D8B32 -_08017EDC: .4byte gUnknown_2023E82 +_08017ED8: .4byte BattleScript_SideStatusWoreOff +_08017EDC: .4byte gBattleCommunication _08017EE0: .4byte gBattleStruct _08017EE4: mov r1, r12 @@ -2171,7 +2171,7 @@ _08017EF4: ldrb r0, [r2, 0x7] strb r0, [r5] strb r0, [r6] - ldr r0, _08017F8C @ =gSideAffecting + ldr r0, _08017F8C @ =gSideStatuses adds r3, r1, r0 ldrh r1, [r3] movs r0, 0x20 @@ -2189,7 +2189,7 @@ _08017EF4: adds r1, r2, 0 ands r0, r1 strh r0, [r3] - ldr r0, _08017F94 @ =gUnknown_81D8B43 + ldr r0, _08017F94 @ =BattleScript_SafeguardEnds bl BattleScriptExecute mov r0, r9 adds r0, 0x1 @@ -2236,9 +2236,9 @@ _08017F68: _08017F80: .4byte gActiveBattler _08017F84: .4byte gBattlerAttacker _08017F88: .4byte gSideTimers -_08017F8C: .4byte gSideAffecting +_08017F8C: .4byte gSideStatuses _08017F90: .4byte 0x0000ffdf -_08017F94: .4byte gUnknown_81D8B43 +_08017F94: .4byte BattleScript_SafeguardEnds _08017F98: .4byte gBattleStruct _08017F9C: mov r2, r12 @@ -2250,7 +2250,7 @@ _08017F9C: cmp r0, r1 bcs _0801801C ldr r4, _08018034 @ =gActiveBattler - ldr r5, _08018038 @ =gUnknown_2023BDE + ldr r5, _08018038 @ =gBattlerByTurnOrder _08017FB0: ldr r0, [r2] adds r0, 0xDB @@ -2258,7 +2258,7 @@ _08017FB0: adds r0, r5 ldrb r0, [r0] strb r0, [r4] - ldr r0, _0801803C @ =gUnknown_2023F20 + ldr r0, _0801803C @ =gWishFutureKnock adds r0, 0x20 ldrb r2, [r4] adds r1, r0, r2 @@ -2280,7 +2280,7 @@ _08017FB0: beq _08017FF8 ldr r0, _08018044 @ =gBattlerTarget strb r2, [r0] - ldr r0, _08018048 @ =gUnknown_81D8ED5 + ldr r0, _08018048 @ =BattleScript_WishComesTrue bl BattleScriptExecute mov r0, r9 adds r0, 0x1 @@ -2322,11 +2322,11 @@ _08018024: .align 2, 0 _08018030: .4byte gBattlersCount _08018034: .4byte gActiveBattler -_08018038: .4byte gUnknown_2023BDE -_0801803C: .4byte gUnknown_2023F20 +_08018038: .4byte gBattlerByTurnOrder +_0801803C: .4byte gWishFutureKnock _08018040: .4byte gBattleMons _08018044: .4byte gBattlerTarget -_08018048: .4byte gUnknown_81D8ED5 +_08018048: .4byte BattleScript_WishComesTrue _0801804C: .4byte gBattleStruct _08018050: ldr r3, _08018088 @ =gBattleWeather @@ -2341,7 +2341,7 @@ _0801805E: ands r0, r2 cmp r0, 0 bne _080180AA - ldr r1, _0801808C @ =gUnknown_2023F20 + ldr r1, _0801808C @ =gWishFutureKnock adds r1, 0x28 ldrb r0, [r1] subs r0, 0x1 @@ -2354,16 +2354,16 @@ _0801805E: ldr r1, _08018094 @ =0x0000fffd ands r0, r1 strh r0, [r3] - ldr r1, _08018098 @ =gUnknown_2023E82 + ldr r1, _08018098 @ =gBattleCommunication movs r0, 0x2 strb r0, [r1, 0x5] b _080180C8 .align 2, 0 _08018088: .4byte gBattleWeather -_0801808C: .4byte gUnknown_2023F20 +_0801808C: .4byte gWishFutureKnock _08018090: .4byte 0x0000fffe _08018094: .4byte 0x0000fffd -_08018098: .4byte gUnknown_2023E82 +_08018098: .4byte gBattleCommunication _0801809C: movs r0, 0x2 ands r0, r2 @@ -2380,21 +2380,21 @@ _080180AA: cmp r1, 0 beq _080180C4 _080180B6: - ldr r1, _080180C0 @ =gUnknown_2023E82 + ldr r1, _080180C0 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _080180C8 .align 2, 0 -_080180C0: .4byte gUnknown_2023E82 +_080180C0: .4byte gBattleCommunication _080180C4: - ldr r0, _080180CC @ =gUnknown_2023E82 + ldr r0, _080180CC @ =gBattleCommunication strb r1, [r0, 0x5] _080180C8: - ldr r0, _080180D0 @ =gUnknown_81D8A64 + ldr r0, _080180D0 @ =BattleScript_RainContinuesOrEnds b _080181EE .align 2, 0 -_080180CC: .4byte gUnknown_2023E82 -_080180D0: .4byte gUnknown_81D8A64 +_080180CC: .4byte gBattleCommunication +_080180D0: .4byte BattleScript_RainContinuesOrEnds _080180D4: ldr r3, _08018108 @ =gBattleWeather ldrh r2, [r3] @@ -2408,7 +2408,7 @@ _080180E2: ands r0, r2 cmp r0, 0 bne _0801811C - ldr r1, _0801810C @ =gUnknown_2023F20 + ldr r1, _0801810C @ =gWishFutureKnock adds r1, 0x28 ldrb r0, [r1] subs r0, 0x1 @@ -2419,18 +2419,18 @@ _080180E2: ldr r0, _08018110 @ =0x0000fff7 ands r0, r2 strh r0, [r3] - ldr r1, _08018114 @ =gUnknown_2023D74 - ldr r0, _08018118 @ =gUnknown_81D8B01 + ldr r1, _08018114 @ =gBattlescriptCurrInstr + ldr r0, _08018118 @ =BattleScript_SandStormHailEnds b _08018120 .align 2, 0 _08018108: .4byte gBattleWeather -_0801810C: .4byte gUnknown_2023F20 +_0801810C: .4byte gWishFutureKnock _08018110: .4byte 0x0000fff7 -_08018114: .4byte gUnknown_2023D74 -_08018118: .4byte gUnknown_81D8B01 +_08018114: .4byte gBattlescriptCurrInstr +_08018118: .4byte BattleScript_SandStormHailEnds _0801811C: - ldr r1, _08018134 @ =gUnknown_2023D74 - ldr r0, _08018138 @ =gUnknown_81D8A7F + ldr r1, _08018134 @ =gBattlescriptCurrInstr + ldr r0, _08018138 @ =BattleScript_DamagingWeatherContinues _08018120: str r0, [r1] adds r3, r1, 0 @@ -2438,14 +2438,14 @@ _08018120: movs r2, 0 movs r0, 0xC strb r0, [r1, 0x10] - ldr r0, _08018140 @ =gUnknown_2023E82 + ldr r0, _08018140 @ =gBattleCommunication strb r2, [r0, 0x5] b _080181EC .align 2, 0 -_08018134: .4byte gUnknown_2023D74 -_08018138: .4byte gUnknown_81D8A7F +_08018134: .4byte gBattlescriptCurrInstr +_08018138: .4byte BattleScript_DamagingWeatherContinues _0801813C: .4byte gBattleScripting -_08018140: .4byte gUnknown_2023E82 +_08018140: .4byte gBattleCommunication _08018144: ldr r3, _08018174 @ =gBattleWeather ldrh r2, [r3] @@ -2457,7 +2457,7 @@ _08018144: ands r0, r2 cmp r0, 0 bne _08018188 - ldr r1, _08018178 @ =gUnknown_2023F20 + ldr r1, _08018178 @ =gWishFutureKnock adds r1, 0x28 ldrb r0, [r1] subs r0, 0x1 @@ -2468,25 +2468,25 @@ _08018144: ldr r0, _0801817C @ =0x0000ffdf ands r0, r2 strh r0, [r3] - ldr r1, _08018180 @ =gUnknown_2023D74 - ldr r0, _08018184 @ =gUnknown_81D8B18 + ldr r1, _08018180 @ =gBattlescriptCurrInstr + ldr r0, _08018184 @ =BattleScript_SunlightFaded b _0801818C .align 2, 0 _08018174: .4byte gBattleWeather -_08018178: .4byte gUnknown_2023F20 +_08018178: .4byte gWishFutureKnock _0801817C: .4byte 0x0000ffdf -_08018180: .4byte gUnknown_2023D74 -_08018184: .4byte gUnknown_81D8B18 +_08018180: .4byte gBattlescriptCurrInstr +_08018184: .4byte BattleScript_SunlightFaded _08018188: - ldr r1, _08018194 @ =gUnknown_2023D74 - ldr r0, _08018198 @ =gUnknown_81D8B0A + ldr r1, _08018194 @ =gBattlescriptCurrInstr + ldr r0, _08018198 @ =BattleScript_SunlightContinues _0801818C: str r0, [r1] adds r3, r1, 0 b _080181EC .align 2, 0 -_08018194: .4byte gUnknown_2023D74 -_08018198: .4byte gUnknown_81D8B0A +_08018194: .4byte gBattlescriptCurrInstr +_08018198: .4byte BattleScript_SunlightContinues _0801819C: ldr r3, _080181C4 @ =gBattleWeather ldrh r2, [r3] @@ -2494,7 +2494,7 @@ _0801819C: ands r0, r2 cmp r0, 0 beq _080181FC - ldr r1, _080181C8 @ =gUnknown_2023F20 + ldr r1, _080181C8 @ =gWishFutureKnock adds r1, 0x28 ldrb r0, [r1] subs r0, 0x1 @@ -2505,25 +2505,25 @@ _0801819C: ldr r0, _080181CC @ =0x0000ff7f ands r0, r2 strh r0, [r3] - ldr r1, _080181D0 @ =gUnknown_2023D74 - ldr r0, _080181D4 @ =gUnknown_81D8B01 + ldr r1, _080181D0 @ =gBattlescriptCurrInstr + ldr r0, _080181D4 @ =BattleScript_SandStormHailEnds b _080181DC .align 2, 0 _080181C4: .4byte gBattleWeather -_080181C8: .4byte gUnknown_2023F20 +_080181C8: .4byte gWishFutureKnock _080181CC: .4byte 0x0000ff7f -_080181D0: .4byte gUnknown_2023D74 -_080181D4: .4byte gUnknown_81D8B01 +_080181D0: .4byte gBattlescriptCurrInstr +_080181D4: .4byte BattleScript_SandStormHailEnds _080181D8: - ldr r1, _0801820C @ =gUnknown_2023D74 - ldr r0, _08018210 @ =gUnknown_81D8A7F + ldr r1, _0801820C @ =gBattlescriptCurrInstr + ldr r0, _08018210 @ =BattleScript_DamagingWeatherContinues _080181DC: str r0, [r1] adds r3, r1, 0 ldr r1, _08018214 @ =gBattleScripting movs r0, 0xD strb r0, [r1, 0x10] - ldr r1, _08018218 @ =gUnknown_2023E82 + ldr r1, _08018218 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] _080181EC: @@ -2544,10 +2544,10 @@ _080181FC: mov r12, r2 b _0801822A .align 2, 0 -_0801820C: .4byte gUnknown_2023D74 -_08018210: .4byte gUnknown_81D8A7F +_0801820C: .4byte gBattlescriptCurrInstr +_08018210: .4byte BattleScript_DamagingWeatherContinues _08018214: .4byte gBattleScripting -_08018218: .4byte gUnknown_2023E82 +_08018218: .4byte gBattleCommunication _0801821C: .4byte gBattleStruct _08018220: mov r0, r9 @@ -2563,7 +2563,7 @@ _0801822A: _08018232: ldr r0, _08018250 @ =gBattleMainFunc ldr r1, [r0] - ldr r0, _08018254 @ =sub_8013BD4 + ldr r0, _08018254 @ =BattleTurnPassed eors r1, r0 negs r0, r1 orrs r0, r1 @@ -2577,11 +2577,11 @@ _08018232: bx r1 .align 2, 0 _08018250: .4byte gBattleMainFunc -_08018254: .4byte sub_8013BD4 - thumb_func_end UpdateTurnCounters +_08018254: .4byte BattleTurnPassed + thumb_func_end DoFieldEndTurnEffects - thumb_func_start TurnBasedEffects -TurnBasedEffects: @ 8018258 + thumb_func_start DoBattlerEndTurnEffects +DoBattlerEndTurnEffects: @ 8018258 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2590,7 +2590,7 @@ TurnBasedEffects: @ 8018258 sub sp, 0x8 movs r0, 0 mov r9, r0 - ldr r2, _0801828C @ =gUnknown_2023DD0 + ldr r2, _0801828C @ =gHitMarker ldr r0, [r2] ldr r1, _08018290 @ =0x01000020 orrs r0, r1 @@ -2608,14 +2608,14 @@ TurnBasedEffects: @ 8018258 _08018288: bl _08018C62 .align 2, 0 -_0801828C: .4byte gUnknown_2023DD0 +_0801828C: .4byte gHitMarker _08018290: .4byte 0x01000020 _08018294: .4byte gBattleStruct _08018298: .4byte gBattlersCount _0801829C: ldr r3, _080182D0 @ =gActiveBattler ldr r4, _080182D4 @ =gBattlerAttacker - ldr r1, _080182D8 @ =gUnknown_2023BDE + ldr r1, _080182D8 @ =gBattlerByTurnOrder ldr r5, [r5] ldrb r0, [r5, 0x1] adds r0, r1 @@ -2640,7 +2640,7 @@ _0801829C: .align 2, 0 _080182D0: .4byte gActiveBattler _080182D4: .4byte gBattlerAttacker -_080182D8: .4byte gUnknown_2023BDE +_080182D8: .4byte gBattlerByTurnOrder _080182DC: .4byte gAbsentBattlerFlags _080182E0: .4byte gBitTable _080182E4: @@ -2717,13 +2717,13 @@ _08018390: ldr r0, [r1] negs r0, r0 str r0, [r1] - ldr r0, _080183A8 @ =gUnknown_81D8F0C + ldr r0, _080183A8 @ =BattleScript_IngrainTurnHeal bl _08018C04 .align 2, 0 _0801839C: .4byte gStatuses3 _080183A0: .4byte gBattleMons _080183A4: .4byte gBattleMoveDamage -_080183A8: .4byte gUnknown_81D8F0C +_080183A8: .4byte BattleScript_IngrainTurnHeal _080183AC: ldrb r1, [r6] movs r0, 0 @@ -2742,7 +2742,7 @@ _080183CA: ldrb r1, [r6] movs r0, 0x1 movs r2, 0 - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 cmp r0, 0 bne _080183DE @@ -2753,7 +2753,7 @@ _080183E2: ldrb r1, [r6] movs r0, 0x1 movs r2, 0x1 - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 cmp r0, 0 bne _080183F6 @@ -2810,7 +2810,7 @@ _08018452: strb r5, [r1, 0x10] ldrb r0, [r4] strb r0, [r1, 0x11] - ldr r0, _08018474 @ =gUnknown_81D8B4D + ldr r0, _08018474 @ =BattleScript_LeechSeedTurnDrain b _08018C04 .align 2, 0 _08018460: .4byte gStatuses3 @@ -2818,7 +2818,7 @@ _08018464: .4byte gBattleMons _08018468: .4byte gBattlerTarget _0801846C: .4byte gBattleMoveDamage _08018470: .4byte gBattleScripting -_08018474: .4byte gUnknown_81D8B4D +_08018474: .4byte BattleScript_LeechSeedTurnDrain _08018478: ldr r2, _080184B4 @ =gBattleMons ldrb r1, [r6] @@ -2850,12 +2850,12 @@ _0801849E: movs r0, 0x1 str r0, [r2] _080184AE: - ldr r0, _080184BC @ =gUnknown_81D9053 + ldr r0, _080184BC @ =BattleScript_PoisonTurnDmg b _08018C04 .align 2, 0 _080184B4: .4byte gBattleMons _080184B8: .4byte gBattleMoveDamage -_080184BC: .4byte gUnknown_81D9053 +_080184BC: .4byte BattleScript_PoisonTurnDmg _080184C0: ldr r4, _08018534 @ =gBattleMons ldrb r0, [r6] @@ -2916,12 +2916,12 @@ _08018518: ldr r1, [r5] muls r0, r1 str r0, [r5] - ldr r0, _0801853C @ =gUnknown_81D9053 + ldr r0, _0801853C @ =BattleScript_PoisonTurnDmg b _08018C04 .align 2, 0 _08018534: .4byte gBattleMons _08018538: .4byte gBattleMoveDamage -_0801853C: .4byte gUnknown_81D9053 +_0801853C: .4byte BattleScript_PoisonTurnDmg _08018540: ldr r2, _0801857C @ =gBattleMons ldrb r1, [r6] @@ -2953,12 +2953,12 @@ _08018566: movs r0, 0x1 str r0, [r2] _08018576: - ldr r0, _08018584 @ =gUnknown_81D9075 + ldr r0, _08018584 @ =BattleScript_BurnTurnDmg b _08018C04 .align 2, 0 _0801857C: .4byte gBattleMons _08018580: .4byte gBattleMoveDamage -_08018584: .4byte gUnknown_81D9075 +_08018584: .4byte BattleScript_BurnTurnDmg _08018588: ldr r4, _080185D4 @ =gBattleMons ldrb r1, [r6] @@ -2998,12 +2998,12 @@ _080185AE: movs r0, 0x1 str r0, [r1] _080185CE: - ldr r0, _080185DC @ =gUnknown_81D9155 + ldr r0, _080185DC @ =BattleScript_NightmareTurnDmg b _08018C04 .align 2, 0 _080185D4: .4byte gBattleMons _080185D8: .4byte gBattleMoveDamage -_080185DC: .4byte gUnknown_81D9155 +_080185DC: .4byte BattleScript_NightmareTurnDmg _080185E0: ldr r0, _080185E8 @ =0xf7ffffff ands r2, r0 @@ -3043,12 +3043,12 @@ _08018614: movs r0, 0x1 str r0, [r2] _08018624: - ldr r0, _08018630 @ =gUnknown_81D9166 + ldr r0, _08018630 @ =BattleScript_CurseTurnDmg b _08018C04 .align 2, 0 _08018628: .4byte gBattleMons _0801862C: .4byte gBattleMoveDamage -_08018630: .4byte gUnknown_81D9166 +_08018630: .4byte BattleScript_CurseTurnDmg _08018634: ldr r3, _080186D4 @ =gBattleMons mov r8, r3 @@ -3116,8 +3116,8 @@ _08018664: strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r1, _080186E8 @ =gUnknown_2023D74 - ldr r0, _080186EC @ =gUnknown_81D9124 + ldr r1, _080186E8 @ =gBattlescriptCurrInstr + ldr r0, _080186EC @ =BattleScript_WrapTurnDmg str r0, [r1] ldr r2, _080186F0 @ =gBattleMoveDamage ldrb r0, [r6] @@ -3137,8 +3137,8 @@ _080186D8: .4byte 0xffffe000 _080186DC: .4byte gBattleScripting _080186E0: .4byte gBattleStruct _080186E4: .4byte gBattleTextBuff1 -_080186E8: .4byte gUnknown_2023D74 -_080186EC: .4byte gUnknown_81D9124 +_080186E8: .4byte gBattlescriptCurrInstr +_080186EC: .4byte BattleScript_WrapTurnDmg _080186F0: .4byte gBattleMoveDamage _080186F4: ldr r2, _08018724 @ =gBattleTextBuff1 @@ -3160,8 +3160,8 @@ _080186F4: strb r0, [r2, 0x3] movs r0, 0xFF strb r0, [r2, 0x4] - ldr r1, _0801872C @ =gUnknown_2023D74 - ldr r0, _08018730 @ =gUnknown_81D9136 + ldr r1, _0801872C @ =gBattlescriptCurrInstr + ldr r0, _08018730 @ =BattleScript_WrapEnds str r0, [r1] _08018720: ldr r0, [r1] @@ -3169,8 +3169,8 @@ _08018720: .align 2, 0 _08018724: .4byte gBattleTextBuff1 _08018728: .4byte gBattleStruct -_0801872C: .4byte gUnknown_2023D74 -_08018730: .4byte gUnknown_81D9136 +_0801872C: .4byte gBattlescriptCurrInstr +_08018730: .4byte BattleScript_WrapEnds _08018734: movs r0, 0x8 negs r0, r0 @@ -3186,10 +3186,10 @@ _08018734: ldr r1, _08018784 @ =0xf7ffffff ands r0, r1 str r0, [r2] - ldr r1, _08018788 @ =gUnknown_2023E82 + ldr r1, _08018788 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] - ldr r0, _0801878C @ =gUnknown_81D904A + ldr r0, _0801878C @ =BattleScript_MonWokeUpInUproar bl BattleScriptExecute ldr r4, _08018790 @ =gActiveBattler ldrb r0, [r6] @@ -3206,12 +3206,12 @@ _08018734: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _080187FC .align 2, 0 _08018784: .4byte 0xf7ffffff -_08018788: .4byte gUnknown_2023E82 -_0801878C: .4byte gUnknown_81D904A +_08018788: .4byte gBattleCommunication +_0801878C: .4byte BattleScript_MonWokeUpInUproar _08018790: .4byte gActiveBattler _08018794: ldr r2, _08018810 @ =gBattleMons @@ -3305,14 +3305,14 @@ _0801881C: beq _08018860 ldrb r0, [r5] bl CancelMultiTurnMoves - ldr r1, _0801885C @ =gUnknown_2023E82 + ldr r1, _0801885C @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] b _08018894 .align 2, 0 _08018854: .4byte gActiveBattler _08018858: .4byte gBattleMons -_0801885C: .4byte gUnknown_2023E82 +_0801885C: .4byte gBattleCommunication _08018860: ldrb r3, [r5] adds r0, r3, 0 @@ -3323,7 +3323,7 @@ _08018860: ands r0, r1 cmp r0, 0 beq _08018888 - ldr r0, _08018884 @ =gUnknown_2023E82 + ldr r0, _08018884 @ =gBattleCommunication strb r4, [r0, 0x5] ldr r0, [r2] movs r1, 0x80 @@ -3332,15 +3332,15 @@ _08018860: str r0, [r2] b _08018894 .align 2, 0 -_08018884: .4byte gUnknown_2023E82 +_08018884: .4byte gBattleCommunication _08018888: - ldr r1, _080188A8 @ =gUnknown_2023E82 + ldr r1, _080188A8 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] adds r0, r3, 0 bl CancelMultiTurnMoves _08018894: - ldr r0, _080188AC @ =gUnknown_81D90BC + ldr r0, _080188AC @ =BattleScript_PrintUproarOverTurns bl BattleScriptExecute movs r5, 0x1 mov r9, r5 @@ -3352,8 +3352,8 @@ _0801889E: _080188A6: b _08018C12 .align 2, 0 -_080188A8: .4byte gUnknown_2023E82 -_080188AC: .4byte gUnknown_81D90BC +_080188A8: .4byte gBattleCommunication +_080188AC: .4byte BattleScript_PrintUproarOverTurns _080188B0: ldr r1, _080188E8 @ =gBattleMons ldrb r0, [r6] @@ -3416,12 +3416,12 @@ _0801890E: beq _08018926 b _08018C12 _08018926: - ldr r1, _08018950 @ =gUnknown_2023E82 + ldr r1, _08018950 @ =gBattleCommunication movs r0, 0x47 strb r0, [r1, 0x3] movs r0, 0x1 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect ldrb r0, [r6] muls r0, r7 adds r0, r5 @@ -3431,13 +3431,13 @@ _08018926: bne _08018944 b _08018C08 _08018944: - ldr r0, _08018954 @ =gUnknown_81D90C5 + ldr r0, _08018954 @ =BattleScript_ThrashConfuses bl BattleScriptExecute b _08018C08 .align 2, 0 _0801894C: .4byte 0xffffefff -_08018950: .4byte gUnknown_2023E82 -_08018954: .4byte gUnknown_81D90C5 +_08018950: .4byte gBattleCommunication +_08018954: .4byte BattleScript_ThrashConfuses _08018958: ldr r0, _080189D8 @ =gDisableStructs ldrb r3, [r6] @@ -3536,10 +3536,10 @@ _08018A08: lsls r0, 2 adds r0, r7 strh r2, [r0, 0x4] - ldr r0, _08018A18 @ =gUnknown_81D8C5E + ldr r0, _08018A18 @ =BattleScript_DisabledNoMore b _08018C04 .align 2, 0 -_08018A18: .4byte gUnknown_81D8C5E +_08018A18: .4byte BattleScript_DisabledNoMore _08018A1C: ldr r3, _08018A68 @ =gDisableStructs ldrb r1, [r6] @@ -3628,10 +3628,10 @@ _08018AA6: adds r0, r4, 0 ands r0, r2 strb r0, [r1, 0xE] - ldr r0, _08018ACC @ =gUnknown_81D8C65 + ldr r0, _08018ACC @ =BattleScript_EncoredNoMore b _08018C04 .align 2, 0 -_08018ACC: .4byte gUnknown_81D8C65 +_08018ACC: .4byte BattleScript_EncoredNoMore _08018AD0: ldr r0, _08018AEC @ =gStatuses3 ldrb r1, [r6] @@ -3779,11 +3779,11 @@ _08018B6C: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r6] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec ldr r1, _08018C2C @ =gEffectBattler ldrb r0, [r6] strb r0, [r1] - ldr r0, _08018C30 @ =gUnknown_81D91C7 + ldr r0, _08018C30 @ =BattleScript_YawnMakesAsleep _08018C04: bl BattleScriptExecute _08018C08: @@ -3805,7 +3805,7 @@ _08018C20: .4byte gStatuses3 _08018C24: .4byte 0xfffff800 _08018C28: .4byte gBattleMons _08018C2C: .4byte gEffectBattler -_08018C30: .4byte gUnknown_81D91C7 +_08018C30: .4byte BattleScript_YawnMakesAsleep _08018C34: .4byte gBattleStruct _08018C38: ldr r1, [r7] @@ -3838,7 +3838,7 @@ _08018C62: bhi _08018C6C bl _0801829C _08018C6C: - ldr r0, _08018C90 @ =gUnknown_2023DD0 + ldr r0, _08018C90 @ =gHitMarker ldr r1, [r0] ldr r2, _08018C94 @ =0xfeffffdf ands r1, r2 @@ -3856,18 +3856,18 @@ _08018C78: .align 2, 0 _08018C88: .4byte gBattleStruct _08018C8C: .4byte gBattlersCount -_08018C90: .4byte gUnknown_2023DD0 +_08018C90: .4byte gHitMarker _08018C94: .4byte 0xfeffffdf - thumb_func_end TurnBasedEffects + thumb_func_end DoBattlerEndTurnEffects - thumb_func_start sub_8018C98 -sub_8018C98: @ 8018C98 + thumb_func_start HandleWishPerishSongOnTurnEnd +HandleWishPerishSongOnTurnEnd: @ 8018C98 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r2, _08018CC8 @ =gUnknown_2023DD0 + ldr r2, _08018CC8 @ =gHitMarker ldr r0, [r2] ldr r1, _08018CCC @ =0x01000020 orrs r0, r1 @@ -3887,7 +3887,7 @@ sub_8018C98: @ 8018C98 _08018CC4: b _08018F68 .align 2, 0 -_08018CC8: .4byte gUnknown_2023DD0 +_08018CC8: .4byte gHitMarker _08018CCC: .4byte 0x01000020 _08018CD0: .4byte gBattleStruct _08018CD4: @@ -3903,7 +3903,7 @@ _08018CD4: _08018CE6: ldr r4, _08018D28 @ =gActiveBattler ldr r5, _08018D2C @ =gBattleTextBuff1 - ldr r6, _08018D30 @ =gUnknown_2023F20 + ldr r6, _08018D30 @ =gWishFutureKnock movs r0, 0x8 adds r0, r6 mov r10, r0 @@ -3936,7 +3936,7 @@ _08018D20: .4byte 0x00000181 _08018D24: .4byte gBattlersCount _08018D28: .4byte gActiveBattler _08018D2C: .4byte gBattleTextBuff1 -_08018D30: .4byte gUnknown_2023F20 +_08018D30: .4byte gWishFutureKnock _08018D34: .4byte gBattlerTarget _08018D38: .4byte gAbsentBattlerFlags _08018D3C: .4byte gBitTable @@ -3944,7 +3944,7 @@ _08018D40: ldrb r0, [r3] adds r0, 0x1 strb r0, [r3] - ldr r1, _08018D80 @ =gUnknown_2023F20 + ldr r1, _08018D80 @ =gWishFutureKnock ldrb r0, [r4] adds r1, r0, r1 ldrb r0, [r1] @@ -3969,15 +3969,15 @@ _08018D40: ldrh r0, [r0] cmp r0, 0xF8 bne _08018D8C - ldr r0, _08018D88 @ =gUnknown_2023E82 + ldr r0, _08018D88 @ =gBattleCommunication strb r3, [r0, 0x5] b _08018D92 .align 2, 0 -_08018D80: .4byte gUnknown_2023F20 +_08018D80: .4byte gWishFutureKnock _08018D84: .4byte gBattleMons -_08018D88: .4byte gUnknown_2023E82 +_08018D88: .4byte gBattleCommunication _08018D8C: - ldr r1, _08018DEC @ =gUnknown_2023E82 + ldr r1, _08018DEC @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] _08018D92: @@ -4013,7 +4013,7 @@ _08018D92: add r0, r10 ldr r0, [r0] str r0, [r1] - ldr r2, _08018DF8 @ =gUnknown_2023ECC + ldr r2, _08018DF8 @ =gSpecialStatuses mov r3, r9 ldrb r1, [r3] lsls r0, r1, 2 @@ -4023,15 +4023,15 @@ _08018D92: adds r0, r2 ldr r1, _08018DFC @ =0x0000ffff str r1, [r0] - ldr r0, _08018E00 @ =gUnknown_81D8E12 + ldr r0, _08018E00 @ =BattleScript_MonTookFutureAttack b _08018F44 .align 2, 0 -_08018DEC: .4byte gUnknown_2023E82 +_08018DEC: .4byte gBattleCommunication _08018DF0: .4byte gBattlerAttacker _08018DF4: .4byte gBattleMoveDamage -_08018DF8: .4byte gUnknown_2023ECC +_08018DF8: .4byte gSpecialStatuses _08018DFC: .4byte 0x0000ffff -_08018E00: .4byte gUnknown_81D8E12 +_08018E00: .4byte BattleScript_MonTookFutureAttack _08018E04: ldr r0, [r7] ldr r2, _08018E7C @ =0x00000181 @@ -4074,7 +4074,7 @@ _08018E42: ldr r0, _08018E90 @ =gBattlerAttacker mov r9, r0 _08018E4E: - ldr r1, _08018E94 @ =gUnknown_2023BDE + ldr r1, _08018E94 @ =gBattlerByTurnOrder ldr r0, [r3] adds r3, r0, r2 ldrb r0, [r3] @@ -4104,7 +4104,7 @@ _08018E84: .4byte gActiveBattler _08018E88: .4byte gBattleTextBuff1 _08018E8C: .4byte gDisableStructs _08018E90: .4byte gBattlerAttacker -_08018E94: .4byte gUnknown_2023BDE +_08018E94: .4byte gBattlerByTurnOrder _08018E98: .4byte gAbsentBattlerFlags _08018E9C: .4byte gBitTable _08018EA0: @@ -4162,15 +4162,15 @@ _08018EA0: adds r0, r2 ldrh r0, [r0, 0x28] str r0, [r3] - ldr r1, _08018F20 @ =gUnknown_2023D74 - ldr r0, _08018F24 @ =gUnknown_81D8D33 + ldr r1, _08018F20 @ =gBattlescriptCurrInstr + ldr r0, _08018F24 @ =BattleScript_PerishSongTakesLife b _08018F40 .align 2, 0 _08018F14: .4byte gStatuses3 _08018F18: .4byte gBattleMoveDamage _08018F1C: .4byte gBattleMons -_08018F20: .4byte gUnknown_2023D74 -_08018F24: .4byte gUnknown_81D8D33 +_08018F20: .4byte gBattlescriptCurrInstr +_08018F24: .4byte BattleScript_PerishSongTakesLife _08018F28: lsrs r1, 28 subs r1, 0x1 @@ -4182,8 +4182,8 @@ _08018F28: ands r0, r3 orrs r0, r1 strb r0, [r4, 0xF] - ldr r1, _08018F4C @ =gUnknown_2023D74 - ldr r0, _08018F50 @ =gUnknown_81D8D4E + ldr r1, _08018F4C @ =gBattlescriptCurrInstr + ldr r0, _08018F50 @ =BattleScript_PerishSongCountGoesDown _08018F40: str r0, [r1] ldr r0, [r1] @@ -4192,8 +4192,8 @@ _08018F44: movs r0, 0x1 b _08018F74 .align 2, 0 -_08018F4C: .4byte gUnknown_2023D74 -_08018F50: .4byte gUnknown_81D8D4E +_08018F4C: .4byte gBattlescriptCurrInstr +_08018F50: .4byte BattleScript_PerishSongCountGoesDown _08018F54: adds r3, r7, 0 ldr r0, [r3] @@ -4206,7 +4206,7 @@ _08018F54: bcs _08018F68 b _08018E4E _08018F68: - ldr r2, _08018F88 @ =gUnknown_2023DD0 + ldr r2, _08018F88 @ =gHitMarker ldr r0, [r2] ldr r1, _08018F8C @ =0xfeffffdf ands r0, r1 @@ -4222,9 +4222,9 @@ _08018F74: bx r1 .align 2, 0 _08018F84: .4byte 0x00000181 -_08018F88: .4byte gUnknown_2023DD0 +_08018F88: .4byte gHitMarker _08018F8C: .4byte 0xfeffffdf - thumb_func_end sub_8018C98 + thumb_func_end HandleWishPerishSongOnTurnEnd thumb_func_start HandleFaintedMonActions HandleFaintedMonActions: @ 8018F90 @@ -4242,16 +4242,16 @@ HandleFaintedMonActions: @ 8018F90 .align 2, 0 _08018FA8: .4byte gBattleTypeFlags _08018FAC: - ldr r0, _08018FBC @ =gUnknown_81D8694 + ldr r0, _08018FBC @ =BattleScript_GiveExp bl BattleScriptExecute ldr r0, [r5] adds r0, 0x4D movs r1, 0x2 b _08018FCC .align 2, 0 -_08018FBC: .4byte gUnknown_81D8694 +_08018FBC: .4byte BattleScript_GiveExp _08018FC0: - ldr r0, _08018FD4 @ =gUnknown_81D869D + ldr r0, _08018FD4 @ =BattleScript_HandleFaintedMon bl BattleScriptExecute ldr r0, [r5] adds r0, 0x4D @@ -4262,7 +4262,7 @@ _08018FCE: movs r0, 0x1 b _08019274 .align 2, 0 -_08018FD4: .4byte gUnknown_81D869D +_08018FD4: .4byte BattleScript_HandleFaintedMon _08018FD8: ldr r0, _08018FF4 @ =gBattleStruct mov r8, r0 @@ -4323,7 +4323,7 @@ _0801903C: lsrs r0, 24 movs r1, 0x6 movs r2, 0x6 - bl sub_8019C10 + bl HasNoMonsToSwitch lsls r0, 24 cmp r0, 0 bne _08019064 @@ -4339,7 +4339,7 @@ _08019064: _0801906E: ldr r0, _080190F4 @ =gBattleStruct mov r8, r0 - ldr r1, _080190F8 @ =gUnknown_2023D6D + ldr r1, _080190F8 @ =gBattlerFainted mov r12, r1 ldr r2, _080190FC @ =gBattlerTarget mov r5, r8 @@ -4405,12 +4405,12 @@ _080190E8: .4byte gBattlersCount _080190EC: .4byte gAbsentBattlerFlags _080190F0: .4byte gBitTable _080190F4: .4byte gBattleStruct -_080190F8: .4byte gUnknown_2023D6D +_080190F8: .4byte gBattlerFainted _080190FC: .4byte gBattlerTarget _08019100: .4byte gBattleMons _08019104: .4byte gBattlerPartyIndexes _08019108: - ldr r0, _08019134 @ =gUnknown_2023D6D + ldr r0, _08019134 @ =gBattlerFainted ldrb r0, [r0] bl sub_8017434 ldr r2, _08019138 @ =gBattleStruct @@ -4431,7 +4431,7 @@ _08019108: strb r1, [r0] b _08019262 .align 2, 0 -_08019134: .4byte gUnknown_2023D6D +_08019134: .4byte gBattlerFainted _08019138: .4byte gBattleStruct _0801913C: .4byte gBattlersCount _08019140: @@ -4452,7 +4452,7 @@ _0801914A: adds r0, 0x1 strb r0, [r1] _0801915E: - ldr r0, _080191AC @ =gUnknown_2023D6D + ldr r0, _080191AC @ =gBattlerFainted mov r12, r0 ldr r7, _080191B0 @ =gBattlerTarget ldr r5, _080191B4 @ =gBattleStruct @@ -4493,7 +4493,7 @@ _08019198: bne _0801916A b _080191E0 .align 2, 0 -_080191AC: .4byte gUnknown_2023D6D +_080191AC: .4byte gBattlerFainted _080191B0: .4byte gBattlerTarget _080191B4: .4byte gBattleStruct _080191B8: .4byte gBattleMons @@ -4557,7 +4557,7 @@ _0801922C: movs r0, 0x1 movs r1, 0 movs r2, 0x1 - bl sub_801BC68 + bl ItemBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4616,7 +4616,7 @@ TryClearRageStatuses: @ 8019284 ldr r4, _080192C8 @ =gUnknown_2023DC4 movs r6, 0x80 lsls r6, 16 - ldr r2, _080192CC @ =gUnknown_2023C34 + ldr r2, _080192CC @ =gChosenMoveByBattler _0801929A: ldr r1, [r2] adds r0, r1, 0 @@ -4643,12 +4643,12 @@ _080192BC: .align 2, 0 _080192C4: .4byte gBattlersCount _080192C8: .4byte gUnknown_2023DC4 -_080192CC: .4byte gUnknown_2023C34 +_080192CC: .4byte gChosenMoveByBattler _080192D0: .4byte 0xff7fffff thumb_func_end TryClearRageStatuses - thumb_func_start sub_80192D4 -sub_80192D4: @ 80192D4 + thumb_func_start AtkCanceller_UnableToUseMove +AtkCanceller_UnableToUseMove: @ 80192D4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -4776,11 +4776,11 @@ _080193C4: ands r0, r1 str r0, [r2] bl BattleScriptPushCursor - ldr r1, _08019418 @ =gUnknown_2023E82 + ldr r1, _08019418 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] - ldr r1, _0801941C @ =gUnknown_2023D74 - ldr r0, _08019420 @ =gUnknown_81D9036 + ldr r1, _0801941C @ =gBattlescriptCurrInstr + ldr r0, _08019420 @ =BattleScript_MoveUsedWokeUp str r0, [r1] movs r4, 0x2 mov r9, r4 @@ -4789,9 +4789,9 @@ _080193C4: _0801940C: .4byte gBattleMons _08019410: .4byte gBattlerAttacker _08019414: .4byte 0xf7ffffff -_08019418: .4byte gUnknown_2023E82 -_0801941C: .4byte gUnknown_2023D74 -_08019420: .4byte gUnknown_81D9036 +_08019418: .4byte gBattleCommunication +_0801941C: .4byte gBattlescriptCurrInstr +_08019420: .4byte BattleScript_MoveUsedWokeUp _08019424: ldrb r0, [r4] adds r1, r0, 0 @@ -4843,10 +4843,10 @@ _08019478: bne _0801947E b _08019946 _0801947E: - ldr r1, _080194A4 @ =gUnknown_2023D74 - ldr r0, _080194A8 @ =gUnknown_81D9029 + ldr r1, _080194A4 @ =gBattlescriptCurrInstr + ldr r0, _080194A8 @ =BattleScript_MoveUsedIsAsleep str r0, [r1] - ldr r2, _080194AC @ =gUnknown_2023DD0 + ldr r2, _080194AC @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 @@ -4859,9 +4859,9 @@ _0801947E: _08019498: .4byte gBattleMons _0801949C: .4byte gBattlerAttacker _080194A0: .4byte gCurrentMove -_080194A4: .4byte gUnknown_2023D74 -_080194A8: .4byte gUnknown_81D9029 -_080194AC: .4byte gUnknown_2023DD0 +_080194A4: .4byte gBattlescriptCurrInstr +_080194A8: .4byte BattleScript_MoveUsedIsAsleep +_080194AC: .4byte gHitMarker _080194B0: adds r2, 0x50 adds r2, r1, r2 @@ -4870,19 +4870,19 @@ _080194B0: ands r0, r1 str r0, [r2] bl BattleScriptPushCursor - ldr r0, _080194D4 @ =gUnknown_2023E82 + ldr r0, _080194D4 @ =gBattleCommunication strb r4, [r0, 0x5] - ldr r1, _080194D8 @ =gUnknown_2023D74 - ldr r0, _080194DC @ =gUnknown_81D9036 + ldr r1, _080194D8 @ =gBattlescriptCurrInstr + ldr r0, _080194DC @ =BattleScript_MoveUsedWokeUp str r0, [r1] movs r1, 0x2 mov r9, r1 b _08019946 .align 2, 0 _080194D0: .4byte 0xf7ffffff -_080194D4: .4byte gUnknown_2023E82 -_080194D8: .4byte gUnknown_2023D74 -_080194DC: .4byte gUnknown_81D9036 +_080194D4: .4byte gBattleCommunication +_080194D8: .4byte gBattlescriptCurrInstr +_080194DC: .4byte BattleScript_MoveUsedWokeUp _080194E0: ldr r1, _0801953C @ =gBattleMons ldr r7, _08019540 @ =gBattlerAttacker @@ -4918,10 +4918,10 @@ _080194E0: bne _08019526 b _08019946 _08019526: - ldr r1, _0801954C @ =gUnknown_2023D74 - ldr r0, _08019550 @ =gUnknown_81D9080 + ldr r1, _0801954C @ =gBattlescriptCurrInstr + ldr r0, _08019550 @ =BattleScript_MoveUsedIsFrozen str r0, [r1] - ldr r2, _08019554 @ =gUnknown_2023DD0 + ldr r2, _08019554 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 2 @@ -4933,9 +4933,9 @@ _0801953C: .4byte gBattleMons _08019540: .4byte gBattlerAttacker _08019544: .4byte gBattleMoves _08019548: .4byte gCurrentMove -_0801954C: .4byte gUnknown_2023D74 -_08019550: .4byte gUnknown_81D9080 -_08019554: .4byte gUnknown_2023DD0 +_0801954C: .4byte gBattlescriptCurrInstr +_08019550: .4byte BattleScript_MoveUsedIsFrozen +_08019554: .4byte gHitMarker _08019558: ldrb r0, [r7] adds r2, r0, 0 @@ -4947,10 +4947,10 @@ _08019558: ands r0, r1 str r0, [r2] bl BattleScriptPushCursor - ldr r1, _08019588 @ =gUnknown_2023D74 - ldr r0, _0801958C @ =gUnknown_81D908D + ldr r1, _08019588 @ =gBattlescriptCurrInstr + ldr r0, _0801958C @ =BattleScript_MoveUsedUnfroze str r0, [r1] - ldr r0, _08019590 @ =gUnknown_2023E82 + ldr r0, _08019590 @ =gBattleCommunication strb r4, [r0, 0x5] _08019578: movs r2, 0x2 @@ -4962,9 +4962,9 @@ _08019580: ldr r1, [r7] b _08019B90 .align 2, 0 -_08019588: .4byte gUnknown_2023D74 -_0801958C: .4byte gUnknown_81D908D -_08019590: .4byte gUnknown_2023E82 +_08019588: .4byte gBattlescriptCurrInstr +_0801958C: .4byte BattleScript_MoveUsedUnfroze +_08019590: .4byte gBattleCommunication _08019594: .4byte gBattleStruct _08019598: ldr r1, _080195EC @ =gBattleMons @@ -4992,17 +4992,17 @@ _080195AE: _080195C2: adds r0, r2, 0 bl CancelMultiTurnMoves - ldr r2, _080195F8 @ =gUnknown_2023DD0 + ldr r2, _080195F8 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 orrs r0, r1 str r0, [r2] - ldr r1, _080195FC @ =gUnknown_2023E82 + ldr r1, _080195FC @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] - ldr r1, _08019600 @ =gUnknown_2023D74 - ldr r0, _08019604 @ =gUnknown_81D94F2 + ldr r1, _08019600 @ =gBattlescriptCurrInstr + ldr r0, _08019604 @ =BattleScript_MoveUsedLoafingAround str r0, [r1] ldr r2, _08019608 @ =gMoveResultFlags ldrb r0, [r2] @@ -5014,10 +5014,10 @@ _080195C2: _080195EC: .4byte gBattleMons _080195F0: .4byte gBattlerAttacker _080195F4: .4byte gDisableStructs -_080195F8: .4byte gUnknown_2023DD0 -_080195FC: .4byte gUnknown_2023E82 -_08019600: .4byte gUnknown_2023D74 -_08019604: .4byte gUnknown_81D94F2 +_080195F8: .4byte gHitMarker +_080195FC: .4byte gBattleCommunication +_08019600: .4byte gBattlescriptCurrInstr +_08019604: .4byte BattleScript_MoveUsedLoafingAround _08019608: .4byte gMoveResultFlags _0801960C: ldr r1, _0801965C @ =gBattleMons @@ -5048,10 +5048,10 @@ _08019628: strb r1, [r0, 0x19] ldrb r0, [r3] bl CancelMultiTurnMoves - ldr r1, _0801966C @ =gUnknown_2023D74 - ldr r0, _08019670 @ =gUnknown_81D7342 + ldr r1, _0801966C @ =gBattlescriptCurrInstr + ldr r0, _08019670 @ =BattleScript_MoveUsedMustRecharge str r0, [r1] - ldr r2, _08019674 @ =gUnknown_2023DD0 + ldr r2, _08019674 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 @@ -5065,9 +5065,9 @@ _0801965C: .4byte gBattleMons _08019660: .4byte gBattlerAttacker _08019664: .4byte 0xffbfffff _08019668: .4byte gDisableStructs -_0801966C: .4byte gUnknown_2023D74 -_08019670: .4byte gUnknown_81D7342 -_08019674: .4byte gUnknown_2023DD0 +_0801966C: .4byte gBattlescriptCurrInstr +_08019670: .4byte BattleScript_MoveUsedMustRecharge +_08019674: .4byte gHitMarker _08019678: ldr r1, _080196C8 @ =gBattleMons ldr r3, _080196CC @ =gBattlerAttacker @@ -5087,7 +5087,7 @@ _08019692: negs r0, r0 ands r1, r0 str r1, [r2] - ldr r0, _080196D0 @ =gUnknown_2023E8C + ldr r0, _080196D0 @ =gProtectStructs ldrb r2, [r3] lsls r2, 4 adds r2, r0 @@ -5097,10 +5097,10 @@ _08019692: strb r0, [r2, 0x2] ldrb r0, [r3] bl CancelMultiTurnMoves - ldr r1, _080196D4 @ =gUnknown_2023D74 - ldr r0, _080196D8 @ =gUnknown_81D90B1 + ldr r1, _080196D4 @ =gBattlescriptCurrInstr + ldr r0, _080196D8 @ =BattleScript_MoveUsedFlinched str r0, [r1] - ldr r2, _080196DC @ =gUnknown_2023DD0 + ldr r2, _080196DC @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 @@ -5112,10 +5112,10 @@ _08019692: .align 2, 0 _080196C8: .4byte gBattleMons _080196CC: .4byte gBattlerAttacker -_080196D0: .4byte gUnknown_2023E8C -_080196D4: .4byte gUnknown_2023D74 -_080196D8: .4byte gUnknown_81D90B1 -_080196DC: .4byte gUnknown_2023DD0 +_080196D0: .4byte gProtectStructs +_080196D4: .4byte gBattlescriptCurrInstr +_080196D8: .4byte BattleScript_MoveUsedFlinched +_080196DC: .4byte gHitMarker _080196E0: ldr r0, _08019734 @ =gDisableStructs ldr r3, _08019738 @ =gBattlerAttacker @@ -5135,7 +5135,7 @@ _080196FA: bne _08019700 b _08019946 _08019700: - ldr r0, _08019740 @ =gUnknown_2023E8C + ldr r0, _08019740 @ =gProtectStructs lsls r2, 4 adds r2, r0 ldrb r0, [r2, 0x1] @@ -5147,10 +5147,10 @@ _08019700: strb r0, [r1, 0x17] ldrb r0, [r3] bl CancelMultiTurnMoves - ldr r1, _08019748 @ =gUnknown_2023D74 - ldr r0, _0801974C @ =gUnknown_81D8C4F + ldr r1, _08019748 @ =gBattlescriptCurrInstr + ldr r0, _0801974C @ =BattleScript_MoveUsedIsDisabled str r0, [r1] - ldr r2, _08019750 @ =gUnknown_2023DD0 + ldr r2, _08019750 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 @@ -5163,11 +5163,11 @@ _08019700: _08019734: .4byte gDisableStructs _08019738: .4byte gBattlerAttacker _0801973C: .4byte gCurrentMove -_08019740: .4byte gUnknown_2023E8C +_08019740: .4byte gProtectStructs _08019744: .4byte gBattleScripting -_08019748: .4byte gUnknown_2023D74 -_0801974C: .4byte gUnknown_81D8C4F -_08019750: .4byte gUnknown_2023DD0 +_08019748: .4byte gBattlescriptCurrInstr +_0801974C: .4byte BattleScript_MoveUsedIsDisabled +_08019750: .4byte gHitMarker _08019754: ldr r0, _0801979C @ =gDisableStructs ldr r4, _080197A0 @ =gBattlerAttacker @@ -5194,7 +5194,7 @@ _0801976C: beq _08019782 b _08019946 _08019782: - ldr r0, _080197AC @ =gUnknown_2023E8C + ldr r0, _080197AC @ =gProtectStructs lsls r2, r3, 4 adds r2, r0 ldrb r0, [r2, 0x2] @@ -5203,17 +5203,17 @@ _08019782: strb r0, [r2, 0x2] ldrb r0, [r4] bl CancelMultiTurnMoves - ldr r1, _080197B0 @ =gUnknown_2023D74 - ldr r0, _080197B4 @ =gUnknown_81D8ECA + ldr r1, _080197B0 @ =gBattlescriptCurrInstr + ldr r0, _080197B4 @ =BattleScript_MoveUsedIsTaunted b _08019934 .align 2, 0 _0801979C: .4byte gDisableStructs _080197A0: .4byte gBattlerAttacker _080197A4: .4byte gBattleMoves _080197A8: .4byte gCurrentMove -_080197AC: .4byte gUnknown_2023E8C -_080197B0: .4byte gUnknown_2023D74 -_080197B4: .4byte gUnknown_81D8ECA +_080197AC: .4byte gProtectStructs +_080197B0: .4byte gBattlescriptCurrInstr +_080197B4: .4byte BattleScript_MoveUsedIsTaunted _080197B8: ldr r4, _080197FC @ =gBattlerAttacker ldrb r0, [r4] @@ -5225,7 +5225,7 @@ _080197B8: bne _080197CC b _08019946 _080197CC: - ldr r0, _08019804 @ =gUnknown_2023E8C + ldr r0, _08019804 @ =gProtectStructs ldrb r2, [r4] lsls r2, 4 adds r2, r0 @@ -5235,10 +5235,10 @@ _080197CC: strb r0, [r2, 0x1] ldrb r0, [r4] bl CancelMultiTurnMoves - ldr r1, _08019808 @ =gUnknown_2023D74 - ldr r0, _0801980C @ =gUnknown_81D8F94 + ldr r1, _08019808 @ =gBattlescriptCurrInstr + ldr r0, _0801980C @ =BattleScript_MoveUsedIsImprisoned str r0, [r1] - ldr r2, _08019810 @ =gUnknown_2023DD0 + ldr r2, _08019810 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 @@ -5251,10 +5251,10 @@ _080197F4: .align 2, 0 _080197FC: .4byte gBattlerAttacker _08019800: .4byte gCurrentMove -_08019804: .4byte gUnknown_2023E8C -_08019808: .4byte gUnknown_2023D74 -_0801980C: .4byte gUnknown_81D8F94 -_08019810: .4byte gUnknown_2023DD0 +_08019804: .4byte gProtectStructs +_08019808: .4byte gBattlescriptCurrInstr +_0801980C: .4byte BattleScript_MoveUsedIsImprisoned +_08019810: .4byte gHitMarker _08019814: ldr r7, _0801985C @ =gBattleMons ldr r5, _08019860 @ =gBattlerAttacker @@ -5285,7 +5285,7 @@ _08019814: ands r2, r0 cmp r2, 0 beq _08019868 - ldr r1, _08019864 @ =gUnknown_2023E82 + ldr r1, _08019864 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] bl BattleScriptPushCursor @@ -5293,9 +5293,9 @@ _08019814: .align 2, 0 _0801985C: .4byte gBattleMons _08019860: .4byte gBattlerAttacker -_08019864: .4byte gUnknown_2023E82 +_08019864: .4byte gBattleCommunication _08019868: - ldr r0, _080198B8 @ =gUnknown_2023E82 + ldr r0, _080198B8 @ =gBattleCommunication movs r4, 0x1 strb r1, [r0, 0x5] ldr r1, _080198BC @ =gBattlerTarget @@ -5318,35 +5318,35 @@ _08019868: bl CalculateBaseDamage ldr r1, _080198C0 @ =gBattleMoveDamage str r0, [r1] - ldr r0, _080198C4 @ =gUnknown_2023E8C + ldr r0, _080198C4 @ =gProtectStructs ldrb r1, [r5] lsls r1, 4 adds r1, r0 ldrb r0, [r1, 0x1] orrs r0, r4 strb r0, [r1, 0x1] - ldr r2, _080198C8 @ =gUnknown_2023DD0 + ldr r2, _080198C8 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 orrs r0, r1 str r0, [r2] _080198B2: - ldr r1, _080198CC @ =gUnknown_2023D74 - ldr r0, _080198D0 @ =gUnknown_81D90D3 + ldr r1, _080198CC @ =gBattlescriptCurrInstr + ldr r0, _080198D0 @ =BattleScript_MoveUsedIsConfused b _080198DC .align 2, 0 -_080198B8: .4byte gUnknown_2023E82 +_080198B8: .4byte gBattleCommunication _080198BC: .4byte gBattlerTarget _080198C0: .4byte gBattleMoveDamage -_080198C4: .4byte gUnknown_2023E8C -_080198C8: .4byte gUnknown_2023DD0 -_080198CC: .4byte gUnknown_2023D74 -_080198D0: .4byte gUnknown_81D90D3 +_080198C4: .4byte gProtectStructs +_080198C8: .4byte gHitMarker +_080198CC: .4byte gBattlescriptCurrInstr +_080198D0: .4byte BattleScript_MoveUsedIsConfused _080198D4: bl BattleScriptPushCursor - ldr r1, _080198EC @ =gUnknown_2023D74 - ldr r0, _080198F0 @ =gUnknown_81D9116 + ldr r1, _080198EC @ =gBattlescriptCurrInstr + ldr r0, _080198F0 @ =BattleScript_MoveUsedIsConfusedNoMore _080198DC: str r0, [r1] movs r1, 0x1 @@ -5358,8 +5358,8 @@ _080198E6: ldr r1, [r4] b _08019B90 .align 2, 0 -_080198EC: .4byte gUnknown_2023D74 -_080198F0: .4byte gUnknown_81D9116 +_080198EC: .4byte gBattlescriptCurrInstr +_080198F0: .4byte BattleScript_MoveUsedIsConfusedNoMore _080198F4: .4byte gBattleStruct _080198F8: ldr r1, _08019958 @ =gBattleMons @@ -5381,7 +5381,7 @@ _080198F8: ands r1, r0 cmp r1, 0 bne _08019946 - ldr r0, _08019960 @ =gUnknown_2023E8C + ldr r0, _08019960 @ =gProtectStructs ldrb r2, [r4] lsls r2, 4 adds r2, r0 @@ -5389,11 +5389,11 @@ _080198F8: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - ldr r1, _08019964 @ =gUnknown_2023D74 - ldr r0, _08019968 @ =gUnknown_81D90A1 + ldr r1, _08019964 @ =gBattlescriptCurrInstr + ldr r0, _08019968 @ =BattleScript_MoveUsedIsParalyzed _08019934: str r0, [r1] - ldr r2, _0801996C @ =gUnknown_2023DD0 + ldr r2, _0801996C @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 @@ -5413,10 +5413,10 @@ _08019946: .align 2, 0 _08019958: .4byte gBattleMons _0801995C: .4byte gBattlerAttacker -_08019960: .4byte gUnknown_2023E8C -_08019964: .4byte gUnknown_2023D74 -_08019968: .4byte gUnknown_81D90A1 -_0801996C: .4byte gUnknown_2023DD0 +_08019960: .4byte gProtectStructs +_08019964: .4byte gBattlescriptCurrInstr +_08019968: .4byte BattleScript_MoveUsedIsParalyzed +_0801996C: .4byte gHitMarker _08019970: .4byte gBattleStruct _08019974: ldr r0, _0801999C @ =gBattleTypeFlags @@ -5436,28 +5436,28 @@ _08019988: lsls r0, 24 cmp r0, 0 bne _080199AC - ldr r1, _080199A4 @ =gUnknown_2023D74 + ldr r1, _080199A4 @ =gBattlescriptCurrInstr ldr r0, _080199A8 @ =gUnknown_81D9180 b _080199B0 .align 2, 0 _0801999C: .4byte gBattleTypeFlags _080199A0: .4byte gBattlerAttacker -_080199A4: .4byte gUnknown_2023D74 +_080199A4: .4byte gBattlescriptCurrInstr _080199A8: .4byte gUnknown_81D9180 _080199AC: - ldr r1, _080199BC @ =gUnknown_2023D74 + ldr r1, _080199BC @ =gBattlescriptCurrInstr ldr r0, _080199C0 @ =gUnknown_81D9192 _080199B0: str r0, [r1] - ldr r1, _080199C4 @ =gUnknown_2023E82 + ldr r1, _080199C4 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] movs r0, 0x1 b _08019B86 .align 2, 0 -_080199BC: .4byte gUnknown_2023D74 +_080199BC: .4byte gBattlescriptCurrInstr _080199C0: .4byte gUnknown_81D9192 -_080199C4: .4byte gUnknown_2023E82 +_080199C4: .4byte gBattleCommunication _080199C8: ldr r1, _08019A00 @ =gBattleMons ldr r4, _08019A04 @ =gBattlerAttacker @@ -5488,15 +5488,15 @@ _08019A00: .4byte gBattleMons _08019A04: .4byte gBattlerAttacker _08019A08: .4byte gBattleScripting _08019A0C: - ldr r0, _08019A48 @ =gUnknown_81D914A + ldr r0, _08019A48 @ =BattleScript_MoveUsedIsInLoveCantAttack bl BattleScriptPush - ldr r2, _08019A4C @ =gUnknown_2023DD0 + ldr r2, _08019A4C @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 orrs r0, r1 str r0, [r2] - ldr r0, _08019A50 @ =gUnknown_2023E8C + ldr r0, _08019A50 @ =gProtectStructs ldrb r2, [r4] lsls r2, 4 adds r2, r0 @@ -5507,8 +5507,8 @@ _08019A0C: ldrb r0, [r4] bl CancelMultiTurnMoves _08019A34: - ldr r1, _08019A54 @ =gUnknown_2023D74 - ldr r0, _08019A58 @ =gUnknown_81D913D + ldr r1, _08019A54 @ =gBattlescriptCurrInstr + ldr r0, _08019A58 @ =BattleScript_MoveUsedIsInLove str r0, [r1] movs r4, 0x1 mov r9, r4 @@ -5519,11 +5519,11 @@ _08019A42: ldr r1, [r0] b _08019B90 .align 2, 0 -_08019A48: .4byte gUnknown_81D914A -_08019A4C: .4byte gUnknown_2023DD0 -_08019A50: .4byte gUnknown_2023E8C -_08019A54: .4byte gUnknown_2023D74 -_08019A58: .4byte gUnknown_81D913D +_08019A48: .4byte BattleScript_MoveUsedIsInLoveCantAttack +_08019A4C: .4byte gHitMarker +_08019A50: .4byte gProtectStructs +_08019A54: .4byte gBattlescriptCurrInstr +_08019A58: .4byte BattleScript_MoveUsedIsInLove _08019A5C: .4byte gBattleStruct _08019A60: ldr r1, _08019A98 @ =gBattleMons @@ -5551,17 +5551,17 @@ _08019A60: ands r0, r4 cmp r0, 0 beq _08019AAC - ldr r1, _08019AA4 @ =gUnknown_2023D74 - ldr r0, _08019AA8 @ =gUnknown_81D8BA9 + ldr r1, _08019AA4 @ =gBattlescriptCurrInstr + ldr r0, _08019AA8 @ =BattleScript_BideStoringEnergy b _08019B2C .align 2, 0 _08019A98: .4byte gBattleMons _08019A9C: .4byte gBattlerAttacker _08019AA0: .4byte 0xffffff00 -_08019AA4: .4byte gUnknown_2023D74 -_08019AA8: .4byte gUnknown_81D8BA9 +_08019AA4: .4byte gBattlescriptCurrInstr +_08019AA8: .4byte BattleScript_BideStoringEnergy _08019AAC: - ldr r3, _08019B04 @ =gUnknown_2023D58 + ldr r3, _08019B04 @ =gTakenDmg lsls r0, r2, 2 adds r0, r3 ldr r0, [r0] @@ -5578,7 +5578,7 @@ _08019AAC: mov r1, r10 str r0, [r1] ldr r4, _08019B0C @ =gBattlerTarget - ldr r1, _08019B10 @ =gUnknown_2023DD8 + ldr r1, _08019B10 @ =gTakenDmgByBattler ldrb r0, [r6] adds r0, r1 ldrb r0, [r0] @@ -5598,25 +5598,25 @@ _08019AAC: bl GetMoveTarget strb r0, [r4] _08019AF6: - ldr r1, _08019B1C @ =gUnknown_2023D74 - ldr r0, _08019B20 @ =gUnknown_81D8BB4 + ldr r1, _08019B1C @ =gBattlescriptCurrInstr + ldr r0, _08019B20 @ =BattleScript_BideAttack str r0, [r1] ldr r2, _08019B24 @ =gBattleStruct mov r8, r2 b _08019B2E .align 2, 0 -_08019B04: .4byte gUnknown_2023D58 +_08019B04: .4byte gTakenDmg _08019B08: .4byte gCurrentMove _08019B0C: .4byte gBattlerTarget -_08019B10: .4byte gUnknown_2023DD8 +_08019B10: .4byte gTakenDmgByBattler _08019B14: .4byte gAbsentBattlerFlags _08019B18: .4byte gBitTable -_08019B1C: .4byte gUnknown_2023D74 -_08019B20: .4byte gUnknown_81D8BB4 +_08019B1C: .4byte gBattlescriptCurrInstr +_08019B20: .4byte BattleScript_BideAttack _08019B24: .4byte gBattleStruct _08019B28: - ldr r1, _08019B38 @ =gUnknown_2023D74 - ldr r0, _08019B3C @ =gUnknown_81D8BFC + ldr r1, _08019B38 @ =gBattlescriptCurrInstr + ldr r0, _08019B3C @ =BattleScript_BideNoEnergyToAttack _08019B2C: str r0, [r1] _08019B2E: @@ -5627,8 +5627,8 @@ _08019B32: ldr r1, [r7] b _08019B90 .align 2, 0 -_08019B38: .4byte gUnknown_2023D74 -_08019B3C: .4byte gUnknown_81D8BFC +_08019B38: .4byte gBattlescriptCurrInstr +_08019B3C: .4byte BattleScript_BideNoEnergyToAttack _08019B40: ldr r1, _08019BE8 @ =gBattleMons ldr r0, _08019BEC @ =gBattlerAttacker @@ -5657,10 +5657,10 @@ _08019B40: ands r3, r0 str r3, [r4] bl BattleScriptPushCursor - ldr r1, _08019BF8 @ =gUnknown_2023D74 - ldr r0, _08019BFC @ =gUnknown_81D908D + ldr r1, _08019BF8 @ =gBattlescriptCurrInstr + ldr r0, _08019BFC @ =BattleScript_MoveUsedUnfroze str r0, [r1] - ldr r1, _08019C00 @ =gUnknown_2023E82 + ldr r1, _08019C00 @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x5] _08019B84: @@ -5705,7 +5705,7 @@ _08019BA8: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec _08019BD4: mov r0, r9 add sp, 0x10 @@ -5721,16 +5721,16 @@ _08019BE8: .4byte gBattleMons _08019BEC: .4byte gBattlerAttacker _08019BF0: .4byte gBattleMoves _08019BF4: .4byte gCurrentMove -_08019BF8: .4byte gUnknown_2023D74 -_08019BFC: .4byte gUnknown_81D908D -_08019C00: .4byte gUnknown_2023E82 +_08019BF8: .4byte gBattlescriptCurrInstr +_08019BFC: .4byte BattleScript_MoveUsedUnfroze +_08019C00: .4byte gBattleCommunication _08019C04: .4byte gBattleStruct _08019C08: .4byte gActiveBattler _08019C0C: .4byte gUnknown_2023C30 - thumb_func_end sub_80192D4 + thumb_func_end AtkCanceller_UnableToUseMove - thumb_func_start sub_8019C10 -sub_8019C10: @ 8019C10 + thumb_func_start HasNoMonsToSwitch +HasNoMonsToSwitch: @ 8019C10 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -5934,10 +5934,10 @@ _08019D90: _08019DA0: .4byte gPlayerParty _08019DA4: .4byte gBattlerPartyIndexes _08019DA8: .4byte gBattleStruct - thumb_func_end sub_8019C10 + thumb_func_end HasNoMonsToSwitch - thumb_func_start sub_8019DAC -sub_8019DAC: @ 8019DAC + thumb_func_start CastformDataTypeChange +CastformDataTypeChange: @ 8019DAC push {r4-r6,lr} sub sp, 0x4 lsls r0, 24 @@ -6122,7 +6122,7 @@ _08019F08: .align 2, 0 _08019F10: .4byte gBattleWeather _08019F14: .4byte gBattleMons - thumb_func_end sub_8019DAC + thumb_func_end CastformDataTypeChange thumb_func_start AbilityBattleEffects AbilityBattleEffects: @ 8019F18 @@ -6515,16 +6515,16 @@ _0801A250: bl _0801BBC6 _0801A25A: bl weather_get_current - ldr r1, _0801A274 @ =gUnknown_2023E82 + ldr r1, _0801A274 @ =gBattleCommunication strb r0, [r1, 0x5] - ldr r0, _0801A278 @ =gUnknown_81D8B1F + ldr r0, _0801A278 @ =BattleScript_OverworldWeatherStarts bl BattleScriptPushCursorAndCallback bl _0801BBAA .align 2, 0 _0801A26C: .4byte gBattleWeather _0801A270: .4byte gBattleScripting -_0801A274: .4byte gUnknown_2023E82 -_0801A278: .4byte gUnknown_81D8B1F +_0801A274: .4byte gBattleCommunication +_0801A278: .4byte BattleScript_OverworldWeatherStarts _0801A27C: ldr r2, _0801A2A0 @ =gBattleWeather ldrh r1, [r2] @@ -6536,7 +6536,7 @@ _0801A27C: _0801A28C: movs r0, 0x5 strh r0, [r2] - ldr r0, _0801A2A4 @ =gUnknown_81D927F + ldr r0, _0801A2A4 @ =BattleScript_DrizzleActivates bl BattleScriptPushCursorAndCallback ldr r0, _0801A2A8 @ =gBattleScripting mov r1, r10 @@ -6544,7 +6544,7 @@ _0801A28C: bl _0801BB5A .align 2, 0 _0801A2A0: .4byte gBattleWeather -_0801A2A4: .4byte gUnknown_81D927F +_0801A2A4: .4byte BattleScript_DrizzleActivates _0801A2A8: .4byte gBattleScripting _0801A2AC: ldr r2, _0801A2D0 @ =gBattleWeather @@ -6557,7 +6557,7 @@ _0801A2AC: _0801A2BC: movs r0, 0x18 strh r0, [r2] - ldr r0, _0801A2D4 @ =gUnknown_81D92BF + ldr r0, _0801A2D4 @ =BattleScript_SandstreamActivates bl BattleScriptPushCursorAndCallback ldr r0, _0801A2D8 @ =gBattleScripting mov r2, r10 @@ -6565,7 +6565,7 @@ _0801A2BC: bl _0801BB5A .align 2, 0 _0801A2D0: .4byte gBattleWeather -_0801A2D4: .4byte gUnknown_81D92BF +_0801A2D4: .4byte BattleScript_SandstreamActivates _0801A2D8: .4byte gBattleScripting _0801A2DC: ldr r2, _0801A300 @ =gBattleWeather @@ -6578,7 +6578,7 @@ _0801A2DC: _0801A2EC: movs r0, 0x60 strh r0, [r2] - ldr r0, _0801A304 @ =gUnknown_81D9379 + ldr r0, _0801A304 @ =BattleScript_DroughtActivates bl BattleScriptPushCursorAndCallback ldr r0, _0801A308 @ =gBattleScripting mov r3, r10 @@ -6586,10 +6586,10 @@ _0801A2EC: bl _0801BB5A .align 2, 0 _0801A300: .4byte gBattleWeather -_0801A304: .4byte gUnknown_81D9379 +_0801A304: .4byte BattleScript_DroughtActivates _0801A308: .4byte gBattleScripting _0801A30C: - ldr r0, _0801A338 @ =gUnknown_2023ECC + ldr r0, _0801A338 @ =gSpecialStatuses mov r4, r10 lsls r2, r4, 2 adds r1, r2, r4 @@ -6612,11 +6612,11 @@ _0801A324: movs r1, 0x8 b _0801A396 .align 2, 0 -_0801A338: .4byte gUnknown_2023ECC +_0801A338: .4byte gSpecialStatuses _0801A33C: .4byte gStatuses3 _0801A340: mov r0, r10 - bl sub_8019DAC + bl CastformDataTypeChange lsls r0, 24 lsrs r0, 24 mov r9, r0 @@ -6624,17 +6624,17 @@ _0801A340: bne _0801A354 bl _0801BBC6 _0801A354: - ldr r0, _0801A364 @ =gUnknown_81D92F8 + ldr r0, _0801A364 @ =BattleScript_CastformChange bl BattleScriptPushCursorAndCallback ldr r0, _0801A368 @ =gBattleScripting mov r1, r10 strb r1, [r0, 0x17] bl _0801BA6A .align 2, 0 -_0801A364: .4byte gUnknown_81D92F8 +_0801A364: .4byte BattleScript_CastformChange _0801A368: .4byte gBattleScripting _0801A36C: - ldr r0, _0801A3A0 @ =gUnknown_2023ECC + ldr r0, _0801A3A0 @ =gSpecialStatuses mov r3, r10 lsls r2, r3, 2 adds r1, r2, r3 @@ -6660,7 +6660,7 @@ _0801A396: strb r0, [r3] bl _0801BBAA .align 2, 0 -_0801A3A0: .4byte gUnknown_2023ECC +_0801A3A0: .4byte gSpecialStatuses _0801A3A4: .4byte gStatuses3 _0801A3A8: movs r4, 0 @@ -6670,7 +6670,7 @@ _0801A3A8: bl _0801BBAA _0801A3B4: adds r0, r4, 0 - bl sub_8019DAC + bl CastformDataTypeChange lsls r0, 24 lsrs r0, 24 mov r9, r0 @@ -6765,7 +6765,7 @@ _0801A46A: _0801A476: mov r0, r8 strb r5, [r0] - ldr r0, _0801A4A0 @ =gUnknown_81D92AB + ldr r0, _0801A4A0 @ =BattleScript_RainDishActivates bl BattleScriptPushCursorAndCallback ldr r1, _0801A4A4 @ =gBattleMoveDamage ldrh r0, [r4, 0x2C] @@ -6782,7 +6782,7 @@ _0801A490: bl _0801BB5A .align 2, 0 _0801A49C: .4byte gBattleWeather -_0801A4A0: .4byte gUnknown_81D92AB +_0801A4A0: .4byte BattleScript_RainDishActivates _0801A4A4: .4byte gBattleMoveDamage _0801A4A8: adds r0, r7, 0 @@ -6862,7 +6862,7 @@ _0801A52C: mov r1, r10 strb r1, [r4] strb r1, [r0, 0x17] - ldr r0, _0801A588 @ =gUnknown_81D92D3 + ldr r0, _0801A588 @ =BattleScript_ShedSkinActivates bl BattleScriptPushCursorAndCallback str r5, [sp] movs r0, 0 @@ -6871,7 +6871,7 @@ _0801A52C: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec bl _0801BB5A .align 2, 0 _0801A564: .4byte gBattleTextBuff1 @@ -6883,7 +6883,7 @@ _0801A578: .4byte gUnknown_82500B4 _0801A57C: .4byte 0xf7ffffff _0801A580: .4byte gBattleScripting _0801A584: .4byte gActiveBattler -_0801A588: .4byte gUnknown_81D92D3 +_0801A588: .4byte BattleScript_ShedSkinActivates _0801A58C: ldrb r2, [r4, 0x1B] movs r0, 0x1B @@ -6910,7 +6910,7 @@ _0801A5B0: movs r0, 0x11 strb r0, [r4, 0x10] strb r1, [r4, 0x11] - ldr r0, _0801A5D4 @ =gUnknown_81D9293 + ldr r0, _0801A5D4 @ =BattleScript_SpeedBoostActivates bl BattleScriptPushCursorAndCallback mov r0, r10 strb r0, [r4, 0x17] @@ -6918,7 +6918,7 @@ _0801A5B0: .align 2, 0 _0801A5CC: .4byte gDisableStructs _0801A5D0: .4byte gBattleScripting -_0801A5D4: .4byte gUnknown_81D9293 +_0801A5D4: .4byte BattleScript_SpeedBoostActivates _0801A5D8: ldr r2, _0801A5FC @ =gDisableStructs ldrb r0, [r0] @@ -6947,7 +6947,7 @@ _0801A600: bl _0801BBAA _0801A60C: movs r5, 0 - ldr r0, _0801A67C @ =gUnknown_8250104 + ldr r0, _0801A67C @ =sSoundMovesTable ldrh r2, [r0] ldr r3, _0801A680 @ =0x0000ffff adds r1, r0, 0 @@ -6990,27 +6990,27 @@ _0801A646: ands r0, r1 cmp r0, 0 beq _0801A66C - ldr r0, _0801A68C @ =gUnknown_2023DD0 + ldr r0, _0801A68C @ =gHitMarker ldr r1, [r0] movs r2, 0x80 lsls r2, 4 orrs r1, r2 str r1, [r0] _0801A66C: - ldr r1, _0801A690 @ =gUnknown_2023D74 - ldr r0, _0801A694 @ =gUnknown_81D946E + ldr r1, _0801A690 @ =gBattlescriptCurrInstr + ldr r0, _0801A694 @ =BattleScript_SoundproofProtected str r0, [r1] movs r2, 0x1 mov r9, r2 bl _0801BBB0 .align 2, 0 -_0801A67C: .4byte gUnknown_8250104 +_0801A67C: .4byte sSoundMovesTable _0801A680: .4byte 0x0000ffff _0801A684: .4byte gBattleMons _0801A688: .4byte gBattlerAttacker -_0801A68C: .4byte gUnknown_2023DD0 -_0801A690: .4byte gUnknown_2023D74 -_0801A694: .4byte gUnknown_81D946E +_0801A68C: .4byte gHitMarker +_0801A690: .4byte gBattlescriptCurrInstr +_0801A694: .4byte BattleScript_SoundproofProtected _0801A698: cmp r4, 0 bne _0801A6A0 @@ -7044,7 +7044,7 @@ _0801A6BE: bne _0801A6D0 b _0801A832 _0801A6D0: - ldr r1, _0801A6EC @ =gUnknown_2023E8C + ldr r1, _0801A6EC @ =gProtectStructs ldr r0, _0801A6F0 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -7053,26 +7053,26 @@ _0801A6D0: lsls r0, 28 cmp r0, 0 bge _0801A6FC - ldr r1, _0801A6F4 @ =gUnknown_2023D74 - ldr r0, _0801A6F8 @ =gUnknown_81D93BE + ldr r1, _0801A6F4 @ =gBattlescriptCurrInstr + ldr r0, _0801A6F8 @ =BattleScript_MoveHPDrain b _0801A700 .align 2, 0 _0801A6E8: .4byte gBattleMoves -_0801A6EC: .4byte gUnknown_2023E8C +_0801A6EC: .4byte gProtectStructs _0801A6F0: .4byte gBattlerAttacker -_0801A6F4: .4byte gUnknown_2023D74 -_0801A6F8: .4byte gUnknown_81D93BE +_0801A6F4: .4byte gBattlescriptCurrInstr +_0801A6F8: .4byte BattleScript_MoveHPDrain _0801A6FC: - ldr r1, _0801A708 @ =gUnknown_2023D74 - ldr r0, _0801A70C @ =gUnknown_81D93BD + ldr r1, _0801A708 @ =gBattlescriptCurrInstr + ldr r0, _0801A70C @ =BattleScript_MoveHPDrain_PPLoss _0801A700: str r0, [r1] movs r4, 0x1 mov r9, r4 b _0801A832 .align 2, 0 -_0801A708: .4byte gUnknown_2023D74 -_0801A70C: .4byte gUnknown_81D93BD +_0801A708: .4byte gBattlescriptCurrInstr +_0801A70C: .4byte BattleScript_MoveHPDrain_PPLoss _0801A710: cmp r5, 0xB beq _0801A716 @@ -7088,7 +7088,7 @@ _0801A716: bne _0801A728 b _0801A832 _0801A728: - ldr r1, _0801A744 @ =gUnknown_2023E8C + ldr r1, _0801A744 @ =gProtectStructs ldr r0, _0801A748 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -7097,25 +7097,25 @@ _0801A728: lsls r0, 28 cmp r0, 0 bge _0801A754 - ldr r1, _0801A74C @ =gUnknown_2023D74 - ldr r0, _0801A750 @ =gUnknown_81D93BE + ldr r1, _0801A74C @ =gBattlescriptCurrInstr + ldr r0, _0801A750 @ =BattleScript_MoveHPDrain b _0801A758 .align 2, 0 _0801A740: .4byte gBattleMoves -_0801A744: .4byte gUnknown_2023E8C +_0801A744: .4byte gProtectStructs _0801A748: .4byte gBattlerAttacker -_0801A74C: .4byte gUnknown_2023D74 -_0801A750: .4byte gUnknown_81D93BE +_0801A74C: .4byte gBattlescriptCurrInstr +_0801A750: .4byte BattleScript_MoveHPDrain _0801A754: - ldr r1, _0801A760 @ =gUnknown_2023D74 - ldr r0, _0801A764 @ =gUnknown_81D93BD + ldr r1, _0801A760 @ =gBattlescriptCurrInstr + ldr r0, _0801A764 @ =BattleScript_MoveHPDrain_PPLoss _0801A758: str r0, [r1] movs r0, 0x1 b _0801A830 .align 2, 0 -_0801A760: .4byte gUnknown_2023D74 -_0801A764: .4byte gUnknown_81D93BD +_0801A760: .4byte gBattlescriptCurrInstr +_0801A764: .4byte BattleScript_MoveHPDrain_PPLoss _0801A768: cmp r5, 0xA bne _0801A832 @@ -7143,9 +7143,9 @@ _0801A768: adds r5, r1, 0 cmp r3, 0 bne _0801A7F8 - ldr r0, _0801A7C0 @ =gUnknown_2023E82 + ldr r0, _0801A7C0 @ =gBattleCommunication strb r3, [r0, 0x5] - ldr r1, _0801A7C4 @ =gUnknown_2023E8C + ldr r1, _0801A7C4 @ =gProtectStructs ldr r0, _0801A7C8 @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -7154,20 +7154,20 @@ _0801A768: lsls r0, 28 cmp r0, 0 bge _0801A7D4 - ldr r1, _0801A7CC @ =gUnknown_2023D74 - ldr r0, _0801A7D0 @ =gUnknown_81D93F7 + ldr r1, _0801A7CC @ =gBattlescriptCurrInstr + ldr r0, _0801A7D0 @ =BattleScript_FlashFireBoost b _0801A7D8 .align 2, 0 _0801A7B8: .4byte gBattleMons _0801A7BC: .4byte gBattleResources -_0801A7C0: .4byte gUnknown_2023E82 -_0801A7C4: .4byte gUnknown_2023E8C +_0801A7C0: .4byte gBattleCommunication +_0801A7C4: .4byte gProtectStructs _0801A7C8: .4byte gBattlerAttacker -_0801A7CC: .4byte gUnknown_2023D74 -_0801A7D0: .4byte gUnknown_81D93F7 +_0801A7CC: .4byte gBattlescriptCurrInstr +_0801A7D0: .4byte BattleScript_FlashFireBoost _0801A7D4: - ldr r1, _0801A7F0 @ =gUnknown_2023D74 - ldr r0, _0801A7F4 @ =gUnknown_81D93F6 + ldr r1, _0801A7F0 @ =gBattlescriptCurrInstr + ldr r0, _0801A7F4 @ =BattleScript_FlashFireBoost_PPLoss _0801A7D8: str r0, [r1] ldr r0, [r2] @@ -7181,12 +7181,12 @@ _0801A7D8: mov r9, r4 b _0801A832 .align 2, 0 -_0801A7F0: .4byte gUnknown_2023D74 -_0801A7F4: .4byte gUnknown_81D93F6 +_0801A7F0: .4byte gBattlescriptCurrInstr +_0801A7F4: .4byte BattleScript_FlashFireBoost_PPLoss _0801A7F8: - ldr r0, _0801A814 @ =gUnknown_2023E82 + ldr r0, _0801A814 @ =gBattleCommunication strb r4, [r0, 0x5] - ldr r1, _0801A818 @ =gUnknown_2023E8C + ldr r1, _0801A818 @ =gProtectStructs ldr r0, _0801A81C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -7195,18 +7195,18 @@ _0801A7F8: lsls r0, 28 cmp r0, 0 bge _0801A828 - ldr r1, _0801A820 @ =gUnknown_2023D74 - ldr r0, _0801A824 @ =gUnknown_81D93F7 + ldr r1, _0801A820 @ =gBattlescriptCurrInstr + ldr r0, _0801A824 @ =BattleScript_FlashFireBoost b _0801A82C .align 2, 0 -_0801A814: .4byte gUnknown_2023E82 -_0801A818: .4byte gUnknown_2023E8C +_0801A814: .4byte gBattleCommunication +_0801A818: .4byte gProtectStructs _0801A81C: .4byte gBattlerAttacker -_0801A820: .4byte gUnknown_2023D74 -_0801A824: .4byte gUnknown_81D93F7 +_0801A820: .4byte gBattlescriptCurrInstr +_0801A824: .4byte BattleScript_FlashFireBoost _0801A828: - ldr r1, _0801A86C @ =gUnknown_2023D74 - ldr r0, _0801A870 @ =gUnknown_81D93F6 + ldr r1, _0801A86C @ =gBattlescriptCurrInstr + ldr r0, _0801A870 @ =BattleScript_FlashFireBoost_PPLoss _0801A82C: str r0, [r1] movs r0, 0x2 @@ -7228,7 +7228,7 @@ _0801A83C: ldrh r3, [r1, 0x28] cmp r0, r3 bne _0801A898 - ldr r1, _0801A878 @ =gUnknown_2023E8C + ldr r1, _0801A878 @ =gProtectStructs ldr r0, _0801A87C @ =gBattlerAttacker ldrb r0, [r0] lsls r0, 4 @@ -7237,25 +7237,25 @@ _0801A83C: lsls r0, 28 cmp r0, 0 bge _0801A884 - ldr r1, _0801A86C @ =gUnknown_2023D74 - ldr r0, _0801A880 @ =gUnknown_81D93E1 + ldr r1, _0801A86C @ =gBattlescriptCurrInstr + ldr r0, _0801A880 @ =BattleScript_MonMadeMoveUseless str r0, [r1] bl _0801BBAA .align 2, 0 -_0801A86C: .4byte gUnknown_2023D74 -_0801A870: .4byte gUnknown_81D93F6 +_0801A86C: .4byte gBattlescriptCurrInstr +_0801A870: .4byte BattleScript_FlashFireBoost_PPLoss _0801A874: .4byte gBattleMons -_0801A878: .4byte gUnknown_2023E8C +_0801A878: .4byte gProtectStructs _0801A87C: .4byte gBattlerAttacker -_0801A880: .4byte gUnknown_81D93E1 +_0801A880: .4byte BattleScript_MonMadeMoveUseless _0801A884: - ldr r1, _0801A890 @ =gUnknown_2023D74 - ldr r0, _0801A894 @ =gUnknown_81D93E0 + ldr r1, _0801A890 @ =gBattlescriptCurrInstr + ldr r0, _0801A894 @ =BattleScript_MonMadeMoveUseless_PPLoss str r0, [r1] bl _0801BBAA .align 2, 0 -_0801A890: .4byte gUnknown_2023D74 -_0801A894: .4byte gUnknown_81D93E0 +_0801A890: .4byte gBattlescriptCurrInstr +_0801A894: .4byte BattleScript_MonMadeMoveUseless_PPLoss _0801A898: ldr r2, _0801A8B4 @ =gBattleMoveDamage ldrh r0, [r1, 0x2C] @@ -7360,7 +7360,7 @@ _0801A9AC: bne _0801A9C0 bl _0801BBAA _0801A9C0: - ldr r2, _0801AA44 @ =gUnknown_2023ECC + ldr r2, _0801AA44 @ =gSpecialStatuses ldr r0, _0801AA48 @ =gBattlerTarget ldrb r1, [r0] lsls r0, r1, 2 @@ -7416,19 +7416,19 @@ _0801AA1A: movs r0, 0xFF strb r0, [r1, 0x3] bl BattleScriptPushCursor - ldr r1, _0801AA54 @ =gUnknown_2023D74 - ldr r0, _0801AA58 @ =gUnknown_81D949C + ldr r1, _0801AA54 @ =gBattlescriptCurrInstr + ldr r0, _0801AA58 @ =BattleScript_ColorChangeActivates str r0, [r1] bl _0801BB5A .align 2, 0 _0801AA3C: .4byte gMoveResultFlags _0801AA40: .4byte gBattleMoves -_0801AA44: .4byte gUnknown_2023ECC +_0801AA44: .4byte gSpecialStatuses _0801AA48: .4byte gBattlerTarget _0801AA4C: .4byte gBattleMons _0801AA50: .4byte gBattleTextBuff1 -_0801AA54: .4byte gUnknown_2023D74 -_0801AA58: .4byte gUnknown_81D949C +_0801AA54: .4byte gBattlescriptCurrInstr +_0801AA58: .4byte BattleScript_ColorChangeActivates _0801AA5C: ldr r0, _0801AAF4 @ =gMoveResultFlags ldrb r1, [r0] @@ -7449,7 +7449,7 @@ _0801AA6C: bne _0801AA82 bl _0801BBAA _0801AA82: - ldr r0, _0801AB00 @ =gUnknown_2023E8C + ldr r0, _0801AB00 @ =gProtectStructs lsls r1, r2, 4 adds r1, r0 ldrb r0, [r1, 0x1] @@ -7458,7 +7458,7 @@ _0801AA82: beq _0801AA94 bl _0801BBAA _0801AA94: - ldr r2, _0801AB04 @ =gUnknown_2023ECC + ldr r2, _0801AB04 @ =gSpecialStatuses ldr r0, _0801AB08 @ =gBattlerTarget ldrb r1, [r0] lsls r0, r1, 2 @@ -7500,21 +7500,21 @@ _0801AAD6: str r2, [r1] _0801AAE4: bl BattleScriptPushCursor - ldr r1, _0801AB14 @ =gUnknown_2023D74 - ldr r0, _0801AB18 @ =gUnknown_81D94A3 + ldr r1, _0801AB14 @ =gBattlescriptCurrInstr + ldr r0, _0801AB18 @ =BattleScript_RoughSkinActivates str r0, [r1] bl _0801BB5A .align 2, 0 _0801AAF4: .4byte gMoveResultFlags _0801AAF8: .4byte gBattleMons _0801AAFC: .4byte gBattlerAttacker -_0801AB00: .4byte gUnknown_2023E8C -_0801AB04: .4byte gUnknown_2023ECC +_0801AB00: .4byte gProtectStructs +_0801AB04: .4byte gSpecialStatuses _0801AB08: .4byte gBattlerTarget _0801AB0C: .4byte gBattleMoves _0801AB10: .4byte gBattleMoveDamage -_0801AB14: .4byte gUnknown_2023D74 -_0801AB18: .4byte gUnknown_81D94A3 +_0801AB14: .4byte gBattlescriptCurrInstr +_0801AB18: .4byte BattleScript_RoughSkinActivates _0801AB1C: ldr r0, _0801ABE8 @ =gMoveResultFlags ldrb r1, [r0] @@ -7535,7 +7535,7 @@ _0801AB2C: bne _0801AB42 bl _0801BBAA _0801AB42: - ldr r0, _0801ABF4 @ =gUnknown_2023E8C + ldr r0, _0801ABF4 @ =gProtectStructs lsls r1, r2, 4 adds r1, r0 ldrb r0, [r1, 0x1] @@ -7544,7 +7544,7 @@ _0801AB42: beq _0801AB54 bl _0801BBAA _0801AB54: - ldr r2, _0801ABF8 @ =gUnknown_2023ECC + ldr r2, _0801ABF8 @ =gSpecialStatuses ldr r0, _0801ABFC @ =gBattlerTarget ldrb r1, [r0] lsls r0, r1, 2 @@ -7586,7 +7586,7 @@ _0801AB94: beq _0801ABAC bl _0801BBAA _0801ABAC: - ldr r5, _0801AC04 @ =gUnknown_2023E82 + ldr r5, _0801AC04 @ =gBattleCommunication movs r4, 0x3 _0801ABB0: bl Random @@ -7594,7 +7594,7 @@ _0801ABB0: strb r0, [r5, 0x3] cmp r0, 0 beq _0801ABB0 - ldr r1, _0801AC04 @ =gUnknown_2023E82 + ldr r1, _0801AC04 @ =gBattleCommunication ldrb r0, [r1, 0x3] cmp r0, 0x3 bne _0801ABC8 @@ -7605,10 +7605,10 @@ _0801ABC8: adds r0, 0x40 strb r0, [r1, 0x3] bl BattleScriptPushCursor - ldr r1, _0801AC08 @ =gUnknown_2023D74 - ldr r0, _0801AC0C @ =gUnknown_81D94CB + ldr r1, _0801AC08 @ =gBattlescriptCurrInstr + ldr r0, _0801AC0C @ =BattleScript_ApplySecondaryEffect str r0, [r1] - ldr r2, _0801AC10 @ =gUnknown_2023DD0 + ldr r2, _0801AC10 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 6 @@ -7619,14 +7619,14 @@ _0801ABC8: _0801ABE8: .4byte gMoveResultFlags _0801ABEC: .4byte gBattleMons _0801ABF0: .4byte gBattlerAttacker -_0801ABF4: .4byte gUnknown_2023E8C -_0801ABF8: .4byte gUnknown_2023ECC +_0801ABF4: .4byte gProtectStructs +_0801ABF8: .4byte gSpecialStatuses _0801ABFC: .4byte gBattlerTarget _0801AC00: .4byte gBattleMoves -_0801AC04: .4byte gUnknown_2023E82 -_0801AC08: .4byte gUnknown_2023D74 -_0801AC0C: .4byte gUnknown_81D94CB -_0801AC10: .4byte gUnknown_2023DD0 +_0801AC04: .4byte gBattleCommunication +_0801AC08: .4byte gBattlescriptCurrInstr +_0801AC0C: .4byte BattleScript_ApplySecondaryEffect +_0801AC10: .4byte gHitMarker _0801AC14: ldr r0, _0801ACC4 @ =gMoveResultFlags ldrb r1, [r0] @@ -7647,7 +7647,7 @@ _0801AC24: bne _0801AC3A bl _0801BBAA _0801AC3A: - ldr r0, _0801ACD0 @ =gUnknown_2023E8C + ldr r0, _0801ACD0 @ =gProtectStructs lsls r1, r2, 4 adds r1, r0 ldrb r0, [r1, 0x1] @@ -7656,7 +7656,7 @@ _0801AC3A: beq _0801AC4C bl _0801BBAA _0801AC4C: - ldr r2, _0801ACD4 @ =gUnknown_2023ECC + ldr r2, _0801ACD4 @ =gSpecialStatuses ldr r0, _0801ACD8 @ =gBattlerTarget ldrb r1, [r0] lsls r0, r1, 2 @@ -7698,14 +7698,14 @@ _0801AC8C: beq _0801ACA4 bl _0801BBAA _0801ACA4: - ldr r1, _0801ACE0 @ =gUnknown_2023E82 + ldr r1, _0801ACE0 @ =gBattleCommunication movs r0, 0x42 strb r0, [r1, 0x3] bl BattleScriptPushCursor - ldr r1, _0801ACE4 @ =gUnknown_2023D74 - ldr r0, _0801ACE8 @ =gUnknown_81D94CB + ldr r1, _0801ACE4 @ =gBattlescriptCurrInstr + ldr r0, _0801ACE8 @ =BattleScript_ApplySecondaryEffect str r0, [r1] - ldr r2, _0801ACEC @ =gUnknown_2023DD0 + ldr r2, _0801ACEC @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 6 @@ -7716,14 +7716,14 @@ _0801ACA4: _0801ACC4: .4byte gMoveResultFlags _0801ACC8: .4byte gBattleMons _0801ACCC: .4byte gBattlerAttacker -_0801ACD0: .4byte gUnknown_2023E8C -_0801ACD4: .4byte gUnknown_2023ECC +_0801ACD0: .4byte gProtectStructs +_0801ACD4: .4byte gSpecialStatuses _0801ACD8: .4byte gBattlerTarget _0801ACDC: .4byte gBattleMoves -_0801ACE0: .4byte gUnknown_2023E82 -_0801ACE4: .4byte gUnknown_2023D74 -_0801ACE8: .4byte gUnknown_81D94CB -_0801ACEC: .4byte gUnknown_2023DD0 +_0801ACE0: .4byte gBattleCommunication +_0801ACE4: .4byte gBattlescriptCurrInstr +_0801ACE8: .4byte BattleScript_ApplySecondaryEffect +_0801ACEC: .4byte gHitMarker _0801ACF0: ldr r0, _0801ADA0 @ =gMoveResultFlags ldrb r1, [r0] @@ -7744,7 +7744,7 @@ _0801AD00: bne _0801AD16 bl _0801BBAA _0801AD16: - ldr r0, _0801ADAC @ =gUnknown_2023E8C + ldr r0, _0801ADAC @ =gProtectStructs lsls r1, r2, 4 adds r1, r0 ldrb r0, [r1, 0x1] @@ -7753,7 +7753,7 @@ _0801AD16: beq _0801AD28 bl _0801BBAA _0801AD28: - ldr r2, _0801ADB0 @ =gUnknown_2023ECC + ldr r2, _0801ADB0 @ =gSpecialStatuses ldr r0, _0801ADB4 @ =gBattlerTarget ldrb r1, [r0] lsls r0, r1, 2 @@ -7795,14 +7795,14 @@ _0801AD68: beq _0801AD80 bl _0801BBAA _0801AD80: - ldr r1, _0801ADBC @ =gUnknown_2023E82 + ldr r1, _0801ADBC @ =gBattleCommunication movs r0, 0x45 strb r0, [r1, 0x3] bl BattleScriptPushCursor - ldr r1, _0801ADC0 @ =gUnknown_2023D74 - ldr r0, _0801ADC4 @ =gUnknown_81D94CB + ldr r1, _0801ADC0 @ =gBattlescriptCurrInstr + ldr r0, _0801ADC4 @ =BattleScript_ApplySecondaryEffect str r0, [r1] - ldr r2, _0801ADC8 @ =gUnknown_2023DD0 + ldr r2, _0801ADC8 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 6 @@ -7813,14 +7813,14 @@ _0801AD80: _0801ADA0: .4byte gMoveResultFlags _0801ADA4: .4byte gBattleMons _0801ADA8: .4byte gBattlerAttacker -_0801ADAC: .4byte gUnknown_2023E8C -_0801ADB0: .4byte gUnknown_2023ECC +_0801ADAC: .4byte gProtectStructs +_0801ADB0: .4byte gSpecialStatuses _0801ADB4: .4byte gBattlerTarget _0801ADB8: .4byte gBattleMoves -_0801ADBC: .4byte gUnknown_2023E82 -_0801ADC0: .4byte gUnknown_2023D74 -_0801ADC4: .4byte gUnknown_81D94CB -_0801ADC8: .4byte gUnknown_2023DD0 +_0801ADBC: .4byte gBattleCommunication +_0801ADC0: .4byte gBattlescriptCurrInstr +_0801ADC4: .4byte BattleScript_ApplySecondaryEffect +_0801ADC8: .4byte gHitMarker _0801ADCC: ldr r0, _0801AE7C @ =gMoveResultFlags ldrb r1, [r0] @@ -7841,7 +7841,7 @@ _0801ADDC: bne _0801ADF2 bl _0801BBAA _0801ADF2: - ldr r0, _0801AE88 @ =gUnknown_2023E8C + ldr r0, _0801AE88 @ =gProtectStructs lsls r1, r2, 4 adds r1, r0 ldrb r0, [r1, 0x1] @@ -7862,7 +7862,7 @@ _0801AE04: bne _0801AE1C bl _0801BBAA _0801AE1C: - ldr r2, _0801AE90 @ =gUnknown_2023ECC + ldr r2, _0801AE90 @ =gSpecialStatuses ldr r0, _0801AE94 @ =gBattlerTarget ldrb r1, [r0] lsls r0, r1, 2 @@ -7892,14 +7892,14 @@ _0801AE44: beq _0801AE5C bl _0801BBAA _0801AE5C: - ldr r1, _0801AE98 @ =gUnknown_2023E82 + ldr r1, _0801AE98 @ =gBattleCommunication movs r0, 0x43 strb r0, [r1, 0x3] bl BattleScriptPushCursor - ldr r1, _0801AE9C @ =gUnknown_2023D74 - ldr r0, _0801AEA0 @ =gUnknown_81D94CB + ldr r1, _0801AE9C @ =gBattlescriptCurrInstr + ldr r0, _0801AEA0 @ =BattleScript_ApplySecondaryEffect str r0, [r1] - ldr r2, _0801AEA4 @ =gUnknown_2023DD0 + ldr r2, _0801AEA4 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 6 @@ -7910,14 +7910,14 @@ _0801AE5C: _0801AE7C: .4byte gMoveResultFlags _0801AE80: .4byte gBattleMons _0801AE84: .4byte gBattlerAttacker -_0801AE88: .4byte gUnknown_2023E8C +_0801AE88: .4byte gProtectStructs _0801AE8C: .4byte gBattleMoves -_0801AE90: .4byte gUnknown_2023ECC +_0801AE90: .4byte gSpecialStatuses _0801AE94: .4byte gBattlerTarget -_0801AE98: .4byte gUnknown_2023E82 -_0801AE9C: .4byte gUnknown_2023D74 -_0801AEA0: .4byte gUnknown_81D94CB -_0801AEA4: .4byte gUnknown_2023DD0 +_0801AE98: .4byte gBattleCommunication +_0801AE9C: .4byte gBattlescriptCurrInstr +_0801AEA0: .4byte BattleScript_ApplySecondaryEffect +_0801AEA4: .4byte gHitMarker _0801AEA8: ldr r0, _0801AFE8 @ =gMoveResultFlags ldrb r1, [r0] @@ -7939,7 +7939,7 @@ _0801AEB8: bne _0801AED0 bl _0801BBAA _0801AED0: - ldr r0, _0801AFF4 @ =gUnknown_2023E8C + ldr r0, _0801AFF4 @ =gProtectStructs lsls r1, 4 adds r1, r0 ldrb r0, [r1, 0x1] @@ -7960,7 +7960,7 @@ _0801AEE2: bne _0801AEFA bl _0801BBAA _0801AEFA: - ldr r3, _0801AFFC @ =gUnknown_2023ECC + ldr r3, _0801AFFC @ =gSpecialStatuses ldr r4, _0801B000 @ =gBattlerTarget mov r8, r4 ldrb r1, [r4] @@ -8067,21 +8067,21 @@ _0801AFBE: orrs r0, r1 str r0, [r2] bl BattleScriptPushCursor - ldr r1, _0801B008 @ =gUnknown_2023D74 - ldr r0, _0801B00C @ =gUnknown_81D94BE + ldr r1, _0801B008 @ =gBattlescriptCurrInstr + ldr r0, _0801B00C @ =BattleScript_CuteCharmActivates str r0, [r1] bl _0801BB5A .align 2, 0 _0801AFE8: .4byte gMoveResultFlags _0801AFEC: .4byte gBattleMons _0801AFF0: .4byte gBattlerAttacker -_0801AFF4: .4byte gUnknown_2023E8C +_0801AFF4: .4byte gProtectStructs _0801AFF8: .4byte gBattleMoves -_0801AFFC: .4byte gUnknown_2023ECC +_0801AFFC: .4byte gSpecialStatuses _0801B000: .4byte gBattlerTarget _0801B004: .4byte gBitTable -_0801B008: .4byte gUnknown_2023D74 -_0801B00C: .4byte gUnknown_81D94BE +_0801B008: .4byte gBattlescriptCurrInstr +_0801B00C: .4byte BattleScript_CuteCharmActivates _0801B010: movs r4, 0 mov r10, r4 @@ -8399,8 +8399,8 @@ _0801B302: str r0, [r2] _0801B304: bl BattleScriptPushCursor - ldr r1, _0801B344 @ =gUnknown_2023D74 - ldr r0, _0801B348 @ =gUnknown_81D94D1 + ldr r1, _0801B344 @ =gBattlescriptCurrInstr + ldr r0, _0801B348 @ =BattleScript_AbilityCuredStatus str r0, [r1] ldr r0, _0801B34C @ =gBattleScripting mov r1, r10 @@ -8419,13 +8419,13 @@ _0801B304: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec bl _0801BBC6 .align 2, 0 _0801B33C: .4byte gBattleMons _0801B340: .4byte 0xfff0ffff -_0801B344: .4byte gUnknown_2023D74 -_0801B348: .4byte gUnknown_81D94D1 +_0801B344: .4byte gBattlescriptCurrInstr +_0801B348: .4byte BattleScript_AbilityCuredStatus _0801B34C: .4byte gBattleScripting _0801B350: .4byte gActiveBattler _0801B354: .4byte gUnknown_2023C30 @@ -8465,7 +8465,7 @@ _0801B386: cmp r0, 0x3B bne _0801B3AA mov r0, r10 - bl sub_8019DAC + bl CastformDataTypeChange lsls r0, 24 lsrs r0, 24 mov r9, r0 @@ -8493,7 +8493,7 @@ _0801B3C8: beq _0801B3D4 bl _0801BBAA _0801B3D4: - ldr r4, _0801B434 @ =gUnknown_2023DD0 + ldr r4, _0801B434 @ =gHitMarker ldr r1, [r4] movs r0, 0x80 lsls r0, 7 @@ -8520,7 +8520,7 @@ _0801B3E6: movs r0, 0x2 strb r0, [r1] _0801B408: - ldr r1, _0801B43C @ =gUnknown_2023E82 + ldr r1, _0801B43C @ =gBattleCommunication ldr r0, [r6] adds r0, 0xB4 ldrb r0, [r0] @@ -8531,8 +8531,8 @@ _0801B408: ldrb r0, [r0] strb r0, [r1, 0x17] bl BattleScriptPushCursor - ldr r1, _0801B448 @ =gUnknown_2023D74 - ldr r0, _0801B44C @ =gUnknown_81D94CE + ldr r1, _0801B448 @ =gBattlescriptCurrInstr + ldr r0, _0801B44C @ =BattleScript_SynchronizeActivates str r0, [r1] ldr r0, [r4] movs r1, 0x80 @@ -8541,13 +8541,13 @@ _0801B408: str r0, [r4] b _0801BB5A .align 2, 0 -_0801B434: .4byte gUnknown_2023DD0 +_0801B434: .4byte gHitMarker _0801B438: .4byte 0xffffbfff -_0801B43C: .4byte gUnknown_2023E82 +_0801B43C: .4byte gBattleCommunication _0801B440: .4byte gBattleScripting _0801B444: .4byte gBattlerTarget -_0801B448: .4byte gUnknown_2023D74 -_0801B44C: .4byte gUnknown_81D94CE +_0801B448: .4byte gBattlescriptCurrInstr +_0801B44C: .4byte BattleScript_SynchronizeActivates _0801B450: mov r1, r8 ldrb r0, [r1] @@ -8555,7 +8555,7 @@ _0801B450: beq _0801B45A b _0801BBAA _0801B45A: - ldr r4, _0801B4B8 @ =gUnknown_2023DD0 + ldr r4, _0801B4B8 @ =gHitMarker ldr r1, [r4] movs r0, 0x80 lsls r0, 7 @@ -8583,7 +8583,7 @@ _0801B46A: movs r0, 0x2 strb r0, [r1] _0801B48E: - ldr r1, _0801B4C0 @ =gUnknown_2023E82 + ldr r1, _0801B4C0 @ =gBattleCommunication ldr r0, [r6] adds r0, 0xB4 ldrb r0, [r0] @@ -8593,8 +8593,8 @@ _0801B48E: ldrb r0, [r0] strb r0, [r1, 0x17] bl BattleScriptPushCursor - ldr r1, _0801B4CC @ =gUnknown_2023D74 - ldr r0, _0801B4D0 @ =gUnknown_81D94CE + ldr r1, _0801B4CC @ =gBattlescriptCurrInstr + ldr r0, _0801B4D0 @ =BattleScript_SynchronizeActivates str r0, [r1] ldr r0, [r4] movs r1, 0x80 @@ -8603,13 +8603,13 @@ _0801B48E: str r0, [r4] b _0801BB5A .align 2, 0 -_0801B4B8: .4byte gUnknown_2023DD0 +_0801B4B8: .4byte gHitMarker _0801B4BC: .4byte 0xffffbfff -_0801B4C0: .4byte gUnknown_2023E82 +_0801B4C0: .4byte gBattleCommunication _0801B4C4: .4byte gBattleScripting _0801B4C8: .4byte gBattlerAttacker -_0801B4CC: .4byte gUnknown_2023D74 -_0801B4D0: .4byte gUnknown_81D94CE +_0801B4CC: .4byte gBattlescriptCurrInstr +_0801B4D0: .4byte BattleScript_SynchronizeActivates _0801B4D4: movs r5, 0 ldr r0, _0801B50C @ =gBattlersCount @@ -9336,7 +9336,7 @@ _0801BA54: .4byte gBattlersCount _0801BA58: .4byte gBattleMons _0801BA5C: .4byte gLastUsedAbility _0801BA60: - ldr r0, _0801BA78 @ =gUnknown_81D92F8 + ldr r0, _0801BA78 @ =BattleScript_CastformChange bl BattleScriptPushCursorAndCallback ldr r0, _0801BA7C @ =gBattleScripting strb r4, [r0, 0x17] @@ -9349,11 +9349,11 @@ _0801BA6A: strb r1, [r0] b _0801BBAA .align 2, 0 -_0801BA78: .4byte gUnknown_81D92F8 +_0801BA78: .4byte BattleScript_CastformChange _0801BA7C: .4byte gBattleScripting _0801BA80: .4byte gBattleStruct _0801BA84: - ldr r0, _0801BAA0 @ =gUnknown_81D92F8 + ldr r0, _0801BAA0 @ =BattleScript_CastformChange bl BattleScriptPushCursorAndCallback ldr r0, _0801BAA4 @ =gBattleScripting mov r3, r10 @@ -9366,7 +9366,7 @@ _0801BA84: strb r1, [r0] b _0801BBC6 .align 2, 0 -_0801BAA0: .4byte gUnknown_81D92F8 +_0801BAA0: .4byte BattleScript_CastformChange _0801BAA4: .4byte gBattleScripting _0801BAA8: .4byte gBattleStruct _0801BAAC: @@ -9376,14 +9376,14 @@ _0801BAAC: ldr r1, _0801BAC0 @ =0xfff7ffff ands r0, r1 str r0, [r2] - ldr r0, _0801BAC4 @ =gUnknown_81D9307 + ldr r0, _0801BAC4 @ =BattleScript_IntimidateActivatesEnd3 bl BattleScriptPushCursorAndCallback b _0801BB52 .align 2, 0 _0801BAC0: .4byte 0xfff7ffff -_0801BAC4: .4byte gUnknown_81D9307 +_0801BAC4: .4byte BattleScript_IntimidateActivatesEnd3 _0801BAC8: - ldr r0, _0801BB18 @ =gUnknown_81D92A1 + ldr r0, _0801BB18 @ =BattleScript_TraceActivates bl BattleScriptPushCursorAndCallback ldr r1, _0801BB1C @ =gStatuses3 ldr r0, [sp, 0x18] @@ -9422,7 +9422,7 @@ _0801BAC8: strb r0, [r1, 0x3] b _0801BBAA .align 2, 0 -_0801BB18: .4byte gUnknown_81D92A1 +_0801BB18: .4byte BattleScript_TraceActivates _0801BB1C: .4byte gStatuses3 _0801BB20: .4byte 0xffefffff _0801BB24: .4byte gBattleScripting @@ -9439,8 +9439,8 @@ _0801BB3C: ands r0, r1 str r0, [r2] bl BattleScriptPushCursor - ldr r1, _0801BB6C @ =gUnknown_2023D74 - ldr r0, _0801BB70 @ =gUnknown_81D9310 + ldr r1, _0801BB6C @ =gBattlescriptCurrInstr + ldr r0, _0801BB70 @ =BattleScript_IntimidateActivates str r0, [r1] _0801BB52: ldr r0, _0801BB74 @ =gBattleStruct @@ -9456,8 +9456,8 @@ _0801BB5A: b _0801BBAA .align 2, 0 _0801BB68: .4byte 0xfff7ffff -_0801BB6C: .4byte gUnknown_2023D74 -_0801BB70: .4byte gUnknown_81D9310 +_0801BB6C: .4byte gBattlescriptCurrInstr +_0801BB70: .4byte BattleScript_IntimidateActivates _0801BB74: .4byte gBattleStruct _0801BB78: movs r5, 0 @@ -9520,7 +9520,7 @@ _0801BBE0: .4byte gLastUsedAbility thumb_func_start BattleScriptExecute BattleScriptExecute: @ 801BBE4 - ldr r1, _0801BC10 @ =gUnknown_2023D74 + ldr r1, _0801BC10 @ =gBattlescriptCurrInstr str r0, [r1] ldr r0, _0801BC14 @ =gBattleResources ldr r0, [r0] @@ -9543,7 +9543,7 @@ BattleScriptExecute: @ 801BBE4 strb r0, [r1] bx lr .align 2, 0 -_0801BC10: .4byte gUnknown_2023D74 +_0801BC10: .4byte gBattlescriptCurrInstr _0801BC14: .4byte gBattleResources _0801BC18: .4byte gBattleMainFunc _0801BC1C: .4byte RunBattleScriptCommands_PopCallbacksStack @@ -9555,7 +9555,7 @@ BattleScriptPushCursorAndCallback: @ 801BC24 push {r4,lr} adds r4, r0, 0 bl BattleScriptPushCursor - ldr r0, _0801BC58 @ =gUnknown_2023D74 + ldr r0, _0801BC58 @ =gBattlescriptCurrInstr str r4, [r0] ldr r0, _0801BC5C @ =gBattleResources ldr r0, [r0] @@ -9577,14 +9577,14 @@ BattleScriptPushCursorAndCallback: @ 801BC24 pop {r0} bx r0 .align 2, 0 -_0801BC58: .4byte gUnknown_2023D74 +_0801BC58: .4byte gBattlescriptCurrInstr _0801BC5C: .4byte gBattleResources _0801BC60: .4byte gBattleMainFunc _0801BC64: .4byte sub_8015C74 thumb_func_end BattleScriptPushCursorAndCallback - thumb_func_start sub_801BC68 -sub_801BC68: @ 801BC68 + thumb_func_start ItemBattleEffects +ItemBattleEffects: @ 801BC68 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -9764,7 +9764,7 @@ _0801BDD0: ldr r0, _0801BDFC @ =gBattlerAttacker strb r7, [r0] strb r7, [r1] - ldr r0, _0801BE00 @ =gUnknown_81D95D9 + ldr r0, _0801BE00 @ =BattleScript_WhiteHerbEnd2 bl BattleScriptExecute bl _0801CFA6 .align 2, 0 @@ -9773,7 +9773,7 @@ _0801BDF0: .4byte gBattleScripting _0801BDF4: .4byte gPotentialItemEffectBattler _0801BDF8: .4byte gActiveBattler _0801BDFC: .4byte gBattlerAttacker -_0801BE00: .4byte gUnknown_81D95D9 +_0801BE00: .4byte BattleScript_WhiteHerbEnd2 _0801BE04: ldr r1, _0801BE2C @ =gBattleMons movs r0, 0x58 @@ -9874,12 +9874,12 @@ _0801BF14: ldr r0, [r4] negs r0, r0 str r0, [r4] - ldr r0, _0801BF28 @ =gUnknown_81D95EF + ldr r0, _0801BF28 @ =BattleScript_ItemHealHP_RemoveItem bl BattleScriptExecute b _0801C27E .align 2, 0 _0801BF24: .4byte gBattleMoveDamage -_0801BF28: .4byte gUnknown_81D95EF +_0801BF28: .4byte BattleScript_ItemHealHP_RemoveItem _0801BF2C: cmp r6, 0 beq _0801BF34 @@ -9980,7 +9980,7 @@ _0801BFE0: strb r0, [r1, 0x3] movs r0, 0xFF strb r0, [r1, 0x4] - ldr r0, _0801C024 @ =gUnknown_81D960C + ldr r0, _0801C024 @ =BattleScript_BerryPPHealEnd2 bl BattleScriptExecute mov r1, r10 adds r1, 0x9 @@ -9994,13 +9994,13 @@ _0801BFE0: bl BtlController_EmitSetMonData ldr r0, _0801C028 @ =gActiveBattler ldrb r0, [r0] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec movs r0, 0x3 str r0, [sp, 0xC] bl _0801C95A .align 2, 0 _0801C020: .4byte gBattleTextBuff1 -_0801C024: .4byte gUnknown_81D960C +_0801C024: .4byte BattleScript_BerryPPHealEnd2 _0801C028: .4byte gActiveBattler _0801C02C: ldr r0, _0801C080 @ =gBattleMons @@ -10042,7 +10042,7 @@ _0801C066: ldr r0, _0801C090 @ =gBattlerAttacker strb r7, [r0] strb r7, [r1] - ldr r0, _0801C094 @ =gUnknown_81D95D9 + ldr r0, _0801C094 @ =BattleScript_WhiteHerbEnd2 bl BattleScriptExecute bl _0801C952 .align 2, 0 @@ -10051,7 +10051,7 @@ _0801C084: .4byte gBattleScripting _0801C088: .4byte gPotentialItemEffectBattler _0801C08C: .4byte gActiveBattler _0801C090: .4byte gBattlerAttacker -_0801C094: .4byte gUnknown_81D95D9 +_0801C094: .4byte BattleScript_WhiteHerbEnd2 _0801C098: movs r0, 0x58 muls r0, r7 @@ -10088,7 +10088,7 @@ _0801C0D4: ldr r0, [r3] negs r0, r0 str r0, [r3] - ldr r0, _0801C0F4 @ =gUnknown_81D961C + ldr r0, _0801C0F4 @ =BattleScript_ItemHealHP_End2 bl BattleScriptExecute movs r0, 0x4 str r0, [sp, 0xC] @@ -10098,7 +10098,7 @@ _0801C0D4: bl _0801C952 .align 2, 0 _0801C0F0: .4byte gBattleMoveDamage -_0801C0F4: .4byte gUnknown_81D961C +_0801C0F4: .4byte BattleScript_ItemHealHP_End2 _0801C0F8: movs r0, 0x58 adds r1, r7, 0 @@ -10285,22 +10285,22 @@ _0801C248: lsls r0, 24 cmp r0, 0 bge _0801C278 - ldr r0, _0801C274 @ =gUnknown_81D964F + ldr r0, _0801C274 @ =BattleScript_BerryConfuseHealEnd2 bl BattleScriptExecute b _0801C27E .align 2, 0 _0801C26C: .4byte gBattleTextBuff1 _0801C270: .4byte gBattleMoveDamage -_0801C274: .4byte gUnknown_81D964F +_0801C274: .4byte BattleScript_BerryConfuseHealEnd2 _0801C278: - ldr r0, _0801C284 @ =gUnknown_81D95EF + ldr r0, _0801C284 @ =BattleScript_ItemHealHP_RemoveItem bl BattleScriptExecute _0801C27E: movs r0, 0x4 str r0, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C284: .4byte gUnknown_81D95EF +_0801C284: .4byte BattleScript_ItemHealHP_RemoveItem _0801C288: movs r0, 0x58 adds r1, r7, 0 @@ -10361,22 +10361,22 @@ _0801C2DC: cmp r0, 0 bge _0801C30C _0801C2F8: - ldr r0, _0801C308 @ =gUnknown_81D964F + ldr r0, _0801C308 @ =BattleScript_BerryConfuseHealEnd2 bl BattleScriptExecute b _0801C312 .align 2, 0 _0801C300: .4byte gBattleTextBuff1 _0801C304: .4byte gBattleMoveDamage -_0801C308: .4byte gUnknown_81D964F +_0801C308: .4byte BattleScript_BerryConfuseHealEnd2 _0801C30C: - ldr r0, _0801C318 @ =gUnknown_81D95EF + ldr r0, _0801C318 @ =BattleScript_ItemHealHP_RemoveItem bl BattleScriptExecute _0801C312: movs r3, 0x4 str r3, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C318: .4byte gUnknown_81D95EF +_0801C318: .4byte BattleScript_ItemHealHP_RemoveItem _0801C31C: movs r0, 0x58 adds r5, r7, 0 @@ -10436,22 +10436,22 @@ _0801C36E: cmp r0, 0 bge _0801C3A0 _0801C38A: - ldr r0, _0801C39C @ =gUnknown_81D964F + ldr r0, _0801C39C @ =BattleScript_BerryConfuseHealEnd2 bl BattleScriptExecute b _0801C3A6 .align 2, 0 _0801C394: .4byte gBattleTextBuff1 _0801C398: .4byte gBattleMoveDamage -_0801C39C: .4byte gUnknown_81D964F +_0801C39C: .4byte BattleScript_BerryConfuseHealEnd2 _0801C3A0: - ldr r0, _0801C3AC @ =gUnknown_81D95EF + ldr r0, _0801C3AC @ =BattleScript_ItemHealHP_RemoveItem bl BattleScriptExecute _0801C3A6: movs r2, 0x4 str r2, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C3AC: .4byte gUnknown_81D95EF +_0801C3AC: .4byte BattleScript_ItemHealHP_RemoveItem _0801C3B0: movs r0, 0x58 muls r0, r7 @@ -10631,7 +10631,7 @@ _0801C4E8: _0801C506: strb r0, [r1, 0x10] strb r6, [r1, 0x11] - ldr r0, _0801C524 @ =gUnknown_81D9679 + ldr r0, _0801C524 @ =BattleScript_BerryStatRaiseEnd2 bl BattleScriptExecute movs r2, 0x5 str r2, [sp, 0xC] @@ -10640,7 +10640,7 @@ _0801C506: _0801C518: .4byte gBattleTextBuff1 _0801C51C: .4byte gEffectBattler _0801C520: .4byte gBattleScripting -_0801C524: .4byte gUnknown_81D9679 +_0801C524: .4byte BattleScript_BerryStatRaiseEnd2 _0801C528: movs r0, 0x58 muls r0, r7 @@ -10681,7 +10681,7 @@ _0801C550: _0801C56C: strb r0, [r1, 0x10] strb r6, [r1, 0x11] - ldr r0, _0801C588 @ =gUnknown_81D9679 + ldr r0, _0801C588 @ =BattleScript_BerryStatRaiseEnd2 bl BattleScriptExecute movs r5, 0x5 str r5, [sp, 0xC] @@ -10690,7 +10690,7 @@ _0801C56C: _0801C57C: .4byte gBattleTextBuff1 _0801C580: .4byte gEffectBattler _0801C584: .4byte gBattleScripting -_0801C588: .4byte gUnknown_81D9679 +_0801C588: .4byte BattleScript_BerryStatRaiseEnd2 _0801C58C: movs r0, 0x58 adds r5, r7, 0 @@ -10723,13 +10723,13 @@ _0801C5AC: _0801C5C2: orrs r2, r3 str r2, [r1] - ldr r0, _0801C5D4 @ =gUnknown_81D9694 + ldr r0, _0801C5D4 @ =BattleScript_BerryFocusEnergyEnd2 bl BattleScriptExecute movs r2, 0x2 str r2, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C5D4: .4byte gUnknown_81D9694 +_0801C5D4: .4byte BattleScript_BerryFocusEnergyEnd2 _0801C5D8: cmp r6, 0 beq _0801C5DE @@ -10831,7 +10831,7 @@ _0801C638: adds r0, 0x6 strb r0, [r1, 0x10] strb r2, [r1, 0x11] - ldr r0, _0801C6BC @ =gUnknown_81D9679 + ldr r0, _0801C6BC @ =BattleScript_BerryStatRaiseEnd2 bl BattleScriptExecute movs r0, 0x5 str r0, [sp, 0xC] @@ -10842,7 +10842,7 @@ _0801C6AC: .4byte gBattleTextBuff1 _0801C6B0: .4byte gBattleTextBuff2 _0801C6B4: .4byte gEffectBattler _0801C6B8: .4byte gBattleScripting -_0801C6BC: .4byte gUnknown_81D9679 +_0801C6BC: .4byte BattleScript_BerryStatRaiseEnd2 _0801C6C0: movs r0, 0x58 adds r1, r7, 0 @@ -10861,13 +10861,13 @@ _0801C6D8: negs r0, r0 ands r2, r0 str r2, [r1] - ldr r0, _0801C6EC @ =gUnknown_81D9531 + ldr r0, _0801C6EC @ =BattleScript_BerryCurePrlzEnd2 bl BattleScriptExecute movs r1, 0x1 str r1, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C6EC: .4byte gUnknown_81D9531 +_0801C6EC: .4byte BattleScript_BerryCurePrlzEnd2 _0801C6F0: movs r0, 0x58 adds r1, r7, 0 @@ -10885,14 +10885,14 @@ _0801C708: ldr r0, _0801C71C @ =0xfffff077 ands r2, r0 str r2, [r1] - ldr r0, _0801C720 @ =gUnknown_81D9549 + ldr r0, _0801C720 @ =BattleScript_BerryCurePsnEnd2 bl BattleScriptExecute movs r2, 0x1 str r2, [sp, 0xC] b _0801C95A .align 2, 0 _0801C71C: .4byte 0xfffff077 -_0801C720: .4byte gUnknown_81D9549 +_0801C720: .4byte BattleScript_BerryCurePsnEnd2 _0801C724: movs r0, 0x58 adds r1, r7, 0 @@ -10911,13 +10911,13 @@ _0801C73C: negs r0, r0 ands r2, r0 str r2, [r1] - ldr r0, _0801C750 @ =gUnknown_81D9561 + ldr r0, _0801C750 @ =BattleScript_BerryCureBrnEnd2 bl BattleScriptExecute movs r3, 0x1 str r3, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C750: .4byte gUnknown_81D9561 +_0801C750: .4byte BattleScript_BerryCureBrnEnd2 _0801C754: movs r0, 0x58 adds r1, r7, 0 @@ -10936,13 +10936,13 @@ _0801C76C: negs r0, r0 ands r2, r0 str r2, [r1] - ldr r0, _0801C780 @ =gUnknown_81D9579 + ldr r0, _0801C780 @ =BattleScript_BerryCureFrzEnd2 bl BattleScriptExecute movs r5, 0x1 str r5, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C780: .4byte gUnknown_81D9579 +_0801C780: .4byte BattleScript_BerryCureFrzEnd2 _0801C784: movs r0, 0x58 adds r3, r7, 0 @@ -10968,11 +10968,11 @@ _0801C79C: ldr r2, _0801C7B8 @ =0xf7ffffff ands r0, r2 str r0, [r1] - ldr r0, _0801C7BC @ =gUnknown_81D9591 + ldr r0, _0801C7BC @ =BattleScript_BerryCureSlpEnd2 b _0801C906 .align 2, 0 _0801C7B8: .4byte 0xf7ffffff -_0801C7BC: .4byte gUnknown_81D9591 +_0801C7BC: .4byte BattleScript_BerryCureSlpEnd2 _0801C7C0: movs r0, 0x58 adds r1, r7, 0 @@ -10991,13 +10991,13 @@ _0801C7D8: negs r0, r0 ands r2, r0 str r2, [r1] - ldr r0, _0801C7EC @ =gUnknown_81D95A9 + ldr r0, _0801C7EC @ =BattleScript_BerryCureConfusionEnd2 bl BattleScriptExecute movs r1, 0x2 str r1, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C7EC: .4byte gUnknown_81D95A9 +_0801C7EC: .4byte BattleScript_BerryCureConfusionEnd2 _0801C7F0: movs r0, 0x58 adds r5, r7, 0 @@ -11098,7 +11098,7 @@ _0801C8AE: mov r5, r10 cmp r5, 0x1 bgt _0801C8E0 - ldr r1, _0801C8DC @ =gUnknown_2023E82 + ldr r1, _0801C8DC @ =gBattleCommunication movs r0, 0 b _0801C8E4 .align 2, 0 @@ -11110,9 +11110,9 @@ _0801C8CC: .4byte gUnknown_82500A4 _0801C8D0: .4byte gUnknown_82500AC _0801C8D4: .4byte gUnknown_82500B4 _0801C8D8: .4byte gUnknown_82500BC -_0801C8DC: .4byte gUnknown_2023E82 +_0801C8DC: .4byte gBattleCommunication _0801C8E0: - ldr r1, _0801C910 @ =gUnknown_2023E82 + ldr r1, _0801C910 @ =gBattleCommunication movs r0, 0x1 _0801C8E4: strb r0, [r1, 0x5] @@ -11131,16 +11131,16 @@ _0801C8E4: subs r1, 0x8 ands r0, r1 str r0, [r3] - ldr r0, _0801C918 @ =gUnknown_81D95BF + ldr r0, _0801C918 @ =BattleScript_BerryCureChosenStatusEnd2 _0801C906: bl BattleScriptExecute movs r0, 0x1 str r0, [sp, 0xC] b _0801C95A .align 2, 0 -_0801C910: .4byte gUnknown_2023E82 +_0801C910: .4byte gBattleCommunication _0801C914: .4byte gBattleMons -_0801C918: .4byte gUnknown_81D95BF +_0801C918: .4byte BattleScript_BerryCureChosenStatusEnd2 _0801C91C: movs r0, 0x58 adds r1, r7, 0 @@ -11160,9 +11160,9 @@ _0801C91C: ldr r0, _0801C97C @ =gBattleTextBuff1 ldr r1, _0801C980 @ =gUnknown_82500C4 bl StringCopy - ldr r0, _0801C984 @ =gUnknown_81D95BF + ldr r0, _0801C984 @ =BattleScript_BerryCureChosenStatusEnd2 bl BattleScriptExecute - ldr r1, _0801C988 @ =gUnknown_2023E82 + ldr r1, _0801C988 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] movs r1, 0x2 @@ -11191,8 +11191,8 @@ _0801C95A: _0801C978: .4byte 0xfff0ffff _0801C97C: .4byte gBattleTextBuff1 _0801C980: .4byte gUnknown_82500C4 -_0801C984: .4byte gUnknown_81D95BF -_0801C988: .4byte gUnknown_2023E82 +_0801C984: .4byte BattleScript_BerryCureChosenStatusEnd2 +_0801C988: .4byte gBattleCommunication _0801C98C: .4byte gBattleScripting _0801C990: .4byte gPotentialItemEffectBattler _0801C994: .4byte gActiveBattler @@ -11344,16 +11344,16 @@ _0801CAE6: ands r1, r0 str r1, [r2] bl BattleScriptPushCursor - ldr r1, _0801CB04 @ =gUnknown_2023D74 - ldr r0, _0801CB08 @ =gUnknown_81D9537 + ldr r1, _0801CB04 @ =gBattlescriptCurrInstr + ldr r0, _0801CB08 @ =BattleScript_BerryCureParRet str r0, [r1] movs r0, 0x1 str r0, [sp, 0xC] b _0801CDF6 .align 2, 0 _0801CB00: .4byte gBattleMons -_0801CB04: .4byte gUnknown_2023D74 -_0801CB08: .4byte gUnknown_81D9537 +_0801CB04: .4byte gBattlescriptCurrInstr +_0801CB08: .4byte BattleScript_BerryCureParRet _0801CB0C: ldr r1, _0801CB38 @ =gBattleMons movs r0, 0x58 @@ -11371,8 +11371,8 @@ _0801CB22: ands r1, r0 str r1, [r2] bl BattleScriptPushCursor - ldr r1, _0801CB40 @ =gUnknown_2023D74 - ldr r0, _0801CB44 @ =gUnknown_81D954F + ldr r1, _0801CB40 @ =gBattlescriptCurrInstr + ldr r0, _0801CB44 @ =BattleScript_BerryCurePsnRet str r0, [r1] movs r1, 0x1 str r1, [sp, 0xC] @@ -11380,8 +11380,8 @@ _0801CB22: .align 2, 0 _0801CB38: .4byte gBattleMons _0801CB3C: .4byte 0xfffff077 -_0801CB40: .4byte gUnknown_2023D74 -_0801CB44: .4byte gUnknown_81D954F +_0801CB40: .4byte gBattlescriptCurrInstr +_0801CB44: .4byte BattleScript_BerryCurePsnRet _0801CB48: ldr r1, _0801CB78 @ =gBattleMons movs r0, 0x58 @@ -11400,16 +11400,16 @@ _0801CB5E: ands r1, r0 str r1, [r2] bl BattleScriptPushCursor - ldr r1, _0801CB7C @ =gUnknown_2023D74 - ldr r0, _0801CB80 @ =gUnknown_81D9567 + ldr r1, _0801CB7C @ =gBattlescriptCurrInstr + ldr r0, _0801CB80 @ =BattleScript_BerryCureBrnRet str r0, [r1] movs r2, 0x1 str r2, [sp, 0xC] b _0801CDF6 .align 2, 0 _0801CB78: .4byte gBattleMons -_0801CB7C: .4byte gUnknown_2023D74 -_0801CB80: .4byte gUnknown_81D9567 +_0801CB7C: .4byte gBattlescriptCurrInstr +_0801CB80: .4byte BattleScript_BerryCureBrnRet _0801CB84: ldr r1, _0801CBB4 @ =gBattleMons movs r0, 0x58 @@ -11428,16 +11428,16 @@ _0801CB9A: ands r1, r0 str r1, [r2] bl BattleScriptPushCursor - ldr r1, _0801CBB8 @ =gUnknown_2023D74 - ldr r0, _0801CBBC @ =gUnknown_81D957F + ldr r1, _0801CBB8 @ =gBattlescriptCurrInstr + ldr r0, _0801CBBC @ =BattleScript_BerryCureFrzRet str r0, [r1] movs r3, 0x1 str r3, [sp, 0xC] b _0801CDF6 .align 2, 0 _0801CBB4: .4byte gBattleMons -_0801CBB8: .4byte gUnknown_2023D74 -_0801CBBC: .4byte gUnknown_81D957F +_0801CBB8: .4byte gBattlescriptCurrInstr +_0801CBBC: .4byte BattleScript_BerryCureFrzRet _0801CBC0: ldr r2, _0801CBF8 @ =gBattleMons movs r0, 0x58 @@ -11464,14 +11464,14 @@ _0801CBDA: ands r0, r1 str r0, [r2] bl BattleScriptPushCursor - ldr r1, _0801CC00 @ =gUnknown_2023D74 - ldr r0, _0801CC04 @ =gUnknown_81D9597 + ldr r1, _0801CC00 @ =gBattlescriptCurrInstr + ldr r0, _0801CC04 @ =BattleScript_BerryCureSlpRet b _0801CD58 .align 2, 0 _0801CBF8: .4byte gBattleMons _0801CBFC: .4byte 0xf7ffffff -_0801CC00: .4byte gUnknown_2023D74 -_0801CC04: .4byte gUnknown_81D9597 +_0801CC00: .4byte gBattlescriptCurrInstr +_0801CC04: .4byte BattleScript_BerryCureSlpRet _0801CC08: ldr r1, _0801CC38 @ =gBattleMons movs r0, 0x58 @@ -11490,16 +11490,16 @@ _0801CC1E: ands r1, r0 str r1, [r2] bl BattleScriptPushCursor - ldr r1, _0801CC3C @ =gUnknown_2023D74 - ldr r0, _0801CC40 @ =gUnknown_81D95AF + ldr r1, _0801CC3C @ =gBattlescriptCurrInstr + ldr r0, _0801CC40 @ =BattleScript_BerryCureConfusionRet str r0, [r1] movs r0, 0x2 str r0, [sp, 0xC] b _0801CDF6 .align 2, 0 _0801CC38: .4byte gBattleMons -_0801CC3C: .4byte gUnknown_2023D74 -_0801CC40: .4byte gUnknown_81D95AF +_0801CC3C: .4byte gBattlescriptCurrInstr +_0801CC40: .4byte BattleScript_BerryCureConfusionRet _0801CC44: ldr r1, _0801CC80 @ =gBattleMons movs r0, 0x58 @@ -11521,11 +11521,11 @@ _0801CC5C: ldr r1, _0801CC8C @ =gUnknown_82500C4 bl StringCopy bl BattleScriptPushCursor - ldr r1, _0801CC90 @ =gUnknown_2023E82 + ldr r1, _0801CC90 @ =gBattleCommunication movs r0, 0 strb r0, [r1, 0x5] - ldr r1, _0801CC94 @ =gUnknown_2023D74 - ldr r0, _0801CC98 @ =gUnknown_81D95C5 + ldr r1, _0801CC94 @ =gBattlescriptCurrInstr + ldr r0, _0801CC98 @ =BattleScript_BerryCureChosenStatusRet str r0, [r1] movs r1, 0x2 str r1, [sp, 0xC] @@ -11535,9 +11535,9 @@ _0801CC80: .4byte gBattleMons _0801CC84: .4byte 0xfff0ffff _0801CC88: .4byte gBattleTextBuff1 _0801CC8C: .4byte gUnknown_82500C4 -_0801CC90: .4byte gUnknown_2023E82 -_0801CC94: .4byte gUnknown_2023D74 -_0801CC98: .4byte gUnknown_81D95C5 +_0801CC90: .4byte gBattleCommunication +_0801CC94: .4byte gBattlescriptCurrInstr +_0801CC98: .4byte BattleScript_BerryCureChosenStatusRet _0801CC9C: ldr r4, _0801CD60 @ =gBattleMons movs r0, 0x58 @@ -11629,10 +11629,10 @@ _0801CD3E: ands r0, r1 str r0, [r5] bl BattleScriptPushCursor - ldr r0, _0801CD84 @ =gUnknown_2023E82 + ldr r0, _0801CD84 @ =gBattleCommunication strb r4, [r0, 0x5] - ldr r1, _0801CD88 @ =gUnknown_2023D74 - ldr r0, _0801CD8C @ =gUnknown_81D95C5 + ldr r1, _0801CD88 @ =gBattlescriptCurrInstr + ldr r0, _0801CD8C @ =BattleScript_BerryCureChosenStatusRet _0801CD58: str r0, [r1] movs r5, 0x1 @@ -11648,9 +11648,9 @@ _0801CD74: .4byte gUnknown_82500A4 _0801CD78: .4byte gUnknown_82500AC _0801CD7C: .4byte gUnknown_82500B4 _0801CD80: .4byte gUnknown_82500BC -_0801CD84: .4byte gUnknown_2023E82 -_0801CD88: .4byte gUnknown_2023D74 -_0801CD8C: .4byte gUnknown_81D95C5 +_0801CD84: .4byte gBattleCommunication +_0801CD88: .4byte gBattlescriptCurrInstr +_0801CD8C: .4byte BattleScript_BerryCureChosenStatusRet _0801CD90: ldr r0, _0801CDDC @ =gBattleMons mov r8, r0 @@ -11687,16 +11687,16 @@ _0801CDB4: ldr r0, _0801CDE4 @ =gPotentialItemEffectBattler strb r7, [r0] bl BattleScriptPushCursor - ldr r1, _0801CDE8 @ =gUnknown_2023D74 - ldr r0, _0801CDEC @ =gUnknown_81D95DF + ldr r1, _0801CDE8 @ =gBattlescriptCurrInstr + ldr r0, _0801CDEC @ =BattleScript_WhiteHerbRet str r0, [r1] b _0801CFA6 .align 2, 0 _0801CDDC: .4byte gBattleMons _0801CDE0: .4byte gBattleScripting _0801CDE4: .4byte gPotentialItemEffectBattler -_0801CDE8: .4byte gUnknown_2023D74 -_0801CDEC: .4byte gUnknown_81D95DF +_0801CDE8: .4byte gBattlescriptCurrInstr +_0801CDEC: .4byte BattleScript_WhiteHerbRet _0801CDF0: ldr r0, [sp, 0xC] cmp r0, 0 @@ -11721,7 +11721,7 @@ _0801CE08: movs r3, 0x4 bl BtlController_EmitSetMonData ldrb r0, [r4] - bl MarkBufferBankForExecution + bl MarkBattlerForControllerExec b _0801CFA6 .align 2, 0 _0801CE24: .4byte gBattleScripting @@ -11765,7 +11765,7 @@ _0801CE68: beq _0801CE76 b _0801CFA6 _0801CE76: - ldr r2, _0801CEF8 @ =gUnknown_2023ECC + ldr r2, _0801CEF8 @ =gSpecialStatuses ldr r4, _0801CEFC @ =gBattlerTarget ldrb r1, [r4] lsls r0, r1, 2 @@ -11814,23 +11814,23 @@ _0801CE9C: ldrh r0, [r0, 0x28] cmp r0, 0 beq _0801CFA6 - ldr r1, _0801CF0C @ =gUnknown_2023E82 + ldr r1, _0801CF0C @ =gBattleCommunication movs r0, 0x8 strb r0, [r1, 0x3] bl BattleScriptPushCursor movs r0, 0 movs r1, 0 - bl sub_801FF20 + bl SetMoveEffect bl BattleScriptPop b _0801CFA6 .align 2, 0 _0801CEF4: .4byte gMoveResultFlags -_0801CEF8: .4byte gUnknown_2023ECC +_0801CEF8: .4byte gSpecialStatuses _0801CEFC: .4byte gBattlerTarget _0801CF00: .4byte gBattleMoves _0801CF04: .4byte gCurrentMove _0801CF08: .4byte gBattleMons -_0801CF0C: .4byte gUnknown_2023E82 +_0801CF0C: .4byte gBattleCommunication _0801CF10: ldr r0, _0801CFB8 @ =gMoveResultFlags ldrb r0, [r0] @@ -11838,7 +11838,7 @@ _0801CF10: ands r5, r0 cmp r5, 0 bne _0801CFA6 - ldr r1, _0801CFBC @ =gUnknown_2023ECC + ldr r1, _0801CFBC @ =gSpecialStatuses ldr r4, _0801CFC0 @ =gBattlerTarget ldrb r2, [r4] lsls r0, r2, 2 @@ -11898,8 +11898,8 @@ _0801CF88: adds r0, r6 str r5, [r0] bl BattleScriptPushCursor - ldr r1, _0801CFDC @ =gUnknown_2023D74 - ldr r0, _0801CFE0 @ =gUnknown_81D9622 + ldr r1, _0801CFDC @ =gBattlescriptCurrInstr + ldr r0, _0801CFE0 @ =BattleScript_ItemHealHP_Ret str r0, [r1] ldr r0, [sp, 0xC] adds r0, 0x1 @@ -11918,7 +11918,7 @@ _0801CFA6: bx r1 .align 2, 0 _0801CFB8: .4byte gMoveResultFlags -_0801CFBC: .4byte gUnknown_2023ECC +_0801CFBC: .4byte gSpecialStatuses _0801CFC0: .4byte gBattlerTarget _0801CFC4: .4byte 0x0000ffff _0801CFC8: .4byte gBattlerAttacker @@ -11926,9 +11926,9 @@ _0801CFCC: .4byte gBattleMons _0801CFD0: .4byte gLastUsedItem _0801CFD4: .4byte gPotentialItemEffectBattler _0801CFD8: .4byte gBattleScripting -_0801CFDC: .4byte gUnknown_2023D74 -_0801CFE0: .4byte gUnknown_81D9622 - thumb_func_end sub_801BC68 +_0801CFDC: .4byte gBattlescriptCurrInstr +_0801CFE0: .4byte BattleScript_ItemHealHP_Ret + thumb_func_end ItemBattleEffects thumb_func_start ClearFuryCutterDestinyBondGrudge ClearFuryCutterDestinyBondGrudge: @ 801CFE4 @@ -11967,15 +11967,15 @@ _0801D028: .4byte gStatuses3 _0801D02C: .4byte 0xffffbfff thumb_func_end ClearFuryCutterDestinyBondGrudge - thumb_func_start sub_801D030 -sub_801D030: @ 801D030 + thumb_func_start HandleAction_RunBattleScript +HandleAction_RunBattleScript: @ 801D030 push {lr} ldr r0, _0801D050 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _0801D04C ldr r1, _0801D054 @ =gUnknown_825011C - ldr r0, _0801D058 @ =gUnknown_2023D74 + ldr r0, _0801D058 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0] lsls r0, 2 @@ -11988,8 +11988,8 @@ _0801D04C: .align 2, 0 _0801D050: .4byte gBattleControllerExecFlags _0801D054: .4byte gUnknown_825011C -_0801D058: .4byte gUnknown_2023D74 - thumb_func_end sub_801D030 +_0801D058: .4byte gBattlescriptCurrInstr + thumb_func_end HandleAction_RunBattleScript thumb_func_start GetMoveTarget GetMoveTarget: @ 801D05C @@ -12197,7 +12197,7 @@ _0801D25E: ldrb r1, [r0] adds r0, r5, 0 bl sub_80C71D0 - ldr r1, _0801D2A0 @ =gUnknown_2023ECC + ldr r1, _0801D2A0 @ =gSpecialStatuses lsls r0, r5, 2 adds r0, r5 lsls r0, 2 @@ -12214,7 +12214,7 @@ _0801D290: .4byte gBattlersCount _0801D294: .4byte gAbsentBattlerFlags _0801D298: .4byte gBitTable _0801D29C: .4byte gBattleMoves -_0801D2A0: .4byte gUnknown_2023ECC +_0801D2A0: .4byte gSpecialStatuses _0801D2A4: ldr r0, _0801D2B8 @ =gBattlerAttacker ldrb r0, [r0] @@ -12414,8 +12414,8 @@ _0801D430: .4byte gBattlerPartyIndexes _0801D434: .4byte gPlayerParty thumb_func_end HasObedientBitSet - thumb_func_start sub_801D438 -sub_801D438: @ 801D438 + thumb_func_start IsMonDisobedient +IsMonDisobedient: @ 801D438 push {r4-r7,lr} mov r7, r8 push {r7} @@ -12547,14 +12547,14 @@ _0801D52E: cmp r0, 0xD6 bne _0801D564 _0801D54E: - ldr r1, _0801D55C @ =gUnknown_2023D74 - ldr r0, _0801D560 @ =gUnknown_81D94DA + ldr r1, _0801D55C @ =gBattlescriptCurrInstr + ldr r0, _0801D560 @ =BattleScript_IgnoresWhileAsleep b _0801D6E2 .align 2, 0 _0801D554: .4byte gCurrentMove _0801D558: .4byte 0xff7fffff -_0801D55C: .4byte gUnknown_2023D74 -_0801D560: .4byte gUnknown_81D94DA +_0801D55C: .4byte gBattlescriptCurrInstr +_0801D560: .4byte BattleScript_IgnoresWhileAsleep _0801D564: bl Random movs r1, 0xFF @@ -12623,15 +12623,15 @@ _0801D5B6: adds r0, r3 ldrh r0, [r0] strh r0, [r4] - ldr r1, _0801D624 @ =gUnknown_2023D74 - ldr r0, _0801D628 @ =gUnknown_81D94EA + ldr r1, _0801D624 @ =gBattlescriptCurrInstr + ldr r0, _0801D628 @ =BattleScript_IgnoresAndUsesRandomMove str r0, [r1] ldrh r0, [r4] movs r1, 0 bl GetMoveTarget ldr r1, _0801D62C @ =gBattlerTarget strb r0, [r1] - ldr r2, _0801D630 @ =gUnknown_2023DD0 + ldr r2, _0801D630 @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 14 @@ -12644,10 +12644,10 @@ _0801D614: .4byte gBitTable _0801D618: .4byte gUnknown_2023D48 _0801D61C: .4byte gUnknown_2023D49 _0801D620: .4byte gUnknown_2023D4E -_0801D624: .4byte gUnknown_2023D74 -_0801D628: .4byte gUnknown_81D94EA +_0801D624: .4byte gBattlescriptCurrInstr +_0801D628: .4byte BattleScript_IgnoresAndUsesRandomMove _0801D62C: .4byte gBattlerTarget -_0801D630: .4byte gUnknown_2023DD0 +_0801D630: .4byte gHitMarker _0801D634: ldr r5, _0801D6B8 @ =gBattleMons ldr r2, _0801D6BC @ =gBattlerAttacker @@ -12712,35 +12712,35 @@ _0801D6AA: ldrb r7, [r7] cmp r2, r7 bne _0801D6CC - ldr r1, _0801D6C4 @ =gUnknown_2023D74 - ldr r0, _0801D6C8 @ =gUnknown_81D9504 + ldr r1, _0801D6C4 @ =gBattlescriptCurrInstr + ldr r0, _0801D6C8 @ =BattleScript_IgnoresAndFallsAsleep b _0801D6E2 .align 2, 0 _0801D6B8: .4byte gBattleMons _0801D6BC: .4byte gBattlerAttacker _0801D6C0: .4byte gBattlersCount -_0801D6C4: .4byte gUnknown_2023D74 -_0801D6C8: .4byte gUnknown_81D9504 +_0801D6C4: .4byte gBattlescriptCurrInstr +_0801D6C8: .4byte BattleScript_IgnoresAndFallsAsleep _0801D6CC: subs r4, r6 cmp r4, r6 blt _0801D6F4 _0801D6D2: bl Random - ldr r2, _0801D6E8 @ =gUnknown_2023E82 + ldr r2, _0801D6E8 @ =gBattleCommunication movs r1, 0x3 ands r1, r0 strb r1, [r2, 0x5] - ldr r1, _0801D6EC @ =gUnknown_2023D74 - ldr r0, _0801D6F0 @ =gUnknown_81D94F2 + ldr r1, _0801D6EC @ =gBattlescriptCurrInstr + ldr r0, _0801D6F0 @ =BattleScript_MoveUsedLoafingAround _0801D6E2: str r0, [r1] movs r0, 0x1 b _0801D738 .align 2, 0 -_0801D6E8: .4byte gUnknown_2023E82 -_0801D6EC: .4byte gUnknown_2023D74 -_0801D6F0: .4byte gUnknown_81D94F2 +_0801D6E8: .4byte gBattleCommunication +_0801D6EC: .4byte gBattlescriptCurrInstr +_0801D6F0: .4byte BattleScript_MoveUsedLoafingAround _0801D6F4: ldr r4, _0801D744 @ =gBattlerAttacker ldrb r1, [r4] @@ -12765,10 +12765,10 @@ _0801D6F4: ldr r1, _0801D750 @ =gBattlerTarget ldrb r0, [r4] strb r0, [r1] - ldr r1, _0801D754 @ =gUnknown_2023D74 - ldr r0, _0801D758 @ =gUnknown_81D951B + ldr r1, _0801D754 @ =gBattlescriptCurrInstr + ldr r0, _0801D758 @ =BattleScript_IgnoresAndHitsItself str r0, [r1] - ldr r2, _0801D75C @ =gUnknown_2023DD0 + ldr r2, _0801D75C @ =gHitMarker ldr r0, [r2] movs r1, 0x80 lsls r1, 12 @@ -12788,9 +12788,9 @@ _0801D744: .4byte gBattlerAttacker _0801D748: .4byte gBattleMons _0801D74C: .4byte gBattleMoveDamage _0801D750: .4byte gBattlerTarget -_0801D754: .4byte gUnknown_2023D74 -_0801D758: .4byte gUnknown_81D951B -_0801D75C: .4byte gUnknown_2023DD0 - thumb_func_end sub_801D438 +_0801D754: .4byte gBattlescriptCurrInstr +_0801D758: .4byte BattleScript_IgnoresAndHitsItself +_0801D75C: .4byte gHitMarker + thumb_func_end IsMonDisobedient .align 2, 0 @ Don't pad with nop. diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 8830ae009..0062040ec 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -1337,7 +1337,7 @@ sub_80CE8DC: @ 80CE8DC strh r0, [r5, 0x8] movs r2, 0x1 strh r2, [r5, 0x1A] - ldr r0, _080CE944 @ =gUnknown_2023E82 + ldr r0, _080CE944 @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -1349,7 +1349,7 @@ sub_80CE8DC: @ 80CE8DC .align 2, 0 _080CE93C: .4byte gTasks _080CE940: .4byte gPlayerParty -_080CE944: .4byte gUnknown_2023E82 +_080CE944: .4byte gBattleCommunication _080CE948: ldr r0, _080CE9A0 @ =gMain ldrh r1, [r0, 0x2C] @@ -1367,7 +1367,7 @@ _080CE948: ldrsh r0, [r2, r3] cmp r0, 0x8 bne _080CE9AC - ldr r4, _080CE9A8 @ =gUnknown_2023E82 + ldr r4, _080CE9A8 @ =gBattleCommunication ldrb r0, [r4, 0x2] lsls r1, r0, 2 adds r1, r0 @@ -1395,7 +1395,7 @@ _080CE948: .align 2, 0 _080CE9A0: .4byte gMain _080CE9A4: .4byte gTasks -_080CE9A8: .4byte gUnknown_2023E82 +_080CE9A8: .4byte gBattleCommunication _080CE9AC: mov r1, r8 adds r0, r1, r7 @@ -1584,7 +1584,7 @@ _080CEB68: bl InitMovingBackgroundTask movs r0, 0x11 bl LaunchTask_PreEvoSparklesSet1 - ldr r1, _080CEB88 @ =gUnknown_2023E82 + ldr r1, _080CEB88 @ =gBattleCommunication strb r0, [r1, 0x2] ldr r0, _080CEB8C @ =gTasks mov r2, r8 @@ -1594,10 +1594,10 @@ _080CEB68: b _080CEFDE .align 2, 0 _080CEB84: .4byte gPaletteFade -_080CEB88: .4byte gUnknown_2023E82 +_080CEB88: .4byte gBattleCommunication _080CEB8C: .4byte gTasks _080CEB90: - ldr r4, _080CEBC8 @ =gUnknown_2023E82 + ldr r4, _080CEBC8 @ =gBattleCommunication ldrb r0, [r4, 0x2] lsls r1, r0, 2 adds r1, r0 @@ -1623,10 +1623,10 @@ _080CEBA6: strb r0, [r4, 0x2] bl _080CF528 .align 2, 0 -_080CEBC8: .4byte gUnknown_2023E82 +_080CEBC8: .4byte gBattleCommunication _080CEBCC: .4byte gUnknown_2039A20 _080CEBD0: - ldr r4, _080CEC00 @ =gUnknown_2023E82 + ldr r4, _080CEC00 @ =gBattleCommunication ldrb r0, [r4, 0x2] lsls r1, r0, 2 adds r1, r0 @@ -1649,7 +1649,7 @@ _080CEBE6: add r1, r10 b _080CEFDE .align 2, 0 -_080CEC00: .4byte gUnknown_2023E82 +_080CEC00: .4byte gBattleCommunication _080CEC04: .4byte gUnknown_2039A20 _080CEC08: ldr r2, _080CEC44 @ =gUnknown_2039A20 @@ -1665,7 +1665,7 @@ _080CEC1C: ldr r1, [r2] movs r0, 0x3 strb r0, [r1, 0x3] - ldr r0, _080CEC48 @ =gUnknown_2023E82 + ldr r0, _080CEC48 @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -1683,10 +1683,10 @@ _080CEC38: b _080CEFDE .align 2, 0 _080CEC44: .4byte gUnknown_2039A20 -_080CEC48: .4byte gUnknown_2023E82 +_080CEC48: .4byte gBattleCommunication _080CEC4C: bl sub_80F5F74 - ldr r1, _080CEC60 @ =gUnknown_2023E82 + ldr r1, _080CEC60 @ =gBattleCommunication strb r0, [r1, 0x2] ldr r0, _080CEC64 @ =gTasks mov r3, r8 @@ -1695,10 +1695,10 @@ _080CEC4C: adds r1, r0 b _080CEFDE .align 2, 0 -_080CEC60: .4byte gUnknown_2023E82 +_080CEC60: .4byte gBattleCommunication _080CEC64: .4byte gTasks _080CEC68: - ldr r6, _080CEC90 @ =gUnknown_2023E82 + ldr r6, _080CEC90 @ =gBattleCommunication ldrb r0, [r6, 0x2] lsls r1, r0, 2 adds r1, r0 @@ -1718,9 +1718,9 @@ _080CEC7E: strb r0, [r6, 0x2] b _080CEF2E .align 2, 0 -_080CEC90: .4byte gUnknown_2023E82 +_080CEC90: .4byte gBattleCommunication _080CEC94: - ldr r0, _080CECBC @ =gUnknown_2023E82 + ldr r0, _080CECBC @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -1739,7 +1739,7 @@ _080CECAA: add r1, r10 b _080CEFDE .align 2, 0 -_080CECBC: .4byte gUnknown_2023E82 +_080CECBC: .4byte gBattleCommunication _080CECC0: bl IsSEPlaying lsls r0, 24 @@ -1971,7 +1971,7 @@ _080CEEC4: .4byte gPaletteFade _080CEEC8: .4byte gUnknown_2039A20 _080CEECC: .4byte gUnknown_300537C _080CEED0: - ldr r0, _080CEF04 @ =gUnknown_2023E82 + ldr r0, _080CEF04 @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -1996,7 +1996,7 @@ _080CEEE4: add r1, r10 b _080CEFDE .align 2, 0 -_080CEF04: .4byte gUnknown_2023E82 +_080CEF04: .4byte gBattleCommunication _080CEF08: .4byte 0x0006001c _080CEF0C: .4byte 0x00007fff _080CEF10: @@ -2299,7 +2299,7 @@ _080CF176: adds r0, 0x1 movs r2, 0 strh r0, [r1, 0x14] - ldr r0, _080CF1B8 @ =gUnknown_2023E82 + ldr r0, _080CF1B8 @ =gBattleCommunication strb r2, [r0, 0x1] bl sub_802DCB8 b _080CF528 @@ -2308,7 +2308,7 @@ _080CF1A8: .4byte gUnknown_83FDF3C _080CF1AC: .4byte gDisplayedStringBattle _080CF1B0: .4byte gTasks _080CF1B4: .4byte gUnknown_83FE791 -_080CF1B8: .4byte gUnknown_2023E82 +_080CF1B8: .4byte gBattleCommunication _080CF1BC: ldr r0, _080CF244 @ =gMain ldrh r1, [r0, 0x2E] @@ -2316,7 +2316,7 @@ _080CF1BC: ands r0, r1 cmp r0, 0 beq _080CF1E2 - ldr r4, _080CF248 @ =gUnknown_2023E82 + ldr r4, _080CF248 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 beq _080CF1E2 @@ -2333,7 +2333,7 @@ _080CF1E2: ands r0, r1 cmp r0, 0 beq _080CF208 - ldr r4, _080CF248 @ =gUnknown_2023E82 + ldr r4, _080CF248 @ =gBattleCommunication ldrb r0, [r4, 0x1] cmp r0, 0 bne _080CF208 @@ -2359,7 +2359,7 @@ _080CF208: bl sub_802DB7C movs r0, 0x5 bl PlaySE - ldr r0, _080CF248 @ =gUnknown_2023E82 + ldr r0, _080CF248 @ =gBattleCommunication ldrb r2, [r0, 0x1] cmp r2, 0 beq _080CF250 @@ -2373,7 +2373,7 @@ _080CF208: b _080CF276 .align 2, 0 _080CF244: .4byte gMain -_080CF248: .4byte gUnknown_2023E82 +_080CF248: .4byte gBattleCommunication _080CF24C: .4byte gTasks _080CF250: ldr r0, _080CF2AC @ =gTasks @@ -2751,7 +2751,7 @@ sub_80CF53C: @ 80CF53C strh r0, [r4, 0x8] movs r2, 0x1 strh r2, [r4, 0x1A] - ldr r0, _080CF5C4 @ =gUnknown_2023E82 + ldr r0, _080CF5C4 @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -2784,7 +2784,7 @@ _080CF5B2: .align 2, 0 _080CF5BC: .4byte gTasks _080CF5C0: .4byte gPlayerParty -_080CF5C4: .4byte gUnknown_2023E82 +_080CF5C4: .4byte gBattleCommunication _080CF5C8: .4byte _080CF5CC .align 2, 0 _080CF5CC: @@ -2911,7 +2911,7 @@ _080CF6E0: adds r5, 0x10 adds r0, r5, 0 bl LaunchTask_PreEvoSparklesSet1 - ldr r1, _080CF730 @ =gUnknown_2023E82 + ldr r1, _080CF730 @ =gBattleCommunication strb r0, [r1, 0x2] ldr r0, _080CF734 @ =gTasks adds r1, r7, r6 @@ -2928,11 +2928,11 @@ _080CF6E0: _080CF724: .4byte gPaletteFade _080CF728: .4byte gSprites _080CF72C: .4byte gUnknown_2039A20 -_080CF730: .4byte gUnknown_2023E82 +_080CF730: .4byte gBattleCommunication _080CF734: .4byte gTasks _080CF738: .4byte 0x00000603 _080CF73C: - ldr r4, _080CF770 @ =gUnknown_2023E82 + ldr r4, _080CF770 @ =gBattleCommunication ldrb r0, [r4, 0x2] lsls r1, r0, 2 adds r1, r0 @@ -2957,10 +2957,10 @@ _080CF752: strb r0, [r4, 0x2] bl _080D003A .align 2, 0 -_080CF770: .4byte gUnknown_2023E82 +_080CF770: .4byte gBattleCommunication _080CF774: .4byte gUnknown_2039A20 _080CF778: - ldr r4, _080CF7A4 @ =gUnknown_2023E82 + ldr r4, _080CF7A4 @ =gBattleCommunication ldrb r0, [r4, 0x2] lsls r1, r0, 2 adds r1, r0 @@ -2982,7 +2982,7 @@ _080CF78E: adds r1, r5 b _080CFB1A .align 2, 0 -_080CF7A4: .4byte gUnknown_2023E82 +_080CF7A4: .4byte gBattleCommunication _080CF7A8: .4byte gUnknown_2039A20 _080CF7AC: ldr r2, _080CF7E4 @ =gUnknown_2039A20 @@ -2998,7 +2998,7 @@ _080CF7C0: ldr r1, [r2] movs r0, 0x3 strb r0, [r1, 0x3] - ldr r0, _080CF7E8 @ =gUnknown_2023E82 + ldr r0, _080CF7E8 @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -3015,10 +3015,10 @@ _080CF7DC: b _080CFB1A .align 2, 0 _080CF7E4: .4byte gUnknown_2039A20 -_080CF7E8: .4byte gUnknown_2023E82 +_080CF7E8: .4byte gBattleCommunication _080CF7EC: bl sub_80F5F74 - ldr r1, _080CF800 @ =gUnknown_2023E82 + ldr r1, _080CF800 @ =gBattleCommunication strb r0, [r1, 0x2] ldr r0, _080CF804 @ =gTasks adds r1, r7, r6 @@ -3026,10 +3026,10 @@ _080CF7EC: adds r1, r0 b _080CFB1A .align 2, 0 -_080CF800: .4byte gUnknown_2023E82 +_080CF800: .4byte gBattleCommunication _080CF804: .4byte gTasks _080CF808: - ldr r0, _080CF834 @ =gUnknown_2023E82 + ldr r0, _080CF834 @ =gBattleCommunication mov r8, r0 ldrb r0, [r0, 0x2] lsls r1, r0, 2 @@ -3050,9 +3050,9 @@ _080CF820: strb r0, [r1, 0x2] b _080CFA90 .align 2, 0 -_080CF834: .4byte gUnknown_2023E82 +_080CF834: .4byte gBattleCommunication _080CF838: - ldr r0, _080CF85C @ =gUnknown_2023E82 + ldr r0, _080CF85C @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -3070,7 +3070,7 @@ _080CF84E: adds r1, r5 b _080CFB1A .align 2, 0 -_080CF85C: .4byte gUnknown_2023E82 +_080CF85C: .4byte gBattleCommunication _080CF860: bl IsSEPlaying lsls r0, 24 @@ -3261,7 +3261,7 @@ _080CFA08: .4byte gUnknown_2039A20 _080CFA0C: .4byte gTextFlags _080CFA10: .4byte gUnknown_300537C _080CFA14: - ldr r0, _080CFA60 @ =gUnknown_2023E82 + ldr r0, _080CFA60 @ =gBattleCommunication ldrb r1, [r0, 0x2] lsls r0, r1, 2 adds r0, r1 @@ -3299,7 +3299,7 @@ _080CFA28: adds r1, r5 b _080CFB1A .align 2, 0 -_080CFA60: .4byte gUnknown_2023E82 +_080CFA60: .4byte gBattleCommunication _080CFA64: .4byte gSprites _080CFA68: .4byte gUnknown_2039A20 _080CFA6C: .4byte 0x0004001c @@ -3578,7 +3578,7 @@ _080CFCAE: movs r2, 0 movs r3, 0x2 bl CreateYesNoMenu - ldr r3, _080CFCF8 @ =gUnknown_2023E82 + ldr r3, _080CFCF8 @ =gBattleCommunication strb r4, [r3, 0x1] ldr r0, _080CFCF0 @ =gTasks adds r1, r7, r6 @@ -3595,7 +3595,7 @@ _080CFCE8: .4byte gUnknown_83FDF3C _080CFCEC: .4byte gDisplayedStringBattle _080CFCF0: .4byte gTasks _080CFCF4: .4byte gUnknown_826D1CC -_080CFCF8: .4byte gUnknown_2023E82 +_080CFCF8: .4byte gBattleCommunication _080CFCFC: bl Menu_ProcessInputNoWrapClearOnChoose lsls r0, 24 @@ -3614,7 +3614,7 @@ _080CFD16: beq _080CFD70 b _080D003A _080CFD1C: - ldr r0, _080CFD60 @ =gUnknown_2023E82 + ldr r0, _080CFD60 @ =gBattleCommunication strb r4, [r0, 0x1] ldr r0, _080CFD64 @ =gUnknown_83FDF3C movs r3, 0x92 @@ -3648,12 +3648,12 @@ _080CFD56: bl BeginNormalPaletteFade b _080D003A .align 2, 0 -_080CFD60: .4byte gUnknown_2023E82 +_080CFD60: .4byte gBattleCommunication _080CFD64: .4byte gUnknown_83FDF3C _080CFD68: .4byte gDisplayedStringBattle _080CFD6C: .4byte gTasks _080CFD70: - ldr r1, _080CFD9C @ =gUnknown_2023E82 + ldr r1, _080CFD9C @ =gBattleCommunication movs r0, 0x1 strb r0, [r1, 0x1] ldr r0, _080CFDA0 @ =gUnknown_83FDF3C @@ -3674,7 +3674,7 @@ _080CFD70: strh r1, [r0, 0x14] b _080D003A .align 2, 0 -_080CFD9C: .4byte gUnknown_2023E82 +_080CFD9C: .4byte gBattleCommunication _080CFDA0: .4byte gUnknown_83FDF3C _080CFDA4: .4byte gDisplayedStringBattle _080CFDA8: .4byte gTasks -- cgit v1.2.3 From c88c9c6edfb7122524b319e4601c5d2b97bf06ca Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Wed, 31 Jul 2019 07:57:24 +0800 Subject: progress #1 on porting battle_util --- asm/battle_2.s | 12 +- asm/battle_script_commands.s | 32 +- asm/battle_util.s | 4599 ------------------------------------------ 3 files changed, 22 insertions(+), 4621 deletions(-) (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index 365ef0691..54e773828 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -4849,7 +4849,7 @@ sub_8012434: @ 8012434 mov r12, r1 ldr r0, _080126D4 @ =gUnknown_2023DA0 mov r9, r0 - ldr r1, _080126D8 @ =gLastUsedMove + ldr r1, _080126D8 @ =gLastMoves mov r8, r1 ldr r4, _080126DC @ =gDisableStructs movs r5, 0 @@ -5174,7 +5174,7 @@ _080126AE: _080126CC: .4byte gUnknown_2023DB0 _080126D0: .4byte gUnknown_2023DA8 _080126D4: .4byte gUnknown_2023DA0 -_080126D8: .4byte gLastUsedMove +_080126D8: .4byte gLastMoves _080126DC: .4byte gDisableStructs _080126E0: .4byte gUnknown_2023D90 _080126E4: .4byte gUnknown_2023DB8 @@ -5579,7 +5579,7 @@ _08012A1A: mov r1, r12 ldrb r0, [r1] lsls r0, 1 - ldr r3, _08012BAC @ =gLastUsedMove + ldr r3, _08012BAC @ =gLastMoves adds r0, r3 movs r3, 0 strh r2, [r0] @@ -5757,7 +5757,7 @@ _08012B9C: .4byte gMoveSelectionCursor _08012BA0: .4byte gCurrentMove _08012BA4: .4byte gBattleMoves _08012BA8: .4byte gMoveResultFlags -_08012BAC: .4byte gLastUsedMove +_08012BAC: .4byte gLastMoves _08012BB0: .4byte gUnknown_2023DA0 _08012BB4: .4byte gUnknown_2023DA8 _08012BB8: .4byte gUnknown_2023DB0 @@ -6047,7 +6047,7 @@ _08012CA8: strb r1, [r0, 0x16] ldrb r0, [r7] lsls r0, 1 - ldr r1, _08012F8C @ =gLastUsedMove + ldr r1, _08012F8C @ =gLastMoves adds r0, r1 movs r3, 0 strh r2, [r0] @@ -6249,7 +6249,7 @@ _08012F7C: .4byte gDisableStructs _08012F80: .4byte 0xfbffffff _08012F84: .4byte gBattleStruct _08012F88: .4byte 0xffff1fff -_08012F8C: .4byte gLastUsedMove +_08012F8C: .4byte gLastMoves _08012F90: .4byte gUnknown_2023DA0 _08012F94: .4byte gUnknown_2023DA8 _08012F98: .4byte gUnknown_2023DB0 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 25dbe3ce3..b4fd08c29 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -12270,7 +12270,7 @@ _080238E8: ands r0, r1 cmp r0, 0 beq _0802394C - ldr r0, _08023940 @ =gLastUsedMove + ldr r0, _08023940 @ =gLastMoves lsls r1, r4, 1 adds r1, r0 ldr r0, _0802392C @ =gChosenMove @@ -12297,11 +12297,11 @@ _08023930: .4byte gAbsentBattlerFlags _08023934: .4byte gBitTable _08023938: .4byte gBattleStruct _0802393C: .4byte gBattleMoves -_08023940: .4byte gLastUsedMove +_08023940: .4byte gLastMoves _08023944: .4byte gUnknown_2023DB0 _08023948: .4byte gCurrentMove _0802394C: - ldr r1, _080239B4 @ =gLastUsedMove + ldr r1, _080239B4 @ =gLastMoves lsls r0, r4, 1 adds r0, r1 ldr r1, _080239B8 @ =0x0000ffff @@ -12355,7 +12355,7 @@ _08023984: strh r3, [r0] b _08023A2C .align 2, 0 -_080239B4: .4byte gLastUsedMove +_080239B4: .4byte gLastMoves _080239B8: .4byte 0x0000ffff _080239BC: .4byte gUnknown_2023DB0 _080239C0: .4byte gBattlerTarget @@ -23783,7 +23783,7 @@ atk9D_mimicattackcopy: @ 8029578 ldr r1, _080295F4 @ =0x0000ffff adds r7, r1, 0 strh r7, [r0] - ldr r5, _080295F8 @ =gLastUsedMove + ldr r5, _080295F8 @ =gLastMoves ldr r6, _080295FC @ =gBattlerTarget ldrb r0, [r6] lsls r0, 1 @@ -23836,7 +23836,7 @@ _080295D2: .align 2, 0 _080295F0: .4byte gChosenMove _080295F4: .4byte 0x0000ffff -_080295F8: .4byte gLastUsedMove +_080295F8: .4byte gLastMoves _080295FC: .4byte gBattlerTarget _08029600: .4byte gBattleMons _08029604: .4byte gBattlerAttacker @@ -23886,7 +23886,7 @@ _08029646: mov r0, r12 adds r0, 0xC adds r1, r0 - ldr r2, _080296A4 @ =gLastUsedMove + ldr r2, _080296A4 @ =gLastMoves ldr r3, _080296A8 @ =gBattlerTarget ldrb r0, [r3] lsls r0, 1 @@ -23918,7 +23918,7 @@ _08029646: .align 2, 0 _0802969C: .4byte gBattlescriptCurrInstr _080296A0: .4byte gUnknown_2023D48 -_080296A4: .4byte gLastUsedMove +_080296A4: .4byte gLastMoves _080296A8: .4byte gBattlerTarget _080296AC: .4byte gBattleMoves _080296B0: @@ -24402,7 +24402,7 @@ atkA3_disablelastusedattack: @ 8029A70 adds r7, r2, 0 adds r7, 0xC adds r0, r7 - ldr r5, _08029B78 @ =gLastUsedMove + ldr r5, _08029B78 @ =gLastMoves lsls r1, 1 adds r1, r5 ldrh r0, [r0] @@ -24521,7 +24521,7 @@ _08029AC4: .align 2, 0 _08029B70: .4byte gBattleMons _08029B74: .4byte gBattlerTarget -_08029B78: .4byte gLastUsedMove +_08029B78: .4byte gLastMoves _08029B7C: .4byte gDisableStructs _08029B80: .4byte gBattleTextBuff1 _08029B84: .4byte gBattlescriptCurrInstr @@ -24566,7 +24566,7 @@ atkA4_trysetencore: @ 8029BB4 adds r6, r3, 0 adds r6, 0xC adds r0, r6 - ldr r2, _08029CB0 @ =gLastUsedMove + ldr r2, _08029CB0 @ =gLastMoves lsls r1, 1 adds r1, r2 ldrh r0, [r0] @@ -24680,7 +24680,7 @@ _08029C24: .align 2, 0 _08029CA8: .4byte gBattleMons _08029CAC: .4byte gBattlerTarget -_08029CB0: .4byte gLastUsedMove +_08029CB0: .4byte gLastMoves _08029CB4: .4byte gDisableStructs _08029CB8: .4byte gBattlescriptCurrInstr _08029CBC: @@ -25745,7 +25745,7 @@ atkAD_tryspiteppreduce: @ 802A4D8 mov r5, r8 push {r5-r7} sub sp, 0x4 - ldr r4, _0802A658 @ =gLastUsedMove + ldr r4, _0802A658 @ =gLastMoves ldr r1, _0802A65C @ =gBattlerTarget ldrb r3, [r1] lsls r0, r3, 1 @@ -25832,7 +25832,7 @@ _0802A57C: strb r5, [r1] movs r0, 0x2 strb r0, [r1, 0x1] - ldr r2, _0802A658 @ =gLastUsedMove + ldr r2, _0802A658 @ =gLastMoves mov r3, r8 ldrb r0, [r3] lsls r0, 1 @@ -25934,7 +25934,7 @@ _0802A630: bl CancelMultiTurnMoves b _0802A69A .align 2, 0 -_0802A658: .4byte gLastUsedMove +_0802A658: .4byte gLastMoves _0802A65C: .4byte gBattlerTarget _0802A660: .4byte 0x0000ffff _0802A664: .4byte gBattleMons @@ -30155,7 +30155,7 @@ _0802C7BC: lsrs r0, 24 mov r8, r0 ldrb r0, [r4] - bl PressurePPLoseOnUsingImprision + bl PressurePPLoseOnUsingImprison movs r6, 0 b _0802C82E _0802C7D2: diff --git a/asm/battle_util.s b/asm/battle_util.s index d73ed9e0e..b2ed61f7a 100644 --- a/asm/battle_util.s +++ b/asm/battle_util.s @@ -5,4605 +5,6 @@ .text - thumb_func_start GetBattlerForBattleScript -GetBattlerForBattleScript: @ 8016E24 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - cmp r0, 0xC - bhi _08016EC2 - lsls r0, 2 - ldr r1, _08016E3C @ =_08016E40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08016E3C: .4byte _08016E40 - .align 2, 0 -_08016E40: - .4byte _08016E74 - .4byte _08016E80 - .4byte _08016E8C - .4byte _08016EA8 - .4byte _08016EC2 - .4byte _08016EA8 - .4byte _08016EC2 - .4byte _08016E98 - .4byte _08016EC2 - .4byte _08016EC2 - .4byte _08016E9C - .4byte _08016EB4 - .4byte _08016EB8 -_08016E74: - ldr r0, _08016E7C @ =gBattlerTarget - ldrb r2, [r0] - b _08016EC2 - .align 2, 0 -_08016E7C: .4byte gBattlerTarget -_08016E80: - ldr r0, _08016E88 @ =gBattlerAttacker - ldrb r2, [r0] - b _08016EC2 - .align 2, 0 -_08016E88: .4byte gBattlerAttacker -_08016E8C: - ldr r0, _08016E94 @ =gEffectBattler - ldrb r2, [r0] - b _08016EC2 - .align 2, 0 -_08016E94: .4byte gEffectBattler -_08016E98: - movs r2, 0 - b _08016EC2 -_08016E9C: - ldr r0, _08016EA4 @ =gBattleScripting - ldrb r2, [r0, 0x17] - b _08016EC2 - .align 2, 0 -_08016EA4: .4byte gBattleScripting -_08016EA8: - ldr r0, _08016EB0 @ =gBattlerFainted - ldrb r2, [r0] - b _08016EC2 - .align 2, 0 -_08016EB0: .4byte gBattlerFainted -_08016EB4: - movs r0, 0 - b _08016EBA -_08016EB8: - movs r0, 0x1 -_08016EBA: - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r2, r0, 24 -_08016EC2: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end GetBattlerForBattleScript - - thumb_func_start PressurePPLose -PressurePPLose: @ 8016EC8 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 16 - lsrs r2, 16 - ldr r1, _08016EF8 @ =gBattleMons - movs r4, 0x58 - muls r0, r4 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - mov r12, r1 - cmp r0, 0x2E - bne _08016F7A - movs r3, 0 - adds r0, r5, 0 - muls r0, r4 - adds r1, 0xC - adds r1, r0, r1 - b _08016F04 - .align 2, 0 -_08016EF8: .4byte gBattleMons -_08016EFC: - adds r1, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - bgt _08016F0A -_08016F04: - ldrh r0, [r1] - cmp r0, r2 - bne _08016EFC -_08016F0A: - cmp r3, 0x4 - beq _08016F7A - movs r7, 0x58 - adds r2, r5, 0 - muls r2, r7 - adds r0, r3, r2 - mov r6, r12 - adds r6, 0x24 - adds r1, r0, r6 - ldrb r0, [r1] - cmp r0, 0 - beq _08016F26 - subs r0, 0x1 - strb r0, [r1] -_08016F26: - mov r0, r12 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08016F7A - ldr r1, _08016F84 @ =gDisableStructs - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _08016F88 @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08016F7A - ldr r4, _08016F8C @ =gActiveBattler - strb r5, [r4] - adds r1, r3, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r4] - muls r0, r7 - adds r0, r6 - adds r0, r3 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08016F7A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08016F84: .4byte gDisableStructs -_08016F88: .4byte gBitTable -_08016F8C: .4byte gActiveBattler - thumb_func_end PressurePPLose - - thumb_func_start PressurePPLoseOnUsingImprision -PressurePPLoseOnUsingImprision: @ 8016F90 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x4 - mov r8, r0 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r4, 0 - ldr r0, _080170B0 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bge _08017038 - ldr r1, _080170B4 @ =gBattleMons - movs r0, 0x58 - adds r7, r5, 0 - muls r7, r0 - adds r1, 0xC - mov r10, r1 -_08016FC6: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - adds r6, r4, 0x1 - cmp r9, r0 - beq _0801702E - ldr r0, _080170B4 @ =gBattleMons - movs r3, 0x58 - adds r1, r4, 0 - muls r1, r3 - adds r1, r0 - adds r1, 0x20 - ldrb r1, [r1] - adds r4, r0, 0 - cmp r1, 0x2E - bne _0801702E - movs r2, 0 - adds r0, r5, 0 - muls r0, r3 - adds r1, r4, 0 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - movs r1, 0x8F - lsls r1, 1 - cmp r0, r1 - beq _08017016 - adds r3, r1, 0 - mov r0, r10 - adds r1, r7, r0 -_08017008: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - bgt _08017016 - ldrh r0, [r1] - cmp r0, r3 - bne _08017008 -_08017016: - cmp r2, 0x4 - beq _0801702E - mov r8, r2 - adds r1, r2, r7 - adds r0, r4, 0 - adds r0, 0x24 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0801702E - subs r0, 0x1 - strb r0, [r1] -_0801702E: - adds r4, r6, 0 - ldr r0, _080170B0 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - blt _08016FC6 -_08017038: - mov r1, r8 - cmp r1, 0x4 - beq _080170A0 - ldr r6, _080170B4 @ =gBattleMons - movs r3, 0x58 - adds r0, r5, 0 - muls r0, r3 - adds r1, r6, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _080170A0 - ldr r1, _080170B8 @ =gDisableStructs - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _080170BC @ =gBitTable - mov r4, r8 - lsls r0, r4, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080170A0 - ldr r4, _080170C0 @ =gActiveBattler - strb r5, [r4] - mov r1, r8 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r4] - muls r0, r3 - adds r2, r6, 0 - adds r2, 0x24 - adds r0, r2 - add r0, r8 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080170A0: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080170B0: .4byte gBattlersCount -_080170B4: .4byte gBattleMons -_080170B8: .4byte gDisableStructs -_080170BC: .4byte gBitTable -_080170C0: .4byte gActiveBattler - thumb_func_end PressurePPLoseOnUsingImprision - - thumb_func_start PressurePPLoseOnUsingPerishSong -PressurePPLoseOnUsingPerishSong: @ 80170C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - movs r6, 0x4 - movs r1, 0 - ldr r0, _080171BC @ =gBattlersCount - mov r8, r0 - ldrb r0, [r0] - cmp r1, r0 - bge _08017146 - ldr r7, _080171C0 @ =gBattleMons - movs r2, 0x58 - mov r12, r2 - mov r5, r12 - muls r5, r3 - adds r0, r7, 0 - adds r0, 0xC - adds r2, r5, r0 - mov r10, r2 - mov r9, r5 -_080170F6: - mov r0, r12 - muls r0, r1 - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - adds r4, r1, 0x1 - cmp r0, 0x2E - bne _0801713C - cmp r1, r3 - beq _0801713C - movs r2, 0 - mov r1, r10 - ldrh r0, [r1] - cmp r0, 0xC3 - beq _08017126 - ldr r1, _080171C4 @ =gUnknown_2023BF0 - add r1, r9 -_08017118: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - bgt _08017126 - ldrh r0, [r1] - cmp r0, 0xC3 - bne _08017118 -_08017126: - cmp r2, 0x4 - beq _0801713C - adds r6, r2, 0 - adds r0, r6, r5 - ldr r2, _080171C8 @ =gUnknown_2023C08 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0801713C - subs r0, 0x1 - strb r0, [r1] -_0801713C: - adds r1, r4, 0 - mov r0, r8 - ldrb r0, [r0] - cmp r1, r0 - blt _080170F6 -_08017146: - cmp r6, 0x4 - beq _080171AA - ldr r7, _080171C0 @ =gBattleMons - movs r5, 0x58 - adds r0, r3, 0 - muls r0, r5 - adds r1, r7, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _080171AA - ldr r1, _080171CC @ =gDisableStructs - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _080171D0 @ =gBitTable - lsls r0, r6, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080171AA - ldr r4, _080171D4 @ =gActiveBattler - strb r3, [r4] - adds r1, r6, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r4] - muls r0, r5 - adds r2, r7, 0 - adds r2, 0x24 - adds r0, r2 - adds r0, r6 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080171AA: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080171BC: .4byte gBattlersCount -_080171C0: .4byte gBattleMons -_080171C4: .4byte gUnknown_2023BF0 -_080171C8: .4byte gUnknown_2023C08 -_080171CC: .4byte gDisableStructs -_080171D0: .4byte gBitTable -_080171D4: .4byte gActiveBattler - thumb_func_end PressurePPLoseOnUsingPerishSong - - thumb_func_start MarkAllBattlersForControllerExec -MarkAllBattlersForControllerExec: @ 80171D8 - push {r4,r5,lr} - ldr r0, _08017208 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08017218 - movs r2, 0 - ldr r4, _0801720C @ =gBattlersCount - ldrb r0, [r4] - cmp r2, r0 - bge _08017236 - ldr r3, _08017210 @ =gBattleControllerExecFlags - ldr r5, _08017214 @ =gBitTable -_080171F4: - ldm r5!, {r1} - lsls r1, 28 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - adds r2, 0x1 - ldrb r0, [r4] - cmp r2, r0 - blt _080171F4 - b _08017236 - .align 2, 0 -_08017208: .4byte gBattleTypeFlags -_0801720C: .4byte gBattlersCount -_08017210: .4byte gBattleControllerExecFlags -_08017214: .4byte gBitTable -_08017218: - movs r2, 0 - ldr r4, _0801723C @ =gBattlersCount - ldrb r0, [r4] - cmp r2, r0 - bge _08017236 - ldr r3, _08017240 @ =gBattleControllerExecFlags - ldr r5, _08017244 @ =gBitTable -_08017226: - ldr r0, [r3] - ldm r5!, {r1} - orrs r0, r1 - str r0, [r3] - adds r2, 0x1 - ldrb r0, [r4] - cmp r2, r0 - blt _08017226 -_08017236: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801723C: .4byte gBattlersCount -_08017240: .4byte gBattleControllerExecFlags -_08017244: .4byte gBitTable - thumb_func_end MarkAllBattlersForControllerExec - - thumb_func_start MarkBattlerForControllerExec -MarkBattlerForControllerExec: @ 8017248 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _08017270 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801727C - ldr r2, _08017274 @ =gBattleControllerExecFlags - ldr r1, _08017278 @ =gBitTable - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - b _0801728C - .align 2, 0 -_08017270: .4byte gBattleTypeFlags -_08017274: .4byte gBattleControllerExecFlags -_08017278: .4byte gBitTable -_0801727C: - ldr r2, _08017290 @ =gBattleControllerExecFlags - ldr r1, _08017294 @ =gBitTable - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - orrs r1, r0 - str r1, [r2] -_0801728C: - pop {r0} - bx r0 - .align 2, 0 -_08017290: .4byte gBattleControllerExecFlags -_08017294: .4byte gBitTable - thumb_func_end MarkBattlerForControllerExec - - thumb_func_start sub_8017298 -sub_8017298: @ 8017298 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - ldr r5, _080172AC @ =gBattleControllerExecFlags - ldr r1, _080172B0 @ =gBitTable - lsls r0, r7, 2 - adds r6, r0, r1 - b _080172C2 - .align 2, 0 -_080172AC: .4byte gBattleControllerExecFlags -_080172B0: .4byte gBitTable -_080172B4: - lsls r0, r4, 2 - ldr r1, [r6] - lsls r1, r0 - ldr r0, [r5] - orrs r0, r1 - str r0, [r5] - adds r4, 0x1 -_080172C2: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _080172B4 - ldr r2, _080172E4 @ =gBattleControllerExecFlags - movs r1, 0x80 - lsls r1, 21 - lsls r1, r7 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080172E4: .4byte gBattleControllerExecFlags - thumb_func_end sub_8017298 - - thumb_func_start CancelMultiTurnMoves -CancelMultiTurnMoves: @ 80172E8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08017338 @ =gBattleMons - movs r2, 0x58 - adds r3, r0, 0 - muls r3, r2 - adds r1, 0x50 - adds r3, r1 - ldr r1, [r3] - ldr r2, _0801733C @ =0xffffefff - ands r1, r2 - ldr r2, _08017340 @ =0xfffff3ff - ands r1, r2 - movs r2, 0x71 - negs r2, r2 - ands r1, r2 - ldr r2, _08017344 @ =0xfffffcff - ands r1, r2 - str r1, [r3] - ldr r1, _08017348 @ =gStatuses3 - lsls r2, r0, 2 - adds r2, r1 - ldr r1, [r2] - ldr r3, _0801734C @ =0xfffbff3f - ands r1, r3 - str r1, [r2] - ldr r2, _08017350 @ =gDisableStructs - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x11] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x11] - movs r0, 0 - strb r0, [r1, 0x10] - bx lr - .align 2, 0 -_08017338: .4byte gBattleMons -_0801733C: .4byte 0xffffefff -_08017340: .4byte 0xfffff3ff -_08017344: .4byte 0xfffffcff -_08017348: .4byte gStatuses3 -_0801734C: .4byte 0xfffbff3f -_08017350: .4byte gDisableStructs - thumb_func_end CancelMultiTurnMoves - - thumb_func_start WasUnableToUseMove -WasUnableToUseMove: @ 8017354 - push {lr} - lsls r0, 24 - ldr r1, _080173A0 @ =gProtectStructs - lsrs r0, 20 - adds r1, r0, r1 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - bne _0801739A - ldrb r2, [r1, 0x1] - lsls r0, r2, 30 - cmp r0, 0 - blt _0801739A - lsls r0, r2, 26 - cmp r0, 0 - blt _0801739A - lsls r0, r2, 25 - cmp r0, 0 - blt _0801739A - lsrs r0, r2, 7 - cmp r0, 0 - bne _0801739A - ldrb r1, [r1, 0x2] - lsls r0, r1, 31 - cmp r0, 0 - bne _0801739A - lsls r0, r1, 30 - cmp r0, 0 - blt _0801739A - lsls r0, r1, 29 - cmp r0, 0 - blt _0801739A - lsls r0, r2, 31 - cmp r0, 0 - beq _080173A4 -_0801739A: - movs r0, 0x1 - b _080173A6 - .align 2, 0 -_080173A0: .4byte gProtectStructs -_080173A4: - movs r0, 0 -_080173A6: - pop {r1} - bx r1 - thumb_func_end WasUnableToUseMove - - thumb_func_start PrepareStringBattle -PrepareStringBattle: @ 80173AC - push {r4,lr} - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080173CC @ =gActiveBattler - strb r1, [r4] - movs r0, 0 - adds r1, r2, 0 - bl BtlController_EmitPrintString - ldrb r0, [r4] - bl MarkBattlerForControllerExec - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080173CC: .4byte gActiveBattler - thumb_func_end PrepareStringBattle - - thumb_func_start ResetSentPokesToOpponentValue -ResetSentPokesToOpponentValue: @ 80173D0 - push {r4-r6,lr} - movs r3, 0 - ldr r0, _08017424 @ =gSentPokesToOpponent - strb r3, [r0] - strb r3, [r0, 0x1] - movs r1, 0 - ldr r0, _08017428 @ =gBattlersCount - ldrb r2, [r0] - adds r6, r0, 0 - cmp r1, r2 - bge _080173FE - ldr r5, _0801742C @ =gBitTable - adds r4, r2, 0 - ldr r2, _08017430 @ =gBattlerPartyIndexes -_080173EC: - ldrh r0, [r2] - lsls r0, 2 - adds r0, r5 - ldr r0, [r0] - orrs r3, r0 - adds r2, 0x4 - adds r1, 0x2 - cmp r1, r4 - blt _080173EC -_080173FE: - movs r1, 0x1 - adds r2, r6, 0 - ldrb r0, [r2] - cmp r1, r0 - bge _0801741E - ldr r5, _08017424 @ =gSentPokesToOpponent - movs r4, 0x2 -_0801740C: - adds r0, r1, 0 - ands r0, r4 - asrs r0, 1 - adds r0, r5 - strb r3, [r0] - adds r1, 0x2 - ldrb r0, [r2] - cmp r1, r0 - blt _0801740C -_0801741E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08017424: .4byte gSentPokesToOpponent -_08017428: .4byte gBattlersCount -_0801742C: .4byte gBitTable -_08017430: .4byte gBattlerPartyIndexes - thumb_func_end ResetSentPokesToOpponentValue - - thumb_func_start sub_8017434 -sub_8017434: @ 8017434 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08017498 - movs r0, 0x2 - ands r0, r5 - lsls r0, 24 - lsrs r0, 25 - mov r12, r0 - ldr r1, _080174A4 @ =gSentPokesToOpponent - adds r0, r1 - strb r4, [r0] - adds r5, r4, 0 - ldr r0, _080174A8 @ =gBattlersCount - ldrb r2, [r0] - mov r8, r1 - cmp r4, r2 - bge _08017492 - ldr r0, _080174AC @ =gAbsentBattlerFlags - ldrb r7, [r0] - ldr r1, _080174B0 @ =gBitTable - adds r6, r2, 0 - ldr r3, _080174B4 @ =gBattlerPartyIndexes - adds r2, r1, 0 -_08017476: - ldr r0, [r2] - ands r0, r7 - cmp r0, 0 - bne _08017488 - ldrh r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - orrs r4, r0 -_08017488: - adds r3, 0x4 - adds r2, 0x8 - adds r5, 0x2 - cmp r5, r6 - blt _08017476 -_08017492: - mov r0, r12 - add r0, r8 - strb r4, [r0] -_08017498: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080174A4: .4byte gSentPokesToOpponent -_080174A8: .4byte gBattlersCount -_080174AC: .4byte gAbsentBattlerFlags -_080174B0: .4byte gBitTable -_080174B4: .4byte gBattlerPartyIndexes - thumb_func_end sub_8017434 - - thumb_func_start sub_80174B8 -sub_80174B8: @ 80174B8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080174D4 - adds r0, r4, 0 - bl sub_8017434 - b _0801750A -_080174D4: - movs r3, 0x1 - ldr r5, _08017510 @ =gBattlersCount - ldrb r0, [r5] - cmp r3, r0 - bge _0801750A - ldr r0, _08017514 @ =gSentPokesToOpponent - mov r12, r0 - movs r7, 0x2 - ldr r6, _08017518 @ =gBitTable - ldr r1, _0801751C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r4, r0, r1 -_080174EC: - adds r2, r3, 0 - ands r2, r7 - asrs r2, 1 - add r2, r12 - ldrh r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - adds r3, 0x1 - ldrb r0, [r5] - cmp r3, r0 - blt _080174EC -_0801750A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08017510: .4byte gBattlersCount -_08017514: .4byte gSentPokesToOpponent -_08017518: .4byte gBitTable -_0801751C: .4byte gBattlerPartyIndexes - thumb_func_end sub_80174B8 - - thumb_func_start BattleScriptPush -BattleScriptPush: @ 8017520 - push {r4,lr} - ldr r1, _08017540 @ =gBattleResources - ldr r1, [r1] - ldr r3, [r1, 0x8] - adds r4, r3, 0 - adds r4, 0x20 - ldrb r1, [r4] - adds r2, r1, 0x1 - strb r2, [r4] - lsls r1, 24 - lsrs r1, 22 - adds r3, r1 - str r0, [r3] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08017540: .4byte gBattleResources - thumb_func_end BattleScriptPush - - thumb_func_start BattleScriptPushCursor -BattleScriptPushCursor: @ 8017544 - ldr r0, _08017564 @ =gBattleResources - ldr r0, [r0] - ldr r2, [r0, 0x8] - adds r3, r2, 0 - adds r3, 0x20 - ldrb r0, [r3] - adds r1, r0, 0x1 - strb r1, [r3] - lsls r0, 24 - lsrs r0, 22 - adds r2, r0 - ldr r0, _08017568 @ =gBattlescriptCurrInstr - ldr r0, [r0] - str r0, [r2] - bx lr - .align 2, 0 -_08017564: .4byte gBattleResources -_08017568: .4byte gBattlescriptCurrInstr - thumb_func_end BattleScriptPushCursor - - thumb_func_start BattleScriptPop -BattleScriptPop: @ 801756C - ldr r3, _0801758C @ =gBattlescriptCurrInstr - ldr r0, _08017590 @ =gBattleResources - ldr r0, [r0] - ldr r1, [r0, 0x8] - adds r2, r1, 0 - adds r2, 0x20 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] - lsls r0, 24 - lsrs r0, 22 - adds r1, r0 - ldr r0, [r1] - str r0, [r3] - bx lr - .align 2, 0 -_0801758C: .4byte gBattlescriptCurrInstr -_08017590: .4byte gBattleResources - thumb_func_end BattleScriptPop - - thumb_func_start TrySetCantSelectMoveBattleScript -TrySetCantSelectMoveBattleScript: @ 8017594 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r2, _080176AC @ =gBattleMons - ldr r1, _080176B0 @ =gBattleBufferB - ldr r5, _080176B4 @ =gActiveBattler - ldrb r3, [r5] - lsls r0, r3, 9 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0x58 - muls r1, r3 - adds r0, r1 - adds r2, 0xC - adds r0, r2 - ldrh r4, [r0] - ldr r1, _080176B8 @ =gBattleStruct - lsls r0, r3, 1 - adds r0, 0xC8 - ldr r1, [r1] - adds r1, r0 - mov r8, r1 - ldr r1, _080176BC @ =gDisableStructs - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x4] - cmp r0, r4 - bne _080175F0 - cmp r4, 0 - beq _080175F0 - ldr r0, _080176C0 @ =gBattleScripting - strb r3, [r0, 0x17] - ldr r0, _080176C4 @ =gCurrentMove - strh r4, [r0] - ldr r1, _080176C8 @ =gSelectionBattleScripts - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080176CC @ =BattleScript_SelectingDisabledMove - str r1, [r0] - movs r6, 0x1 -_080175F0: - ldr r1, _080176D0 @ =gLastUsedMove - ldr r5, _080176B4 @ =gActiveBattler - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - bne _0801762C - cmp r4, 0xA5 - beq _0801762C - ldr r1, _080176AC @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bge _0801762C - adds r0, r2, 0 - bl CancelMultiTurnMoves - ldr r1, _080176C8 @ =gSelectionBattleScripts - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080176D4 @ =BattleScript_SelectingTormentedMove - str r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0801762C: - ldr r2, _080176BC @ =gDisableStructs - ldr r3, _080176B4 @ =gActiveBattler - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x13] - lsls r0, 28 - cmp r0, 0 - beq _08017668 - ldr r0, _080176D8 @ =gBattleMoves - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _08017668 - ldr r0, _080176C4 @ =gCurrentMove - strh r4, [r0] - ldr r1, _080176C8 @ =gSelectionBattleScripts - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, _080176DC @ =BattleScript_SelectingNotAllowedMoveTaunt - str r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08017668: - ldr r5, _080176B4 @ =gActiveBattler - ldrb r0, [r5] - adds r1, r4, 0 - bl GetImprisonedMovesCount - lsls r0, 24 - cmp r0, 0 - beq _0801768E - ldr r0, _080176C4 @ =gCurrentMove - strh r4, [r0] - ldr r1, _080176C8 @ =gSelectionBattleScripts - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080176E0 @ =BattleScript_SelectingImprisonedMove - str r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0801768E: - ldr r1, _080176AC @ =gBattleMons - ldrb r2, [r5] - movs r0, 0x58 - muls r0, r2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _080176E8 - ldr r1, _080176E4 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x7] - b _080176F2 - .align 2, 0 -_080176AC: .4byte gBattleMons -_080176B0: .4byte gBattleBufferB -_080176B4: .4byte gActiveBattler -_080176B8: .4byte gBattleStruct -_080176BC: .4byte gDisableStructs -_080176C0: .4byte gBattleScripting -_080176C4: .4byte gCurrentMove -_080176C8: .4byte gSelectionBattleScripts -_080176CC: .4byte BattleScript_SelectingDisabledMove -_080176D0: .4byte gLastUsedMove -_080176D4: .4byte BattleScript_SelectingTormentedMove -_080176D8: .4byte gBattleMoves -_080176DC: .4byte BattleScript_SelectingNotAllowedMoveTaunt -_080176E0: .4byte BattleScript_SelectingImprisonedMove -_080176E4: .4byte gEnigmaBerries -_080176E8: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r3, r0, 24 -_080176F2: - ldr r2, _08017774 @ =gPotentialItemEffectBattler - ldr r1, _08017778 @ =gActiveBattler - ldrb r0, [r1] - strb r0, [r2] - ldr r7, _0801777C @ =gBattleMons - adds r5, r1, 0 - cmp r3, 0x1D - bne _0801773A - mov r0, r8 - ldrh r1, [r0] - adds r2, r1, 0 - cmp r2, 0 - beq _0801773A - ldr r0, _08017780 @ =0x0000ffff - cmp r2, r0 - beq _0801773A - cmp r2, r4 - beq _0801773A - ldr r0, _08017784 @ =gCurrentMove - strh r1, [r0] - ldr r2, _08017788 @ =gLastUsedItem - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - ldrh r0, [r0, 0x2E] - strh r0, [r2] - ldr r1, _0801778C @ =gSelectionBattleScripts - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08017790 @ =BattleScript_SelectingNotAllowedMoveChoiceItem - str r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0801773A: - ldr r0, _08017794 @ =gBattleBufferB - ldrb r2, [r5] - lsls r1, r2, 9 - adds r0, 0x2 - adds r1, r0 - movs r0, 0x58 - muls r0, r2 - ldrb r1, [r1] - adds r0, r1 - adds r1, r7, 0 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08017768 - ldr r1, _0801778C @ =gSelectionBattleScripts - lsls r0, r2, 2 - adds r0, r1 - ldr r1, _08017798 @ =BattleScript_SelectingMoveWithNoPP - str r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08017768: - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08017774: .4byte gPotentialItemEffectBattler -_08017778: .4byte gActiveBattler -_0801777C: .4byte gBattleMons -_08017780: .4byte 0x0000ffff -_08017784: .4byte gCurrentMove -_08017788: .4byte gLastUsedItem -_0801778C: .4byte gSelectionBattleScripts -_08017790: .4byte BattleScript_SelectingNotAllowedMoveChoiceItem -_08017794: .4byte gBattleBufferB -_08017798: .4byte BattleScript_SelectingMoveWithNoPP - thumb_func_end TrySetCantSelectMoveBattleScript - - thumb_func_start CheckMoveLimitations -CheckMoveLimitations: @ 801779C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r3, r2, 24 - ldr r1, _080177E0 @ =gBattleStruct - lsls r0, r7, 1 - adds r0, 0xC8 - ldr r1, [r1] - adds r1, r0 - str r1, [sp, 0x4] - ldr r1, _080177E4 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r1, r0, r1 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _080177EC - ldr r2, _080177E8 @ =gEnigmaBerries - lsls r1, r7, 3 - subs r0, r1, r7 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x7] - str r0, [sp] - b _080177FE - .align 2, 0 -_080177E0: .4byte gBattleStruct -_080177E4: .4byte gBattleMons -_080177E8: .4byte gEnigmaBerries -_080177EC: - ldrh r0, [r1, 0x2E] - str r3, [sp, 0x14] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r1, r7, 3 - ldr r3, [sp, 0x14] -_080177FE: - ldr r0, _08017978 @ =gPotentialItemEffectBattler - strb r7, [r0] - movs r0, 0 - mov r9, r0 - lsls r2, r7, 1 - str r2, [sp, 0xC] - ldr r5, _0801797C @ =gDisableStructs - mov r12, r5 - ldr r0, _08017980 @ =gBattleMons - movs r2, 0x58 - adds r6, r7, 0 - muls r6, r2 - str r6, [sp, 0x8] - ldr r2, _08017984 @ =gUnknown_2023BF0 - adds r5, r6, r2 - movs r6, 0 - str r6, [sp, 0x10] - mov r10, r0 - subs r0, r1, r7 - lsls r0, 2 - mov r8, r0 - ldr r6, _08017988 @ =gBitTable -_0801782A: - ldrh r0, [r5] - cmp r0, 0 - bne _08017840 - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _08017840 - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08017840: - ldr r0, [sp, 0x8] - add r0, r9 - mov r1, r10 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08017860 - movs r0, 0x2 - ands r0, r3 - cmp r0, 0 - beq _08017860 - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08017860: - mov r1, r8 - add r1, r12 - ldrh r0, [r5] - ldrh r1, [r1, 0x4] - cmp r0, r1 - bne _0801787C - movs r0, 0x4 - ands r0, r3 - cmp r0, 0 - beq _0801787C - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_0801787C: - movs r0, 0x58 - adds r2, r7, 0 - muls r2, r0 - ldr r1, [sp, 0x10] - adds r0, r1, r2 - ldr r1, _08017984 @ =gUnknown_2023BF0 - adds r0, r1 - mov r12, r0 - ldr r1, _0801798C @ =gLastUsedMove - ldr r0, [sp, 0xC] - adds r1, r0, r1 - str r1, [sp, 0x18] - mov r1, r12 - ldrh r1, [r1] - mov r12, r1 - ldr r0, [sp, 0x18] - ldrh r0, [r0] - cmp r12, r0 - bne _080178BE - movs r0, 0x8 - ands r0, r3 - cmp r0, 0 - beq _080178BE - mov r0, r10 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - bge _080178BE - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080178BE: - ldr r0, _0801797C @ =gDisableStructs - add r0, r8 - ldrb r0, [r0, 0x13] - lsls r0, 28 - cmp r0, 0 - beq _080178EC - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _080178EC - ldr r2, _08017990 @ =gBattleMoves - ldrh r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _080178EC - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_080178EC: - ldrh r1, [r5] - adds r0, r7, 0 - str r3, [sp, 0x14] - bl GetImprisonedMovesCount - lsls r0, 24 - ldr r3, [sp, 0x14] - cmp r0, 0 - beq _0801790E - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0801790E - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_0801790E: - ldr r1, _0801797C @ =gDisableStructs - mov r0, r8 - adds r2, r0, r1 - ldrb r0, [r2, 0xE] - lsls r0, 28 - mov r12, r1 - cmp r0, 0 - beq _0801792E - ldrh r0, [r2, 0x6] - ldrh r1, [r5] - cmp r0, r1 - beq _0801792E - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_0801792E: - ldr r2, [sp] - cmp r2, 0x1D - bne _08017950 - ldr r0, [sp, 0x4] - ldrh r1, [r0] - cmp r1, 0 - beq _08017950 - ldr r0, _08017994 @ =0x0000ffff - cmp r1, r0 - beq _08017950 - ldrh r2, [r5] - cmp r1, r2 - beq _08017950 - ldr r0, [r6] - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08017950: - adds r6, 0x4 - adds r5, 0x2 - ldr r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x10] - movs r1, 0x1 - add r9, r1 - mov r2, r9 - cmp r2, 0x3 - bgt _08017966 - b _0801782A -_08017966: - adds r0, r4, 0 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08017978: .4byte gPotentialItemEffectBattler -_0801797C: .4byte gDisableStructs -_08017980: .4byte gBattleMons -_08017984: .4byte gUnknown_2023BF0 -_08017988: .4byte gBitTable -_0801798C: .4byte gLastUsedMove -_08017990: .4byte gBattleMoves -_08017994: .4byte 0x0000ffff - thumb_func_end CheckMoveLimitations - - thumb_func_start AreAllMovesUnusable -AreAllMovesUnusable: @ 8017998 - push {r4-r6,lr} - ldr r5, _08017A04 @ =gActiveBattler - ldrb r0, [r5] - movs r1, 0 - movs r2, 0xFF - bl CheckMoveLimitations - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bne _08017A40 - ldr r0, _08017A08 @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08017A0C @ =gSelectionBattleScripts - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08017A10 @ =gUnknown_81D8EA0 - str r1, [r0] - ldr r0, _08017A14 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08017A1C - ldrb r0, [r5] - bl GetBattlerPosition - adds r4, r0, 0 - bl Random - movs r1, 0x1 - eors r4, r1 - movs r1, 0x2 - ands r1, r0 - orrs r4, r1 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBattlerAtPosition - ldr r2, _08017A18 @ =gBattleBufferB - ldrb r1, [r5] - lsls r1, 9 - adds r2, 0x3 - adds r1, r2 - b _08017A50 - .align 2, 0 -_08017A04: .4byte gActiveBattler -_08017A08: .4byte gProtectStructs -_08017A0C: .4byte gSelectionBattleScripts -_08017A10: .4byte gUnknown_81D8EA0 -_08017A14: .4byte gBattleTypeFlags -_08017A18: .4byte gBattleBufferB -_08017A1C: - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r2, _08017A3C @ =gBattleBufferB - ldrb r1, [r5] - lsls r1, 9 - adds r2, 0x3 - adds r1, r2 - b _08017A50 - .align 2, 0 -_08017A3C: .4byte gBattleBufferB -_08017A40: - ldr r0, _08017A60 @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 -_08017A50: - strb r0, [r1] - movs r0, 0 - cmp r6, 0xF - bne _08017A5A - movs r0, 0x1 -_08017A5A: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08017A60: .4byte gProtectStructs - thumb_func_end AreAllMovesUnusable - - thumb_func_start GetImprisonedMovesCount -GetImprisonedMovesCount: @ 8017A64 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - movs r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r4, 0 - ldr r0, _08017AF8 @ =gBattlersCount - ldrb r0, [r0] - cmp r6, r0 - bge _08017AE8 - ldr r7, _08017AFC @ =gUnknown_2023BF0 - mov r8, r7 -_08017A8E: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - adds r3, r4, 0x1 - cmp r9, r0 - beq _08017ADE - ldr r1, _08017B00 @ =gStatuses3 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _08017ADE - movs r2, 0 - movs r0, 0x58 - adds r1, r4, 0 - muls r1, r0 - adds r0, r1, r7 - ldrh r0, [r0] - cmp r5, r0 - beq _08017AD4 - mov r4, r8 - adds r0, r1, r4 -_08017AC6: - adds r0, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - bgt _08017ADE - ldrh r1, [r0] - cmp r5, r1 - bne _08017AC6 -_08017AD4: - cmp r2, 0x3 - bgt _08017ADE - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08017ADE: - adds r4, r3, 0 - ldr r0, _08017AF8 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - blt _08017A8E -_08017AE8: - adds r0, r6, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08017AF8: .4byte gBattlersCount -_08017AFC: .4byte gUnknown_2023BF0 -_08017B00: .4byte gStatuses3 - thumb_func_end GetImprisonedMovesCount - - thumb_func_start DoFieldEndTurnEffects -DoFieldEndTurnEffects: @ 8017B04 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r9, r0 - ldr r1, _08017BA8 @ =gBattlerAttacker - mov r2, r9 - strb r2, [r1] - ldr r0, _08017BAC @ =gBattlersCount - ldrb r4, [r0] - adds r6, r1, 0 - mov r10, r0 - ldr r7, _08017BB0 @ =gBattlerTarget - ldr r3, _08017BB4 @ =gBattleStruct - mov r12, r3 - cmp r9, r4 - bcs _08017B58 - ldr r2, _08017BB8 @ =gAbsentBattlerFlags - ldrb r1, [r2] - ldr r5, _08017BBC @ =gBitTable - ldr r0, [r5] - ands r1, r0 - cmp r1, 0 - beq _08017B58 - adds r3, r6, 0 -_08017B3A: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcs _08017B58 - ldrb r0, [r2] - ldrb r1, [r6] - lsls r1, 2 - adds r1, r5 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _08017B3A -_08017B58: - movs r0, 0 - strb r0, [r7] - mov r0, r10 - ldrb r4, [r0] - cmp r4, 0 - beq _08017B92 - ldr r2, _08017BB8 @ =gAbsentBattlerFlags - ldrb r1, [r2] - ldr r5, _08017BBC @ =gBitTable - ldr r0, [r5] - ands r1, r0 - cmp r1, 0 - beq _08017B92 - adds r3, r7, 0 -_08017B74: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcs _08017B92 - ldrb r0, [r2] - ldrb r1, [r7] - lsls r1, 2 - adds r1, r5 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _08017B74 -_08017B92: - mov r1, r12 - ldr r0, [r1] - ldrb r0, [r0, 0x3] - cmp r0, 0xA - bls _08017B9E - b _0801822A -_08017B9E: - lsls r0, 2 - ldr r1, _08017BC0 @ =_08017BC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08017BA8: .4byte gBattlerAttacker -_08017BAC: .4byte gBattlersCount -_08017BB0: .4byte gBattlerTarget -_08017BB4: .4byte gBattleStruct -_08017BB8: .4byte gAbsentBattlerFlags -_08017BBC: .4byte gBitTable -_08017BC0: .4byte _08017BC4 - .align 2, 0 -_08017BC4: - .4byte _08017BF0 - .4byte _08017C76 - .4byte _08017D3C - .4byte _08017E08 - .4byte _08017EE4 - .4byte _08017F9C - .4byte _08018050 - .4byte _080180D4 - .4byte _08018144 - .4byte _0801819C - .4byte _08018220 -_08017BF0: - movs r5, 0 - ldr r1, _08017C10 @ =gBattlersCount - mov r10, r1 - ldrb r2, [r1] - cmp r5, r2 - bge _08017C0A - ldr r2, _08017C14 @ =gBattlerByTurnOrder -_08017BFE: - adds r0, r5, r2 - strb r5, [r0] - adds r5, 0x1 - ldrb r3, [r1] - cmp r5, r3 - blt _08017BFE -_08017C0A: - movs r5, 0 - b _08017C58 - .align 2, 0 -_08017C10: .4byte gBattlersCount -_08017C14: .4byte gBattlerByTurnOrder -_08017C18: - adds r4, r5, 0x1 - adds r6, r4, 0 - ldrb r1, [r1] - cmp r6, r1 - bge _08017C56 - ldr r7, _08017D14 @ =gBattlerByTurnOrder - ldr r0, _08017D18 @ =gBattlersCount - mov r10, r0 - lsls r1, r5, 24 - mov r8, r1 -_08017C2C: - adds r0, r5, r7 - ldrb r0, [r0] - adds r1, r4, r7 - ldrb r1, [r1] - movs r2, 0 - bl GetWhoStrikesFirst - lsls r0, 24 - cmp r0, 0 - beq _08017C4C - lsls r1, r4, 24 - lsrs r1, 24 - mov r2, r8 - lsrs r0, r2, 24 - bl SwapTurnOrder -_08017C4C: - adds r4, 0x1 - ldr r0, _08017D18 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - blt _08017C2C -_08017C56: - adds r5, r6, 0 -_08017C58: - mov r1, r10 - ldrb r0, [r1] - subs r0, 0x1 - cmp r5, r0 - blt _08017C18 - ldr r2, _08017D1C @ =gBattleStruct - ldr r1, [r2] - ldrb r0, [r1, 0x3] - adds r0, 0x1 - strb r0, [r1, 0x3] - ldr r0, [r2] - adds r0, 0xDB - movs r1, 0 - strb r1, [r0] - mov r12, r2 -_08017C76: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bls _08017C84 - b _08017F60 -_08017C84: - ldr r3, _08017D20 @ =gActiveBattler - mov r8, r3 - movs r7, 0 - ldr r6, _08017D24 @ =gBattlerAttacker - ldr r5, _08017D28 @ =gBattleTextBuff1 -_08017C8E: - ldr r0, [r1] - adds r0, 0xDB - ldrb r4, [r0] - ldr r2, _08017D2C @ =gSideTimers - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x1] - strb r0, [r6] - mov r3, r8 - strb r0, [r3] - ldr r0, _08017D30 @ =gSideStatuses - adds r3, r1, r0 - ldrh r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08017CF0 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] - movs r4, 0xFF - lsls r0, 24 - cmp r0, 0 - bne _08017CF0 - ldrh r0, [r3] - ldr r2, _08017D34 @ =0x0000fffe - adds r1, r2, 0 - ands r0, r1 - strh r0, [r3] - ldr r0, _08017D38 @ =BattleScript_SideStatusWoreOff - bl BattleScriptExecute - movs r0, 0xFD - strb r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x1] - movs r0, 0x73 - strb r0, [r5, 0x2] - strb r7, [r5, 0x3] - ldrb r0, [r5, 0x4] - orrs r0, r4 - strb r0, [r5, 0x4] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08017CF0: - ldr r2, _08017D1C @ =gBattleStruct - ldr r1, [r2] - adds r1, 0xDB - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r12, r2 - mov r3, r9 - cmp r3, 0 - beq _08017D06 - b _08018232 -_08017D06: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bls _08017C8E - b _08017F60 - .align 2, 0 -_08017D14: .4byte gBattlerByTurnOrder -_08017D18: .4byte gBattlersCount -_08017D1C: .4byte gBattleStruct -_08017D20: .4byte gActiveBattler -_08017D24: .4byte gBattlerAttacker -_08017D28: .4byte gBattleTextBuff1 -_08017D2C: .4byte gSideTimers -_08017D30: .4byte gSideStatuses -_08017D34: .4byte 0x0000fffe -_08017D38: .4byte BattleScript_SideStatusWoreOff -_08017D3C: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bls _08017D4A - b _08017EA4 -_08017D4A: - movs r0, 0x2 - mov r10, r0 - movs r2, 0 - mov r8, r2 - ldr r7, _08017DE4 @ =gBattlerAttacker - ldr r5, _08017DE8 @ =gBattleTextBuff1 -_08017D56: - ldr r0, [r1] - adds r0, 0xDB - ldrb r4, [r0] - ldr r2, _08017DEC @ =gSideTimers - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x3] - strb r0, [r7] - ldr r3, _08017DF0 @ =gActiveBattler - strb r0, [r3] - ldr r0, _08017DF4 @ =gSideStatuses - adds r3, r1, r0 - ldrh r1, [r3] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08017DBE - ldrb r0, [r2, 0x2] - subs r0, 0x1 - strb r0, [r2, 0x2] - movs r6, 0xFF - lsls r0, 24 - cmp r0, 0 - bne _08017DBE - ldrh r0, [r3] - ldr r2, _08017DF8 @ =0x0000fffd - adds r1, r2, 0 - ands r0, r1 - strh r0, [r3] - ldr r0, _08017DFC @ =BattleScript_SideStatusWoreOff - bl BattleScriptExecute - ldr r0, _08017E00 @ =gBattleCommunication - strb r4, [r0, 0x5] - movs r0, 0xFD - strb r0, [r5] - mov r3, r10 - strb r3, [r5, 0x1] - movs r0, 0x71 - strb r0, [r5, 0x2] - mov r0, r8 - strb r0, [r5, 0x3] - ldrb r0, [r5, 0x4] - orrs r0, r6 - strb r0, [r5, 0x4] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08017DBE: - ldr r2, _08017E04 @ =gBattleStruct - ldr r1, [r2] - adds r1, 0xDB - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r12, r2 - mov r1, r9 - cmp r1, 0 - beq _08017DD4 - b _08018232 -_08017DD4: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bls _08017D56 - b _08017EA4 - .align 2, 0 -_08017DE4: .4byte gBattlerAttacker -_08017DE8: .4byte gBattleTextBuff1 -_08017DEC: .4byte gSideTimers -_08017DF0: .4byte gActiveBattler -_08017DF4: .4byte gSideStatuses -_08017DF8: .4byte 0x0000fffd -_08017DFC: .4byte BattleScript_SideStatusWoreOff -_08017E00: .4byte gBattleCommunication -_08017E04: .4byte gBattleStruct -_08017E08: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bhi _08017EA4 - ldr r0, _08017EC0 @ =gActiveBattler - mov r10, r0 - movs r2, 0 - mov r8, r2 - ldr r7, _08017EC4 @ =gBattlerAttacker - ldr r5, _08017EC8 @ =gBattleTextBuff1 -_08017E20: - ldr r0, [r1] - adds r0, 0xDB - ldrb r4, [r0] - ldr r1, _08017ECC @ =gSideTimers - lsls r3, r4, 1 - adds r0, r3, r4 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x5] - strb r0, [r7] - mov r2, r10 - strb r0, [r2] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08017E82 - subs r0, 0x1 - strb r0, [r1, 0x4] - movs r6, 0xFF - lsls r0, 24 - cmp r0, 0 - bne _08017E82 - ldr r2, _08017ED0 @ =gSideStatuses - adds r2, r3, r2 - ldrh r0, [r2] - ldr r3, _08017ED4 @ =0x0000feff - adds r1, r3, 0 - ands r0, r1 - strh r0, [r2] - ldr r0, _08017ED8 @ =BattleScript_SideStatusWoreOff - bl BattleScriptExecute - ldr r0, _08017EDC @ =gBattleCommunication - strb r4, [r0, 0x5] - movs r0, 0xFD - strb r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x1] - movs r0, 0x36 - strb r0, [r5, 0x2] - mov r0, r8 - strb r0, [r5, 0x3] - ldrb r0, [r5, 0x4] - orrs r0, r6 - strb r0, [r5, 0x4] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08017E82: - ldr r2, _08017EE0 @ =gBattleStruct - ldr r1, [r2] - adds r1, 0xDB - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r12, r2 - mov r1, r9 - cmp r1, 0 - beq _08017E98 - b _08018232 -_08017E98: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bls _08017E20 -_08017EA4: - mov r2, r9 - cmp r2, 0 - beq _08017EAC - b _08018232 -_08017EAC: - mov r3, r12 - ldr r0, [r3] - ldrb r1, [r0, 0x3] - adds r1, 0x1 - strb r1, [r0, 0x3] - ldr r0, [r3] - adds r0, 0xDB - strb r2, [r0] - b _0801822A - .align 2, 0 -_08017EC0: .4byte gActiveBattler -_08017EC4: .4byte gBattlerAttacker -_08017EC8: .4byte gBattleTextBuff1 -_08017ECC: .4byte gSideTimers -_08017ED0: .4byte gSideStatuses -_08017ED4: .4byte 0x0000feff -_08017ED8: .4byte BattleScript_SideStatusWoreOff -_08017EDC: .4byte gBattleCommunication -_08017EE0: .4byte gBattleStruct -_08017EE4: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bhi _08017F60 - ldr r6, _08017F80 @ =gActiveBattler - ldr r5, _08017F84 @ =gBattlerAttacker -_08017EF4: - ldr r0, [r1] - adds r0, 0xDB - ldrb r4, [r0] - ldr r2, _08017F88 @ =gSideTimers - lsls r1, r4, 1 - adds r0, r1, r4 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x7] - strb r0, [r5] - strb r0, [r6] - ldr r0, _08017F8C @ =gSideStatuses - adds r3, r1, r0 - ldrh r1, [r3] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08017F3E - ldrb r0, [r2, 0x6] - subs r0, 0x1 - strb r0, [r2, 0x6] - lsls r0, 24 - cmp r0, 0 - bne _08017F3E - ldrh r0, [r3] - ldr r2, _08017F90 @ =0x0000ffdf - adds r1, r2, 0 - ands r0, r1 - strh r0, [r3] - ldr r0, _08017F94 @ =BattleScript_SafeguardEnds - bl BattleScriptExecute - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08017F3E: - ldr r2, _08017F98 @ =gBattleStruct - ldr r1, [r2] - adds r1, 0xDB - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r12, r2 - mov r3, r9 - cmp r3, 0 - beq _08017F54 - b _08018232 -_08017F54: - mov r1, r12 - ldr r0, [r1] - adds r0, 0xDB - ldrb r0, [r0] - cmp r0, 0x1 - bls _08017EF4 -_08017F60: - mov r0, r9 - cmp r0, 0 - beq _08017F68 - b _08018232 -_08017F68: - mov r1, r12 - ldr r0, [r1] - ldrb r1, [r0, 0x3] - adds r1, 0x1 - strb r1, [r0, 0x3] - mov r2, r12 - ldr r0, [r2] - adds r0, 0xDB - mov r3, r9 - strb r3, [r0] - b _0801822A - .align 2, 0 -_08017F80: .4byte gActiveBattler -_08017F84: .4byte gBattlerAttacker -_08017F88: .4byte gSideTimers -_08017F8C: .4byte gSideStatuses -_08017F90: .4byte 0x0000ffdf -_08017F94: .4byte BattleScript_SafeguardEnds -_08017F98: .4byte gBattleStruct -_08017F9C: - mov r2, r12 - ldr r0, [r2] - adds r0, 0xDB - ldr r1, _08018030 @ =gBattlersCount - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _0801801C - ldr r4, _08018034 @ =gActiveBattler - ldr r5, _08018038 @ =gBattlerByTurnOrder -_08017FB0: - ldr r0, [r2] - adds r0, 0xDB - ldrb r0, [r0] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r4] - ldr r0, _0801803C @ =gWishFutureKnock - adds r0, 0x20 - ldrb r2, [r4] - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _08017FF8 - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _08017FF8 - ldr r1, _08018040 @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08017FF8 - ldr r0, _08018044 @ =gBattlerTarget - strb r2, [r0] - ldr r0, _08018048 @ =BattleScript_WishComesTrue - bl BattleScriptExecute - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08017FF8: - ldr r2, _0801804C @ =gBattleStruct - ldr r1, [r2] - adds r1, 0xDB - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r12, r2 - mov r3, r9 - cmp r3, 0 - beq _0801800E - b _08018232 -_0801800E: - ldr r0, [r2] - adds r0, 0xDB - ldr r1, _08018030 @ =gBattlersCount - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcc _08017FB0 -_0801801C: - mov r0, r9 - cmp r0, 0 - beq _08018024 - b _08018232 -_08018024: - mov r2, r12 - ldr r1, [r2] - ldrb r0, [r1, 0x3] - adds r0, 0x1 - strb r0, [r1, 0x3] - b _0801822A - .align 2, 0 -_08018030: .4byte gBattlersCount -_08018034: .4byte gActiveBattler -_08018038: .4byte gBattlerByTurnOrder -_0801803C: .4byte gWishFutureKnock -_08018040: .4byte gBattleMons -_08018044: .4byte gBattlerTarget -_08018048: .4byte BattleScript_WishComesTrue -_0801804C: .4byte gBattleStruct -_08018050: - ldr r3, _08018088 @ =gBattleWeather - ldrh r2, [r3] - movs r0, 0x7 - ands r0, r2 - cmp r0, 0 - bne _0801805E - b _080181FC -_0801805E: - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - bne _080180AA - ldr r1, _0801808C @ =gWishFutureKnock - adds r1, 0x28 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _0801809C - ldr r0, _08018090 @ =0x0000fffe - ands r0, r2 - ldr r1, _08018094 @ =0x0000fffd - ands r0, r1 - strh r0, [r3] - ldr r1, _08018098 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _080180C8 - .align 2, 0 -_08018088: .4byte gBattleWeather -_0801808C: .4byte gWishFutureKnock -_08018090: .4byte 0x0000fffe -_08018094: .4byte 0x0000fffd -_08018098: .4byte gBattleCommunication -_0801809C: - movs r0, 0x2 - ands r0, r2 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080180B6 - b _080180C4 -_080180AA: - movs r0, 0x2 - ands r0, r2 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _080180C4 -_080180B6: - ldr r1, _080180C0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _080180C8 - .align 2, 0 -_080180C0: .4byte gBattleCommunication -_080180C4: - ldr r0, _080180CC @ =gBattleCommunication - strb r1, [r0, 0x5] -_080180C8: - ldr r0, _080180D0 @ =BattleScript_RainContinuesOrEnds - b _080181EE - .align 2, 0 -_080180CC: .4byte gBattleCommunication -_080180D0: .4byte BattleScript_RainContinuesOrEnds -_080180D4: - ldr r3, _08018108 @ =gBattleWeather - ldrh r2, [r3] - movs r0, 0x18 - ands r0, r2 - cmp r0, 0 - bne _080180E2 - b _080181FC -_080180E2: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _0801811C - ldr r1, _0801810C @ =gWishFutureKnock - adds r1, 0x28 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _0801811C - ldr r0, _08018110 @ =0x0000fff7 - ands r0, r2 - strh r0, [r3] - ldr r1, _08018114 @ =gBattlescriptCurrInstr - ldr r0, _08018118 @ =BattleScript_SandStormHailEnds - b _08018120 - .align 2, 0 -_08018108: .4byte gBattleWeather -_0801810C: .4byte gWishFutureKnock -_08018110: .4byte 0x0000fff7 -_08018114: .4byte gBattlescriptCurrInstr -_08018118: .4byte BattleScript_SandStormHailEnds -_0801811C: - ldr r1, _08018134 @ =gBattlescriptCurrInstr - ldr r0, _08018138 @ =BattleScript_DamagingWeatherContinues -_08018120: - str r0, [r1] - adds r3, r1, 0 - ldr r1, _0801813C @ =gBattleScripting - movs r2, 0 - movs r0, 0xC - strb r0, [r1, 0x10] - ldr r0, _08018140 @ =gBattleCommunication - strb r2, [r0, 0x5] - b _080181EC - .align 2, 0 -_08018134: .4byte gBattlescriptCurrInstr -_08018138: .4byte BattleScript_DamagingWeatherContinues -_0801813C: .4byte gBattleScripting -_08018140: .4byte gBattleCommunication -_08018144: - ldr r3, _08018174 @ =gBattleWeather - ldrh r2, [r3] - movs r0, 0x60 - ands r0, r2 - cmp r0, 0 - beq _080181FC - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - bne _08018188 - ldr r1, _08018178 @ =gWishFutureKnock - adds r1, 0x28 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _08018188 - ldr r0, _0801817C @ =0x0000ffdf - ands r0, r2 - strh r0, [r3] - ldr r1, _08018180 @ =gBattlescriptCurrInstr - ldr r0, _08018184 @ =BattleScript_SunlightFaded - b _0801818C - .align 2, 0 -_08018174: .4byte gBattleWeather -_08018178: .4byte gWishFutureKnock -_0801817C: .4byte 0x0000ffdf -_08018180: .4byte gBattlescriptCurrInstr -_08018184: .4byte BattleScript_SunlightFaded -_08018188: - ldr r1, _08018194 @ =gBattlescriptCurrInstr - ldr r0, _08018198 @ =BattleScript_SunlightContinues -_0801818C: - str r0, [r1] - adds r3, r1, 0 - b _080181EC - .align 2, 0 -_08018194: .4byte gBattlescriptCurrInstr -_08018198: .4byte BattleScript_SunlightContinues -_0801819C: - ldr r3, _080181C4 @ =gBattleWeather - ldrh r2, [r3] - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080181FC - ldr r1, _080181C8 @ =gWishFutureKnock - adds r1, 0x28 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _080181D8 - ldr r0, _080181CC @ =0x0000ff7f - ands r0, r2 - strh r0, [r3] - ldr r1, _080181D0 @ =gBattlescriptCurrInstr - ldr r0, _080181D4 @ =BattleScript_SandStormHailEnds - b _080181DC - .align 2, 0 -_080181C4: .4byte gBattleWeather -_080181C8: .4byte gWishFutureKnock -_080181CC: .4byte 0x0000ff7f -_080181D0: .4byte gBattlescriptCurrInstr -_080181D4: .4byte BattleScript_SandStormHailEnds -_080181D8: - ldr r1, _0801820C @ =gBattlescriptCurrInstr - ldr r0, _08018210 @ =BattleScript_DamagingWeatherContinues -_080181DC: - str r0, [r1] - adds r3, r1, 0 - ldr r1, _08018214 @ =gBattleScripting - movs r0, 0xD - strb r0, [r1, 0x10] - ldr r1, _08018218 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_080181EC: - ldr r0, [r3] -_080181EE: - bl BattleScriptExecute - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080181FC: - ldr r2, _0801821C @ =gBattleStruct - ldr r1, [r2] - ldrb r0, [r1, 0x3] - adds r0, 0x1 - strb r0, [r1, 0x3] - mov r12, r2 - b _0801822A - .align 2, 0 -_0801820C: .4byte gBattlescriptCurrInstr -_08018210: .4byte BattleScript_DamagingWeatherContinues -_08018214: .4byte gBattleScripting -_08018218: .4byte gBattleCommunication -_0801821C: .4byte gBattleStruct -_08018220: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0801822A: - mov r3, r9 - cmp r3, 0 - bne _08018232 - b _08017B92 -_08018232: - ldr r0, _08018250 @ =gBattleMainFunc - ldr r1, [r0] - ldr r0, _08018254 @ =BattleTurnPassed - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08018250: .4byte gBattleMainFunc -_08018254: .4byte BattleTurnPassed - thumb_func_end DoFieldEndTurnEffects - - thumb_func_start DoBattlerEndTurnEffects -DoBattlerEndTurnEffects: @ 8018258 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r9, r0 - ldr r2, _0801828C @ =gHitMarker - ldr r0, [r2] - ldr r1, _08018290 @ =0x01000020 - orrs r0, r1 - str r0, [r2] - ldr r5, _08018294 @ =gBattleStruct - ldr r2, [r5] - ldr r0, _08018298 @ =gBattlersCount - ldrb r1, [r2, 0x1] - adds r7, r5, 0 - mov r8, r0 - ldrb r3, [r0] - cmp r1, r3 - bcc _08018288 - bl _08018C6C -_08018288: - bl _08018C62 - .align 2, 0 -_0801828C: .4byte gHitMarker -_08018290: .4byte 0x01000020 -_08018294: .4byte gBattleStruct -_08018298: .4byte gBattlersCount -_0801829C: - ldr r3, _080182D0 @ =gActiveBattler - ldr r4, _080182D4 @ =gBattlerAttacker - ldr r1, _080182D8 @ =gBattlerByTurnOrder - ldr r5, [r5] - ldrb r0, [r5, 0x1] - adds r0, r1 - ldrb r0, [r0] - strb r0, [r4] - strb r0, [r3] - ldr r0, _080182DC @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _080182E0 @ =gBitTable - ldrb r0, [r3] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - adds r6, r3, 0 - cmp r1, 0 - beq _080182E4 - ldrb r0, [r5, 0x1] - adds r0, 0x1 - strb r0, [r5, 0x1] - bl _08018C50 - .align 2, 0 -_080182D0: .4byte gActiveBattler -_080182D4: .4byte gBattlerAttacker -_080182D8: .4byte gBattlerByTurnOrder -_080182DC: .4byte gAbsentBattlerFlags -_080182E0: .4byte gBitTable -_080182E4: - ldrb r0, [r5] - cmp r0, 0x13 - bls _080182EE - bl _08018C46 -_080182EE: - lsls r0, 2 - ldr r1, _080182F8 @ =_080182FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080182F8: .4byte _080182FC - .align 2, 0 -_080182FC: - .4byte _0801834C - .4byte _080183AC - .4byte _080183CA - .4byte _080183FA - .4byte _08018478 - .4byte _080184C0 - .4byte _08018540 - .4byte _08018588 - .4byte _080185EC - .4byte _08018634 - .4byte _08018794 - .4byte _080188B0 - .4byte _08018958 - .4byte _08018A1C - .4byte _08018AD0 - .4byte _08018AF0 - .4byte _08018B3C - .4byte _08018B6C - .4byte _080183E2 - .4byte _08018C38 -_0801834C: - ldr r1, _0801839C @ =gStatuses3 - ldrb r3, [r6] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - bne _08018364 - bl _08018C12 -_08018364: - ldr r0, _080183A0 @ =gBattleMons - movs r1, 0x58 - muls r1, r3 - adds r0, r1, r0 - ldrh r2, [r0, 0x28] - ldrh r5, [r0, 0x2C] - cmp r2, r5 - bne _08018378 - bl _08018C12 -_08018378: - cmp r2, 0 - bne _08018380 - bl _08018C12 -_08018380: - ldr r1, _080183A4 @ =gBattleMoveDamage - ldrh r0, [r0, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _08018390 - movs r0, 0x1 - str r0, [r1] -_08018390: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldr r0, _080183A8 @ =BattleScript_IngrainTurnHeal - bl _08018C04 - .align 2, 0 -_0801839C: .4byte gStatuses3 -_080183A0: .4byte gBattleMons -_080183A4: .4byte gBattleMoveDamage -_080183A8: .4byte BattleScript_IngrainTurnHeal -_080183AC: - ldrb r1, [r6] - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080183C6 - bl _08018C12 -_080183C6: - bl _08018C08 -_080183CA: - ldrb r1, [r6] - movs r0, 0x1 - movs r2, 0 - bl ItemBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080183DE - bl _08018C12 -_080183DE: - bl _08018C08 -_080183E2: - ldrb r1, [r6] - movs r0, 0x1 - movs r2, 0x1 - bl ItemBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080183F6 - bl _08018C12 -_080183F6: - bl _08018C08 -_080183FA: - ldr r0, _08018460 @ =gStatuses3 - ldrb r2, [r6] - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08018410 - bl _08018C12 -_08018410: - ldr r3, _08018464 @ =gBattleMons - movs r5, 0x3 - ands r5, r1 - movs r1, 0x58 - adds r0, r5, 0 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08018428 - bl _08018C12 -_08018428: - adds r0, r2, 0 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08018438 - bl _08018C12 -_08018438: - ldr r0, _08018468 @ =gBattlerTarget - strb r5, [r0] - ldr r2, _0801846C @ =gBattleMoveDamage - ldrb r0, [r6] - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x2C] - lsrs r0, 3 - str r0, [r2] - cmp r0, 0 - bne _08018452 - movs r0, 0x1 - str r0, [r2] -_08018452: - ldr r1, _08018470 @ =gBattleScripting - strb r5, [r1, 0x10] - ldrb r0, [r4] - strb r0, [r1, 0x11] - ldr r0, _08018474 @ =BattleScript_LeechSeedTurnDrain - b _08018C04 - .align 2, 0 -_08018460: .4byte gStatuses3 -_08018464: .4byte gBattleMons -_08018468: .4byte gBattlerTarget -_0801846C: .4byte gBattleMoveDamage -_08018470: .4byte gBattleScripting -_08018474: .4byte BattleScript_LeechSeedTurnDrain -_08018478: - ldr r2, _080184B4 @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - adds r3, r1, 0 - muls r3, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08018494 - b _08018C12 -_08018494: - adds r1, r3, r2 - ldrh r0, [r1, 0x28] - cmp r0, 0 - bne _0801849E - b _08018C12 -_0801849E: - ldr r2, _080184B8 @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - lsrs r0, 3 - str r0, [r2] - cmp r0, 0 - bne _080184AE - movs r0, 0x1 - str r0, [r2] -_080184AE: - ldr r0, _080184BC @ =BattleScript_PoisonTurnDmg - b _08018C04 - .align 2, 0 -_080184B4: .4byte gBattleMons -_080184B8: .4byte gBattleMoveDamage -_080184BC: .4byte BattleScript_PoisonTurnDmg -_080184C0: - ldr r4, _08018534 @ =gBattleMons - ldrb r0, [r6] - movs r7, 0x58 - mov r8, r7 - mov r2, r8 - muls r2, r0 - adds r3, r4, 0 - adds r3, 0x4C - adds r0, r2, r3 - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080184DE - b _08018C12 -_080184DE: - adds r1, r2, r4 - ldrh r0, [r1, 0x28] - cmp r0, 0 - bne _080184E8 - b _08018C12 -_080184E8: - ldr r5, _08018538 @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - lsrs r0, 4 - str r0, [r5] - cmp r0, 0 - bne _080184F8 - movs r0, 0x1 - str r0, [r5] -_080184F8: - ldrb r0, [r6] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r2, r0, r3 - ldr r1, [r2] - movs r4, 0xF0 - lsls r4, 4 - adds r0, r1, 0 - ands r0, r4 - cmp r0, r4 - beq _08018518 - movs r7, 0x80 - lsls r7, 1 - adds r0, r1, r7 - str r0, [r2] -_08018518: - ldrb r0, [r6] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r3 - ldr r0, [r0] - ands r0, r4 - lsrs r0, 8 - ldr r1, [r5] - muls r0, r1 - str r0, [r5] - ldr r0, _0801853C @ =BattleScript_PoisonTurnDmg - b _08018C04 - .align 2, 0 -_08018534: .4byte gBattleMons -_08018538: .4byte gBattleMoveDamage -_0801853C: .4byte BattleScript_PoisonTurnDmg -_08018540: - ldr r2, _0801857C @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - adds r3, r1, 0 - muls r3, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0801855C - b _08018C12 -_0801855C: - adds r1, r3, r2 - ldrh r0, [r1, 0x28] - cmp r0, 0 - bne _08018566 - b _08018C12 -_08018566: - ldr r2, _08018580 @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - lsrs r0, 3 - str r0, [r2] - cmp r0, 0 - bne _08018576 - movs r0, 0x1 - str r0, [r2] -_08018576: - ldr r0, _08018584 @ =BattleScript_BurnTurnDmg - b _08018C04 - .align 2, 0 -_0801857C: .4byte gBattleMons -_08018580: .4byte gBattleMoveDamage -_08018584: .4byte BattleScript_BurnTurnDmg -_08018588: - ldr r4, _080185D4 @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - muls r1, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r5, r1, r0 - ldr r2, [r5] - movs r0, 0x80 - lsls r0, 20 - ands r0, r2 - cmp r0, 0 - bne _080185A4 - b _08018C12 -_080185A4: - adds r3, r1, r4 - ldrh r0, [r3, 0x28] - cmp r0, 0 - bne _080185AE - b _08018C12 -_080185AE: - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080185E0 - ldr r1, _080185D8 @ =gBattleMoveDamage - ldrh r0, [r3, 0x2C] - lsrs r0, 2 - str r0, [r1] - cmp r0, 0 - bne _080185CE - movs r0, 0x1 - str r0, [r1] -_080185CE: - ldr r0, _080185DC @ =BattleScript_NightmareTurnDmg - b _08018C04 - .align 2, 0 -_080185D4: .4byte gBattleMons -_080185D8: .4byte gBattleMoveDamage -_080185DC: .4byte BattleScript_NightmareTurnDmg -_080185E0: - ldr r0, _080185E8 @ =0xf7ffffff - ands r2, r0 - str r2, [r5] - b _08018C12 - .align 2, 0 -_080185E8: .4byte 0xf7ffffff -_080185EC: - ldr r2, _08018628 @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - adds r3, r1, 0 - muls r3, r0 - adds r0, r2, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 21 - ands r0, r1 - cmp r0, 0 - bne _0801860A - b _08018C12 -_0801860A: - adds r1, r3, r2 - ldrh r0, [r1, 0x28] - cmp r0, 0 - bne _08018614 - b _08018C12 -_08018614: - ldr r2, _0801862C @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - lsrs r0, 2 - str r0, [r2] - cmp r0, 0 - bne _08018624 - movs r0, 0x1 - str r0, [r2] -_08018624: - ldr r0, _08018630 @ =BattleScript_CurseTurnDmg - b _08018C04 - .align 2, 0 -_08018628: .4byte gBattleMons -_0801862C: .4byte gBattleMoveDamage -_08018630: .4byte BattleScript_CurseTurnDmg -_08018634: - ldr r3, _080186D4 @ =gBattleMons - mov r8, r3 - ldrb r0, [r6] - movs r3, 0x58 - adds r1, r0, 0 - muls r1, r3 - movs r5, 0x50 - add r5, r8 - mov r10, r5 - adds r4, r1, r5 - ldr r2, [r4] - movs r5, 0xE0 - lsls r5, 8 - adds r0, r2, 0 - ands r0, r5 - cmp r0, 0 - bne _08018658 - b _08018C12 -_08018658: - mov r7, r8 - adds r0, r1, r7 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08018664 - b _08018C12 -_08018664: - ldr r1, _080186D8 @ =0xffffe000 - adds r0, r2, r1 - str r0, [r4] - ldrb r4, [r6] - adds r0, r4, 0 - muls r0, r3 - add r0, r10 - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - beq _080186F4 - ldr r1, _080186DC @ =gBattleScripting - ldr r0, _080186E0 @ =gBattleStruct - ldr r2, [r0] - lsls r0, r4, 1 - adds r0, r2 - ldrb r0, [r0, 0x4] - strb r0, [r1, 0x10] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x11] - ldr r1, _080186E4 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0, 0x4] - strb r0, [r1, 0x2] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _080186E8 @ =gBattlescriptCurrInstr - ldr r0, _080186EC @ =BattleScript_WrapTurnDmg - str r0, [r1] - ldr r2, _080186F0 @ =gBattleMoveDamage - ldrb r0, [r6] - muls r0, r3 - add r0, r8 - ldrh r0, [r0, 0x2C] - lsrs r0, 4 - str r0, [r2] - cmp r0, 0 - bne _08018720 - movs r0, 0x1 - str r0, [r2] - b _08018720 - .align 2, 0 -_080186D4: .4byte gBattleMons -_080186D8: .4byte 0xffffe000 -_080186DC: .4byte gBattleScripting -_080186E0: .4byte gBattleStruct -_080186E4: .4byte gBattleTextBuff1 -_080186E8: .4byte gBattlescriptCurrInstr -_080186EC: .4byte BattleScript_WrapTurnDmg -_080186F0: .4byte gBattleMoveDamage -_080186F4: - ldr r2, _08018724 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x2 - strb r0, [r2, 0x1] - ldrb r1, [r6] - ldr r0, _08018728 @ =gBattleStruct - ldr r3, [r0] - lsls r1, 1 - adds r1, r3 - ldrb r0, [r1, 0x4] - strb r0, [r2, 0x2] - ldrb r0, [r6] - lsls r0, 1 - adds r0, r3 - ldrb r0, [r0, 0x5] - strb r0, [r2, 0x3] - movs r0, 0xFF - strb r0, [r2, 0x4] - ldr r1, _0801872C @ =gBattlescriptCurrInstr - ldr r0, _08018730 @ =BattleScript_WrapEnds - str r0, [r1] -_08018720: - ldr r0, [r1] - b _08018C04 - .align 2, 0 -_08018724: .4byte gBattleTextBuff1 -_08018728: .4byte gBattleStruct -_0801872C: .4byte gBattlescriptCurrInstr -_08018730: .4byte BattleScript_WrapEnds -_08018734: - movs r0, 0x8 - negs r0, r0 - ands r3, r0 - str r3, [r2] - ldrb r0, [r6] - mov r2, r8 - muls r2, r0 - mov r0, r10 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - ldr r1, _08018784 @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - ldr r1, _08018788 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - ldr r0, _0801878C @ =BattleScript_MonWokeUpInUproar - bl BattleScriptExecute - ldr r4, _08018790 @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r4] - ldrb r0, [r4] - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - add r0, r9 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _080187FC - .align 2, 0 -_08018784: .4byte 0xf7ffffff -_08018788: .4byte gBattleCommunication -_0801878C: .4byte BattleScript_MonWokeUpInUproar -_08018790: .4byte gActiveBattler -_08018794: - ldr r2, _08018810 @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - muls r0, r1 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x70 - ands r1, r0 - adds r7, r2, 0 - cmp r1, 0 - beq _0801889E - movs r0, 0 - strb r0, [r4] - mov r5, r8 - ldrb r0, [r5] - cmp r0, 0 - beq _080187FC - mov r10, r7 - adds r6, r4, 0 - movs r1, 0x58 - mov r8, r1 - movs r3, 0x4C - adds r3, r7 - mov r9, r3 - str r0, [sp, 0x4] - movs r5, 0x7 - mov r12, r5 -_080187CE: - ldrb r4, [r6] - mov r1, r8 - muls r1, r4 - mov r0, r9 - adds r2, r1, r0 - ldr r3, [r2] - adds r0, r3, 0 - mov r5, r12 - ands r0, r5 - cmp r0, 0 - beq _080187EE - adds r0, r1, r7 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2B - bne _08018734 -_080187EE: - adds r0, r4, 0x1 - strb r0, [r6] - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp, 0x4] - cmp r0, r1 - bcc _080187CE -_080187FC: - ldr r2, _08018814 @ =gBattlerAttacker - ldr r1, _08018818 @ =gBattlersCount - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - beq _0801881C - movs r3, 0x2 - mov r9, r3 - b _08018C4C - .align 2, 0 -_08018810: .4byte gBattleMons -_08018814: .4byte gBattlerAttacker -_08018818: .4byte gBattlersCount -_0801881C: - ldr r5, _08018854 @ =gActiveBattler - ldrb r0, [r5] - strb r0, [r2] - ldr r2, _08018858 @ =gBattleMons - ldrb r0, [r5] - movs r7, 0x58 - adds r1, r0, 0 - muls r1, r7 - adds r6, r2, 0 - adds r6, 0x50 - adds r1, r6 - ldr r0, [r1] - subs r0, 0x10 - str r0, [r1] - ldrb r0, [r5] - bl WasUnableToUseMove - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08018860 - ldrb r0, [r5] - bl CancelMultiTurnMoves - ldr r1, _0801885C @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08018894 - .align 2, 0 -_08018854: .4byte gActiveBattler -_08018858: .4byte gBattleMons -_0801885C: .4byte gBattleCommunication -_08018860: - ldrb r3, [r5] - adds r0, r3, 0 - muls r0, r7 - adds r2, r0, r6 - ldr r0, [r2] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - beq _08018888 - ldr r0, _08018884 @ =gBattleCommunication - strb r4, [r0, 0x5] - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r2] - b _08018894 - .align 2, 0 -_08018884: .4byte gBattleCommunication -_08018888: - ldr r1, _080188A8 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - adds r0, r3, 0 - bl CancelMultiTurnMoves -_08018894: - ldr r0, _080188AC @ =BattleScript_PrintUproarOverTurns - bl BattleScriptExecute - movs r5, 0x1 - mov r9, r5 -_0801889E: - mov r7, r9 - cmp r7, 0x2 - bne _080188A6 - b _08018C46 -_080188A6: - b _08018C12 - .align 2, 0 -_080188A8: .4byte gBattleCommunication -_080188AC: .4byte BattleScript_PrintUproarOverTurns -_080188B0: - ldr r1, _080188E8 @ =gBattleMons - ldrb r0, [r6] - movs r7, 0x58 - muls r0, r7 - adds r5, r1, 0 - adds r5, 0x50 - adds r2, r0, r5 - ldr r1, [r2] - movs r4, 0xC0 - lsls r4, 4 - adds r0, r1, 0 - ands r0, r4 - cmp r0, 0 - bne _080188CE - b _08018C12 -_080188CE: - ldr r3, _080188EC @ =0xfffffc00 - adds r0, r1, r3 - str r0, [r2] - ldrb r0, [r6] - bl WasUnableToUseMove - lsls r0, 24 - cmp r0, 0 - beq _080188F0 - ldrb r0, [r6] - bl CancelMultiTurnMoves - b _08018C12 - .align 2, 0 -_080188E8: .4byte gBattleMons -_080188EC: .4byte 0xfffffc00 -_080188F0: - ldrb r0, [r6] - muls r0, r7 - adds r2, r0, r5 - ldr r1, [r2] - adds r0, r1, 0 - ands r0, r4 - cmp r0, 0 - beq _08018902 - b _08018C12 -_08018902: - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - bne _0801890E - b _08018C12 -_0801890E: - ldr r0, _0801894C @ =0xffffefff - ands r1, r0 - str r1, [r2] - ldrb r0, [r6] - muls r0, r7 - adds r0, r5 - ldr r0, [r0] - movs r4, 0x7 - ands r0, r4 - cmp r0, 0 - beq _08018926 - b _08018C12 -_08018926: - ldr r1, _08018950 @ =gBattleCommunication - movs r0, 0x47 - strb r0, [r1, 0x3] - movs r0, 0x1 - movs r1, 0 - bl SetMoveEffect - ldrb r0, [r6] - muls r0, r7 - adds r0, r5 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - bne _08018944 - b _08018C08 -_08018944: - ldr r0, _08018954 @ =BattleScript_ThrashConfuses - bl BattleScriptExecute - b _08018C08 - .align 2, 0 -_0801894C: .4byte 0xffffefff -_08018950: .4byte gBattleCommunication -_08018954: .4byte BattleScript_ThrashConfuses -_08018958: - ldr r0, _080189D8 @ =gDisableStructs - ldrb r3, [r6] - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r5, r1, r0 - ldrb r1, [r5, 0xB] - lsls r1, 28 - adds r7, r0, 0 - cmp r1, 0 - bne _08018970 - b _08018C12 -_08018970: - movs r4, 0 - ldr r2, _080189DC @ =gBattleMons - movs r0, 0x58 - adds r1, r3, 0 - muls r1, r0 - adds r2, 0xC - adds r1, r2 - ldrh r0, [r5, 0x4] - ldrh r1, [r1] - cmp r0, r1 - beq _080189AE - mov r12, r7 - mov r8, r2 - adds r5, r6, 0 - movs r3, 0x58 -_0801898E: - adds r4, 0x1 - cmp r4, 0x3 - bgt _080189AE - ldrb r2, [r5] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r12 - lsls r0, r4, 1 - muls r2, r3 - adds r0, r2 - add r0, r8 - ldrh r1, [r1, 0x4] - ldrh r0, [r0] - cmp r1, r0 - bne _0801898E -_080189AE: - cmp r4, 0x4 - bne _080189E0 - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - movs r1, 0 - strh r1, [r0, 0x4] - ldrb r0, [r6] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0xB] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - b _08018C12 - .align 2, 0 -_080189D8: .4byte gDisableStructs -_080189DC: .4byte gBattleMons -_080189E0: - ldrb r0, [r6] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r2, r7 - ldrb r3, [r2, 0xB] - lsls r1, r3, 28 - lsrs r1, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0xB] - adds r2, r1, 0 - cmp r2, 0 - beq _08018A08 - b _08018C12 -_08018A08: - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x4] - ldr r0, _08018A18 @ =BattleScript_DisabledNoMore - b _08018C04 - .align 2, 0 -_08018A18: .4byte BattleScript_DisabledNoMore -_08018A1C: - ldr r3, _08018A68 @ =gDisableStructs - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r2, r0, r3 - ldrb r5, [r2, 0xE] - lsls r4, r5, 28 - cmp r4, 0 - bne _08018A32 - b _08018C12 -_08018A32: - ldr r7, _08018A6C @ =gBattleMons - mov r8, r7 - ldrb r0, [r2, 0xC] - lsls r0, 1 - movs r7, 0x58 - muls r1, r7 - adds r0, r1 - mov r1, r8 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - ldrh r1, [r2, 0x6] - cmp r0, r1 - beq _08018A70 - movs r0, 0 - strh r0, [r2, 0x6] - ldrb r0, [r6] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0xE] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xE] - b _08018C12 - .align 2, 0 -_08018A68: .4byte gDisableStructs -_08018A6C: .4byte gBattleMons -_08018A70: - lsrs r1, r4, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r4, 0x10 - negs r4, r4 - adds r0, r4, 0 - ands r0, r5 - orrs r0, r1 - strb r0, [r2, 0xE] - cmp r1, 0 - beq _08018AA6 - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - muls r1, r7 - ldrb r0, [r0, 0xC] - adds r1, r0 - mov r0, r8 - adds r0, 0x24 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _08018AA6 - b _08018C12 -_08018AA6: - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x6] - ldrb r0, [r6] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1, 0xE] - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0xE] - ldr r0, _08018ACC @ =BattleScript_EncoredNoMore - b _08018C04 - .align 2, 0 -_08018ACC: .4byte BattleScript_EncoredNoMore -_08018AD0: - ldr r0, _08018AEC @ =gStatuses3 - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r2, [r1] - movs r0, 0x18 - ands r0, r2 - cmp r0, 0 - beq _08018AE8 - adds r0, r2, 0 - subs r0, 0x8 - str r0, [r1] -_08018AE8: - ldr r1, [r7] - b _08018C16 - .align 2, 0 -_08018AEC: .4byte gStatuses3 -_08018AF0: - ldr r2, _08018B30 @ =gDisableStructs - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r3, r0, r2 - ldrb r2, [r3, 0x12] - lsls r1, r2, 28 - cmp r1, 0 - beq _08018B2A - lsrs r1, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x12] - cmp r1, 0 - bne _08018B2A - ldr r0, _08018B34 @ =gStatuses3 - ldrb r2, [r6] - lsls r2, 2 - adds r2, r0 - ldr r0, [r2] - ldr r1, _08018B38 @ =0xfffffdff - ands r0, r1 - str r0, [r2] -_08018B2A: - ldr r1, [r7] - b _08018C16 - .align 2, 0 -_08018B30: .4byte gDisableStructs -_08018B34: .4byte gStatuses3 -_08018B38: .4byte 0xfffffdff -_08018B3C: - ldr r2, _08018B68 @ =gDisableStructs - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r3, r0, r2 - ldrb r2, [r3, 0x13] - lsls r1, r2, 28 - cmp r1, 0 - beq _08018B62 - lsrs r1, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x13] -_08018B62: - ldr r1, [r7] - b _08018C16 - .align 2, 0 -_08018B68: .4byte gDisableStructs -_08018B6C: - ldr r4, _08018C20 @ =gStatuses3 - ldrb r0, [r6] - lsls r0, 2 - adds r2, r0, r4 - ldr r1, [r2] - movs r3, 0xC0 - lsls r3, 5 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _08018C12 - ldr r5, _08018C24 @ =0xfffff800 - adds r0, r1, r5 - str r0, [r2] - ldrb r2, [r6] - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - ands r0, r3 - cmp r0, 0 - bne _08018C12 - ldr r3, _08018C28 @ =gBattleMons - movs r5, 0x58 - adds r1, r2, 0 - muls r1, r5 - adds r4, r3, 0 - adds r4, 0x4C - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _08018C12 - adds r0, r1, r3 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x48 - beq _08018C12 - cmp r0, 0xF - beq _08018C12 - adds r0, r2, 0 - bl UproarWakeUpCheck - lsls r0, 24 - cmp r0, 0 - bne _08018C12 - ldrb r0, [r6] - bl CancelMultiTurnMoves - bl Random - ldrb r1, [r6] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x2 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r6] - bl MarkBattlerForControllerExec - ldr r1, _08018C2C @ =gEffectBattler - ldrb r0, [r6] - strb r0, [r1] - ldr r0, _08018C30 @ =BattleScript_YawnMakesAsleep -_08018C04: - bl BattleScriptExecute -_08018C08: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08018C12: - ldr r0, _08018C34 @ =gBattleStruct - ldr r1, [r0] -_08018C16: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08018C46 - .align 2, 0 -_08018C20: .4byte gStatuses3 -_08018C24: .4byte 0xfffff800 -_08018C28: .4byte gBattleMons -_08018C2C: .4byte gEffectBattler -_08018C30: .4byte BattleScript_YawnMakesAsleep -_08018C34: .4byte gBattleStruct -_08018C38: - ldr r1, [r7] - movs r0, 0 - strb r0, [r1] - ldr r1, [r7] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] -_08018C46: - mov r7, r9 - cmp r7, 0 - beq _08018C50 -_08018C4C: - mov r0, r9 - b _08018C78 -_08018C50: - ldr r5, _08018C88 @ =gBattleStruct - ldr r2, [r5] - ldr r0, _08018C8C @ =gBattlersCount - ldrb r1, [r2, 0x1] - adds r7, r5, 0 - mov r8, r0 - ldrb r0, [r0] - cmp r1, r0 - bcs _08018C6C -_08018C62: - ldrb r0, [r2] - cmp r0, 0x13 - bhi _08018C6C - bl _0801829C -_08018C6C: - ldr r0, _08018C90 @ =gHitMarker - ldr r1, [r0] - ldr r2, _08018C94 @ =0xfeffffdf - ands r1, r2 - str r1, [r0] - movs r0, 0 -_08018C78: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08018C88: .4byte gBattleStruct -_08018C8C: .4byte gBattlersCount -_08018C90: .4byte gHitMarker -_08018C94: .4byte 0xfeffffdf - thumb_func_end DoBattlerEndTurnEffects - - thumb_func_start HandleWishPerishSongOnTurnEnd -HandleWishPerishSongOnTurnEnd: @ 8018C98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _08018CC8 @ =gHitMarker - ldr r0, [r2] - ldr r1, _08018CCC @ =0x01000020 - orrs r0, r1 - str r0, [r2] - ldr r1, _08018CD0 @ =gBattleStruct - ldr r3, [r1] - movs r4, 0xC0 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0 - beq _08018CD4 - cmp r0, 0x1 - bne _08018CC4 - b _08018E2C -_08018CC4: - b _08018F68 - .align 2, 0 -_08018CC8: .4byte gHitMarker -_08018CCC: .4byte 0x01000020 -_08018CD0: .4byte gBattleStruct -_08018CD4: - ldr r2, _08018D20 @ =0x00000181 - adds r0, r3, r2 - ldr r1, _08018D24 @ =gBattlersCount - ldrb r0, [r0] - mov r8, r1 - ldrb r6, [r1] - cmp r0, r6 - bcc _08018CE6 - b _08018E16 -_08018CE6: - ldr r4, _08018D28 @ =gActiveBattler - ldr r5, _08018D2C @ =gBattleTextBuff1 - ldr r6, _08018D30 @ =gWishFutureKnock - movs r0, 0x8 - adds r0, r6 - mov r10, r0 - movs r1, 0x18 - adds r1, r6 - mov r12, r1 - ldr r3, _08018D34 @ =gBattlerTarget - mov r9, r3 -_08018CFC: - ldr r0, [r7] - adds r3, r0, r2 - ldrb r0, [r3] - strb r0, [r4] - ldr r0, _08018D38 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08018D3C @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08018D40 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - b _08018E04 - .align 2, 0 -_08018D20: .4byte 0x00000181 -_08018D24: .4byte gBattlersCount -_08018D28: .4byte gActiveBattler -_08018D2C: .4byte gBattleTextBuff1 -_08018D30: .4byte gWishFutureKnock -_08018D34: .4byte gBattlerTarget -_08018D38: .4byte gAbsentBattlerFlags -_08018D3C: .4byte gBitTable -_08018D40: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r1, _08018D80 @ =gWishFutureKnock - ldrb r0, [r4] - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - beq _08018E04 - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _08018E04 - ldr r1, _08018D84 @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08018E04 - lsls r0, r2, 1 - add r0, r12 - ldrh r0, [r0] - cmp r0, 0xF8 - bne _08018D8C - ldr r0, _08018D88 @ =gBattleCommunication - strb r3, [r0, 0x5] - b _08018D92 - .align 2, 0 -_08018D80: .4byte gWishFutureKnock -_08018D84: .4byte gBattleMons -_08018D88: .4byte gBattleCommunication -_08018D8C: - ldr r1, _08018DEC @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_08018D92: - movs r0, 0xFD - strb r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x1] - ldrb r0, [r4] - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - strb r0, [r5, 0x2] - ldrb r0, [r4] - lsls r0, 1 - add r0, r12 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r5, 0x3] - movs r0, 0xFF - strb r0, [r5, 0x4] - ldrb r0, [r4] - mov r1, r9 - strb r0, [r1] - ldr r1, _08018DF0 @ =gBattlerAttacker - adds r0, r6, 0x4 - ldrb r2, [r4] - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _08018DF4 @ =gBattleMoveDamage - ldrb r0, [r4] - lsls r0, 2 - add r0, r10 - ldr r0, [r0] - str r0, [r1] - ldr r2, _08018DF8 @ =gSpecialStatuses - mov r3, r9 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r1, _08018DFC @ =0x0000ffff - str r1, [r0] - ldr r0, _08018E00 @ =BattleScript_MonTookFutureAttack - b _08018F44 - .align 2, 0 -_08018DEC: .4byte gBattleCommunication -_08018DF0: .4byte gBattlerAttacker -_08018DF4: .4byte gBattleMoveDamage -_08018DF8: .4byte gSpecialStatuses -_08018DFC: .4byte 0x0000ffff -_08018E00: .4byte BattleScript_MonTookFutureAttack -_08018E04: - ldr r0, [r7] - ldr r2, _08018E7C @ =0x00000181 - adds r0, r2 - ldrb r0, [r0] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - bcs _08018E16 - b _08018CFC -_08018E16: - ldr r0, [r7] - movs r2, 0xC0 - lsls r2, 1 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r7] - ldr r3, _08018E7C @ =0x00000181 - adds r1, r0, r3 - movs r0, 0 - strb r0, [r1] -_08018E2C: - adds r3, r7, 0 - ldr r0, [r3] - ldr r2, _08018E7C @ =0x00000181 - adds r0, r2 - ldr r1, _08018E80 @ =gBattlersCount - ldrb r0, [r0] - mov r8, r1 - ldrb r4, [r1] - cmp r0, r4 - bcc _08018E42 - b _08018F68 -_08018E42: - ldr r5, _08018E84 @ =gActiveBattler - ldr r4, _08018E88 @ =gBattleTextBuff1 - ldr r6, _08018E8C @ =gDisableStructs - mov r12, r6 - ldr r0, _08018E90 @ =gBattlerAttacker - mov r9, r0 -_08018E4E: - ldr r1, _08018E94 @ =gBattlerByTurnOrder - ldr r0, [r3] - adds r3, r0, r2 - ldrb r0, [r3] - adds r0, r1 - ldrb r0, [r0] - mov r1, r9 - strb r0, [r1] - strb r0, [r5] - ldr r0, _08018E98 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08018E9C @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08018EA0 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - b _08018F54 - .align 2, 0 -_08018E7C: .4byte 0x00000181 -_08018E80: .4byte gBattlersCount -_08018E84: .4byte gActiveBattler -_08018E88: .4byte gBattleTextBuff1 -_08018E8C: .4byte gDisableStructs -_08018E90: .4byte gBattlerAttacker -_08018E94: .4byte gBattlerByTurnOrder -_08018E98: .4byte gAbsentBattlerFlags -_08018E9C: .4byte gBitTable -_08018EA0: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r6, _08018F14 @ =gStatuses3 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08018F54 - movs r0, 0xFD - strb r0, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0xF] - lsls r0, 28 - lsrs r0, 28 - strb r0, [r4, 0x4] - movs r0, 0xFF - strb r0, [r4, 0x5] - ldrb r2, [r5] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - mov r3, r12 - adds r4, r0, r3 - ldrb r3, [r4, 0xF] - lsls r1, r3, 28 - cmp r1, 0 - bne _08018F28 - lsls r2, 2 - adds r2, r6 - ldr r0, [r2] - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - str r0, [r2] - ldr r3, _08018F18 @ =gBattleMoveDamage - ldr r2, _08018F1C @ =gBattleMons - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - str r0, [r3] - ldr r1, _08018F20 @ =gBattlescriptCurrInstr - ldr r0, _08018F24 @ =BattleScript_PerishSongTakesLife - b _08018F40 - .align 2, 0 -_08018F14: .4byte gStatuses3 -_08018F18: .4byte gBattleMoveDamage -_08018F1C: .4byte gBattleMons -_08018F20: .4byte gBattlescriptCurrInstr -_08018F24: .4byte BattleScript_PerishSongTakesLife -_08018F28: - lsrs r1, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r6, 0x10 - negs r6, r6 - adds r0, r6, 0 - ands r0, r3 - orrs r0, r1 - strb r0, [r4, 0xF] - ldr r1, _08018F4C @ =gBattlescriptCurrInstr - ldr r0, _08018F50 @ =BattleScript_PerishSongCountGoesDown -_08018F40: - str r0, [r1] - ldr r0, [r1] -_08018F44: - bl BattleScriptExecute - movs r0, 0x1 - b _08018F74 - .align 2, 0 -_08018F4C: .4byte gBattlescriptCurrInstr -_08018F50: .4byte BattleScript_PerishSongCountGoesDown -_08018F54: - adds r3, r7, 0 - ldr r0, [r3] - ldr r2, _08018F84 @ =0x00000181 - adds r0, r2 - ldrb r0, [r0] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - bcs _08018F68 - b _08018E4E -_08018F68: - ldr r2, _08018F88 @ =gHitMarker - ldr r0, [r2] - ldr r1, _08018F8C @ =0xfeffffdf - ands r0, r1 - str r0, [r2] - movs r0, 0 -_08018F74: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08018F84: .4byte 0x00000181 -_08018F88: .4byte gHitMarker -_08018F8C: .4byte 0xfeffffdf - thumb_func_end HandleWishPerishSongOnTurnEnd - - thumb_func_start HandleFaintedMonActions -HandleFaintedMonActions: @ 8018F90 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, _08018FA8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08018FD8 - b _08019272 - .align 2, 0 -_08018FA8: .4byte gBattleTypeFlags -_08018FAC: - ldr r0, _08018FBC @ =BattleScript_GiveExp - bl BattleScriptExecute - ldr r0, [r5] - adds r0, 0x4D - movs r1, 0x2 - b _08018FCC - .align 2, 0 -_08018FBC: .4byte BattleScript_GiveExp -_08018FC0: - ldr r0, _08018FD4 @ =BattleScript_HandleFaintedMon - bl BattleScriptExecute - ldr r0, [r5] - adds r0, 0x4D - movs r1, 0x5 -_08018FCC: - strb r1, [r0] -_08018FCE: - movs r0, 0x1 - b _08019274 - .align 2, 0 -_08018FD4: .4byte BattleScript_HandleFaintedMon -_08018FD8: - ldr r0, _08018FF4 @ =gBattleStruct - mov r8, r0 -_08018FDC: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x4D - ldrb r0, [r0] - cmp r0, 0x7 - bls _08018FEA - b _08019264 -_08018FEA: - lsls r0, 2 - ldr r1, _08018FF8 @ =_08018FFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08018FF4: .4byte gBattleStruct -_08018FF8: .4byte _08018FFC - .align 2, 0 -_08018FFC: - .4byte _0801901C - .4byte _0801906E - .4byte _08019108 - .4byte _0801914A - .4byte _0801915E - .4byte _080191C8 - .4byte _080191FC - .4byte _08019264 -_0801901C: - mov r4, r8 - ldr r0, [r4] - adds r0, 0x4E - movs r1, 0 - strb r1, [r0] - ldr r1, [r4] - adds r1, 0x4D - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r5, 0 - ldr r0, _080190E8 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _0801906E - ldr r6, _080190EC @ =gAbsentBattlerFlags -_0801903C: - ldrb r0, [r6] - ldr r2, _080190F0 @ =gBitTable - lsls r1, r5, 2 - adds r1, r2 - ldr r4, [r1] - ands r0, r4 - cmp r0, 0 - beq _08019064 - lsls r0, r5, 24 - lsrs r0, 24 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - bne _08019064 - ldrb r0, [r6] - bics r0, r4 - strb r0, [r6] -_08019064: - adds r5, 0x1 - ldr r0, _080190E8 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801903C -_0801906E: - ldr r0, _080190F4 @ =gBattleStruct - mov r8, r0 - ldr r1, _080190F8 @ =gBattlerFainted - mov r12, r1 - ldr r2, _080190FC @ =gBattlerTarget - mov r5, r8 - ldr r7, _08019100 @ =gBattleMons - ldr r6, _08019104 @ =gBattlerPartyIndexes -_0801907E: - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x4E - ldrb r0, [r1] - strb r0, [r2] - mov r4, r12 - strb r0, [r4] - ldrb r4, [r1] - movs r0, 0x58 - muls r0, r4 - adds r0, r7 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _080190C6 - adds r0, r3, 0 - adds r0, 0xDF - ldrb r1, [r0] - ldr r3, _080190F0 @ =gBitTable - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080190C6 - ldr r0, _080190EC @ =gAbsentBattlerFlags - ldrb r1, [r0] - lsls r0, r4, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080190C6 - b _08018FAC -_080190C6: - ldr r0, [r5] - adds r0, 0x4E - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, _080190E8 @ =gBattlersCount - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r0] - cmp r1, r0 - bne _0801907E - mov r1, r8 - ldr r0, [r1] - adds r0, 0x4D - movs r1, 0x3 - strb r1, [r0] - b _08019264 - .align 2, 0 -_080190E8: .4byte gBattlersCount -_080190EC: .4byte gAbsentBattlerFlags -_080190F0: .4byte gBitTable -_080190F4: .4byte gBattleStruct -_080190F8: .4byte gBattlerFainted -_080190FC: .4byte gBattlerTarget -_08019100: .4byte gBattleMons -_08019104: .4byte gBattlerPartyIndexes -_08019108: - ldr r0, _08019134 @ =gBattlerFainted - ldrb r0, [r0] - bl sub_8017434 - ldr r2, _08019138 @ =gBattleStruct - ldr r1, [r2] - adds r1, 0x4E - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _0801913C @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _08019140 - ldr r0, [r2] - adds r0, 0x4D - movs r1, 0x3 - strb r1, [r0] - b _08019262 - .align 2, 0 -_08019134: .4byte gBattlerFainted -_08019138: .4byte gBattleStruct -_0801913C: .4byte gBattlersCount -_08019140: - ldr r0, [r2] - adds r0, 0x4D - movs r1, 0x1 - strb r1, [r0] - b _08019262 -_0801914A: - mov r4, r8 - ldr r0, [r4] - adds r0, 0x4E - movs r1, 0 - strb r1, [r0] - ldr r1, [r4] - adds r1, 0x4D - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0801915E: - ldr r0, _080191AC @ =gBattlerFainted - mov r12, r0 - ldr r7, _080191B0 @ =gBattlerTarget - ldr r5, _080191B4 @ =gBattleStruct - ldr r2, _080191B8 @ =gBattleMons - ldr r6, _080191BC @ =gBitTable -_0801916A: - ldr r0, [r5] - adds r4, r0, 0 - adds r4, 0x4E - ldrb r0, [r4] - strb r0, [r7] - mov r1, r12 - strb r0, [r1] - ldrb r3, [r4] - movs r0, 0x58 - muls r0, r3 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08019198 - ldr r0, _080191C0 @ =gAbsentBattlerFlags - ldrb r1, [r0] - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08019198 - b _08018FC0 -_08019198: - adds r0, r3, 0x1 - strb r0, [r4] - ldr r1, _080191C4 @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _0801916A - b _080191E0 - .align 2, 0 -_080191AC: .4byte gBattlerFainted -_080191B0: .4byte gBattlerTarget -_080191B4: .4byte gBattleStruct -_080191B8: .4byte gBattleMons -_080191BC: .4byte gBitTable -_080191C0: .4byte gAbsentBattlerFlags -_080191C4: .4byte gBattlersCount -_080191C8: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x4E - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, _080191EC @ =gBattlersCount - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r0] - cmp r1, r0 - bne _080191F0 -_080191E0: - mov r4, r8 - ldr r0, [r4] - adds r0, 0x4D - movs r1, 0x6 - strb r1, [r0] - b _08019264 - .align 2, 0 -_080191EC: .4byte gBattlersCount -_080191F0: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x4D - movs r1, 0x4 - strb r1, [r0] - b _08019264 -_080191FC: - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08019216 - b _08018FCE -_08019216: - str r0, [sp] - movs r0, 0xB - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _0801922C - b _08018FCE -_0801922C: - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl ItemBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08019240 - b _08018FCE -_08019240: - str r0, [sp] - movs r0, 0x6 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08019256 - b _08018FCE -_08019256: - ldr r2, _08019280 @ =gBattleStruct - ldr r1, [r2] - adds r1, 0x4D - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08019262: - mov r8, r2 -_08019264: - mov r4, r8 - ldr r0, [r4] - adds r0, 0x4D - ldrb r0, [r0] - cmp r0, 0x7 - beq _08019272 - b _08018FDC -_08019272: - movs r0, 0 -_08019274: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08019280: .4byte gBattleStruct - thumb_func_end HandleFaintedMonActions - thumb_func_start TryClearRageStatuses TryClearRageStatuses: @ 8019284 push {r4-r6,lr} -- cgit v1.2.3 From 3eb1f1bc783308dac445eaacc05c9f14e9b78822 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 1 Aug 2019 12:25:38 +0800 Subject: matched AbilityBattleEffects --- asm/battle_2.s | 38 +- asm/battle_script_commands.s | 64 +- asm/battle_util.s | 4972 +----------------------------------------- asm/field_weather.s | 6 +- 4 files changed, 83 insertions(+), 4997 deletions(-) (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index 54e773828..a80099a6a 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -5266,7 +5266,7 @@ _080127B0: ldrb r7, [r7] cmp r5, r7 bge _08012824 - ldr r0, _080128E0 @ =gChosenMoveByBattler + ldr r0, _080128E0 @ =gUnknown_2023C34 mov r8, r0 ldr r3, _080128C4 @ =gDisableStructs ldr r4, _080128D4 @ =gStatuses3 @@ -5403,7 +5403,7 @@ _080128D0: .4byte gCurrentMove _080128D4: .4byte gStatuses3 _080128D8: .4byte gBattleMons _080128DC: .4byte gBattlersCount -_080128E0: .4byte gChosenMoveByBattler +_080128E0: .4byte gUnknown_2023C34 _080128E4: .4byte 0xfbffffff _080128E8: .4byte 0x15100007 _080128EC: .4byte 0x0003043f @@ -5431,7 +5431,7 @@ _0801290C: ldrb r6, [r6] cmp r5, r6 bge _0801296C - ldr r0, _08012B8C @ =gChosenMoveByBattler + ldr r0, _08012B8C @ =gUnknown_2023C34 mov r8, r0 ldr r6, _08012B90 @ =gBitTable ldr r4, _08012B94 @ =gActiveBattler @@ -5749,7 +5749,7 @@ _08012B7C: .4byte gBattleMons _08012B80: .4byte gBattleStruct _08012B84: .4byte gActionSelectionCursor _08012B88: .4byte gBattlersCount -_08012B8C: .4byte gChosenMoveByBattler +_08012B8C: .4byte gUnknown_2023C34 _08012B90: .4byte gBitTable _08012B94: .4byte gActiveBattler _08012B98: .4byte 0xffff1fff @@ -7571,7 +7571,7 @@ _08013A22: mov r8, r1 movs r7, 0x6 ldr r6, _08013AF4 @ =gUnknown_2023D7C - ldr r2, _08013AF8 @ =gUnknown_2023DC4 + ldr r2, _08013AF8 @ =gChosenMoveByBattler movs r4, 0xFF movs r3, 0 _08013A32: @@ -7671,7 +7671,7 @@ _08013AE8: .4byte gBattleStruct _08013AEC: .4byte gBattlersCount _08013AF0: .4byte gBattlerByTurnOrder _08013AF4: .4byte gUnknown_2023D7C -_08013AF8: .4byte gUnknown_2023DC4 +_08013AF8: .4byte gChosenMoveByBattler _08013AFC: .4byte gAbsentBattlerFlags _08013B00: .4byte gBattleMainFunc _08013B04: .4byte sub_8014040 @@ -7894,7 +7894,7 @@ _08013CBC: ldr r7, _08013D48 @ =gUnknown_2023D7C movs r6, 0xFF movs r5, 0 - ldr r3, _08013D4C @ =gUnknown_2023DC4 + ldr r3, _08013D4C @ =gChosenMoveByBattler _08013CDE: adds r1, r2, r7 ldrb r0, [r1] @@ -7946,7 +7946,7 @@ _08013D3C: .4byte gBattleMainFunc _08013D40: .4byte gAbsentBattlerFlags _08013D44: .4byte sub_8014040 _08013D48: .4byte gUnknown_2023D7C -_08013D4C: .4byte gUnknown_2023DC4 +_08013D4C: .4byte gChosenMoveByBattler _08013D50: .4byte gUnknown_2023E80 thumb_func_end BattleTurnPassed @@ -8631,7 +8631,7 @@ _080142D8: ldrh r2, [r0, 0x6] cmp r2, 0 beq _0801432C - ldr r1, _08014320 @ =gUnknown_2023DC4 + ldr r1, _08014320 @ =gChosenMoveByBattler lsls r0, r4, 1 adds r0, r1 strh r2, [r0] @@ -8655,7 +8655,7 @@ _080142D8: .align 2, 0 _08014318: .4byte gDisableStructs _0801431C: .4byte gActiveBattler -_08014320: .4byte gUnknown_2023DC4 +_08014320: .4byte gChosenMoveByBattler _08014324: .4byte gBattleStruct _08014328: .4byte gBattleCommunication _0801432C: @@ -9300,7 +9300,7 @@ _0801487C: adds r0, r6 ldrb r0, [r0] strb r0, [r1] - ldr r0, _080148CC @ =gUnknown_2023DC4 + ldr r0, _080148CC @ =gChosenMoveByBattler ldrb r2, [r2] lsls r5, r2, 1 adds r5, r0 @@ -9329,7 +9329,7 @@ _0801487C: b _08014B30 .align 2, 0 _080148C8: .4byte gBattleStruct -_080148CC: .4byte gUnknown_2023DC4 +_080148CC: .4byte gChosenMoveByBattler _080148D0: .4byte gBattleMons _080148D4: .4byte gBattleCommunication _080148D8: @@ -10662,7 +10662,7 @@ TurnValuesCleanUp: @ 8015330 beq _08015428 ldr r7, _08015390 @ =gProtectStructs adds r6, r5, 0 - ldr r0, _08015394 @ =gChosenMoveByBattler + ldr r0, _08015394 @ =gUnknown_2023C34 mov r12, r0 ldr r1, _08015398 @ =gDisableStructs mov r8, r1 @@ -10692,7 +10692,7 @@ _0801535E: _08015388: .4byte gActiveBattler _0801538C: .4byte gBattlersCount _08015390: .4byte gProtectStructs -_08015394: .4byte gChosenMoveByBattler +_08015394: .4byte gUnknown_2023C34 _08015398: .4byte gDisableStructs _0801539C: ldrb r0, [r6] @@ -10866,7 +10866,7 @@ _080154CC: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] - ldr r1, _0801553C @ =gUnknown_2023DC4 + ldr r1, _0801553C @ =gChosenMoveByBattler ldrb r3, [r5] lsls r0, r3, 1 adds r0, r1 @@ -10909,7 +10909,7 @@ _0801552C: .4byte gBattleStruct _08015530: .4byte gBattlersCount _08015534: .4byte gActiveBattler _08015538: .4byte gBattlerAttacker -_0801553C: .4byte gUnknown_2023DC4 +_0801553C: .4byte gChosenMoveByBattler _08015540: .4byte gBattleMons _08015544: .4byte gDisableStructs _08015548: .4byte gProtectStructs @@ -12046,7 +12046,7 @@ _08015EBC: mov r1, r10 adds r1, 0xC adds r0, r1 - ldr r1, _08015F00 @ =gUnknown_2023DC4 + ldr r1, _08015F00 @ =gChosenMoveByBattler lsls r2, 1 adds r2, r1 ldrh r3, [r0] @@ -12069,7 +12069,7 @@ _08015EF6: b _08015F18 .align 2, 0 _08015EFC: .4byte gBattlerAttacker -_08015F00: .4byte gUnknown_2023DC4 +_08015F00: .4byte gChosenMoveByBattler _08015F04: .4byte gCurrentMove _08015F08: .4byte gChosenMove _08015F0C: .4byte gBattleStruct @@ -12402,7 +12402,7 @@ _080161AA: adds r1, r2 adds r1, 0x20 ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle ldr r2, _080161F0 @ =gSpecialStatuses ldrb r1, [r4] lsls r0, r1, 2 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index b4fd08c29..765eb317a 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -290,7 +290,7 @@ _0801D98E: mov r1, r8 ldrb r0, [r1] ldrb r1, [r4] - bl sub_80C71D0 + bl RecordAbilityBattle b _0801DAFC .align 2, 0 _0801D9C8: .4byte gBattlersCount @@ -2198,7 +2198,7 @@ _0801E8C0: strb r1, [r0, 0x6] ldrb r0, [r4] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle b _0801E9D4 .align 2, 0 _0801E910: .4byte gBattleMoves @@ -2355,7 +2355,7 @@ _0801EA10: strb r0, [r1, 0x6] ldrb r0, [r5] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle _0801EA52: ldr r0, _0801EA98 @ =gMoveResultFlags ldrb r1, [r0] @@ -2465,7 +2465,7 @@ _0801EB08: strb r1, [r0, 0x6] ldrb r0, [r3] movs r1, 0x1A - bl sub_80C71D0 + bl RecordAbilityBattle b _0801ED18 .align 2, 0 _0801EB3C: .4byte gBattleMons @@ -2710,7 +2710,7 @@ _0801ECC2: mov r1, r8 ldrb r0, [r1] movs r1, 0x19 - bl sub_80C71D0 + bl RecordAbilityBattle _0801ED18: pop {r3,r4} mov r8, r3 @@ -5342,7 +5342,7 @@ _080201A6: mov r3, r9 ldrb r0, [r3] movs r1, 0x11 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _080201D8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5465,7 +5465,7 @@ _0802028A: mov r3, r9 ldrb r0, [r3] movs r1, 0x29 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _080202AC @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5656,7 +5656,7 @@ _08020402: mov r3, r9 ldrb r0, [r3] movs r1, 0x7 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _08020424 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -5699,7 +5699,7 @@ _0802045A: mov r1, r9 ldrb r0, [r1] movs r1, 0x11 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r4, _08020498 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 @@ -6128,7 +6128,7 @@ _0802084C: mov r1, r9 ldrb r0, [r1] movs r1, 0x27 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r1, _08020868 @ =gBattlescriptCurrInstr ldr r0, _0802086C @ =gUnknown_81D9452 str r0, [r1] @@ -6737,7 +6737,7 @@ _08020D26: strb r0, [r1] ldrb r0, [r7] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _0802110A .align 2, 0 _08020D64: .4byte gBattleTypeFlags @@ -7075,7 +7075,7 @@ _08021018: str r0, [r1] ldrb r0, [r5] movs r1, 0x3C - bl sub_80C71D0 + bl RecordAbilityBattle b _0802110A .align 2, 0 _0802104C: .4byte gLastUsedAbility @@ -8017,7 +8017,7 @@ _080217C8: ldrb r1, [r0] adds r0, r4, 0 _080217EC: - bl sub_80C71D0 + bl RecordAbilityBattle ldr r0, _08021800 @ =gBattleScripting strb r4, [r0, 0x15] b _0802180A @@ -12164,7 +12164,7 @@ _0802381C: ldr r2, _08023854 @ =gDisableStructs ldr r5, _08023858 @ =0xfeffffff adds r3, r0, 0 - ldr r1, _0802385C @ =gChosenMoveByBattler + ldr r1, _0802385C @ =gUnknown_2023C34 _0802382E: ldrb r0, [r2, 0xA] cmp r0, 0 @@ -12189,7 +12189,7 @@ _08023846: _08023850: .4byte gBattlersCount _08023854: .4byte gDisableStructs _08023858: .4byte 0xfeffffff -_0802385C: .4byte gChosenMoveByBattler +_0802385C: .4byte gUnknown_2023C34 _08023860: ldr r1, _08023914 @ =gHitMarker ldr r3, [r1] @@ -12709,7 +12709,7 @@ atk4A_typecalc2: @ 8023C38 strb r2, [r0, 0x6] ldrb r0, [r7] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle b _08023DAE .align 2, 0 _08023C9C: .4byte gBattleMoves @@ -12910,7 +12910,7 @@ _08023DF0: strb r0, [r1, 0x6] ldrb r0, [r2] ldrb r1, [r3] - bl sub_80C71D0 + bl RecordAbilityBattle _08023E2A: ldr r0, _08023E74 @ =gMoveResultFlags ldrb r1, [r0] @@ -18090,7 +18090,7 @@ atk70_recordlastability: @ 8026844 ldrb r0, [r1] ldr r1, _08026874 @ =gLastUsedAbility ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle ldr r0, [r4] adds r0, 0x1 str r0, [r4] @@ -19248,7 +19248,7 @@ _0802718C: adds r1, r6 adds r1, 0x20 ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle ldr r1, _080271B8 @ =gBattlescriptCurrInstr ldr r0, _080271BC @ =gUnknown_81D93AF str r0, [r1] @@ -20232,7 +20232,7 @@ _08027918: str r4, [r5] ldrb r1, [r2] adds r0, r3, 0 - bl sub_80C71D0 + bl RecordAbilityBattle b _08027942 .align 2, 0 _08027930: .4byte gBattleMons @@ -20820,7 +20820,7 @@ _08027DB4: strb r0, [r1] ldrb r0, [r2] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle ldr r6, _08027DFC @ =gActiveBattler ldrb r1, [r6] lsls r0, r1, 2 @@ -20873,7 +20873,7 @@ _08027E0C: strb r0, [r1] ldrb r0, [r3] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _08027D48 .align 2, 0 _08027E58: .4byte gActiveBattler @@ -20918,7 +20918,7 @@ _08027E8E: strb r0, [r1] ldrb r0, [r2] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _08027D48 .align 2, 0 _08027EBC: .4byte gActiveBattler @@ -22333,7 +22333,7 @@ _08028998: mov r1, r9 ldrb r0, [r1] movs r1, 0x5 - bl sub_80C71D0 + bl RecordAbilityBattle b _08028C48 .align 2, 0 _080289D4: .4byte gPotentialItemEffectBattler @@ -23030,7 +23030,7 @@ _08028F1C: strb r2, [r0] ldrb r0, [r5] movs r1, 0xC - bl sub_80C71D0 + bl RecordAbilityBattle b _0802902C .align 2, 0 _08028F78: .4byte gBattlerPartyIndexes @@ -26040,7 +26040,7 @@ _0802A738: .4byte 0xf7ffffff _0802A73C: ldrb r1, [r1] adds r0, r3, 0 - bl sub_80C71D0 + bl RecordAbilityBattle ldrb r0, [r6, 0x5] movs r1, 0x1 orrs r0, r1 @@ -26113,7 +26113,7 @@ _0802A7DC: .4byte 0xf7ffffff _0802A7E0: ldrb r1, [r1] adds r0, r3, 0 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r1, _0802A838 @ =gBattleCommunication ldrb r0, [r1, 0x5] mov r2, r9 @@ -27382,7 +27382,7 @@ _0802B1A2: lsls r0, 31 cmp r0, 0 bne _0802B2A8 - ldr r0, _0802B27C @ =gUnknown_2023DC4 + ldr r0, _0802B27C @ =gChosenMoveByBattler lsls r1, r3, 1 adds r1, r0 ldrh r0, [r1] @@ -27454,7 +27454,7 @@ _0802B26C: .4byte gBattlerAttacker _0802B270: .4byte gBattleStruct _0802B274: .4byte gBattleMons _0802B278: .4byte gDisableStructs -_0802B27C: .4byte gUnknown_2023DC4 +_0802B27C: .4byte gChosenMoveByBattler _0802B280: .4byte gBattlersCount _0802B284: .4byte gCurrentMove _0802B288: .4byte gUnknown_2023D48 @@ -29442,7 +29442,7 @@ _0802C224: strb r0, [r1] ldrb r0, [r7] ldrb r1, [r1] - bl sub_80C71D0 + bl RecordAbilityBattle b _0802C37A .align 2, 0 _0802C24C: .4byte gBattlescriptCurrInstr @@ -31575,7 +31575,7 @@ atkEC_pursuitrelated: @ 802D2A0 ldrb r0, [r0] cmp r0, 0 bne _0802D340 - ldr r1, _0802D32C @ =gUnknown_2023DC4 + ldr r1, _0802D32C @ =gChosenMoveByBattler lsls r0, r3, 1 adds r0, r1 ldrh r2, [r0] @@ -31606,7 +31606,7 @@ _0802D31C: .4byte gBattleTypeFlags _0802D320: .4byte gAbsentBattlerFlags _0802D324: .4byte gBitTable _0802D328: .4byte gUnknown_2023D7C -_0802D32C: .4byte gUnknown_2023DC4 +_0802D32C: .4byte gChosenMoveByBattler _0802D330: .4byte gUnknown_2023BDA _0802D334: .4byte gCurrentMove _0802D338: .4byte gBattlescriptCurrInstr diff --git a/asm/battle_util.s b/asm/battle_util.s index b2ed61f7a..a6b77a6e4 100644 --- a/asm/battle_util.s +++ b/asm/battle_util.s @@ -5,4920 +5,6 @@ .text - thumb_func_start TryClearRageStatuses -TryClearRageStatuses: @ 8019284 - push {r4-r6,lr} - movs r3, 0 - ldr r0, _080192C4 @ =gBattlersCount - adds r5, r0, 0 - ldrb r0, [r5] - cmp r3, r0 - bge _080192BC - ldr r4, _080192C8 @ =gUnknown_2023DC4 - movs r6, 0x80 - lsls r6, 16 - ldr r2, _080192CC @ =gChosenMoveByBattler -_0801929A: - ldr r1, [r2] - adds r0, r1, 0 - ands r0, r6 - cmp r0, 0 - beq _080192B0 - ldrh r0, [r4] - cmp r0, 0x63 - beq _080192B0 - ldr r0, _080192D0 @ =0xff7fffff - ands r1, r0 - str r1, [r2] -_080192B0: - adds r4, 0x2 - adds r2, 0x58 - adds r3, 0x1 - ldrb r0, [r5] - cmp r3, r0 - blt _0801929A -_080192BC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080192C4: .4byte gBattlersCount -_080192C8: .4byte gUnknown_2023DC4 -_080192CC: .4byte gChosenMoveByBattler -_080192D0: .4byte 0xff7fffff - thumb_func_end TryClearRageStatuses - - thumb_func_start AtkCanceller_UnableToUseMove -AtkCanceller_UnableToUseMove: @ 80192D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - movs r0, 0 - mov r9, r0 - ldr r1, _080192F0 @ =gUnknown_2023FC8 - mov r10, r1 - ldr r2, _080192F4 @ =gBattleStruct - mov r8, r2 - b _08019302 - .align 2, 0 -_080192F0: .4byte gUnknown_2023FC8 -_080192F4: .4byte gBattleStruct -_080192F8: - mov r4, r9 - cmp r4, 0 - beq _08019302 - bl _08019BA8 -_08019302: - mov r7, r8 - ldr r0, [r7] - adds r0, 0xB7 - ldrb r0, [r0] - cmp r0, 0xF - bls _08019312 - bl _08019B98 -_08019312: - lsls r0, 2 - ldr r1, _0801931C @ =_08019320 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801931C: .4byte _08019320 - .align 2, 0 -_08019320: - .4byte _08019360 - .4byte _080193A4 - .4byte _080194E0 - .4byte _08019598 - .4byte _0801960C - .4byte _08019678 - .4byte _080196E0 - .4byte _08019754 - .4byte _080197B8 - .4byte _08019814 - .4byte _080198F8 - .4byte _08019974 - .4byte _080199C8 - .4byte _08019A60 - .4byte _08019B40 - .4byte _08019B98 -_08019360: - ldr r1, _08019390 @ =gBattleMons - ldr r3, _08019394 @ =gBattlerAttacker - ldrb r2, [r3] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - ldr r1, _08019398 @ =0xfdffffff - ands r0, r1 - str r0, [r2] - ldr r0, _0801939C @ =gStatuses3 - ldrb r2, [r3] - lsls r2, 2 - adds r2, r0 - ldr r0, [r2] - ldr r1, _080193A0 @ =0xffffbfff - ands r0, r1 - str r0, [r2] - mov r0, r8 - ldr r1, [r0] - bl _08019B90 - .align 2, 0 -_08019390: .4byte gBattleMons -_08019394: .4byte gBattlerAttacker -_08019398: .4byte 0xfdffffff -_0801939C: .4byte gStatuses3 -_080193A0: .4byte 0xffffbfff -_080193A4: - ldr r7, _0801940C @ =gBattleMons - ldr r4, _08019410 @ =gBattlerAttacker - ldrb r1, [r4] - movs r5, 0x58 - adds r0, r1, 0 - muls r0, r5 - adds r6, r7, 0 - adds r6, 0x4C - adds r0, r6 - ldr r0, [r0] - movs r2, 0x7 - mov r8, r2 - ands r0, r2 - cmp r0, 0 - bne _080193C4 - b _08019946 -_080193C4: - adds r0, r1, 0 - bl UproarWakeUpCheck - lsls r0, 24 - cmp r0, 0 - beq _08019424 - ldrb r0, [r4] - adds r2, r0, 0 - muls r2, r5 - adds r2, r6 - ldr r0, [r2] - movs r1, 0x8 - negs r1, r1 - ands r0, r1 - str r0, [r2] - ldrb r0, [r4] - adds r2, r0, 0 - muls r2, r5 - adds r0, r7, 0 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - ldr r1, _08019414 @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r1, _08019418 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - ldr r1, _0801941C @ =gBattlescriptCurrInstr - ldr r0, _08019420 @ =BattleScript_MoveUsedWokeUp - str r0, [r1] - movs r4, 0x2 - mov r9, r4 - b _08019946 - .align 2, 0 -_0801940C: .4byte gBattleMons -_08019410: .4byte gBattlerAttacker -_08019414: .4byte 0xf7ffffff -_08019418: .4byte gBattleCommunication -_0801941C: .4byte gBattlescriptCurrInstr -_08019420: .4byte BattleScript_MoveUsedWokeUp -_08019424: - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r5 - adds r0, r1, r7 - adds r0, 0x20 - ldrb r0, [r0] - movs r3, 0x1 - cmp r0, 0x30 - bne _08019438 - movs r3, 0x2 -_08019438: - adds r2, r1, r6 - ldr r1, [r2] - adds r0, r1, 0 - mov r7, r8 - ands r0, r7 - cmp r0, r3 - bcs _08019450 - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r2] - b _08019454 -_08019450: - subs r0, r1, r3 - str r0, [r2] -_08019454: - ldr r2, _08019498 @ =gBattleMons - ldr r0, _0801949C @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r4, [r0] - movs r0, 0x7 - ands r4, r0 - cmp r4, 0 - beq _080194B0 - ldr r0, _080194A0 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAD - bne _08019478 - b _08019946 -_08019478: - cmp r0, 0xD6 - bne _0801947E - b _08019946 -_0801947E: - ldr r1, _080194A4 @ =gBattlescriptCurrInstr - ldr r0, _080194A8 @ =BattleScript_MoveUsedIsAsleep - str r0, [r1] - ldr r2, _080194AC @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] - movs r0, 0x2 - mov r9, r0 - b _08019946 - .align 2, 0 -_08019498: .4byte gBattleMons -_0801949C: .4byte gBattlerAttacker -_080194A0: .4byte gCurrentMove -_080194A4: .4byte gBattlescriptCurrInstr -_080194A8: .4byte BattleScript_MoveUsedIsAsleep -_080194AC: .4byte gHitMarker -_080194B0: - adds r2, 0x50 - adds r2, r1, r2 - ldr r0, [r2] - ldr r1, _080194D0 @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r0, _080194D4 @ =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, _080194D8 @ =gBattlescriptCurrInstr - ldr r0, _080194DC @ =BattleScript_MoveUsedWokeUp - str r0, [r1] - movs r1, 0x2 - mov r9, r1 - b _08019946 - .align 2, 0 -_080194D0: .4byte 0xf7ffffff -_080194D4: .4byte gBattleCommunication -_080194D8: .4byte gBattlescriptCurrInstr -_080194DC: .4byte BattleScript_MoveUsedWokeUp -_080194E0: - ldr r1, _0801953C @ =gBattleMons - ldr r7, _08019540 @ =gBattlerAttacker - ldrb r0, [r7] - movs r6, 0x58 - muls r0, r6 - adds r5, r1, 0 - adds r5, 0x4C - adds r0, r5 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08019580 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _08019558 - ldr r2, _08019544 @ =gBattleMoves - ldr r0, _08019548 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7D - bne _08019526 - b _08019946 -_08019526: - ldr r1, _0801954C @ =gBattlescriptCurrInstr - ldr r0, _08019550 @ =BattleScript_MoveUsedIsFrozen - str r0, [r1] - ldr r2, _08019554 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r2] - b _08019578 - .align 2, 0 -_0801953C: .4byte gBattleMons -_08019540: .4byte gBattlerAttacker -_08019544: .4byte gBattleMoves -_08019548: .4byte gCurrentMove -_0801954C: .4byte gBattlescriptCurrInstr -_08019550: .4byte BattleScript_MoveUsedIsFrozen -_08019554: .4byte gHitMarker -_08019558: - ldrb r0, [r7] - adds r2, r0, 0 - muls r2, r6 - adds r2, r5 - ldr r0, [r2] - movs r1, 0x21 - negs r1, r1 - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r1, _08019588 @ =gBattlescriptCurrInstr - ldr r0, _0801958C @ =BattleScript_MoveUsedUnfroze - str r0, [r1] - ldr r0, _08019590 @ =gBattleCommunication - strb r4, [r0, 0x5] -_08019578: - movs r2, 0x2 - mov r9, r2 - ldr r4, _08019594 @ =gBattleStruct - mov r8, r4 -_08019580: - mov r7, r8 - ldr r1, [r7] - b _08019B90 - .align 2, 0 -_08019588: .4byte gBattlescriptCurrInstr -_0801958C: .4byte BattleScript_MoveUsedUnfroze -_08019590: .4byte gBattleCommunication -_08019594: .4byte gBattleStruct -_08019598: - ldr r1, _080195EC @ =gBattleMons - ldr r0, _080195F0 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x36 - beq _080195AE - b _08019946 -_080195AE: - ldr r0, _080195F4 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x18] - lsls r0, 31 - cmp r0, 0 - bne _080195C2 - b _08019946 -_080195C2: - adds r0, r2, 0 - bl CancelMultiTurnMoves - ldr r2, _080195F8 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] - ldr r1, _080195FC @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - ldr r1, _08019600 @ =gBattlescriptCurrInstr - ldr r0, _08019604 @ =BattleScript_MoveUsedLoafingAround - str r0, [r1] - ldr r2, _08019608 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - b _080197F4 - .align 2, 0 -_080195EC: .4byte gBattleMons -_080195F0: .4byte gBattlerAttacker -_080195F4: .4byte gDisableStructs -_080195F8: .4byte gHitMarker -_080195FC: .4byte gBattleCommunication -_08019600: .4byte gBattlescriptCurrInstr -_08019604: .4byte BattleScript_MoveUsedLoafingAround -_08019608: .4byte gMoveResultFlags -_0801960C: - ldr r1, _0801965C @ =gBattleMons - ldr r3, _08019660 @ =gBattlerAttacker - ldrb r2, [r3] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 15 - ands r0, r1 - cmp r0, 0 - bne _08019628 - b _08019946 -_08019628: - ldr r0, _08019664 @ =0xffbfffff - ands r1, r0 - str r1, [r2] - ldr r2, _08019668 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x19] - ldrb r0, [r3] - bl CancelMultiTurnMoves - ldr r1, _0801966C @ =gBattlescriptCurrInstr - ldr r0, _08019670 @ =BattleScript_MoveUsedMustRecharge - str r0, [r1] - ldr r2, _08019674 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] - movs r1, 0x1 - mov r9, r1 - b _08019946 - .align 2, 0 -_0801965C: .4byte gBattleMons -_08019660: .4byte gBattlerAttacker -_08019664: .4byte 0xffbfffff -_08019668: .4byte gDisableStructs -_0801966C: .4byte gBattlescriptCurrInstr -_08019670: .4byte BattleScript_MoveUsedMustRecharge -_08019674: .4byte gHitMarker -_08019678: - ldr r1, _080196C8 @ =gBattleMons - ldr r3, _080196CC @ =gBattlerAttacker - ldrb r2, [r3] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08019692 - b _08019946 -_08019692: - movs r0, 0x9 - negs r0, r0 - ands r1, r0 - str r1, [r2] - ldr r0, _080196D0 @ =gProtectStructs - ldrb r2, [r3] - lsls r2, 4 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x2] - ldrb r0, [r3] - bl CancelMultiTurnMoves - ldr r1, _080196D4 @ =gBattlescriptCurrInstr - ldr r0, _080196D8 @ =BattleScript_MoveUsedFlinched - str r0, [r1] - ldr r2, _080196DC @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] - movs r2, 0x1 - mov r9, r2 - b _08019946 - .align 2, 0 -_080196C8: .4byte gBattleMons -_080196CC: .4byte gBattlerAttacker -_080196D0: .4byte gProtectStructs -_080196D4: .4byte gBattlescriptCurrInstr -_080196D8: .4byte BattleScript_MoveUsedFlinched -_080196DC: .4byte gHitMarker -_080196E0: - ldr r0, _08019734 @ =gDisableStructs - ldr r3, _08019738 @ =gBattlerAttacker - ldrb r2, [r3] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldr r0, _0801973C @ =gCurrentMove - ldrh r1, [r1, 0x4] - ldrh r0, [r0] - cmp r1, r0 - beq _080196FA - b _08019946 -_080196FA: - cmp r1, 0 - bne _08019700 - b _08019946 -_08019700: - ldr r0, _08019740 @ =gProtectStructs - lsls r2, 4 - adds r2, r0 - ldrb r0, [r2, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, _08019744 @ =gBattleScripting - ldrb r0, [r3] - strb r0, [r1, 0x17] - ldrb r0, [r3] - bl CancelMultiTurnMoves - ldr r1, _08019748 @ =gBattlescriptCurrInstr - ldr r0, _0801974C @ =BattleScript_MoveUsedIsDisabled - str r0, [r1] - ldr r2, _08019750 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] - movs r4, 0x1 - mov r9, r4 - b _08019946 - .align 2, 0 -_08019734: .4byte gDisableStructs -_08019738: .4byte gBattlerAttacker -_0801973C: .4byte gCurrentMove -_08019740: .4byte gProtectStructs -_08019744: .4byte gBattleScripting -_08019748: .4byte gBattlescriptCurrInstr -_0801974C: .4byte BattleScript_MoveUsedIsDisabled -_08019750: .4byte gHitMarker -_08019754: - ldr r0, _0801979C @ =gDisableStructs - ldr r4, _080197A0 @ =gBattlerAttacker - ldrb r3, [r4] - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x13] - lsls r0, 28 - cmp r0, 0 - bne _0801976C - b _08019946 -_0801976C: - ldr r2, _080197A4 @ =gBattleMoves - ldr r0, _080197A8 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08019782 - b _08019946 -_08019782: - ldr r0, _080197AC @ =gProtectStructs - lsls r2, r3, 4 - adds r2, r0 - ldrb r0, [r2, 0x2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x2] - ldrb r0, [r4] - bl CancelMultiTurnMoves - ldr r1, _080197B0 @ =gBattlescriptCurrInstr - ldr r0, _080197B4 @ =BattleScript_MoveUsedIsTaunted - b _08019934 - .align 2, 0 -_0801979C: .4byte gDisableStructs -_080197A0: .4byte gBattlerAttacker -_080197A4: .4byte gBattleMoves -_080197A8: .4byte gCurrentMove -_080197AC: .4byte gProtectStructs -_080197B0: .4byte gBattlescriptCurrInstr -_080197B4: .4byte BattleScript_MoveUsedIsTaunted -_080197B8: - ldr r4, _080197FC @ =gBattlerAttacker - ldrb r0, [r4] - ldr r1, _08019800 @ =gCurrentMove - ldrh r1, [r1] - bl GetImprisonedMovesCount - lsls r0, 24 - cmp r0, 0 - bne _080197CC - b _08019946 -_080197CC: - ldr r0, _08019804 @ =gProtectStructs - ldrb r2, [r4] - lsls r2, 4 - adds r2, r0 - ldrb r0, [r2, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r0, [r4] - bl CancelMultiTurnMoves - ldr r1, _08019808 @ =gBattlescriptCurrInstr - ldr r0, _0801980C @ =BattleScript_MoveUsedIsImprisoned - str r0, [r1] - ldr r2, _08019810 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] -_080197F4: - movs r0, 0x1 - mov r9, r0 - b _08019946 - .align 2, 0 -_080197FC: .4byte gBattlerAttacker -_08019800: .4byte gCurrentMove -_08019804: .4byte gProtectStructs -_08019808: .4byte gBattlescriptCurrInstr -_0801980C: .4byte BattleScript_MoveUsedIsImprisoned -_08019810: .4byte gHitMarker -_08019814: - ldr r7, _0801985C @ =gBattleMons - ldr r5, _08019860 @ =gBattlerAttacker - ldrb r0, [r5] - movs r6, 0x58 - muls r0, r6 - adds r4, r7, 0 - adds r4, 0x50 - adds r2, r0, r4 - ldr r1, [r2] - movs r3, 0x7 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _080198E6 - subs r0, r1, 0x1 - str r0, [r2] - ldrb r0, [r5] - muls r0, r6 - adds r0, r4 - ldr r0, [r0] - ands r0, r3 - cmp r0, 0 - beq _080198D4 - bl Random - movs r1, 0x1 - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - beq _08019868 - ldr r1, _08019864 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - bl BattleScriptPushCursor - b _080198B2 - .align 2, 0 -_0801985C: .4byte gBattleMons -_08019860: .4byte gBattlerAttacker -_08019864: .4byte gBattleCommunication -_08019868: - ldr r0, _080198B8 @ =gBattleCommunication - movs r4, 0x1 - strb r1, [r0, 0x5] - ldr r1, _080198BC @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - ldrb r0, [r5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r7 - movs r0, 0x28 - str r0, [sp] - str r2, [sp, 0x4] - ldrb r0, [r5] - str r0, [sp, 0x8] - ldrb r0, [r5] - str r0, [sp, 0xC] - adds r0, r1, 0 - movs r2, 0x1 - movs r3, 0 - bl CalculateBaseDamage - ldr r1, _080198C0 @ =gBattleMoveDamage - str r0, [r1] - ldr r0, _080198C4 @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - orrs r0, r4 - strb r0, [r1, 0x1] - ldr r2, _080198C8 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] -_080198B2: - ldr r1, _080198CC @ =gBattlescriptCurrInstr - ldr r0, _080198D0 @ =BattleScript_MoveUsedIsConfused - b _080198DC - .align 2, 0 -_080198B8: .4byte gBattleCommunication -_080198BC: .4byte gBattlerTarget -_080198C0: .4byte gBattleMoveDamage -_080198C4: .4byte gProtectStructs -_080198C8: .4byte gHitMarker -_080198CC: .4byte gBattlescriptCurrInstr -_080198D0: .4byte BattleScript_MoveUsedIsConfused -_080198D4: - bl BattleScriptPushCursor - ldr r1, _080198EC @ =gBattlescriptCurrInstr - ldr r0, _080198F0 @ =BattleScript_MoveUsedIsConfusedNoMore -_080198DC: - str r0, [r1] - movs r1, 0x1 - mov r9, r1 - ldr r2, _080198F4 @ =gBattleStruct - mov r8, r2 -_080198E6: - mov r4, r8 - ldr r1, [r4] - b _08019B90 - .align 2, 0 -_080198EC: .4byte gBattlescriptCurrInstr -_080198F0: .4byte BattleScript_MoveUsedIsConfusedNoMore -_080198F4: .4byte gBattleStruct -_080198F8: - ldr r1, _08019958 @ =gBattleMons - ldr r4, _0801995C @ =gBattlerAttacker - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08019946 - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - cmp r1, 0 - bne _08019946 - ldr r0, _08019960 @ =gProtectStructs - ldrb r2, [r4] - lsls r2, 4 - adds r2, r0 - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08019964 @ =gBattlescriptCurrInstr - ldr r0, _08019968 @ =BattleScript_MoveUsedIsParalyzed -_08019934: - str r0, [r1] - ldr r2, _0801996C @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] - movs r7, 0x1 - mov r9, r7 -_08019946: - ldr r2, _08019970 @ =gBattleStruct - ldr r1, [r2] - adds r1, 0xB7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r8, r2 - b _08019B98 - .align 2, 0 -_08019958: .4byte gBattleMons -_0801995C: .4byte gBattlerAttacker -_08019960: .4byte gProtectStructs -_08019964: .4byte gBattlescriptCurrInstr -_08019968: .4byte BattleScript_MoveUsedIsParalyzed -_0801996C: .4byte gHitMarker -_08019970: .4byte gBattleStruct -_08019974: - ldr r0, _0801999C @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0xA0 - lsls r0, 8 - ands r1, r0 - movs r0, 0x80 - lsls r0, 8 - cmp r1, r0 - beq _08019988 - b _08019B8C -_08019988: - ldr r0, _080199A0 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080199AC - ldr r1, _080199A4 @ =gBattlescriptCurrInstr - ldr r0, _080199A8 @ =gUnknown_81D9180 - b _080199B0 - .align 2, 0 -_0801999C: .4byte gBattleTypeFlags -_080199A0: .4byte gBattlerAttacker -_080199A4: .4byte gBattlescriptCurrInstr -_080199A8: .4byte gUnknown_81D9180 -_080199AC: - ldr r1, _080199BC @ =gBattlescriptCurrInstr - ldr r0, _080199C0 @ =gUnknown_81D9192 -_080199B0: - str r0, [r1] - ldr r1, _080199C4 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - movs r0, 0x1 - b _08019B86 - .align 2, 0 -_080199BC: .4byte gBattlescriptCurrInstr -_080199C0: .4byte gUnknown_81D9192 -_080199C4: .4byte gBattleCommunication -_080199C8: - ldr r1, _08019A00 @ =gBattleMons - ldr r4, _08019A04 @ =gBattlerAttacker - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0xF0 - lsls r0, 12 - ands r1, r0 - cmp r1, 0 - beq _08019A42 - lsrs r0, r1, 16 - bl CountTrailingZeroBits - ldr r1, _08019A08 @ =gBattleScripting - strb r0, [r1, 0x17] - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08019A0C - bl BattleScriptPushCursor - b _08019A34 - .align 2, 0 -_08019A00: .4byte gBattleMons -_08019A04: .4byte gBattlerAttacker -_08019A08: .4byte gBattleScripting -_08019A0C: - ldr r0, _08019A48 @ =BattleScript_MoveUsedIsInLoveCantAttack - bl BattleScriptPush - ldr r2, _08019A4C @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r2] - ldr r0, _08019A50 @ =gProtectStructs - ldrb r2, [r4] - lsls r2, 4 - adds r2, r0 - ldrb r0, [r2, 0x1] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r0, [r4] - bl CancelMultiTurnMoves -_08019A34: - ldr r1, _08019A54 @ =gBattlescriptCurrInstr - ldr r0, _08019A58 @ =BattleScript_MoveUsedIsInLove - str r0, [r1] - movs r4, 0x1 - mov r9, r4 - ldr r7, _08019A5C @ =gBattleStruct - mov r8, r7 -_08019A42: - mov r0, r8 - ldr r1, [r0] - b _08019B90 - .align 2, 0 -_08019A48: .4byte BattleScript_MoveUsedIsInLoveCantAttack -_08019A4C: .4byte gHitMarker -_08019A50: .4byte gProtectStructs -_08019A54: .4byte gBattlescriptCurrInstr -_08019A58: .4byte BattleScript_MoveUsedIsInLove -_08019A5C: .4byte gBattleStruct -_08019A60: - ldr r1, _08019A98 @ =gBattleMons - ldr r6, _08019A9C @ =gBattlerAttacker - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r1, 0x50 - adds r3, r0, r1 - ldr r2, [r3] - movs r4, 0xC0 - lsls r4, 2 - adds r0, r2, 0 - ands r0, r4 - cmp r0, 0 - beq _08019B32 - ldr r7, _08019AA0 @ =0xffffff00 - adds r0, r2, r7 - str r0, [r3] - ldrb r2, [r6] - adds r0, r2, 0 - muls r0, r5 - adds r0, r1 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _08019AAC - ldr r1, _08019AA4 @ =gBattlescriptCurrInstr - ldr r0, _08019AA8 @ =BattleScript_BideStoringEnergy - b _08019B2C - .align 2, 0 -_08019A98: .4byte gBattleMons -_08019A9C: .4byte gBattlerAttacker -_08019AA0: .4byte 0xffffff00 -_08019AA4: .4byte gBattlescriptCurrInstr -_08019AA8: .4byte BattleScript_BideStoringEnergy -_08019AAC: - ldr r3, _08019B04 @ =gTakenDmg - lsls r0, r2, 2 - adds r0, r3 - ldr r0, [r0] - cmp r0, 0 - beq _08019B28 - ldr r1, _08019B08 @ =gCurrentMove - movs r0, 0x75 - strh r0, [r1] - ldrb r0, [r6] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - lsls r0, 1 - mov r1, r10 - str r0, [r1] - ldr r4, _08019B0C @ =gBattlerTarget - ldr r1, _08019B10 @ =gTakenDmgByBattler - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - strb r0, [r4] - ldr r0, _08019B14 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08019B18 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08019AF6 - movs r0, 0x75 - movs r1, 0x1 - bl GetMoveTarget - strb r0, [r4] -_08019AF6: - ldr r1, _08019B1C @ =gBattlescriptCurrInstr - ldr r0, _08019B20 @ =BattleScript_BideAttack - str r0, [r1] - ldr r2, _08019B24 @ =gBattleStruct - mov r8, r2 - b _08019B2E - .align 2, 0 -_08019B04: .4byte gTakenDmg -_08019B08: .4byte gCurrentMove -_08019B0C: .4byte gBattlerTarget -_08019B10: .4byte gTakenDmgByBattler -_08019B14: .4byte gAbsentBattlerFlags -_08019B18: .4byte gBitTable -_08019B1C: .4byte gBattlescriptCurrInstr -_08019B20: .4byte BattleScript_BideAttack -_08019B24: .4byte gBattleStruct -_08019B28: - ldr r1, _08019B38 @ =gBattlescriptCurrInstr - ldr r0, _08019B3C @ =BattleScript_BideNoEnergyToAttack -_08019B2C: - str r0, [r1] -_08019B2E: - movs r4, 0x1 - mov r9, r4 -_08019B32: - mov r7, r8 - ldr r1, [r7] - b _08019B90 - .align 2, 0 -_08019B38: .4byte gBattlescriptCurrInstr -_08019B3C: .4byte BattleScript_BideNoEnergyToAttack -_08019B40: - ldr r1, _08019BE8 @ =gBattleMons - ldr r0, _08019BEC @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r4, r0, r1 - ldr r3, [r4] - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _08019B8C - ldr r2, _08019BF0 @ =gBattleMoves - ldr r0, _08019BF4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7D - bne _08019B84 - movs r0, 0x21 - negs r0, r0 - ands r3, r0 - str r3, [r4] - bl BattleScriptPushCursor - ldr r1, _08019BF8 @ =gBattlescriptCurrInstr - ldr r0, _08019BFC @ =BattleScript_MoveUsedUnfroze - str r0, [r1] - ldr r1, _08019C00 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_08019B84: - movs r0, 0x2 -_08019B86: - mov r9, r0 - ldr r1, _08019C04 @ =gBattleStruct - mov r8, r1 -_08019B8C: - mov r2, r8 - ldr r1, [r2] -_08019B90: - adds r1, 0xB7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08019B98: - mov r4, r8 - ldr r0, [r4] - adds r0, 0xB7 - ldrb r0, [r0] - cmp r0, 0xF - beq _08019BA8 - bl _080192F8 -_08019BA8: - mov r7, r9 - cmp r7, 0x2 - bne _08019BD4 - ldr r4, _08019C08 @ =gActiveBattler - ldr r0, _08019BEC @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - ldr r1, _08019C0C @ =gUnknown_2023C30 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08019BD4: - mov r0, r9 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08019BE8: .4byte gBattleMons -_08019BEC: .4byte gBattlerAttacker -_08019BF0: .4byte gBattleMoves -_08019BF4: .4byte gCurrentMove -_08019BF8: .4byte gBattlescriptCurrInstr -_08019BFC: .4byte BattleScript_MoveUsedUnfroze -_08019C00: .4byte gBattleCommunication -_08019C04: .4byte gBattleStruct -_08019C08: .4byte gActiveBattler -_08019C0C: .4byte gUnknown_2023C30 - thumb_func_end AtkCanceller_UnableToUseMove - - thumb_func_start HasNoMonsToSwitch -HasNoMonsToSwitch: @ 8019C10 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r3, r4, 0 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - ldr r0, _08019C3C @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08019C40 - movs r0, 0 - b _08019D90 - .align 2, 0 -_08019C3C: .4byte gBattleTypeFlags -_08019C40: - movs r0, 0x40 - ands r1, r0 - cmp r1, 0 - beq _08019CCC - adds r0, r4, 0 - bl GetBankMultiplayerId - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - ldr r1, _08019CC4 @ =gEnemyParty - mov r8, r1 - cmp r0, 0 - bne _08019C66 - ldr r0, _08019CC8 @ =gPlayerParty - mov r8, r0 -_08019C66: - adds r0, r7, 0 - bl GetLinkTrainerFlankId - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 1 - adds r5, r0, r6 - adds r0, r5, 0x3 - cmp r5, r0 - bge _08019CB2 - adds r7, r0, 0 -_08019C7C: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08019CAC - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08019CAC - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08019CB2 -_08019CAC: - adds r5, 0x1 - cmp r5, r7 - blt _08019C7C -_08019CB2: - movs r1, 0 - lsls r0, r6, 1 - adds r0, r6 - adds r0, 0x3 - cmp r5, r0 - bne _08019CC0 - movs r1, 0x1 -_08019CC0: - adds r0, r1, 0 - b _08019D90 - .align 2, 0 -_08019CC4: .4byte gEnemyParty -_08019CC8: .4byte gPlayerParty -_08019CCC: - adds r0, r3, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08019CF8 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08019CF4 @ =gEnemyParty - mov r8, r0 - b _08019D10 - .align 2, 0 -_08019CF4: .4byte gEnemyParty -_08019CF8: - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _08019DA0 @ =gPlayerParty - mov r8, r1 -_08019D10: - mov r0, r10 - cmp r0, 0x6 - bne _08019D20 - ldr r1, _08019DA4 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrb r0, [r0] - mov r10, r0 -_08019D20: - mov r1, r9 - cmp r1, 0x6 - bne _08019D30 - ldr r1, _08019DA4 @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrb r0, [r0] - mov r9, r0 -_08019D30: - movs r5, 0 -_08019D32: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08019D82 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08019D82 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08019D82 - cmp r5, r10 - beq _08019D82 - cmp r5, r9 - beq _08019D82 - ldr r0, _08019DA8 @ =gBattleStruct - ldr r1, [r0] - adds r0, r7, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r5, r0 - beq _08019D82 - adds r0, r6, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r5, r0 - bne _08019D88 -_08019D82: - adds r5, 0x1 - cmp r5, 0x5 - ble _08019D32 -_08019D88: - movs r0, 0 - cmp r5, 0x6 - bne _08019D90 - movs r0, 0x1 -_08019D90: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08019DA0: .4byte gPlayerParty -_08019DA4: .4byte gBattlerPartyIndexes -_08019DA8: .4byte gBattleStruct - thumb_func_end HasNoMonsToSwitch - - thumb_func_start CastformDataTypeChange -CastformDataTypeChange: @ 8019DAC - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r1, _08019E1C @ =gBattleMons - movs r0, 0x58 - muls r0, r6 - adds r4, r0, r1 - ldrh r1, [r4] - ldr r0, _08019E20 @ =0x00000181 - cmp r1, r0 - bne _08019E50 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3B - bne _08019E50 - ldrh r0, [r4, 0x28] - cmp r0, 0 - beq _08019E50 - str r5, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _08019DFE - str r5, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08019E24 -_08019DFE: - adds r2, r4, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0 - beq _08019E24 - adds r1, r4, 0 - adds r1, 0x22 - ldrb r0, [r1] - cmp r0, 0 - beq _08019E24 - strb r5, [r2] - strb r5, [r1] - movs r0, 0x1 - b _08019F08 - .align 2, 0 -_08019E1C: .4byte gBattleMons -_08019E20: .4byte 0x00000181 -_08019E24: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08019E50 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08019E54 -_08019E50: - movs r0, 0 - b _08019F08 -_08019E54: - ldr r1, _08019F10 @ =gBattleWeather - ldrh r0, [r1] - movs r2, 0xE7 - ands r2, r0 - adds r4, r1, 0 - cmp r2, 0 - bne _08019E82 - ldr r1, _08019F14 @ =gBattleMons - movs r0, 0x58 - muls r0, r6 - adds r1, r0, r1 - adds r3, r1, 0 - adds r3, 0x21 - ldrb r0, [r3] - cmp r0, 0 - beq _08019E82 - adds r1, 0x22 - ldrb r0, [r1] - cmp r0, 0 - beq _08019E82 - strb r2, [r3] - strb r2, [r1] - movs r5, 0x1 -_08019E82: - ldrh r1, [r4] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08019EAE - ldr r1, _08019F14 @ =gBattleMons - movs r0, 0x58 - muls r0, r6 - adds r1, r0, r1 - adds r2, r1, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0xA - beq _08019EAE - adds r1, 0x22 - ldrb r0, [r1] - cmp r0, 0xA - beq _08019EAE - movs r0, 0xA - strb r0, [r2] - strb r0, [r1] - movs r5, 0x2 -_08019EAE: - ldrh r1, [r4] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08019EDA - ldr r1, _08019F14 @ =gBattleMons - movs r0, 0x58 - muls r0, r6 - adds r1, r0, r1 - adds r2, r1, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0xB - beq _08019EDA - adds r1, 0x22 - ldrb r0, [r1] - cmp r0, 0xB - beq _08019EDA - movs r0, 0xB - strb r0, [r2] - strb r0, [r1] - movs r5, 0x3 -_08019EDA: - ldrh r1, [r4] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08019F06 - ldr r1, _08019F14 @ =gBattleMons - movs r0, 0x58 - muls r0, r6 - adds r1, r0, r1 - adds r2, r1, 0 - adds r2, 0x21 - ldrb r0, [r2] - cmp r0, 0xF - beq _08019F06 - adds r1, 0x22 - ldrb r0, [r1] - cmp r0, 0xF - beq _08019F06 - movs r0, 0xF - strb r0, [r2] - strb r0, [r1] - movs r5, 0x4 -_08019F06: - adds r0, r5, 0 -_08019F08: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08019F10: .4byte gBattleWeather -_08019F14: .4byte gBattleMons - thumb_func_end CastformDataTypeChange - - thumb_func_start AbilityBattleEffects -AbilityBattleEffects: @ 8019F18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - ldr r4, [sp, 0x48] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0 - mov r9, r0 - ldr r5, _08019F74 @ =gBattlerAttacker - ldr r1, _08019F78 @ =gBattlersCount - ldrb r0, [r5] - ldrb r1, [r1] - cmp r0, r1 - bcc _08019F54 - mov r1, r10 - strb r1, [r5] -_08019F54: - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08019F84 - ldr r1, _08019F7C @ =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08019F80 @ =gPlayerParty - b _08019F94 - .align 2, 0 -_08019F74: .4byte gBattlerAttacker -_08019F78: .4byte gBattlersCount -_08019F7C: .4byte gBattlerPartyIndexes -_08019F80: .4byte gPlayerParty -_08019F84: - ldr r1, _08019FC4 @ =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08019FC8 @ =gEnemyParty -_08019F94: - adds r6, r1, r0 - ldr r5, _08019FCC @ =gBattlerTarget - ldr r1, _08019FD0 @ =gBattlersCount - ldrb r0, [r5] - ldrb r1, [r1] - cmp r0, r1 - bcc _08019FA6 - mov r2, r10 - strb r2, [r5] -_08019FA6: - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08019FD8 - ldr r1, _08019FC4 @ =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08019FD4 @ =gPlayerParty - b _08019FE8 - .align 2, 0 -_08019FC4: .4byte gBattlerPartyIndexes -_08019FC8: .4byte gEnemyParty -_08019FCC: .4byte gBattlerTarget -_08019FD0: .4byte gBattlersCount -_08019FD4: .4byte gPlayerParty -_08019FD8: - ldr r1, _0801A038 @ =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0801A03C @ =gEnemyParty -_08019FE8: - adds r5, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x14] - ldr r0, _0801A040 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0801A02A - bl _0801BBC6 -_0801A02A: - mov r3, r8 - cmp r3, 0 - beq _0801A048 - ldr r0, _0801A044 @ =gLastUsedAbility - strb r3, [r0] - mov r8, r0 - b _0801A05E - .align 2, 0 -_0801A038: .4byte gBattlerPartyIndexes -_0801A03C: .4byte gEnemyParty -_0801A040: .4byte gBattleTypeFlags -_0801A044: .4byte gLastUsedAbility -_0801A048: - ldr r2, _0801A078 @ =gLastUsedAbility - ldr r1, _0801A07C @ =gBattleMons - movs r0, 0x58 - mov r3, r10 - muls r3, r0 - adds r0, r3, 0 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r2] - mov r8, r2 -_0801A05E: - cmp r4, 0 - bne _0801A066 - ldr r0, _0801A080 @ =gCurrentMove - ldrh r4, [r0] -_0801A066: - ldr r1, _0801A084 @ =gBattleStruct - ldr r0, [r1] - ldrb r0, [r0, 0x13] - adds r6, r1, 0 - cmp r0, 0 - beq _0801A088 - movs r5, 0x3F - ands r5, r0 - b _0801A094 - .align 2, 0 -_0801A078: .4byte gLastUsedAbility -_0801A07C: .4byte gBattleMons -_0801A080: .4byte gCurrentMove -_0801A084: .4byte gBattleStruct -_0801A088: - ldr r1, _0801A0D0 @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x2] -_0801A094: - ldr r0, _0801A0D4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 8 - ands r0, r1 - movs r1, 0x80 - lsls r1, 8 - cmp r0, r1 - bne _0801A0BA - mov r1, r8 - ldrb r0, [r1] - cmp r0, 0x16 - bne _0801A0B2 - bl _0801BBC6 -_0801A0B2: - cmp r0, 0x24 - bne _0801A0BA - bl _0801BBC6 -_0801A0BA: - ldr r2, [sp, 0x4] - cmp r2, 0x13 - bls _0801A0C4 - bl _0801BBAA -_0801A0C4: - lsls r0, r2, 2 - ldr r1, _0801A0D8 @ =_0801A0DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801A0D0: .4byte gBattleMoves -_0801A0D4: .4byte gBattleTypeFlags -_0801A0D8: .4byte _0801A0DC - .align 2, 0 -_0801A0DC: - .4byte _0801A12C - .4byte _0801A3E0 - .4byte _0801A600 - .4byte _0801A698 - .4byte _0801A8B8 - .4byte _0801B010 - .4byte _0801B374 - .4byte _0801B3C8 - .4byte _0801B450 - .4byte _0801B4D4 - .4byte _0801B6FC - .4byte _0801B518 - .4byte _0801B740 - .4byte _0801B79C - .4byte _0801B7F8 - .4byte _0801B90C - .4byte _0801B9A8 - .4byte _0801BA04 - .4byte _0801BB78 - .4byte _0801B8B4 -_0801A12C: - ldr r2, _0801A160 @ =gBattlerAttacker - ldr r0, _0801A164 @ =gBattlersCount - ldrb r1, [r2] - adds r3, r0, 0 - ldrb r4, [r3] - cmp r1, r4 - bcc _0801A13E - mov r0, r10 - strb r0, [r2] -_0801A13E: - mov r1, r8 - ldrb r0, [r1] - cmp r0, 0x2D - bne _0801A148 - b _0801A2AC -_0801A148: - cmp r0, 0x2D - bgt _0801A178 - cmp r0, 0xD - bne _0801A152 - b _0801A3A8 -_0801A152: - cmp r0, 0xD - bgt _0801A168 - cmp r0, 0x2 - bne _0801A15C - b _0801A27C -_0801A15C: - bl _0801BBAA - .align 2, 0 -_0801A160: .4byte gBattlerAttacker -_0801A164: .4byte gBattlersCount -_0801A168: - cmp r0, 0x16 - bne _0801A16E - b _0801A30C -_0801A16E: - cmp r0, 0x24 - bne _0801A174 - b _0801A36C -_0801A174: - bl _0801BBAA -_0801A178: - cmp r0, 0x46 - bne _0801A17E - b _0801A2DC -_0801A17E: - cmp r0, 0x46 - bgt _0801A18C - cmp r0, 0x3B - bne _0801A188 - b _0801A340 -_0801A188: - bl _0801BBAA -_0801A18C: - cmp r0, 0x4D - bne _0801A192 - b _0801A3A8 -_0801A192: - cmp r0, 0xFF - beq _0801A19A - bl _0801BBAA -_0801A19A: - bl weather_get_current - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x3 - cmp r0, 0xA - bhi _0801A250 - lsls r0, 2 - ldr r1, _0801A1B4 @ =_0801A1B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801A1B4: .4byte _0801A1B8 - .align 2, 0 -_0801A1B8: - .4byte _0801A1E4 - .4byte _0801A250 - .4byte _0801A1E4 - .4byte _0801A250 - .4byte _0801A250 - .4byte _0801A208 - .4byte _0801A250 - .4byte _0801A250 - .4byte _0801A250 - .4byte _0801A22C - .4byte _0801A1E4 -_0801A1E4: - ldr r2, _0801A200 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801A250 - movs r0, 0x5 - strh r0, [r2] - ldr r1, _0801A204 @ =gBattleScripting - movs r0, 0xA - strb r0, [r1, 0x10] - mov r2, r10 - strb r2, [r1, 0x17] - b _0801A246 - .align 2, 0 -_0801A200: .4byte gBattleWeather -_0801A204: .4byte gBattleScripting -_0801A208: - ldr r3, _0801A224 @ =gBattleWeather - ldrh r1, [r3] - movs r2, 0x18 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0801A250 - strh r2, [r3] - ldr r1, _0801A228 @ =gBattleScripting - movs r0, 0xC - strb r0, [r1, 0x10] - mov r3, r10 - strb r3, [r1, 0x17] - b _0801A246 - .align 2, 0 -_0801A224: .4byte gBattleWeather -_0801A228: .4byte gBattleScripting -_0801A22C: - ldr r3, _0801A26C @ =gBattleWeather - ldrh r1, [r3] - movs r2, 0x60 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0801A250 - strh r2, [r3] - ldr r1, _0801A270 @ =gBattleScripting - movs r0, 0xB - strb r0, [r1, 0x10] - mov r4, r10 - strb r4, [r1, 0x17] -_0801A246: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0801A250: - mov r0, r9 - cmp r0, 0 - bne _0801A25A - bl _0801BBC6 -_0801A25A: - bl weather_get_current - ldr r1, _0801A274 @ =gBattleCommunication - strb r0, [r1, 0x5] - ldr r0, _0801A278 @ =BattleScript_OverworldWeatherStarts - bl BattleScriptPushCursorAndCallback - bl _0801BBAA - .align 2, 0 -_0801A26C: .4byte gBattleWeather -_0801A270: .4byte gBattleScripting -_0801A274: .4byte gBattleCommunication -_0801A278: .4byte BattleScript_OverworldWeatherStarts -_0801A27C: - ldr r2, _0801A2A0 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801A28C - bl _0801BBAA -_0801A28C: - movs r0, 0x5 - strh r0, [r2] - ldr r0, _0801A2A4 @ =BattleScript_DrizzleActivates - bl BattleScriptPushCursorAndCallback - ldr r0, _0801A2A8 @ =gBattleScripting - mov r1, r10 - strb r1, [r0, 0x17] - bl _0801BB5A - .align 2, 0 -_0801A2A0: .4byte gBattleWeather -_0801A2A4: .4byte BattleScript_DrizzleActivates -_0801A2A8: .4byte gBattleScripting -_0801A2AC: - ldr r2, _0801A2D0 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801A2BC - bl _0801BBAA -_0801A2BC: - movs r0, 0x18 - strh r0, [r2] - ldr r0, _0801A2D4 @ =BattleScript_SandstreamActivates - bl BattleScriptPushCursorAndCallback - ldr r0, _0801A2D8 @ =gBattleScripting - mov r2, r10 - strb r2, [r0, 0x17] - bl _0801BB5A - .align 2, 0 -_0801A2D0: .4byte gBattleWeather -_0801A2D4: .4byte BattleScript_SandstreamActivates -_0801A2D8: .4byte gBattleScripting -_0801A2DC: - ldr r2, _0801A300 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801A2EC - bl _0801BBAA -_0801A2EC: - movs r0, 0x60 - strh r0, [r2] - ldr r0, _0801A304 @ =BattleScript_DroughtActivates - bl BattleScriptPushCursorAndCallback - ldr r0, _0801A308 @ =gBattleScripting - mov r3, r10 - strb r3, [r0, 0x17] - bl _0801BB5A - .align 2, 0 -_0801A300: .4byte gBattleWeather -_0801A304: .4byte BattleScript_DroughtActivates -_0801A308: .4byte gBattleScripting -_0801A30C: - ldr r0, _0801A338 @ =gSpecialStatuses - mov r4, r10 - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 2 - adds r3, r1, r0 - ldrb r0, [r3] - lsls r0, 28 - cmp r0, 0 - bge _0801A324 - bl _0801BBAA -_0801A324: - ldr r1, _0801A33C @ =gStatuses3 - adds r1, r2, r1 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 12 - orrs r0, r2 - str r0, [r1] - ldrb r0, [r3] - movs r1, 0x8 - b _0801A396 - .align 2, 0 -_0801A338: .4byte gSpecialStatuses -_0801A33C: .4byte gStatuses3 -_0801A340: - mov r0, r10 - bl CastformDataTypeChange - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0 - bne _0801A354 - bl _0801BBC6 -_0801A354: - ldr r0, _0801A364 @ =BattleScript_CastformChange - bl BattleScriptPushCursorAndCallback - ldr r0, _0801A368 @ =gBattleScripting - mov r1, r10 - strb r1, [r0, 0x17] - bl _0801BA6A - .align 2, 0 -_0801A364: .4byte BattleScript_CastformChange -_0801A368: .4byte gBattleScripting -_0801A36C: - ldr r0, _0801A3A0 @ =gSpecialStatuses - mov r3, r10 - lsls r2, r3, 2 - adds r1, r2, r3 - lsls r1, 2 - adds r3, r1, r0 - ldrb r0, [r3] - lsls r0, 27 - cmp r0, 0 - bge _0801A384 - bl _0801BBAA -_0801A384: - ldr r1, _0801A3A4 @ =gStatuses3 - adds r1, r2, r1 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 13 - orrs r0, r2 - str r0, [r1] - ldrb r0, [r3] - movs r1, 0x10 -_0801A396: - orrs r0, r1 - strb r0, [r3] - bl _0801BBAA - .align 2, 0 -_0801A3A0: .4byte gSpecialStatuses -_0801A3A4: .4byte gStatuses3 -_0801A3A8: - movs r4, 0 - ldrb r3, [r3] - cmp r4, r3 - bcc _0801A3B4 - bl _0801BBAA -_0801A3B4: - adds r0, r4, 0 - bl CastformDataTypeChange - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0 - beq _0801A3C8 - bl _0801BA60 -_0801A3C8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0801A3DC @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _0801A3B4 - bl _0801BBAA - .align 2, 0 -_0801A3DC: .4byte gBattlersCount -_0801A3E0: - ldr r7, _0801A410 @ =gBattleMons - movs r0, 0x58 - mov r6, r10 - muls r6, r0 - adds r4, r6, r7 - ldrh r0, [r4, 0x28] - cmp r0, 0 - bne _0801A3F4 - bl _0801BBAA -_0801A3F4: - ldr r0, _0801A414 @ =gBattlerAttacker - mov r1, r10 - strb r1, [r0] - mov r2, r8 - ldrb r5, [r2] - cmp r5, 0x2C - beq _0801A426 - cmp r5, 0x2C - bgt _0801A418 - cmp r5, 0x3 - bne _0801A40C - b _0801A58C -_0801A40C: - bl _0801BBAA - .align 2, 0 -_0801A410: .4byte gBattleMons -_0801A414: .4byte gBattlerAttacker -_0801A418: - cmp r5, 0x36 - bne _0801A41E - b _0801A5D8 -_0801A41E: - cmp r5, 0x3D - beq _0801A4A8 - bl _0801BBAA -_0801A426: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0801A442 - bl _0801BBAA -_0801A442: - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _0801A45A - bl _0801BBAA -_0801A45A: - ldr r0, _0801A49C @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801A46A - bl _0801BBAA -_0801A46A: - ldrh r0, [r4, 0x2C] - ldrh r3, [r4, 0x28] - cmp r0, r3 - bhi _0801A476 - bl _0801BBAA -_0801A476: - mov r0, r8 - strb r5, [r0] - ldr r0, _0801A4A0 @ =BattleScript_RainDishActivates - bl BattleScriptPushCursorAndCallback - ldr r1, _0801A4A4 @ =gBattleMoveDamage - ldrh r0, [r4, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _0801A490 - movs r0, 0x1 - str r0, [r1] -_0801A490: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - bl _0801BB5A - .align 2, 0 -_0801A49C: .4byte gBattleWeather -_0801A4A0: .4byte BattleScript_RainDishActivates -_0801A4A4: .4byte gBattleMoveDamage -_0801A4A8: - adds r0, r7, 0 - adds r0, 0x4C - adds r5, r6, r0 - ldrb r0, [r5] - cmp r0, 0 - bne _0801A4B8 - bl _0801BBAA -_0801A4B8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0801A4D2 - bl _0801BBAA -_0801A4D2: - ldr r0, [r5] - movs r1, 0x88 - ands r0, r1 - cmp r0, 0 - beq _0801A4E4 - ldr r0, _0801A564 @ =gBattleTextBuff1 - ldr r1, _0801A568 @ =gUnknown_8250094 - bl StringCopy -_0801A4E4: - ldr r0, [r5] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0801A4F6 - ldr r0, _0801A564 @ =gBattleTextBuff1 - ldr r1, _0801A56C @ =gUnknown_825009C - bl StringCopy -_0801A4F6: - ldr r0, [r5] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801A508 - ldr r0, _0801A564 @ =gBattleTextBuff1 - ldr r1, _0801A570 @ =gUnknown_82500A4 - bl StringCopy -_0801A508: - ldr r0, [r5] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801A51A - ldr r0, _0801A564 @ =gBattleTextBuff1 - ldr r1, _0801A574 @ =gUnknown_82500AC - bl StringCopy -_0801A51A: - ldr r0, [r5] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0801A52C - ldr r0, _0801A564 @ =gBattleTextBuff1 - ldr r1, _0801A578 @ =gUnknown_82500B4 - bl StringCopy -_0801A52C: - str r4, [r5] - adds r1, r7, 0 - adds r1, 0x50 - adds r1, r6, r1 - ldr r0, [r1] - ldr r2, _0801A57C @ =0xf7ffffff - ands r0, r2 - str r0, [r1] - ldr r0, _0801A580 @ =gBattleScripting - ldr r4, _0801A584 @ =gActiveBattler - mov r1, r10 - strb r1, [r4] - strb r1, [r0, 0x17] - ldr r0, _0801A588 @ =BattleScript_ShedSkinActivates - bl BattleScriptPushCursorAndCallback - str r5, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - bl _0801BB5A - .align 2, 0 -_0801A564: .4byte gBattleTextBuff1 -_0801A568: .4byte gUnknown_8250094 -_0801A56C: .4byte gUnknown_825009C -_0801A570: .4byte gUnknown_82500A4 -_0801A574: .4byte gUnknown_82500AC -_0801A578: .4byte gUnknown_82500B4 -_0801A57C: .4byte 0xf7ffffff -_0801A580: .4byte gBattleScripting -_0801A584: .4byte gActiveBattler -_0801A588: .4byte BattleScript_ShedSkinActivates -_0801A58C: - ldrb r2, [r4, 0x1B] - movs r0, 0x1B - ldrsb r0, [r4, r0] - cmp r0, 0xB - ble _0801A59A - bl _0801BBAA -_0801A59A: - ldr r0, _0801A5CC @ =gDisableStructs - mov r3, r10 - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x16] - cmp r0, 0x2 - bne _0801A5B0 - bl _0801BBAA -_0801A5B0: - adds r0, r2, 0x1 - movs r1, 0 - strb r0, [r4, 0x1B] - ldr r4, _0801A5D0 @ =gBattleScripting - movs r0, 0x11 - strb r0, [r4, 0x10] - strb r1, [r4, 0x11] - ldr r0, _0801A5D4 @ =BattleScript_SpeedBoostActivates - bl BattleScriptPushCursorAndCallback - mov r0, r10 - strb r0, [r4, 0x17] - bl _0801BB5A - .align 2, 0 -_0801A5CC: .4byte gDisableStructs -_0801A5D0: .4byte gBattleScripting -_0801A5D4: .4byte BattleScript_SpeedBoostActivates -_0801A5D8: - ldr r2, _0801A5FC @ =gDisableStructs - ldrb r0, [r0] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x18] - lsls r0, r3, 31 - lsrs r0, 31 - movs r2, 0x1 - eors r2, r0 - movs r0, 0x2 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x18] - bl _0801BBAA - .align 2, 0 -_0801A5FC: .4byte gDisableStructs -_0801A600: - mov r1, r8 - ldrb r0, [r1] - cmp r0, 0x2B - beq _0801A60C - bl _0801BBAA -_0801A60C: - movs r5, 0 - ldr r0, _0801A67C @ =sSoundMovesTable - ldrh r2, [r0] - ldr r3, _0801A680 @ =0x0000ffff - adds r1, r0, 0 - cmp r2, r3 - bne _0801A61E - bl _0801BBAA -_0801A61E: - cmp r2, r4 - beq _0801A636 - adds r2, r1, 0 -_0801A624: - adds r2, 0x2 - adds r5, 0x1 - ldrh r0, [r2] - cmp r0, r3 - bne _0801A632 - bl _0801BBAA -_0801A632: - cmp r0, r4 - bne _0801A624 -_0801A636: - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _0801A680 @ =0x0000ffff - cmp r1, r0 - bne _0801A646 - bl _0801BBAA -_0801A646: - ldr r1, _0801A684 @ =gBattleMons - ldr r0, _0801A688 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _0801A66C - ldr r0, _0801A68C @ =gHitMarker - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 4 - orrs r1, r2 - str r1, [r0] -_0801A66C: - ldr r1, _0801A690 @ =gBattlescriptCurrInstr - ldr r0, _0801A694 @ =BattleScript_SoundproofProtected - str r0, [r1] - movs r2, 0x1 - mov r9, r2 - bl _0801BBB0 - .align 2, 0 -_0801A67C: .4byte sSoundMovesTable -_0801A680: .4byte 0x0000ffff -_0801A684: .4byte gBattleMons -_0801A688: .4byte gBattlerAttacker -_0801A68C: .4byte gHitMarker -_0801A690: .4byte gBattlescriptCurrInstr -_0801A694: .4byte BattleScript_SoundproofProtected -_0801A698: - cmp r4, 0 - bne _0801A6A0 - bl _0801BBAA -_0801A6A0: - mov r3, r8 - ldrb r0, [r3] - cmp r0, 0xB - beq _0801A710 - cmp r0, 0xB - bgt _0801A6B2 - cmp r0, 0xA - beq _0801A6B8 - b _0801A832 -_0801A6B2: - cmp r0, 0x12 - beq _0801A768 - b _0801A832 -_0801A6B8: - cmp r5, 0xD - beq _0801A6BE - b _0801A832 -_0801A6BE: - ldr r0, _0801A6E8 @ =gBattleMoves - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801A6D0 - b _0801A832 -_0801A6D0: - ldr r1, _0801A6EC @ =gProtectStructs - ldr r0, _0801A6F0 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsls r0, 28 - cmp r0, 0 - bge _0801A6FC - ldr r1, _0801A6F4 @ =gBattlescriptCurrInstr - ldr r0, _0801A6F8 @ =BattleScript_MoveHPDrain - b _0801A700 - .align 2, 0 -_0801A6E8: .4byte gBattleMoves -_0801A6EC: .4byte gProtectStructs -_0801A6F0: .4byte gBattlerAttacker -_0801A6F4: .4byte gBattlescriptCurrInstr -_0801A6F8: .4byte BattleScript_MoveHPDrain -_0801A6FC: - ldr r1, _0801A708 @ =gBattlescriptCurrInstr - ldr r0, _0801A70C @ =BattleScript_MoveHPDrain_PPLoss -_0801A700: - str r0, [r1] - movs r4, 0x1 - mov r9, r4 - b _0801A832 - .align 2, 0 -_0801A708: .4byte gBattlescriptCurrInstr -_0801A70C: .4byte BattleScript_MoveHPDrain_PPLoss -_0801A710: - cmp r5, 0xB - beq _0801A716 - b _0801A832 -_0801A716: - ldr r0, _0801A740 @ =gBattleMoves - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801A728 - b _0801A832 -_0801A728: - ldr r1, _0801A744 @ =gProtectStructs - ldr r0, _0801A748 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsls r0, 28 - cmp r0, 0 - bge _0801A754 - ldr r1, _0801A74C @ =gBattlescriptCurrInstr - ldr r0, _0801A750 @ =BattleScript_MoveHPDrain - b _0801A758 - .align 2, 0 -_0801A740: .4byte gBattleMoves -_0801A744: .4byte gProtectStructs -_0801A748: .4byte gBattlerAttacker -_0801A74C: .4byte gBattlescriptCurrInstr -_0801A750: .4byte BattleScript_MoveHPDrain -_0801A754: - ldr r1, _0801A760 @ =gBattlescriptCurrInstr - ldr r0, _0801A764 @ =BattleScript_MoveHPDrain_PPLoss -_0801A758: - str r0, [r1] - movs r0, 0x1 - b _0801A830 - .align 2, 0 -_0801A760: .4byte gBattlescriptCurrInstr -_0801A764: .4byte BattleScript_MoveHPDrain_PPLoss -_0801A768: - cmp r5, 0xA - bne _0801A832 - ldr r1, _0801A7B8 @ =gBattleMons - movs r0, 0x58 - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0801A832 - ldr r2, _0801A7BC @ =gBattleResources - ldr r0, [r2] - ldr r0, [r0, 0x4] - mov r3, r10 - lsls r1, r3, 2 - adds r0, r1 - ldr r3, [r0] - movs r4, 0x1 - ands r3, r4 - adds r5, r1, 0 - cmp r3, 0 - bne _0801A7F8 - ldr r0, _0801A7C0 @ =gBattleCommunication - strb r3, [r0, 0x5] - ldr r1, _0801A7C4 @ =gProtectStructs - ldr r0, _0801A7C8 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsls r0, 28 - cmp r0, 0 - bge _0801A7D4 - ldr r1, _0801A7CC @ =gBattlescriptCurrInstr - ldr r0, _0801A7D0 @ =BattleScript_FlashFireBoost - b _0801A7D8 - .align 2, 0 -_0801A7B8: .4byte gBattleMons -_0801A7BC: .4byte gBattleResources -_0801A7C0: .4byte gBattleCommunication -_0801A7C4: .4byte gProtectStructs -_0801A7C8: .4byte gBattlerAttacker -_0801A7CC: .4byte gBattlescriptCurrInstr -_0801A7D0: .4byte BattleScript_FlashFireBoost -_0801A7D4: - ldr r1, _0801A7F0 @ =gBattlescriptCurrInstr - ldr r0, _0801A7F4 @ =BattleScript_FlashFireBoost_PPLoss -_0801A7D8: - str r0, [r1] - ldr r0, [r2] - ldr r1, [r0, 0x4] - adds r1, r5 - ldr r0, [r1] - movs r2, 0x1 - orrs r0, r2 - str r0, [r1] - movs r4, 0x2 - mov r9, r4 - b _0801A832 - .align 2, 0 -_0801A7F0: .4byte gBattlescriptCurrInstr -_0801A7F4: .4byte BattleScript_FlashFireBoost_PPLoss -_0801A7F8: - ldr r0, _0801A814 @ =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, _0801A818 @ =gProtectStructs - ldr r0, _0801A81C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsls r0, 28 - cmp r0, 0 - bge _0801A828 - ldr r1, _0801A820 @ =gBattlescriptCurrInstr - ldr r0, _0801A824 @ =BattleScript_FlashFireBoost - b _0801A82C - .align 2, 0 -_0801A814: .4byte gBattleCommunication -_0801A818: .4byte gProtectStructs -_0801A81C: .4byte gBattlerAttacker -_0801A820: .4byte gBattlescriptCurrInstr -_0801A824: .4byte BattleScript_FlashFireBoost -_0801A828: - ldr r1, _0801A86C @ =gBattlescriptCurrInstr - ldr r0, _0801A870 @ =BattleScript_FlashFireBoost_PPLoss -_0801A82C: - str r0, [r1] - movs r0, 0x2 -_0801A830: - mov r9, r0 -_0801A832: - mov r1, r9 - cmp r1, 0x1 - beq _0801A83C - bl _0801BBAA -_0801A83C: - ldr r1, _0801A874 @ =gBattleMons - movs r0, 0x58 - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - adds r1, r0, r1 - ldrh r0, [r1, 0x2C] - ldrh r3, [r1, 0x28] - cmp r0, r3 - bne _0801A898 - ldr r1, _0801A878 @ =gProtectStructs - ldr r0, _0801A87C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x2] - lsls r0, 28 - cmp r0, 0 - bge _0801A884 - ldr r1, _0801A86C @ =gBattlescriptCurrInstr - ldr r0, _0801A880 @ =BattleScript_MonMadeMoveUseless - str r0, [r1] - bl _0801BBAA - .align 2, 0 -_0801A86C: .4byte gBattlescriptCurrInstr -_0801A870: .4byte BattleScript_FlashFireBoost_PPLoss -_0801A874: .4byte gBattleMons -_0801A878: .4byte gProtectStructs -_0801A87C: .4byte gBattlerAttacker -_0801A880: .4byte BattleScript_MonMadeMoveUseless -_0801A884: - ldr r1, _0801A890 @ =gBattlescriptCurrInstr - ldr r0, _0801A894 @ =BattleScript_MonMadeMoveUseless_PPLoss - str r0, [r1] - bl _0801BBAA - .align 2, 0 -_0801A890: .4byte gBattlescriptCurrInstr -_0801A894: .4byte BattleScript_MonMadeMoveUseless_PPLoss -_0801A898: - ldr r2, _0801A8B4 @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - lsrs r0, 2 - str r0, [r2] - cmp r0, 0 - bne _0801A8A8 - mov r4, r9 - str r4, [r2] -_0801A8A8: - ldr r0, [r2] - negs r0, r0 - str r0, [r2] - bl _0801BBAA - .align 2, 0 -_0801A8B4: .4byte gBattleMoveDamage -_0801A8B8: - mov r1, r8 - ldrb r0, [r1] - subs r0, 0x9 - cmp r0, 0x2F - bls _0801A8C6 - bl _0801BBAA -_0801A8C6: - lsls r0, 2 - ldr r1, _0801A8D0 @ =_0801A8D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801A8D0: .4byte _0801A8D4 - .align 2, 0 -_0801A8D4: - .4byte _0801ACF0 - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801A994 - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801AA5C - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801AB1C - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801AC14 - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801ADCC - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801BBAA - .4byte _0801AEA8 -_0801A994: - ldr r0, _0801AA3C @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801A9A4 - bl _0801BBAA -_0801A9A4: - cmp r4, 0xA5 - bne _0801A9AC - bl _0801BBAA -_0801A9AC: - ldr r0, _0801AA40 @ =gBattleMoves - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801A9C0 - bl _0801BBAA -_0801A9C0: - ldr r2, _0801AA44 @ =gSpecialStatuses - ldr r0, _0801AA48 @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801A9E8 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801A9E8 - bl _0801BBAA -_0801A9E8: - ldr r1, _0801AA4C @ =gBattleMons - movs r0, 0x58 - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - adds r1, r0, r1 - adds r3, r1, 0 - adds r3, 0x21 - ldrb r0, [r3] - cmp r0, r5 - bne _0801AA02 - bl _0801BBAA -_0801AA02: - adds r2, r1, 0 - adds r2, 0x22 - ldrb r0, [r2] - cmp r0, r5 - bne _0801AA10 - bl _0801BBAA -_0801AA10: - ldrh r0, [r1, 0x28] - cmp r0, 0 - bne _0801AA1A - bl _0801BBAA -_0801AA1A: - strb r5, [r3] - strb r5, [r2] - ldr r1, _0801AA50 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - bl BattleScriptPushCursor - ldr r1, _0801AA54 @ =gBattlescriptCurrInstr - ldr r0, _0801AA58 @ =BattleScript_ColorChangeActivates - str r0, [r1] - bl _0801BB5A - .align 2, 0 -_0801AA3C: .4byte gMoveResultFlags -_0801AA40: .4byte gBattleMoves -_0801AA44: .4byte gSpecialStatuses -_0801AA48: .4byte gBattlerTarget -_0801AA4C: .4byte gBattleMons -_0801AA50: .4byte gBattleTextBuff1 -_0801AA54: .4byte gBattlescriptCurrInstr -_0801AA58: .4byte BattleScript_ColorChangeActivates -_0801AA5C: - ldr r0, _0801AAF4 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801AA6C - bl _0801BBAA -_0801AA6C: - ldr r1, _0801AAF8 @ =gBattleMons - ldr r0, _0801AAFC @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r3, r0, r1 - ldrh r0, [r3, 0x28] - cmp r0, 0 - bne _0801AA82 - bl _0801BBAA -_0801AA82: - ldr r0, _0801AB00 @ =gProtectStructs - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 31 - cmp r0, 0 - beq _0801AA94 - bl _0801BBAA -_0801AA94: - ldr r2, _0801AB04 @ =gSpecialStatuses - ldr r0, _0801AB08 @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AABC - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AABC - bl _0801BBAA -_0801AABC: - ldr r1, _0801AB0C @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0801AAD6 - bl _0801BBAA -_0801AAD6: - ldr r1, _0801AB10 @ =gBattleMoveDamage - ldrh r0, [r3, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _0801AAE4 - str r2, [r1] -_0801AAE4: - bl BattleScriptPushCursor - ldr r1, _0801AB14 @ =gBattlescriptCurrInstr - ldr r0, _0801AB18 @ =BattleScript_RoughSkinActivates - str r0, [r1] - bl _0801BB5A - .align 2, 0 -_0801AAF4: .4byte gMoveResultFlags -_0801AAF8: .4byte gBattleMons -_0801AAFC: .4byte gBattlerAttacker -_0801AB00: .4byte gProtectStructs -_0801AB04: .4byte gSpecialStatuses -_0801AB08: .4byte gBattlerTarget -_0801AB0C: .4byte gBattleMoves -_0801AB10: .4byte gBattleMoveDamage -_0801AB14: .4byte gBattlescriptCurrInstr -_0801AB18: .4byte BattleScript_RoughSkinActivates -_0801AB1C: - ldr r0, _0801ABE8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801AB2C - bl _0801BBAA -_0801AB2C: - ldr r1, _0801ABEC @ =gBattleMons - ldr r0, _0801ABF0 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801AB42 - bl _0801BBAA -_0801AB42: - ldr r0, _0801ABF4 @ =gProtectStructs - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 31 - cmp r0, 0 - beq _0801AB54 - bl _0801BBAA -_0801AB54: - ldr r2, _0801ABF8 @ =gSpecialStatuses - ldr r0, _0801ABFC @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AB7C - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AB7C - bl _0801BBAA -_0801AB7C: - ldr r1, _0801AC00 @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801AB94 - bl _0801BBAA -_0801AB94: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _0801ABAC - bl _0801BBAA -_0801ABAC: - ldr r5, _0801AC04 @ =gBattleCommunication - movs r4, 0x3 -_0801ABB0: - bl Random - ands r0, r4 - strb r0, [r5, 0x3] - cmp r0, 0 - beq _0801ABB0 - ldr r1, _0801AC04 @ =gBattleCommunication - ldrb r0, [r1, 0x3] - cmp r0, 0x3 - bne _0801ABC8 - adds r0, 0x2 - strb r0, [r1, 0x3] -_0801ABC8: - ldrb r0, [r1, 0x3] - adds r0, 0x40 - strb r0, [r1, 0x3] - bl BattleScriptPushCursor - ldr r1, _0801AC08 @ =gBattlescriptCurrInstr - ldr r0, _0801AC0C @ =BattleScript_ApplySecondaryEffect - str r0, [r1] - ldr r2, _0801AC10 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - str r0, [r2] - bl _0801BB5A - .align 2, 0 -_0801ABE8: .4byte gMoveResultFlags -_0801ABEC: .4byte gBattleMons -_0801ABF0: .4byte gBattlerAttacker -_0801ABF4: .4byte gProtectStructs -_0801ABF8: .4byte gSpecialStatuses -_0801ABFC: .4byte gBattlerTarget -_0801AC00: .4byte gBattleMoves -_0801AC04: .4byte gBattleCommunication -_0801AC08: .4byte gBattlescriptCurrInstr -_0801AC0C: .4byte BattleScript_ApplySecondaryEffect -_0801AC10: .4byte gHitMarker -_0801AC14: - ldr r0, _0801ACC4 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801AC24 - bl _0801BBAA -_0801AC24: - ldr r1, _0801ACC8 @ =gBattleMons - ldr r0, _0801ACCC @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801AC3A - bl _0801BBAA -_0801AC3A: - ldr r0, _0801ACD0 @ =gProtectStructs - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 31 - cmp r0, 0 - beq _0801AC4C - bl _0801BBAA -_0801AC4C: - ldr r2, _0801ACD4 @ =gSpecialStatuses - ldr r0, _0801ACD8 @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AC74 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AC74 - bl _0801BBAA -_0801AC74: - ldr r1, _0801ACDC @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801AC8C - bl _0801BBAA -_0801AC8C: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _0801ACA4 - bl _0801BBAA -_0801ACA4: - ldr r1, _0801ACE0 @ =gBattleCommunication - movs r0, 0x42 - strb r0, [r1, 0x3] - bl BattleScriptPushCursor - ldr r1, _0801ACE4 @ =gBattlescriptCurrInstr - ldr r0, _0801ACE8 @ =BattleScript_ApplySecondaryEffect - str r0, [r1] - ldr r2, _0801ACEC @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - str r0, [r2] - bl _0801BB5A - .align 2, 0 -_0801ACC4: .4byte gMoveResultFlags -_0801ACC8: .4byte gBattleMons -_0801ACCC: .4byte gBattlerAttacker -_0801ACD0: .4byte gProtectStructs -_0801ACD4: .4byte gSpecialStatuses -_0801ACD8: .4byte gBattlerTarget -_0801ACDC: .4byte gBattleMoves -_0801ACE0: .4byte gBattleCommunication -_0801ACE4: .4byte gBattlescriptCurrInstr -_0801ACE8: .4byte BattleScript_ApplySecondaryEffect -_0801ACEC: .4byte gHitMarker -_0801ACF0: - ldr r0, _0801ADA0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801AD00 - bl _0801BBAA -_0801AD00: - ldr r1, _0801ADA4 @ =gBattleMons - ldr r0, _0801ADA8 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801AD16 - bl _0801BBAA -_0801AD16: - ldr r0, _0801ADAC @ =gProtectStructs - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 31 - cmp r0, 0 - beq _0801AD28 - bl _0801BBAA -_0801AD28: - ldr r2, _0801ADB0 @ =gSpecialStatuses - ldr r0, _0801ADB4 @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AD50 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AD50 - bl _0801BBAA -_0801AD50: - ldr r1, _0801ADB8 @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801AD68 - bl _0801BBAA -_0801AD68: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _0801AD80 - bl _0801BBAA -_0801AD80: - ldr r1, _0801ADBC @ =gBattleCommunication - movs r0, 0x45 - strb r0, [r1, 0x3] - bl BattleScriptPushCursor - ldr r1, _0801ADC0 @ =gBattlescriptCurrInstr - ldr r0, _0801ADC4 @ =BattleScript_ApplySecondaryEffect - str r0, [r1] - ldr r2, _0801ADC8 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - str r0, [r2] - bl _0801BB5A - .align 2, 0 -_0801ADA0: .4byte gMoveResultFlags -_0801ADA4: .4byte gBattleMons -_0801ADA8: .4byte gBattlerAttacker -_0801ADAC: .4byte gProtectStructs -_0801ADB0: .4byte gSpecialStatuses -_0801ADB4: .4byte gBattlerTarget -_0801ADB8: .4byte gBattleMoves -_0801ADBC: .4byte gBattleCommunication -_0801ADC0: .4byte gBattlescriptCurrInstr -_0801ADC4: .4byte BattleScript_ApplySecondaryEffect -_0801ADC8: .4byte gHitMarker -_0801ADCC: - ldr r0, _0801AE7C @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801ADDC - bl _0801BBAA -_0801ADDC: - ldr r1, _0801AE80 @ =gBattleMons - ldr r0, _0801AE84 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801ADF2 - bl _0801BBAA -_0801ADF2: - ldr r0, _0801AE88 @ =gProtectStructs - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 31 - cmp r0, 0 - beq _0801AE04 - bl _0801BBAA -_0801AE04: - ldr r1, _0801AE8C @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801AE1C - bl _0801BBAA -_0801AE1C: - ldr r2, _0801AE90 @ =gSpecialStatuses - ldr r0, _0801AE94 @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AE44 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AE44 - bl _0801BBAA -_0801AE44: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _0801AE5C - bl _0801BBAA -_0801AE5C: - ldr r1, _0801AE98 @ =gBattleCommunication - movs r0, 0x43 - strb r0, [r1, 0x3] - bl BattleScriptPushCursor - ldr r1, _0801AE9C @ =gBattlescriptCurrInstr - ldr r0, _0801AEA0 @ =BattleScript_ApplySecondaryEffect - str r0, [r1] - ldr r2, _0801AEA4 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - str r0, [r2] - bl _0801BB5A - .align 2, 0 -_0801AE7C: .4byte gMoveResultFlags -_0801AE80: .4byte gBattleMons -_0801AE84: .4byte gBattlerAttacker -_0801AE88: .4byte gProtectStructs -_0801AE8C: .4byte gBattleMoves -_0801AE90: .4byte gSpecialStatuses -_0801AE94: .4byte gBattlerTarget -_0801AE98: .4byte gBattleCommunication -_0801AE9C: .4byte gBattlescriptCurrInstr -_0801AEA0: .4byte BattleScript_ApplySecondaryEffect -_0801AEA4: .4byte gHitMarker -_0801AEA8: - ldr r0, _0801AFE8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801AEB8 - bl _0801BBAA -_0801AEB8: - ldr r5, _0801AFEC @ =gBattleMons - ldr r7, _0801AFF0 @ =gBattlerAttacker - ldrb r1, [r7] - movs r6, 0x58 - adds r0, r1, 0 - muls r0, r6 - adds r0, r5 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801AED0 - bl _0801BBAA -_0801AED0: - ldr r0, _0801AFF4 @ =gProtectStructs - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - lsls r0, 31 - cmp r0, 0 - beq _0801AEE2 - bl _0801BBAA -_0801AEE2: - ldr r1, _0801AFF8 @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801AEFA - bl _0801BBAA -_0801AEFA: - ldr r3, _0801AFFC @ =gSpecialStatuses - ldr r4, _0801B000 @ =gBattlerTarget - mov r8, r4 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r2, r0, 2 - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AF24 - adds r0, r3, 0 - adds r0, 0xC - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801AF24 - bl _0801BBAA -_0801AF24: - adds r0, r1, 0 - muls r0, r6 - adds r0, r5 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801AF34 - bl _0801BBAA -_0801AF34: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _0801AF4C - bl _0801BBAA -_0801AF4C: - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0xC - bne _0801AF5E - bl _0801BBAA -_0801AF5E: - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x10] - bl GetGenderFromSpeciesAndPersonality - adds r4, r0, 0 - ldr r0, [sp, 0xC] - ldr r1, [sp, 0x14] - bl GetGenderFromSpeciesAndPersonality - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0801AF7C - bl _0801BBAA -_0801AF7C: - ldrb r0, [r7] - muls r0, r6 - adds r4, r5, 0 - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r1, 0xF0 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - beq _0801AF96 - bl _0801BBAA -_0801AF96: - ldr r0, [sp, 0x8] - ldr r1, [sp, 0x10] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0801AFAA - bl _0801BBAA -_0801AFAA: - ldr r0, [sp, 0xC] - ldr r1, [sp, 0x14] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0801AFBE - bl _0801BBAA -_0801AFBE: - ldrb r0, [r7] - adds r2, r0, 0 - muls r2, r6 - adds r2, r4 - ldr r1, _0801B004 @ =gBitTable - mov r3, r8 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 16 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r1, _0801B008 @ =gBattlescriptCurrInstr - ldr r0, _0801B00C @ =BattleScript_CuteCharmActivates - str r0, [r1] - bl _0801BB5A - .align 2, 0 -_0801AFE8: .4byte gMoveResultFlags -_0801AFEC: .4byte gBattleMons -_0801AFF0: .4byte gBattlerAttacker -_0801AFF4: .4byte gProtectStructs -_0801AFF8: .4byte gBattleMoves -_0801AFFC: .4byte gSpecialStatuses -_0801B000: .4byte gBattlerTarget -_0801B004: .4byte gBitTable -_0801B008: .4byte gBattlescriptCurrInstr -_0801B00C: .4byte BattleScript_CuteCharmActivates -_0801B010: - movs r4, 0 - mov r10, r4 - ldr r0, _0801B044 @ =gBattlersCount - ldrb r0, [r0] - cmp r10, r0 - bcc _0801B020 - bl _0801BBAA -_0801B020: - ldr r1, _0801B048 @ =gBattleMons - movs r0, 0x58 - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - subs r0, 0x7 - adds r2, r1, 0 - cmp r0, 0x41 - bls _0801B03A - b _0801B29E -_0801B03A: - lsls r0, 2 - ldr r1, _0801B04C @ =_0801B050 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801B044: .4byte gBattlersCount -_0801B048: .4byte gBattleMons -_0801B04C: .4byte _0801B050 - .align 2, 0 -_0801B050: - .4byte _0801B1B4 - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B278 - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B1DC - .4byte _0801B29E - .4byte _0801B158 - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B184 - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B248 - .4byte _0801B218 - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B29E - .4byte _0801B1DC -_0801B158: - movs r0, 0x58 - mov r3, r10 - muls r3, r0 - adds r0, r3, 0 - adds r1, r2, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - ldr r1, _0801B178 @ =0x00000f88 - ands r0, r1 - cmp r0, 0 - bne _0801B172 - b _0801B29E -_0801B172: - ldr r0, _0801B17C @ =gBattleTextBuff1 - ldr r1, _0801B180 @ =gUnknown_8250094 - b _0801B264 - .align 2, 0 -_0801B178: .4byte 0x00000f88 -_0801B17C: .4byte gBattleTextBuff1 -_0801B180: .4byte gUnknown_8250094 -_0801B184: - movs r0, 0x58 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801B19E - b _0801B29E -_0801B19E: - ldr r0, _0801B1AC @ =gBattleTextBuff1 - ldr r1, _0801B1B0 @ =gUnknown_82500BC - bl StringCopy - movs r2, 0x2 - mov r9, r2 - b _0801B2A4 - .align 2, 0 -_0801B1AC: .4byte gBattleTextBuff1 -_0801B1B0: .4byte gUnknown_82500BC -_0801B1B4: - movs r0, 0x58 - mov r3, r10 - muls r3, r0 - adds r0, r3, 0 - adds r1, r2, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801B29E - ldr r0, _0801B1D4 @ =gBattleTextBuff1 - ldr r1, _0801B1D8 @ =gUnknown_82500A4 - b _0801B264 - .align 2, 0 -_0801B1D4: .4byte gBattleTextBuff1 -_0801B1D8: .4byte gUnknown_82500A4 -_0801B1DC: - movs r0, 0x58 - mov r3, r10 - muls r3, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0801B29E - adds r2, 0x50 - adds r2, r3, r2 - ldr r0, [r2] - ldr r1, _0801B20C @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - ldr r0, _0801B210 @ =gBattleTextBuff1 - ldr r1, _0801B214 @ =gUnknown_825009C - bl StringCopy - movs r0, 0x1 - mov r9, r0 - b _0801B2A4 - .align 2, 0 -_0801B20C: .4byte 0xf7ffffff -_0801B210: .4byte gBattleTextBuff1 -_0801B214: .4byte gUnknown_825009C -_0801B218: - movs r0, 0x58 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - adds r1, r2, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801B29E - ldr r0, _0801B240 @ =gBattleTextBuff1 - ldr r1, _0801B244 @ =gUnknown_82500AC - bl StringCopy - movs r2, 0x1 - mov r9, r2 - b _0801B2A4 - .align 2, 0 -_0801B240: .4byte gBattleTextBuff1 -_0801B244: .4byte gUnknown_82500AC -_0801B248: - movs r0, 0x58 - mov r3, r10 - muls r3, r0 - adds r0, r3, 0 - adds r1, r2, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0801B29E - ldr r0, _0801B270 @ =gBattleTextBuff1 - ldr r1, _0801B274 @ =gUnknown_82500B4 -_0801B264: - bl StringCopy - movs r4, 0x1 - mov r9, r4 - b _0801B2A4 - .align 2, 0 -_0801B270: .4byte gBattleTextBuff1 -_0801B274: .4byte gUnknown_82500B4 -_0801B278: - movs r0, 0x58 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xF0 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - beq _0801B29E - ldr r0, _0801B2B4 @ =gBattleTextBuff1 - ldr r1, _0801B2B8 @ =gUnknown_82500C4 - bl StringCopy - movs r2, 0x3 - mov r9, r2 -_0801B29E: - mov r3, r9 - cmp r3, 0 - beq _0801B358 -_0801B2A4: - mov r4, r9 - cmp r4, 0x2 - beq _0801B2D8 - cmp r4, 0x2 - bgt _0801B2BC - cmp r4, 0x1 - beq _0801B2C4 - b _0801B304 - .align 2, 0 -_0801B2B4: .4byte gBattleTextBuff1 -_0801B2B8: .4byte gUnknown_82500C4 -_0801B2BC: - mov r0, r9 - cmp r0, 0x3 - beq _0801B2F0 - b _0801B304 -_0801B2C4: - ldr r1, _0801B2D4 @ =gBattleMons - movs r0, 0x58 - mov r2, r10 - muls r2, r0 - adds r1, 0x4C - adds r2, r1 - movs r0, 0 - b _0801B302 - .align 2, 0 -_0801B2D4: .4byte gBattleMons -_0801B2D8: - ldr r1, _0801B2EC @ =gBattleMons - movs r0, 0x58 - mov r2, r10 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x8 - negs r1, r1 - b _0801B300 - .align 2, 0 -_0801B2EC: .4byte gBattleMons -_0801B2F0: - ldr r1, _0801B33C @ =gBattleMons - movs r0, 0x58 - mov r2, r10 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - ldr r1, _0801B340 @ =0xfff0ffff -_0801B300: - ands r0, r1 -_0801B302: - str r0, [r2] -_0801B304: - bl BattleScriptPushCursor - ldr r1, _0801B344 @ =gBattlescriptCurrInstr - ldr r0, _0801B348 @ =BattleScript_AbilityCuredStatus - str r0, [r1] - ldr r0, _0801B34C @ =gBattleScripting - mov r1, r10 - strb r1, [r0, 0x17] - ldr r4, _0801B350 @ =gActiveBattler - strb r1, [r4] - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - ldr r1, _0801B354 @ =gUnknown_2023C30 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - bl _0801BBC6 - .align 2, 0 -_0801B33C: .4byte gBattleMons -_0801B340: .4byte 0xfff0ffff -_0801B344: .4byte gBattlescriptCurrInstr -_0801B348: .4byte BattleScript_AbilityCuredStatus -_0801B34C: .4byte gBattleScripting -_0801B350: .4byte gActiveBattler -_0801B354: .4byte gUnknown_2023C30 -_0801B358: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _0801B370 @ =gBattlersCount - ldrb r0, [r0] - cmp r10, r0 - bcs _0801B36C - b _0801B020 -_0801B36C: - bl _0801BBAA - .align 2, 0 -_0801B370: .4byte gBattlersCount -_0801B374: - movs r2, 0 - mov r10, r2 - ldr r0, _0801B3C0 @ =gBattlersCount - ldrb r0, [r0] - cmp r10, r0 - bcc _0801B384 - bl _0801BBAA -_0801B384: - ldr r4, _0801B3C4 @ =gBattleMons -_0801B386: - movs r0, 0x58 - mov r3, r10 - muls r3, r0 - adds r0, r3, 0 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3B - bne _0801B3AA - mov r0, r10 - bl CastformDataTypeChange - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0 - beq _0801B3AA - b _0801BA84 -_0801B3AA: - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _0801B3C0 @ =gBattlersCount - ldrb r0, [r0] - cmp r10, r0 - bcc _0801B386 - bl _0801BBAA - .align 2, 0 -_0801B3C0: .4byte gBattlersCount -_0801B3C4: .4byte gBattleMons -_0801B3C8: - mov r4, r8 - ldrb r0, [r4] - cmp r0, 0x1C - beq _0801B3D4 - bl _0801BBAA -_0801B3D4: - ldr r4, _0801B434 @ =gHitMarker - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 7 - ands r0, r1 - cmp r0, 0 - bne _0801B3E6 - bl _0801BBAA -_0801B3E6: - ldr r0, _0801B438 @ =0xffffbfff - ands r1, r0 - str r1, [r4] - ldr r1, [r6] - adds r1, 0xB4 - ldrb r2, [r1] - movs r0, 0x3F - ands r0, r2 - strb r0, [r1] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0xB4 - ldrb r0, [r1] - cmp r0, 0x6 - bne _0801B408 - movs r0, 0x2 - strb r0, [r1] -_0801B408: - ldr r1, _0801B43C @ =gBattleCommunication - ldr r0, [r6] - adds r0, 0xB4 - ldrb r0, [r0] - adds r0, 0x40 - strb r0, [r1, 0x3] - ldr r1, _0801B440 @ =gBattleScripting - ldr r0, _0801B444 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r1, 0x17] - bl BattleScriptPushCursor - ldr r1, _0801B448 @ =gBattlescriptCurrInstr - ldr r0, _0801B44C @ =BattleScript_SynchronizeActivates - str r0, [r1] - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - str r0, [r4] - b _0801BB5A - .align 2, 0 -_0801B434: .4byte gHitMarker -_0801B438: .4byte 0xffffbfff -_0801B43C: .4byte gBattleCommunication -_0801B440: .4byte gBattleScripting -_0801B444: .4byte gBattlerTarget -_0801B448: .4byte gBattlescriptCurrInstr -_0801B44C: .4byte BattleScript_SynchronizeActivates -_0801B450: - mov r1, r8 - ldrb r0, [r1] - cmp r0, 0x1C - beq _0801B45A - b _0801BBAA -_0801B45A: - ldr r4, _0801B4B8 @ =gHitMarker - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 7 - ands r0, r1 - cmp r0, 0 - bne _0801B46A - b _0801BBAA -_0801B46A: - ldr r0, _0801B4BC @ =0xffffbfff - ands r1, r0 - str r1, [r4] - adds r3, r6, 0 - ldr r1, [r3] - adds r1, 0xB4 - ldrb r2, [r1] - movs r0, 0x3F - ands r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r1, r0, 0 - adds r1, 0xB4 - ldrb r0, [r1] - cmp r0, 0x6 - bne _0801B48E - movs r0, 0x2 - strb r0, [r1] -_0801B48E: - ldr r1, _0801B4C0 @ =gBattleCommunication - ldr r0, [r6] - adds r0, 0xB4 - ldrb r0, [r0] - strb r0, [r1, 0x3] - ldr r1, _0801B4C4 @ =gBattleScripting - ldr r0, _0801B4C8 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r1, 0x17] - bl BattleScriptPushCursor - ldr r1, _0801B4CC @ =gBattlescriptCurrInstr - ldr r0, _0801B4D0 @ =BattleScript_SynchronizeActivates - str r0, [r1] - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 6 - orrs r0, r1 - str r0, [r4] - b _0801BB5A - .align 2, 0 -_0801B4B8: .4byte gHitMarker -_0801B4BC: .4byte 0xffffbfff -_0801B4C0: .4byte gBattleCommunication -_0801B4C4: .4byte gBattleScripting -_0801B4C8: .4byte gBattlerAttacker -_0801B4CC: .4byte gBattlescriptCurrInstr -_0801B4D0: .4byte BattleScript_SynchronizeActivates -_0801B4D4: - movs r5, 0 - ldr r0, _0801B50C @ =gBattlersCount - ldrb r1, [r0] - cmp r5, r1 - blt _0801B4E0 - b _0801BBAA -_0801B4E0: - ldr r0, _0801B510 @ =gBattleMons - adds r4, r1, 0 - ldr r2, _0801B514 @ =gStatuses3 - adds r3, r0, 0 - adds r3, 0x20 - movs r6, 0x80 - lsls r6, 12 -_0801B4EE: - ldrb r1, [r3] - cmp r1, 0x16 - bne _0801B4FE - ldr r0, [r2] - ands r0, r6 - cmp r0, 0 - beq _0801B4FE - b _0801BAAC -_0801B4FE: - adds r2, 0x4 - adds r3, 0x58 - adds r5, 0x1 - cmp r5, r4 - blt _0801B4EE - b _0801BBAA - .align 2, 0 -_0801B50C: .4byte gBattlersCount -_0801B510: .4byte gBattleMons -_0801B514: .4byte gStatuses3 -_0801B518: - movs r5, 0 - ldr r0, _0801B5F4 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B524 - b _0801BBAA -_0801B524: - ldr r2, _0801B5F8 @ =gActiveBattler - mov r8, r2 - ldr r3, _0801B5FC @ =gBattleMons - adds r3, 0x20 - str r3, [sp, 0x1C] - movs r4, 0 - str r4, [sp, 0x20] -_0801B532: - ldr r1, [sp, 0x1C] - ldrb r0, [r1] - cmp r0, 0x24 - beq _0801B53C - b _0801B6D6 -_0801B53C: - ldr r0, _0801B600 @ =gStatuses3 - ldr r2, [sp, 0x20] - adds r0, r2, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 13 - ands r1, r0 - str r2, [sp, 0x18] - cmp r1, 0 - bne _0801B552 - b _0801B6D6 -_0801B552: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBattlerPosition - movs r1, 0x1 - adds r6, r0, 0 - eors r6, r1 - ands r6, r1 - adds r0, r6, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0801B604 @ =gBattleTypeFlags - ldr r0, [r0] - movs r2, 0x1 - ands r0, r2 - cmp r0, 0 - bne _0801B584 - b _0801B69C -_0801B584: - movs r3, 0x58 - adds r0, r4, 0 - muls r0, r3 - ldr r3, _0801B5FC @ =gBattleMons - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _0801B658 - ldrh r0, [r1, 0x28] - cmp r0, 0 - beq _0801B60C - movs r1, 0x58 - adds r0, r7, 0 - muls r0, r1 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _0801B60C - ldrh r0, [r1, 0x28] - cmp r0, 0 - beq _0801B60C - str r2, [sp, 0x24] - bl Random - ldr r2, [sp, 0x24] - adds r1, r2, 0 - ands r1, r0 - lsls r1, 1 - orrs r6, r1 - adds r0, r6, 0 - bl GetBattlerAtPosition - mov r2, r8 - strb r0, [r2] - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - ldr r4, _0801B5FC @ =gBattleMons - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - ldr r1, [sp, 0x1C] - strb r0, [r1] - ldrb r0, [r2] - muls r0, r3 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - ldr r2, _0801B608 @ =gLastUsedAbility - strb r0, [r2] - b _0801B6C4 - .align 2, 0 -_0801B5F4: .4byte gBattlersCount -_0801B5F8: .4byte gActiveBattler -_0801B5FC: .4byte gBattleMons -_0801B600: .4byte gStatuses3 -_0801B604: .4byte gBattleTypeFlags -_0801B608: .4byte gLastUsedAbility -_0801B60C: - ldr r3, _0801B650 @ =gBattleMons - movs r2, 0x58 - adds r0, r4, 0 - muls r0, r2 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _0801B658 - ldrh r0, [r1, 0x28] - cmp r0, 0 - beq _0801B658 - mov r0, r8 - strb r4, [r0] - adds r1, r5, 0 - muls r1, r2 - adds r1, r3 - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - adds r1, 0x20 - strb r0, [r1] - mov r1, r8 - ldrb r0, [r1] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - ldr r2, _0801B654 @ =gLastUsedAbility - strb r0, [r2] - b _0801B6C4 - .align 2, 0 -_0801B650: .4byte gBattleMons -_0801B654: .4byte gLastUsedAbility -_0801B658: - ldr r3, _0801B698 @ =gBattleMons - movs r2, 0x58 - adds r0, r7, 0 - muls r0, r2 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _0801B6CE - ldrh r0, [r1, 0x28] - cmp r0, 0 - beq _0801B6CE - mov r4, r8 - strb r7, [r4] - adds r1, r5, 0 - muls r1, r2 - adds r1, r3 - ldrb r0, [r4] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - adds r1, 0x20 - strb r0, [r1] - ldrb r0, [r4] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - b _0801B6C0 - .align 2, 0 -_0801B698: .4byte gBattleMons -_0801B69C: - mov r2, r8 - strb r4, [r2] - movs r3, 0x58 - adds r0, r4, 0 - muls r0, r3 - ldr r4, _0801B6F0 @ =gBattleMons - adds r0, r4 - adds r2, r0, 0 - adds r2, 0x20 - ldrb r1, [r2] - cmp r1, 0 - beq _0801B6CE - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801B6CE - ldr r0, [sp, 0x1C] - strb r1, [r0] - ldrb r0, [r2] -_0801B6C0: - ldr r1, _0801B6F4 @ =gLastUsedAbility - strb r0, [r1] -_0801B6C4: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0801B6CE: - mov r2, r9 - cmp r2, 0 - beq _0801B6D6 - b _0801BAC8 -_0801B6D6: - ldr r3, [sp, 0x1C] - adds r3, 0x58 - str r3, [sp, 0x1C] - ldr r4, [sp, 0x20] - adds r4, 0x4 - str r4, [sp, 0x20] - adds r5, 0x1 - ldr r0, _0801B6F8 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _0801B6EE - b _0801B532 -_0801B6EE: - b _0801BBAA - .align 2, 0 -_0801B6F0: .4byte gBattleMons -_0801B6F4: .4byte gLastUsedAbility -_0801B6F8: .4byte gBattlersCount -_0801B6FC: - movs r5, 0 - ldr r0, _0801B734 @ =gBattlersCount - ldrb r1, [r0] - cmp r5, r1 - blt _0801B708 - b _0801BBAA -_0801B708: - ldr r0, _0801B738 @ =gBattleMons - adds r4, r1, 0 - ldr r2, _0801B73C @ =gStatuses3 - adds r3, r0, 0 - adds r3, 0x20 - movs r6, 0x80 - lsls r6, 12 -_0801B716: - ldrb r1, [r3] - cmp r1, 0x16 - bne _0801B726 - ldr r0, [r2] - ands r0, r6 - cmp r0, 0 - beq _0801B726 - b _0801BB3C -_0801B726: - adds r2, 0x4 - adds r3, 0x58 - adds r5, 0x1 - cmp r5, r4 - blt _0801B716 - b _0801BBAA - .align 2, 0 -_0801B734: .4byte gBattlersCount -_0801B738: .4byte gBattleMons -_0801B73C: .4byte gStatuses3 -_0801B740: - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, _0801B790 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B756 - b _0801BBAA -_0801B756: - ldr r0, _0801B794 @ =gBattleMons - mov r8, r0 -_0801B75A: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - adds r4, r5, 0x1 - cmp r0, r6 - beq _0801B784 - movs r0, 0x58 - muls r0, r5 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r7 - bne _0801B784 - ldr r0, _0801B798 @ =gLastUsedAbility - strb r7, [r0] - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_0801B784: - adds r5, r4, 0 - ldr r0, _0801B790 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B75A - b _0801BBAA - .align 2, 0 -_0801B790: .4byte gBattlersCount -_0801B794: .4byte gBattleMons -_0801B798: .4byte gLastUsedAbility -_0801B79C: - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, _0801B7EC @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B7B2 - b _0801BBAA -_0801B7B2: - ldr r1, _0801B7F0 @ =gBattleMons - mov r8, r1 -_0801B7B6: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - adds r4, r5, 0x1 - cmp r0, r6 - bne _0801B7E0 - movs r0, 0x58 - muls r0, r5 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r7 - bne _0801B7E0 - ldr r0, _0801B7F4 @ =gLastUsedAbility - strb r7, [r0] - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_0801B7E0: - adds r5, r4, 0 - ldr r0, _0801B7EC @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B7B6 - b _0801BBAA - .align 2, 0 -_0801B7EC: .4byte gBattlersCount -_0801B7F0: .4byte gBattleMons -_0801B7F4: .4byte gLastUsedAbility -_0801B7F8: - mov r2, r8 - ldrb r0, [r2] - cmp r0, 0xFD - beq _0801B820 - cmp r0, 0xFE - beq _0801B858 - movs r5, 0 - ldr r0, _0801B818 @ =gBattlersCount - adds r3, r0, 0 - ldrb r4, [r3] - cmp r5, r4 - blt _0801B812 - b _0801BBAA -_0801B812: - ldr r2, _0801B81C @ =gBattleMons - b _0801B890 - .align 2, 0 -_0801B818: .4byte gBattlersCount -_0801B81C: .4byte gBattleMons -_0801B820: - movs r5, 0 - ldr r0, _0801B850 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B82C - b _0801BBAA -_0801B82C: - ldr r3, _0801B854 @ =gStatuses3 - movs r2, 0x80 - lsls r2, 9 - adds r1, r0, 0 -_0801B834: - lsls r0, r5, 2 - adds r0, r3 - ldr r0, [r0] - ands r0, r2 - adds r4, r5, 0x1 - cmp r0, 0 - beq _0801B848 - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_0801B848: - adds r5, r4, 0 - cmp r5, r1 - blt _0801B834 - b _0801BBAA - .align 2, 0 -_0801B850: .4byte gBattlersCount -_0801B854: .4byte gStatuses3 -_0801B858: - movs r5, 0 - ldr r0, _0801B888 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B864 - b _0801BBAA -_0801B864: - ldr r3, _0801B88C @ =gStatuses3 - movs r2, 0x80 - lsls r2, 10 - adds r1, r0, 0 -_0801B86C: - lsls r0, r5, 2 - adds r0, r3 - ldr r0, [r0] - ands r0, r2 - adds r4, r5, 0x1 - cmp r0, 0 - beq _0801B880 - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_0801B880: - adds r5, r4, 0 - cmp r5, r1 - blt _0801B86C - b _0801BBAA - .align 2, 0 -_0801B888: .4byte gBattlersCount -_0801B88C: .4byte gStatuses3 -_0801B890: - movs r0, 0x58 - muls r0, r5 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - adds r4, r5, 0x1 - cmp r0, r7 - bne _0801B8AA - mov r0, r8 - strb r7, [r0] - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_0801B8AA: - adds r5, r4, 0 - ldrb r1, [r3] - cmp r5, r1 - blt _0801B890 - b _0801BBAA -_0801B8B4: - movs r5, 0 - ldr r0, _0801B8F0 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B8C0 - b _0801BBAA -_0801B8C0: - ldr r6, _0801B8F4 @ =gBattleMons - adds r2, r0, 0 - movs r3, 0x58 -_0801B8C6: - adds r0, r5, 0 - muls r0, r3 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - adds r4, r5, 0x1 - cmp r0, r7 - bne _0801B8E8 - ldrh r0, [r1, 0x28] - cmp r0, 0 - beq _0801B8E8 - mov r0, r8 - strb r7, [r0] - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_0801B8E8: - adds r5, r4, 0 - cmp r5, r2 - blt _0801B8C6 - b _0801BBAA - .align 2, 0 -_0801B8F0: .4byte gBattlersCount -_0801B8F4: .4byte gBattleMons -_0801B8F8: - ldr r0, _0801B908 @ =gLastUsedAbility - strb r7, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - b _0801B94A - .align 2, 0 -_0801B908: .4byte gLastUsedAbility -_0801B90C: - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, _0801B99C @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _0801B94A - ldr r4, _0801B9A0 @ =gBattleMons -_0801B922: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - beq _0801B940 - movs r0, 0x58 - muls r0, r5 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r7 - beq _0801B8F8 -_0801B940: - adds r5, 0x1 - ldr r0, _0801B99C @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B922 -_0801B94A: - mov r1, r9 - cmp r1, 0 - beq _0801B952 - b _0801BBB0 -_0801B952: - movs r5, 0 - ldr r0, _0801B99C @ =gBattlersCount - ldrb r0, [r0] - cmp r9, r0 - blt _0801B95E - b _0801BBAA -_0801B95E: - ldr r2, _0801B9A0 @ =gBattleMons - mov r8, r2 -_0801B962: - movs r0, 0x58 - muls r0, r5 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - adds r4, r5, 0x1 - cmp r0, r7 - bne _0801B990 - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - bne _0801B990 - cmp r5, r10 - beq _0801B990 - ldr r0, _0801B9A4 @ =gLastUsedAbility - strb r7, [r0] - lsls r0, r4, 24 - lsrs r0, 24 - mov r9, r0 -_0801B990: - adds r5, r4, 0 - ldr r0, _0801B99C @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B962 - b _0801BBAA - .align 2, 0 -_0801B99C: .4byte gBattlersCount -_0801B9A0: .4byte gBattleMons -_0801B9A4: .4byte gLastUsedAbility -_0801B9A8: - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, _0801B9F8 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B9BE - b _0801BBAA -_0801B9BE: - ldr r4, _0801B9FC @ =gBattleMons -_0801B9C0: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - beq _0801B9EC - movs r0, 0x58 - muls r0, r5 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r7 - bne _0801B9EC - ldr r0, _0801BA00 @ =gLastUsedAbility - strb r7, [r0] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0801B9EC: - adds r5, 0x1 - ldr r0, _0801B9F8 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801B9C0 - b _0801BBAA - .align 2, 0 -_0801B9F8: .4byte gBattlersCount -_0801B9FC: .4byte gBattleMons -_0801BA00: .4byte gLastUsedAbility -_0801BA04: - mov r0, r10 - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - ldr r0, _0801BA54 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801BA1A - b _0801BBAA -_0801BA1A: - ldr r4, _0801BA58 @ =gBattleMons -_0801BA1C: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, r6 - bne _0801BA48 - movs r0, 0x58 - muls r0, r5 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r7 - bne _0801BA48 - ldr r0, _0801BA5C @ =gLastUsedAbility - strb r7, [r0] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0801BA48: - adds r5, 0x1 - ldr r0, _0801BA54 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0801BA1C - b _0801BBAA - .align 2, 0 -_0801BA54: .4byte gBattlersCount -_0801BA58: .4byte gBattleMons -_0801BA5C: .4byte gLastUsedAbility -_0801BA60: - ldr r0, _0801BA78 @ =BattleScript_CastformChange - bl BattleScriptPushCursorAndCallback - ldr r0, _0801BA7C @ =gBattleScripting - strb r4, [r0, 0x17] -_0801BA6A: - ldr r0, _0801BA80 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x7F - mov r1, r9 - subs r1, 0x1 - strb r1, [r0] - b _0801BBAA - .align 2, 0 -_0801BA78: .4byte BattleScript_CastformChange -_0801BA7C: .4byte gBattleScripting -_0801BA80: .4byte gBattleStruct -_0801BA84: - ldr r0, _0801BAA0 @ =BattleScript_CastformChange - bl BattleScriptPushCursorAndCallback - ldr r0, _0801BAA4 @ =gBattleScripting - mov r3, r10 - strb r3, [r0, 0x17] - ldr r0, _0801BAA8 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x7F - mov r1, r9 - subs r1, 0x1 - strb r1, [r0] - b _0801BBC6 - .align 2, 0 -_0801BAA0: .4byte BattleScript_CastformChange -_0801BAA4: .4byte gBattleScripting -_0801BAA8: .4byte gBattleStruct -_0801BAAC: - mov r4, r8 - strb r1, [r4] - ldr r0, [r2] - ldr r1, _0801BAC0 @ =0xfff7ffff - ands r0, r1 - str r0, [r2] - ldr r0, _0801BAC4 @ =BattleScript_IntimidateActivatesEnd3 - bl BattleScriptPushCursorAndCallback - b _0801BB52 - .align 2, 0 -_0801BAC0: .4byte 0xfff7ffff -_0801BAC4: .4byte BattleScript_IntimidateActivatesEnd3 -_0801BAC8: - ldr r0, _0801BB18 @ =BattleScript_TraceActivates - bl BattleScriptPushCursorAndCallback - ldr r1, _0801BB1C @ =gStatuses3 - ldr r0, [sp, 0x18] - adds r1, r0, r1 - ldr r0, [r1] - ldr r2, _0801BB20 @ =0xffefffff - ands r0, r2 - str r0, [r1] - ldr r0, _0801BB24 @ =gBattleScripting - strb r5, [r0, 0x17] - ldr r1, _0801BB28 @ =gBattleTextBuff1 - movs r4, 0xFD - strb r4, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r2, _0801BB2C @ =gActiveBattler - ldrb r0, [r2] - strb r0, [r1, 0x2] - ldr r3, _0801BB30 @ =gBattlerPartyIndexes - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0801BB34 @ =gBattleTextBuff2 - strb r4, [r1] - movs r0, 0x9 - strb r0, [r1, 0x1] - ldr r0, _0801BB38 @ =gLastUsedAbility - ldrb r0, [r0] - strb r0, [r1, 0x2] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x3] - b _0801BBAA - .align 2, 0 -_0801BB18: .4byte BattleScript_TraceActivates -_0801BB1C: .4byte gStatuses3 -_0801BB20: .4byte 0xffefffff -_0801BB24: .4byte gBattleScripting -_0801BB28: .4byte gBattleTextBuff1 -_0801BB2C: .4byte gActiveBattler -_0801BB30: .4byte gBattlerPartyIndexes -_0801BB34: .4byte gBattleTextBuff2 -_0801BB38: .4byte gLastUsedAbility -_0801BB3C: - mov r3, r8 - strb r1, [r3] - ldr r0, [r2] - ldr r1, _0801BB68 @ =0xfff7ffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r1, _0801BB6C @ =gBattlescriptCurrInstr - ldr r0, _0801BB70 @ =BattleScript_IntimidateActivates - str r0, [r1] -_0801BB52: - ldr r0, _0801BB74 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xD8 - strb r5, [r0] -_0801BB5A: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - b _0801BBAA - .align 2, 0 -_0801BB68: .4byte 0xfff7ffff -_0801BB6C: .4byte gBattlescriptCurrInstr -_0801BB70: .4byte BattleScript_IntimidateActivates -_0801BB74: .4byte gBattleStruct -_0801BB78: - movs r5, 0 - ldr r0, _0801BBD8 @ =gBattlersCount - ldrb r1, [r0] - cmp r5, r1 - bge _0801BBAA - ldr r0, _0801BBDC @ =gBattleMons - adds r2, r1, 0 - adds r1, r0, 0 - adds r1, 0x20 - ldr r3, _0801BBE0 @ =gLastUsedAbility -_0801BB8C: - ldrb r0, [r1] - cmp r0, r7 - bne _0801BBA2 - cmp r5, r10 - beq _0801BBA2 - strb r7, [r3] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0801BBA2: - adds r1, 0x58 - adds r5, 0x1 - cmp r5, r2 - blt _0801BB8C -_0801BBAA: - mov r4, r9 - cmp r4, 0 - beq _0801BBC6 -_0801BBB0: - ldr r0, [sp, 0x4] - cmp r0, 0xB - bhi _0801BBC6 - ldr r1, _0801BBE0 @ =gLastUsedAbility - ldrb r0, [r1] - cmp r0, 0xFF - beq _0801BBC6 - adds r1, r0, 0 - mov r0, r10 - bl sub_80C71D0 -_0801BBC6: - mov r0, r9 - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801BBD8: .4byte gBattlersCount -_0801BBDC: .4byte gBattleMons -_0801BBE0: .4byte gLastUsedAbility - thumb_func_end AbilityBattleEffects - thumb_func_start BattleScriptExecute BattleScriptExecute: @ 801BBE4 ldr r1, _0801BC10 @ =gBattlescriptCurrInstr @@ -6427,7 +1513,7 @@ _0801C816: cmp r2, 0 beq _0801C82E ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8C0 @ =gUnknown_8250094 + ldr r1, _0801C8C0 @ =gStatusConditionString_PoisonJpn bl StringCopy movs r0, 0x1 mov r10, r0 @@ -6446,7 +1532,7 @@ _0801C82E: ands r0, r1 str r0, [r2] ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8C8 @ =gUnknown_825009C + ldr r1, _0801C8C8 @ =gStatusConditionString_SleepJpn bl StringCopy movs r2, 0x1 add r10, r2 @@ -6457,7 +1543,7 @@ _0801C854: cmp r0, 0 beq _0801C86A ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8CC @ =gUnknown_82500A4 + ldr r1, _0801C8CC @ =gStatusConditionString_ParalysisJpn bl StringCopy movs r3, 0x1 add r10, r3 @@ -6468,7 +1554,7 @@ _0801C86A: cmp r0, 0 beq _0801C880 ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8D0 @ =gUnknown_82500AC + ldr r1, _0801C8D0 @ =gStatusConditionString_BurnJpn bl StringCopy movs r0, 0x1 add r10, r0 @@ -6479,7 +1565,7 @@ _0801C880: cmp r0, 0 beq _0801C896 ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8D4 @ =gUnknown_82500B4 + ldr r1, _0801C8D4 @ =gStatusConditionString_IceJpn bl StringCopy movs r1, 0x1 add r10, r1 @@ -6491,7 +1577,7 @@ _0801C896: cmp r0, 0 beq _0801C8AE ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8D8 @ =gUnknown_82500BC + ldr r1, _0801C8D8 @ =gStatusConditionString_ConfusionJpn bl StringCopy movs r3, 0x1 add r10, r3 @@ -6504,13 +1590,13 @@ _0801C8AE: b _0801C8E4 .align 2, 0 _0801C8BC: .4byte gBattleTextBuff1 -_0801C8C0: .4byte gUnknown_8250094 +_0801C8C0: .4byte gStatusConditionString_PoisonJpn _0801C8C4: .4byte 0xf7ffffff -_0801C8C8: .4byte gUnknown_825009C -_0801C8CC: .4byte gUnknown_82500A4 -_0801C8D0: .4byte gUnknown_82500AC -_0801C8D4: .4byte gUnknown_82500B4 -_0801C8D8: .4byte gUnknown_82500BC +_0801C8C8: .4byte gStatusConditionString_SleepJpn +_0801C8CC: .4byte gStatusConditionString_ParalysisJpn +_0801C8D0: .4byte gStatusConditionString_BurnJpn +_0801C8D4: .4byte gStatusConditionString_IceJpn +_0801C8D8: .4byte gStatusConditionString_ConfusionJpn _0801C8DC: .4byte gBattleCommunication _0801C8E0: ldr r1, _0801C910 @ =gBattleCommunication @@ -6559,7 +1645,7 @@ _0801C91C: ands r2, r0 str r2, [r1] ldr r0, _0801C97C @ =gBattleTextBuff1 - ldr r1, _0801C980 @ =gUnknown_82500C4 + ldr r1, _0801C980 @ =gStatusConditionString_LoveJpn bl StringCopy ldr r0, _0801C984 @ =BattleScript_BerryCureChosenStatusEnd2 bl BattleScriptExecute @@ -6591,7 +1677,7 @@ _0801C95A: .align 2, 0 _0801C978: .4byte 0xfff0ffff _0801C97C: .4byte gBattleTextBuff1 -_0801C980: .4byte gUnknown_82500C4 +_0801C980: .4byte gStatusConditionString_LoveJpn _0801C984: .4byte BattleScript_BerryCureChosenStatusEnd2 _0801C988: .4byte gBattleCommunication _0801C98C: .4byte gBattleScripting @@ -6919,7 +2005,7 @@ _0801CC5C: ands r1, r0 str r1, [r2] ldr r0, _0801CC88 @ =gBattleTextBuff1 - ldr r1, _0801CC8C @ =gUnknown_82500C4 + ldr r1, _0801CC8C @ =gStatusConditionString_LoveJpn bl StringCopy bl BattleScriptPushCursor ldr r1, _0801CC90 @ =gBattleCommunication @@ -6935,7 +2021,7 @@ _0801CC5C: _0801CC80: .4byte gBattleMons _0801CC84: .4byte 0xfff0ffff _0801CC88: .4byte gBattleTextBuff1 -_0801CC8C: .4byte gUnknown_82500C4 +_0801CC8C: .4byte gStatusConditionString_LoveJpn _0801CC90: .4byte gBattleCommunication _0801CC94: .4byte gBattlescriptCurrInstr _0801CC98: .4byte BattleScript_BerryCureChosenStatusRet @@ -6966,7 +2052,7 @@ _0801CCC4: cmp r2, 0 beq _0801CCD4 ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD68 @ =gUnknown_8250094 + ldr r1, _0801CD68 @ =gStatusConditionString_PoisonJpn bl StringCopy _0801CCD4: ldr r0, [r6] @@ -6982,7 +2068,7 @@ _0801CCD4: ands r0, r1 str r0, [r2] ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD70 @ =gUnknown_825009C + ldr r1, _0801CD70 @ =gStatusConditionString_SleepJpn bl StringCopy _0801CCF4: ldr r0, [r6] @@ -6991,7 +2077,7 @@ _0801CCF4: cmp r0, 0 beq _0801CD06 ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD74 @ =gUnknown_82500A4 + ldr r1, _0801CD74 @ =gStatusConditionString_ParalysisJpn bl StringCopy _0801CD06: ldr r0, [r6] @@ -7000,7 +2086,7 @@ _0801CD06: cmp r0, 0 beq _0801CD18 ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD78 @ =gUnknown_82500AC + ldr r1, _0801CD78 @ =gStatusConditionString_BurnJpn bl StringCopy _0801CD18: ldr r0, [r6] @@ -7009,7 +2095,7 @@ _0801CD18: cmp r0, 0 beq _0801CD2A ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD7C @ =gUnknown_82500B4 + ldr r1, _0801CD7C @ =gStatusConditionString_IceJpn bl StringCopy _0801CD2A: adds r5, r4 @@ -7019,7 +2105,7 @@ _0801CD2A: cmp r0, 0 beq _0801CD3E ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD80 @ =gUnknown_82500BC + ldr r1, _0801CD80 @ =gStatusConditionString_ConfusionJpn bl StringCopy _0801CD3E: movs r4, 0 @@ -7042,13 +2128,13 @@ _0801CD58: .align 2, 0 _0801CD60: .4byte gBattleMons _0801CD64: .4byte gBattleTextBuff1 -_0801CD68: .4byte gUnknown_8250094 +_0801CD68: .4byte gStatusConditionString_PoisonJpn _0801CD6C: .4byte 0xf7ffffff -_0801CD70: .4byte gUnknown_825009C -_0801CD74: .4byte gUnknown_82500A4 -_0801CD78: .4byte gUnknown_82500AC -_0801CD7C: .4byte gUnknown_82500B4 -_0801CD80: .4byte gUnknown_82500BC +_0801CD70: .4byte gStatusConditionString_SleepJpn +_0801CD74: .4byte gStatusConditionString_ParalysisJpn +_0801CD78: .4byte gStatusConditionString_BurnJpn +_0801CD7C: .4byte gStatusConditionString_IceJpn +_0801CD80: .4byte gStatusConditionString_ConfusionJpn _0801CD84: .4byte gBattleCommunication _0801CD88: .4byte gBattlescriptCurrInstr _0801CD8C: .4byte BattleScript_BerryCureChosenStatusRet @@ -7597,7 +2683,7 @@ _0801D25E: adds r0, 0x20 ldrb r1, [r0] adds r0, r5, 0 - bl sub_80C71D0 + bl RecordAbilityBattle ldr r1, _0801D2A0 @ =gSpecialStatuses lsls r0, r5, 2 adds r0, r5 diff --git a/asm/field_weather.s b/asm/field_weather.s index ac24101a7..c165212d4 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -2561,8 +2561,8 @@ _0807AF92: bx r0 thumb_func_end sub_807AF00 - thumb_func_start weather_get_current -weather_get_current: @ 807AF98 + thumb_func_start GetCurrentWeather +GetCurrentWeather: @ 807AF98 ldr r0, _0807AFA4 @ =gUnknown_2037F34 movs r1, 0xDA lsls r1, 3 @@ -2571,7 +2571,7 @@ weather_get_current: @ 807AF98 bx lr .align 2, 0 _0807AFA4: .4byte gUnknown_2037F34 - thumb_func_end weather_get_current + thumb_func_end GetCurrentWeather thumb_func_start SetRainStrengthFromSoundEffect SetRainStrengthFromSoundEffect: @ 807AFA8 -- cgit v1.2.3 From c2964e818143757ca5586b1a811669a1c287e870 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 2 Aug 2019 05:05:35 +0800 Subject: ported battle_util from pokeem --- asm/battle_2.s | 154 +- asm/battle_script_commands.s | 72 +- asm/battle_util.s | 3283 ------------------------------------------ 3 files changed, 113 insertions(+), 3396 deletions(-) delete mode 100644 asm/battle_util.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index a80099a6a..f29f29fe6 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -7848,7 +7848,7 @@ _08013C58: ldrb r0, [r0] cmp r0, 0 beq _08013CB0 - ldr r1, _08013CA4 @ =gUnknown_2023BE3 + ldr r1, _08013CA4 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] ldr r1, _08013CA8 @ =gBattleMainFunc @@ -7867,7 +7867,7 @@ _08013C94: .4byte gBattleScripting _08013C98: .4byte gBattleMoveDamage _08013C9C: .4byte gMoveResultFlags _08013CA0: .4byte gBattleCommunication -_08013CA4: .4byte gUnknown_2023BE3 +_08013CA4: .4byte gCurrentActionFuncId _08013CA8: .4byte gBattleMainFunc _08013CAC: .4byte RunTurnActionsFunctions _08013CB0: @@ -9712,7 +9712,7 @@ _08014BB4: ands r0, r1 cmp r0, 0 bne _08014BFA - ldr r0, _08014C1C @ =gUnknown_825011C + ldr r0, _08014C1C @ =gBattleScriptingCommandsTable ldrb r1, [r4] lsls r1, 2 adds r1, r0 @@ -9731,7 +9731,7 @@ _08014C0C: .4byte gBattlescriptCurrInstr _08014C10: .4byte gSelectionBattleScripts _08014C14: .4byte gBattleControllerExecFlags _08014C18: .4byte gBitTable -_08014C1C: .4byte gUnknown_825011C +_08014C1C: .4byte gBattleScriptingCommandsTable _08014C20: ldr r3, _08014C88 @ =gBattleControllerExecFlags ldr r1, _08014C8C @ =gBitTable @@ -10927,7 +10927,7 @@ _0801555E: ldr r1, _080155A0 @ =gUnknown_2023BE2 movs r0, 0 strb r0, [r1] - ldr r1, _080155A4 @ =gUnknown_2023BE3 + ldr r1, _080155A4 @ =gCurrentActionFuncId ldr r0, _080155A8 @ =gUnknown_2023BDA movs r3, 0 ldrb r0, [r0] @@ -10957,7 +10957,7 @@ _08015598: bx r0 .align 2, 0 _080155A0: .4byte gUnknown_2023BE2 -_080155A4: .4byte gUnknown_2023BE3 +_080155A4: .4byte gCurrentActionFuncId _080155A8: .4byte gUnknown_2023BDA _080155AC: .4byte gDynamicBasePower _080155B0: .4byte gBattleStruct @@ -10973,7 +10973,7 @@ RunTurnActionsFunctions: @ 80155C8 push {r4-r6,lr} ldr r6, _0801561C @ =gBattleOutcome ldrb r0, [r6] - ldr r2, _08015620 @ =gUnknown_2023BE3 + ldr r2, _08015620 @ =gCurrentActionFuncId cmp r0, 0 beq _080155D8 movs r0, 0xC @@ -11013,7 +11013,7 @@ _080155D8: b _0801565C .align 2, 0 _0801561C: .4byte gBattleOutcome -_08015620: .4byte gUnknown_2023BE3 +_08015620: .4byte gCurrentActionFuncId _08015624: .4byte gBattleStruct _08015628: .4byte gUnknown_2023BE2 _0801562C: .4byte gUnknown_8250038 @@ -11048,7 +11048,7 @@ _0801566C: .4byte 0xfff7ffff thumb_func_start sub_8015670 sub_8015670: @ 8015670 push {r4,lr} - ldr r1, _080156A8 @ =gUnknown_2023BE3 + ldr r1, _080156A8 @ =gCurrentActionFuncId movs r0, 0 strb r0, [r1] ldr r0, _080156AC @ =gBattleTypeFlags @@ -11074,7 +11074,7 @@ sub_8015670: @ 8015670 strb r0, [r4] b _0801576E .align 2, 0 -_080156A8: .4byte gUnknown_2023BE3 +_080156A8: .4byte gCurrentActionFuncId _080156AC: .4byte gBattleTypeFlags _080156B0: .4byte gBattleTextBuff1 _080156B4: .4byte gBattleOutcome @@ -11170,7 +11170,7 @@ _08015788: .4byte sub_8015910 thumb_func_start sub_801578C sub_801578C: @ 801578C push {r4,lr} - ldr r1, _080157C4 @ =gUnknown_2023BE3 + ldr r1, _080157C4 @ =gCurrentActionFuncId movs r0, 0 strb r0, [r1] ldr r0, _080157C8 @ =gBattleTypeFlags @@ -11197,7 +11197,7 @@ sub_801578C: @ 801578C strb r0, [r4] b _08015830 .align 2, 0 -_080157C4: .4byte gUnknown_2023BE3 +_080157C4: .4byte gCurrentActionFuncId _080157C8: .4byte gBattleTypeFlags _080157CC: .4byte gBattleTextBuff1 _080157D0: .4byte gBattleOutcome @@ -11263,7 +11263,7 @@ _0801584C: .4byte sub_8015910 thumb_func_start sub_8015850 sub_8015850: @ 8015850 push {lr} - ldr r1, _08015878 @ =gUnknown_2023BE3 + ldr r1, _08015878 @ =gCurrentActionFuncId movs r0, 0 strb r0, [r1] ldr r1, _0801587C @ =gProtectStructs @@ -11282,7 +11282,7 @@ sub_8015850: @ 8015850 ldr r0, _08015888 @ =gUnknown_81D8916 b _080158A0 .align 2, 0 -_08015878: .4byte gUnknown_2023BE3 +_08015878: .4byte gCurrentActionFuncId _0801587C: .4byte gProtectStructs _08015880: .4byte gBattlerAttacker _08015884: .4byte gBattlescriptCurrInstr @@ -11313,7 +11313,7 @@ _080158B8: .4byte sub_8015910 thumb_func_start sub_80158BC sub_80158BC: @ 80158BC - ldr r1, _080158F0 @ =gUnknown_2023BE3 + ldr r1, _080158F0 @ =gCurrentActionFuncId movs r0, 0 strb r0, [r1] ldr r1, _080158F4 @ =gBattleTextBuff1 @@ -11340,7 +11340,7 @@ sub_80158BC: @ 80158BC str r0, [r1] bx lr .align 2, 0 -_080158F0: .4byte gUnknown_2023BE3 +_080158F0: .4byte gCurrentActionFuncId _080158F4: .4byte gBattleTextBuff1 _080158F8: .4byte gBattlerAttacker _080158FC: .4byte gBattlerPartyIndexes @@ -11353,7 +11353,7 @@ _0801590C: .4byte sub_8015910 thumb_func_start sub_8015910 sub_8015910: @ 8015910 push {r4-r7,lr} - ldr r0, _08015974 @ =gUnknown_2023BE3 + ldr r0, _08015974 @ =gCurrentActionFuncId ldrb r0, [r0] subs r0, 0xB lsls r0, 24 @@ -11401,7 +11401,7 @@ _08015942: bl StringCopy b _080159AA .align 2, 0 -_08015974: .4byte gUnknown_2023BE3 +_08015974: .4byte gCurrentActionFuncId _08015978: .4byte gBattleTypeFlags _0801597C: .4byte 0x00080b92 _08015980: .4byte gActiveBattler @@ -11464,7 +11464,7 @@ _08015A04: ldr r0, [r0] cmp r0, 0 bne _08015A1E - ldr r1, _08015A28 @ =gUnknown_825011C + ldr r1, _08015A28 @ =gBattleScriptingCommandsTable ldr r0, _08015A2C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0] @@ -11478,7 +11478,7 @@ _08015A1E: bx r0 .align 2, 0 _08015A24: .4byte gBattleControllerExecFlags -_08015A28: .4byte gUnknown_825011C +_08015A28: .4byte gBattleScriptingCommandsTable _08015A2C: .4byte gBattlescriptCurrInstr thumb_func_end sub_8015910 @@ -11708,7 +11708,7 @@ _08015BFC: .4byte gEnemyParty thumb_func_start RunBattleScriptCommands_PopCallbacksStack RunBattleScriptCommands_PopCallbacksStack: @ 8015C00 push {lr} - ldr r0, _08015C3C @ =gUnknown_2023BE3 + ldr r0, _08015C3C @ =gCurrentActionFuncId ldrb r0, [r0] subs r0, 0xB lsls r0, 24 @@ -11738,7 +11738,7 @@ _08015C24: str r0, [r2] b _08015C62 .align 2, 0 -_08015C3C: .4byte gUnknown_2023BE3 +_08015C3C: .4byte gCurrentActionFuncId _08015C40: .4byte gBattleResources _08015C44: .4byte gBattleMainFunc _08015C48: @@ -11746,7 +11746,7 @@ _08015C48: ldr r0, [r0] cmp r0, 0 bne _08015C62 - ldr r1, _08015C6C @ =gUnknown_825011C + ldr r1, _08015C6C @ =gBattleScriptingCommandsTable ldr r0, _08015C70 @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0] @@ -11759,18 +11759,18 @@ _08015C62: bx r0 .align 2, 0 _08015C68: .4byte gBattleControllerExecFlags -_08015C6C: .4byte gUnknown_825011C +_08015C6C: .4byte gBattleScriptingCommandsTable _08015C70: .4byte gBattlescriptCurrInstr thumb_func_end RunBattleScriptCommands_PopCallbacksStack - thumb_func_start sub_8015C74 -sub_8015C74: @ 8015C74 + thumb_func_start RunBattleScriptCommands +RunBattleScriptCommands: @ 8015C74 push {lr} ldr r0, _08015C94 @ =gBattleControllerExecFlags ldr r0, [r0] cmp r0, 0 bne _08015C90 - ldr r1, _08015C98 @ =gUnknown_825011C + ldr r1, _08015C98 @ =gBattleScriptingCommandsTable ldr r0, _08015C9C @ =gBattlescriptCurrInstr ldr r0, [r0] ldrb r0, [r0] @@ -11783,9 +11783,9 @@ _08015C90: bx r0 .align 2, 0 _08015C94: .4byte gBattleControllerExecFlags -_08015C98: .4byte gUnknown_825011C +_08015C98: .4byte gBattleScriptingCommandsTable _08015C9C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8015C74 + thumb_func_end RunBattleScriptCommands thumb_func_start sub_8015CA0 sub_8015CA0: @ 8015CA0 @@ -11817,7 +11817,7 @@ sub_8015CA0: @ 8015CA0 ands r2, r0 cmp r2, 0 beq _08015CF8 - ldr r1, _08015CF4 @ =gUnknown_2023BE3 + ldr r1, _08015CF4 @ =gCurrentActionFuncId movs r0, 0xC b _0801634C .align 2, 0 @@ -11826,7 +11826,7 @@ _08015CE4: .4byte gBattlerByTurnOrder _08015CE8: .4byte gUnknown_2023BE2 _08015CEC: .4byte gBattleStruct _08015CF0: .4byte gBitTable -_08015CF4: .4byte gUnknown_2023BE3 +_08015CF4: .4byte gCurrentActionFuncId _08015CF8: ldr r1, _08015D6C @ =gCritMultiplier movs r0, 0x1 @@ -11843,8 +11843,8 @@ _08015CF8: strb r2, [r0] ldr r0, _08015D7C @ =gBattleCommunication strb r2, [r0, 0x6] - ldr r2, _08015D80 @ =gUnknown_2023D48 - ldr r3, _08015D84 @ =gUnknown_2023D49 + ldr r2, _08015D80 @ =gCurrMovePos + ldr r3, _08015D84 @ =gChosenMovePos mov r9, r3 ldrb r0, [r6] ldr r4, _08015D88 @ =gBattleStruct @@ -11891,8 +11891,8 @@ _08015D70: .4byte gBattleScripting _08015D74: .4byte gMoveResultFlags _08015D78: .4byte gUnknown_2023D72 _08015D7C: .4byte gBattleCommunication -_08015D80: .4byte gUnknown_2023D48 -_08015D84: .4byte gUnknown_2023D49 +_08015D80: .4byte gCurrMovePos +_08015D84: .4byte gChosenMovePos _08015D88: .4byte gBattleStruct _08015D8C: .4byte gProtectStructs _08015D90: .4byte gCurrentMove @@ -12580,7 +12580,7 @@ _0801632C: adds r0, r3 ldr r0, [r0] str r0, [r4] - ldr r1, _08016370 @ =gUnknown_2023BE3 + ldr r1, _08016370 @ =gCurrentActionFuncId movs r0, 0xA _0801634C: strb r0, [r1] @@ -12597,7 +12597,7 @@ _08016360: .4byte gBattlescriptCurrInstr _08016364: .4byte gUnknown_81D65A8 _08016368: .4byte gBattleMoves _0801636C: .4byte gCurrentMove -_08016370: .4byte gUnknown_2023BE3 +_08016370: .4byte gCurrentActionFuncId thumb_func_end sub_8015CA0 thumb_func_start sub_8016374 @@ -12644,7 +12644,7 @@ sub_8016374: @ 8016374 ldr r1, _08016408 @ =gBattlescriptCurrInstr ldr r0, _0801640C @ =gUnknown_81D894D str r0, [r1] - ldr r1, _08016410 @ =gUnknown_2023BE3 + ldr r1, _08016410 @ =gCurrentActionFuncId movs r0, 0xA strb r0, [r1] ldr r1, _08016414 @ =gBattleResults @@ -12670,7 +12670,7 @@ _08016400: .4byte gBattleStruct _08016404: .4byte gBattleScripting _08016408: .4byte gBattlescriptCurrInstr _0801640C: .4byte gUnknown_81D894D -_08016410: .4byte gUnknown_2023BE3 +_08016410: .4byte gCurrentActionFuncId _08016414: .4byte gBattleResults thumb_func_end sub_8016374 @@ -12743,13 +12743,13 @@ _0801649C: ldr r1, _080164BC @ =gUnknown_81D99FC ldr r1, [r1] str r1, [r0] - ldr r1, _080164C0 @ =gUnknown_2023BE3 + ldr r1, _080164C0 @ =gCurrentActionFuncId mov r10, r1 b _0801671E .align 2, 0 _080164B8: .4byte gBattlescriptCurrInstr _080164BC: .4byte gUnknown_81D99FC -_080164C0: .4byte gUnknown_2023BE3 +_080164C0: .4byte gCurrentActionFuncId _080164C4: movs r0, 0xAF lsls r0, 1 @@ -12759,13 +12759,13 @@ _080164C4: ldr r1, _080164E0 @ =gUnknown_81D99FC ldr r1, [r1, 0x4] str r1, [r0] - ldr r2, _080164E4 @ =gUnknown_2023BE3 + ldr r2, _080164E4 @ =gCurrentActionFuncId mov r10, r2 b _0801671E .align 2, 0 _080164DC: .4byte gBattlescriptCurrInstr _080164E0: .4byte gUnknown_81D99FC -_080164E4: .4byte gUnknown_2023BE3 +_080164E4: .4byte gCurrentActionFuncId _080164E8: ldrb r0, [r4] bl GetBattlerSide @@ -12777,13 +12777,13 @@ _080164E8: ldr r1, [r1] str r1, [r0] _080164FC: - ldr r0, _0801650C @ =gUnknown_2023BE3 + ldr r0, _0801650C @ =gCurrentActionFuncId mov r10, r0 b _0801671E .align 2, 0 _08016504: .4byte gBattlescriptCurrInstr _08016508: .4byte gUnknown_81D99E4 -_0801650C: .4byte gUnknown_2023BE3 +_0801650C: .4byte gCurrentActionFuncId _08016510: ldr r3, _08016548 @ =gBattleScripting ldrb r0, [r4] @@ -12802,7 +12802,7 @@ _08016510: ldr r6, _08016554 @ =gUnknown_81D99E4 mov r12, r3 adds r7, r2, 0 - ldr r2, _08016558 @ =gUnknown_2023BE3 + ldr r2, _08016558 @ =gCurrentActionFuncId mov r10, r2 cmp r0, 0x4 bls _0801653C @@ -12818,7 +12818,7 @@ _08016548: .4byte gBattleScripting _0801654C: .4byte gBattleStruct _08016550: .4byte gBattlescriptCurrInstr _08016554: .4byte gUnknown_81D99E4 -_08016558: .4byte gUnknown_2023BE3 +_08016558: .4byte gCurrentActionFuncId _0801655C: .4byte _08016560 .align 2, 0 _08016560: @@ -12848,7 +12848,7 @@ _08016574: ldr r1, _080165B4 @ =gBattlescriptCurrInstr mov r9, r1 ldr r6, _080165B8 @ =gUnknown_81D99E4 - ldr r2, _080165BC @ =gUnknown_2023BE3 + ldr r2, _080165BC @ =gCurrentActionFuncId mov r10, r2 cmp r0, 0 bne _080165A6 @@ -12862,12 +12862,12 @@ _080165AC: .4byte gBattleCommunication _080165B0: .4byte gBattlerAttacker _080165B4: .4byte gBattlescriptCurrInstr _080165B8: .4byte gUnknown_81D99E4 -_080165BC: .4byte gUnknown_2023BE3 +_080165BC: .4byte gCurrentActionFuncId _080165C0: ldr r0, _080165FC @ =gBattlescriptCurrInstr mov r9, r0 ldr r6, _08016600 @ =gUnknown_81D99E4 - ldr r1, _08016604 @ =gUnknown_2023BE3 + ldr r1, _08016604 @ =gCurrentActionFuncId mov r10, r1 mov r4, r8 adds r3, r7, 0 @@ -12898,7 +12898,7 @@ _080165D0: .align 2, 0 _080165FC: .4byte gBattlescriptCurrInstr _08016600: .4byte gUnknown_81D99E4 -_08016604: .4byte gUnknown_2023BE3 +_08016604: .4byte gCurrentActionFuncId _08016608: ldr r3, _0801663C @ =gBattleCommunication movs r0, 0x4 @@ -12923,7 +12923,7 @@ _08016608: ldr r2, _08016644 @ =gBattlescriptCurrInstr mov r9, r2 ldr r6, _08016648 @ =gUnknown_81D99E4 - ldr r0, _0801664C @ =gUnknown_2023BE3 + ldr r0, _0801664C @ =gCurrentActionFuncId mov r10, r0 b _08016706 .align 2, 0 @@ -12931,7 +12931,7 @@ _0801663C: .4byte gBattleCommunication _08016640: .4byte gBattlerAttacker _08016644: .4byte gBattlescriptCurrInstr _08016648: .4byte gUnknown_81D99E4 -_0801664C: .4byte gUnknown_2023BE3 +_0801664C: .4byte gCurrentActionFuncId _08016650: ldr r3, _080166C4 @ =gBattleTextBuff1 movs r4, 0xFD @@ -12955,7 +12955,7 @@ _08016650: ldr r1, _080166CC @ =gBattlescriptCurrInstr mov r9, r1 ldr r6, _080166D0 @ =gUnknown_81D99E4 - ldr r0, _080166D4 @ =gUnknown_2023BE3 + ldr r0, _080166D4 @ =gCurrentActionFuncId mov r10, r0 cmp r2, 0 bne _080166B4 @@ -12997,7 +12997,7 @@ _080166C4: .4byte gBattleTextBuff1 _080166C8: .4byte gBattleTextBuff2 _080166CC: .4byte gBattlescriptCurrInstr _080166D0: .4byte gUnknown_81D99E4 -_080166D4: .4byte gUnknown_2023BE3 +_080166D4: .4byte gCurrentActionFuncId _080166D8: ldr r0, _080166EC @ =gBattleTypeFlags ldr r1, [r0] @@ -13021,7 +13021,7 @@ _080166F8: ldr r1, _0801673C @ =gBattlescriptCurrInstr mov r9, r1 ldr r6, _08016740 @ =gUnknown_81D99E4 - ldr r2, _08016744 @ =gUnknown_2023BE3 + ldr r2, _08016744 @ =gCurrentActionFuncId mov r10, r2 _08016706: mov r1, r8 @@ -13052,7 +13052,7 @@ _08016734: .4byte gBattleCommunication _08016738: .4byte gBattlerAttacker _0801673C: .4byte gBattlescriptCurrInstr _08016740: .4byte gUnknown_81D99E4 -_08016744: .4byte gUnknown_2023BE3 +_08016744: .4byte gCurrentActionFuncId thumb_func_end sub_8016418 thumb_func_start sub_8016748 @@ -13328,14 +13328,14 @@ _0801694C: ldr r1, _08016980 @ =gBattlescriptCurrInstr ldr r0, _08016984 @ =gUnknown_81D893A str r0, [r1] - ldr r1, _08016988 @ =gUnknown_2023BE3 + ldr r1, _08016988 @ =gCurrentActionFuncId movs r0, 0xA b _080169D6 .align 2, 0 _0801697C: .4byte gBattleCommunication _08016980: .4byte gBattlescriptCurrInstr _08016984: .4byte gUnknown_81D893A -_08016988: .4byte gUnknown_2023BE3 +_08016988: .4byte gCurrentActionFuncId _0801698C: ldr r1, _080169B4 @ =gBattleMons ldrb r2, [r4] @@ -13354,7 +13354,7 @@ _0801698C: ldr r1, _080169C0 @ =gBattlescriptCurrInstr ldr r0, _080169C4 @ =gUnknown_81D893A str r0, [r1] - ldr r1, _080169C8 @ =gUnknown_2023BE3 + ldr r1, _080169C8 @ =gCurrentActionFuncId movs r0, 0xA b _080169D6 .align 2, 0 @@ -13363,7 +13363,7 @@ _080169B8: .4byte 0x0400e000 _080169BC: .4byte gBattleCommunication _080169C0: .4byte gBattlescriptCurrInstr _080169C4: .4byte gUnknown_81D893A -_080169C8: .4byte gUnknown_2023BE3 +_080169C8: .4byte gCurrentActionFuncId _080169CC: ldr r0, _080169E0 @ =gBattlersCount ldrb r0, [r0] @@ -13470,7 +13470,7 @@ _08016A9C: ldr r0, _08016AB8 @ =gUnknown_81D9A04 ldr r0, [r0] str r0, [r1] - ldr r1, _08016ABC @ =gUnknown_2023BE3 + ldr r1, _08016ABC @ =gCurrentActionFuncId movs r0, 0xA strb r0, [r1] pop {r4,r5} @@ -13480,7 +13480,7 @@ _08016A9C: _08016AB0: .4byte gBattleCommunication _08016AB4: .4byte gBattlescriptCurrInstr _08016AB8: .4byte gUnknown_81D9A04 -_08016ABC: .4byte gUnknown_2023BE3 +_08016ABC: .4byte gCurrentActionFuncId thumb_func_end sub_80169E8 thumb_func_start sub_8016AC0 @@ -13508,7 +13508,7 @@ sub_8016AC0: @ 8016AC0 ldr r0, _08016B18 @ =gUnknown_81D99B0 ldr r0, [r0, 0x14] str r0, [r1] - ldr r1, _08016B1C @ =gUnknown_2023BE3 + ldr r1, _08016B1C @ =gCurrentActionFuncId movs r0, 0xA strb r0, [r1] bx lr @@ -13522,7 +13522,7 @@ _08016B0C: .4byte gNumSafariBalls _08016B10: .4byte gLastUsedItem _08016B14: .4byte gBattlescriptCurrInstr _08016B18: .4byte gUnknown_81D99B0 -_08016B1C: .4byte gUnknown_2023BE3 +_08016B1C: .4byte gCurrentActionFuncId thumb_func_end sub_8016AC0 thumb_func_start sub_8016B20 @@ -13582,7 +13582,7 @@ _08016B86: ldr r0, _08016BB8 @ =gUnknown_81D9A04 ldr r0, [r0, 0x8] str r0, [r1] - ldr r1, _08016BBC @ =gUnknown_2023BE3 + ldr r1, _08016BBC @ =gCurrentActionFuncId movs r0, 0xA strb r0, [r1] pop {r4-r7} @@ -13597,7 +13597,7 @@ _08016BAC: .4byte gBattle_BG0_Y _08016BB0: .4byte gBattleStruct _08016BB4: .4byte gBattlescriptCurrInstr _08016BB8: .4byte gUnknown_81D9A04 -_08016BBC: .4byte gUnknown_2023BE3 +_08016BBC: .4byte gCurrentActionFuncId thumb_func_end sub_8016B20 thumb_func_start sub_8016BC0 @@ -13657,7 +13657,7 @@ _08016C26: ldr r0, _08016C58 @ =gUnknown_81D9A04 ldr r0, [r0, 0x4] str r0, [r1] - ldr r1, _08016C5C @ =gUnknown_2023BE3 + ldr r1, _08016C5C @ =gCurrentActionFuncId movs r0, 0xA strb r0, [r1] pop {r4-r7} @@ -13672,7 +13672,7 @@ _08016C4C: .4byte gBattle_BG0_Y _08016C50: .4byte gBattleStruct _08016C54: .4byte gBattlescriptCurrInstr _08016C58: .4byte gUnknown_81D9A04 -_08016C5C: .4byte gUnknown_2023BE3 +_08016C5C: .4byte gCurrentActionFuncId thumb_func_end sub_8016BC0 thumb_func_start HandleAction_SafriZoneRun @@ -13736,7 +13736,7 @@ HandleAction_Action9: @ 8016C9C ldr r0, _08016D08 @ =gUnknown_81D9A04 ldr r0, [r0, 0xC] str r0, [r1] - ldr r1, _08016D0C @ =gUnknown_2023BE3 + ldr r1, _08016D0C @ =gCurrentActionFuncId movs r0, 0xA strb r0, [r1] ldr r1, _08016D10 @ =gUnknown_2023BDA @@ -13753,7 +13753,7 @@ _08016CFC: .4byte gBattleTextBuff1 _08016D00: .4byte gBattlerPartyIndexes _08016D04: .4byte gBattlescriptCurrInstr _08016D08: .4byte gUnknown_81D9A04 -_08016D0C: .4byte gUnknown_2023BE3 +_08016D0C: .4byte gCurrentActionFuncId _08016D10: .4byte gUnknown_2023BDA thumb_func_end HandleAction_Action9 @@ -13769,7 +13769,7 @@ HandleAction_Action11: @ 8016D14 ldr r0, [r0] adds r0, 0x4D strb r1, [r0] - ldr r1, _08016D38 @ =gUnknown_2023BE3 + ldr r1, _08016D38 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] _08016D30: @@ -13777,7 +13777,7 @@ _08016D30: bx r0 .align 2, 0 _08016D34: .4byte gBattleStruct -_08016D38: .4byte gUnknown_2023BE3 +_08016D38: .4byte gCurrentActionFuncId thumb_func_end HandleAction_Action11 thumb_func_start HandleAction_NothingIsFainted @@ -13786,7 +13786,7 @@ HandleAction_NothingIsFainted: @ 8016D3C ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] - ldr r3, _08016D60 @ =gUnknown_2023BE3 + ldr r3, _08016D60 @ =gCurrentActionFuncId ldr r2, _08016D64 @ =gUnknown_2023BDA ldrb r0, [r1] adds r0, r2 @@ -13800,7 +13800,7 @@ HandleAction_NothingIsFainted: @ 8016D3C bx lr .align 2, 0 _08016D5C: .4byte gUnknown_2023BE2 -_08016D60: .4byte gUnknown_2023BE3 +_08016D60: .4byte gCurrentActionFuncId _08016D64: .4byte gUnknown_2023BDA _08016D68: .4byte gHitMarker _08016D6C: .4byte 0xf1e892af @@ -13813,7 +13813,7 @@ HandleAction_ActionFinished: @ 8016D70 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] - ldr r3, _08016DE8 @ =gUnknown_2023BE3 + ldr r3, _08016DE8 @ =gCurrentActionFuncId ldr r2, _08016DEC @ =gUnknown_2023BDA ldrb r0, [r1] adds r0, r2 @@ -13867,7 +13867,7 @@ HandleAction_ActionFinished: @ 8016D70 bx r0 .align 2, 0 _08016DE4: .4byte gUnknown_2023BE2 -_08016DE8: .4byte gUnknown_2023BE3 +_08016DE8: .4byte gCurrentActionFuncId _08016DEC: .4byte gUnknown_2023BDA _08016DF0: .4byte gHitMarker _08016DF4: .4byte 0xf1e892af diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 765eb317a..568f794d0 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -16,13 +16,13 @@ atk00_attackcanceler: @ 801D760 ldrb r0, [r0] cmp r0, 0 beq _0801D784 - ldr r1, _0801D780 @ =gUnknown_2023BE3 + ldr r1, _0801D780 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] b _0801DAFC .align 2, 0 _0801D77C: .4byte gBattleOutcome -_0801D780: .4byte gUnknown_2023BE3 +_0801D780: .4byte gCurrentActionFuncId _0801D784: ldr r2, _0801D7B4 @ =gBattleMons ldr r0, _0801D7B8 @ =gBattlerAttacker @@ -74,7 +74,7 @@ _0801D7D6: b _0801DAFC _0801D7EE: ldr r4, _0801D848 @ =gBattleMons - ldr r0, _0801D84C @ =gUnknown_2023D48 + ldr r0, _0801D84C @ =gCurrMovePos ldrb r1, [r0] ldr r3, _0801D850 @ =gBattlerAttacker ldrb r2, [r3] @@ -118,7 +118,7 @@ _0801D7EE: .align 2, 0 _0801D844: .4byte gBattlerTarget _0801D848: .4byte gBattleMons -_0801D84C: .4byte gUnknown_2023D48 +_0801D84C: .4byte gCurrMovePos _0801D850: .4byte gBattlerAttacker _0801D854: .4byte gHitMarker _0801D858: .4byte gCurrentMove @@ -1433,7 +1433,7 @@ _0801E2E6: cmp r4, 0 bne _0801E3CC ldr r2, _0801E34C @ =gBattleMons - ldr r3, _0801E354 @ =gUnknown_2023D48 + ldr r3, _0801E354 @ =gCurrMovePos ldr r1, _0801E358 @ =gBattlerAttacker ldrb r5, [r1] movs r0, 0x58 @@ -1478,7 +1478,7 @@ _0801E2E6: _0801E348: .4byte gBattlerTarget _0801E34C: .4byte gBattleMons _0801E350: .4byte gHitMarker -_0801E354: .4byte gUnknown_2023D48 +_0801E354: .4byte gCurrMovePos _0801E358: .4byte gBattlerAttacker _0801E35C: .4byte gProtectStructs _0801E360: @@ -3321,7 +3321,7 @@ _0801F186: bcs _0801F1C4 ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _0801F250 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -3525,7 +3525,7 @@ _0801F336: bcs _0801F374 ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _0801F3E4 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -10716,14 +10716,14 @@ atk3D_end: @ 8022CCC strb r1, [r0] ldr r0, _08022CE4 @ =gActiveBattler strb r1, [r0] - ldr r1, _08022CE8 @ =gUnknown_2023BE3 + ldr r1, _08022CE8 @ =gCurrentActionFuncId movs r0, 0xB strb r0, [r1] bx lr .align 2, 0 _08022CE0: .4byte gMoveResultFlags _08022CE4: .4byte gActiveBattler -_08022CE8: .4byte gUnknown_2023BE3 +_08022CE8: .4byte gCurrentActionFuncId thumb_func_end atk3D_end thumb_func_start atk3E_end2 @@ -10731,13 +10731,13 @@ atk3E_end2: @ 8022CEC ldr r1, _08022CFC @ =gActiveBattler movs r0, 0 strb r0, [r1] - ldr r1, _08022D00 @ =gUnknown_2023BE3 + ldr r1, _08022D00 @ =gCurrentActionFuncId movs r0, 0xB strb r0, [r1] bx lr .align 2, 0 _08022CFC: .4byte gActiveBattler -_08022D00: .4byte gUnknown_2023BE3 +_08022D00: .4byte gCurrentActionFuncId thumb_func_end atk3E_end2 thumb_func_start atk3F_end3 @@ -16653,18 +16653,18 @@ atk63_jumptorandomattack: @ 8025C9C cmp r1, 0 beq _08025CC0 ldr r0, _08025CB8 @ =gCurrentMove - ldr r1, _08025CBC @ =gUnknown_2023D4E + ldr r1, _08025CBC @ =gCalledMove ldrh r1, [r1] strh r1, [r0] b _08025CCE .align 2, 0 _08025CB4: .4byte gBattlescriptCurrInstr _08025CB8: .4byte gCurrentMove -_08025CBC: .4byte gUnknown_2023D4E +_08025CBC: .4byte gCalledMove _08025CC0: ldr r2, _08025CEC @ =gChosenMove ldr r1, _08025CF0 @ =gCurrentMove - ldr r0, _08025CF4 @ =gUnknown_2023D4E + ldr r0, _08025CF4 @ =gCalledMove ldrh r0, [r0] strh r0, [r1] strh r0, [r2] @@ -16688,7 +16688,7 @@ _08025CCE: .align 2, 0 _08025CEC: .4byte gChosenMove _08025CF0: .4byte gCurrentMove -_08025CF4: .4byte gUnknown_2023D4E +_08025CF4: .4byte gCalledMove _08025CF8: .4byte gUnknown_81D65A8 _08025CFC: .4byte gBattleMoves thumb_func_end atk63_jumptorandomattack @@ -17102,7 +17102,7 @@ _0802602E: bcs _0802606C ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _080260F8 @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -22294,7 +22294,7 @@ _0802895A: bcs _08028998 ldrb r0, [r5] movs r1, 0x27 - bl sub_80C7208 + bl RecordItemEffectBattle ldr r2, _080289DC @ =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -23875,7 +23875,7 @@ _08029628: _08029646: cmp r2, 0x4 bne _08029728 - ldr r5, _080296A0 @ =gUnknown_2023D48 + ldr r5, _080296A0 @ =gCurrMovePos ldrb r1, [r5] lsls r1, 1 mov r2, r9 @@ -23917,7 +23917,7 @@ _08029646: b _080296C4 .align 2, 0 _0802969C: .4byte gBattlescriptCurrInstr -_080296A0: .4byte gUnknown_2023D48 +_080296A0: .4byte gCurrMovePos _080296A4: .4byte gLastMoves _080296A8: .4byte gBattlerTarget _080296AC: .4byte gBattleMoves @@ -25184,7 +25184,7 @@ _0802A08A: beq _0802A090 b _0802A190 _0802A090: - ldr r4, _0802A17C @ =gUnknown_2023D48 + ldr r4, _0802A17C @ =gCurrMovePos ldrb r1, [r4] lsls r1, 1 mov r2, r10 @@ -25296,7 +25296,7 @@ _0802A16C: .4byte gBattleMons _0802A170: .4byte gBattlerAttacker _0802A174: .4byte gUnknown_2023D90 _0802A178: .4byte gBattlerTarget -_0802A17C: .4byte gUnknown_2023D48 +_0802A17C: .4byte gCurrMovePos _0802A180: .4byte gBattleMoves _0802A184: .4byte gActiveBattler _0802A188: .4byte gBattleTextBuff1 @@ -25541,7 +25541,7 @@ _0802A334: ands r0, r6 cmp r0, 0 bne _0802A334 - ldr r4, _0802A3A8 @ =gUnknown_2023D4E + ldr r4, _0802A3A8 @ =gCalledMove ldr r2, _0802A3AC @ =gBattleMons lsls r1, r5, 1 ldr r0, _0802A3B0 @ =gBattlerAttacker @@ -25553,7 +25553,7 @@ _0802A334: adds r1, r2 ldrh r0, [r1] strh r0, [r4] - ldr r0, _0802A3B4 @ =gUnknown_2023D48 + ldr r0, _0802A3B4 @ =gCurrMovePos strb r5, [r0] ldr r2, _0802A3B8 @ =gHitMarker ldr r0, [r2] @@ -25588,10 +25588,10 @@ _0802A394: bx r0 .align 2, 0 _0802A3A4: .4byte gBitTable -_0802A3A8: .4byte gUnknown_2023D4E +_0802A3A8: .4byte gCalledMove _0802A3AC: .4byte gBattleMons _0802A3B0: .4byte gBattlerAttacker -_0802A3B4: .4byte gUnknown_2023D48 +_0802A3B4: .4byte gCurrMovePos _0802A3B8: .4byte gHitMarker _0802A3BC: .4byte 0xfffffbff _0802A3C0: .4byte gBattlerTarget @@ -27392,9 +27392,9 @@ _0802B1A2: ldr r0, _0802B280 @ =gBattlersCount ldr r2, _0802B284 @ =gCurrentMove mov r8, r2 - ldr r7, _0802B288 @ =gUnknown_2023D48 + ldr r7, _0802B288 @ =gCurrMovePos mov r10, r7 - ldr r2, _0802B28C @ =gUnknown_2023D49 + ldr r2, _0802B28C @ =gChosenMovePos mov r9, r2 ldr r7, _0802B290 @ =gHitMarker mov r12, r7 @@ -27457,8 +27457,8 @@ _0802B278: .4byte gDisableStructs _0802B27C: .4byte gChosenMoveByBattler _0802B280: .4byte gBattlersCount _0802B284: .4byte gCurrentMove -_0802B288: .4byte gUnknown_2023D48 -_0802B28C: .4byte gUnknown_2023D49 +_0802B288: .4byte gCurrMovePos +_0802B28C: .4byte gChosenMovePos _0802B290: .4byte gHitMarker _0802B294: .4byte gBattlerByTurnOrder _0802B298: .4byte gUnknown_2023BDA @@ -30496,7 +30496,7 @@ _0802CA3C: ldr r1, _0802CAA4 @ =0xfffffbff ands r0, r1 str r0, [r2] - ldr r4, _0802CAA8 @ =gUnknown_2023D4E + ldr r4, _0802CAA8 @ =gCalledMove bl Random movs r1, 0xFF ands r1, r0 @@ -30528,7 +30528,7 @@ _0802CA98: .4byte 0x0000ffff _0802CA9C: .4byte gUnknown_82507E8 _0802CAA0: .4byte gHitMarker _0802CAA4: .4byte 0xfffffbff -_0802CAA8: .4byte gUnknown_2023D4E +_0802CAA8: .4byte gCalledMove _0802CAAC: .4byte gBattlerTarget _0802CAB0: .4byte gBattlescriptCurrInstr _0802CAB4: @@ -33169,17 +33169,17 @@ _0802E010: .4byte gBattlescriptCurrInstr thumb_func_start sub_802E014 sub_802E014: @ 802E014 - ldr r1, _0802E01C @ =gUnknown_2023BE3 + ldr r1, _0802E01C @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] bx lr .align 2, 0 -_0802E01C: .4byte gUnknown_2023BE3 +_0802E01C: .4byte gCurrentActionFuncId thumb_func_end sub_802E014 thumb_func_start sub_802E020 sub_802E020: @ 802E020 - ldr r1, _0802E030 @ =gUnknown_2023BE3 + ldr r1, _0802E030 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] ldr r1, _0802E034 @ =gUnknown_2023BE2 @@ -33188,7 +33188,7 @@ sub_802E020: @ 802E020 strb r0, [r1] bx lr .align 2, 0 -_0802E030: .4byte gUnknown_2023BE3 +_0802E030: .4byte gCurrentActionFuncId _0802E034: .4byte gUnknown_2023BE2 _0802E038: .4byte gBattlersCount thumb_func_end sub_802E020 diff --git a/asm/battle_util.s b/asm/battle_util.s deleted file mode 100644 index a6b77a6e4..000000000 --- a/asm/battle_util.s +++ /dev/null @@ -1,3283 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start BattleScriptExecute -BattleScriptExecute: @ 801BBE4 - ldr r1, _0801BC10 @ =gBattlescriptCurrInstr - str r0, [r1] - ldr r0, _0801BC14 @ =gBattleResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - adds r3, r2, 0 - adds r3, 0x20 - ldrb r0, [r3] - adds r1, r0, 0x1 - strb r1, [r3] - lsls r0, 24 - lsrs r0, 22 - adds r2, r0 - ldr r1, _0801BC18 @ =gBattleMainFunc - ldr r0, [r1] - str r0, [r2] - ldr r0, _0801BC1C @ =RunBattleScriptCommands_PopCallbacksStack - str r0, [r1] - ldr r1, _0801BC20 @ =gUnknown_2023BE3 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0801BC10: .4byte gBattlescriptCurrInstr -_0801BC14: .4byte gBattleResources -_0801BC18: .4byte gBattleMainFunc -_0801BC1C: .4byte RunBattleScriptCommands_PopCallbacksStack -_0801BC20: .4byte gUnknown_2023BE3 - thumb_func_end BattleScriptExecute - - thumb_func_start BattleScriptPushCursorAndCallback -BattleScriptPushCursorAndCallback: @ 801BC24 - push {r4,lr} - adds r4, r0, 0 - bl BattleScriptPushCursor - ldr r0, _0801BC58 @ =gBattlescriptCurrInstr - str r4, [r0] - ldr r0, _0801BC5C @ =gBattleResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - adds r3, r2, 0 - adds r3, 0x20 - ldrb r0, [r3] - adds r1, r0, 0x1 - strb r1, [r3] - lsls r0, 24 - lsrs r0, 22 - adds r2, r0 - ldr r1, _0801BC60 @ =gBattleMainFunc - ldr r0, [r1] - str r0, [r2] - ldr r0, _0801BC64 @ =sub_8015C74 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801BC58: .4byte gBattlescriptCurrInstr -_0801BC5C: .4byte gBattleResources -_0801BC60: .4byte gBattleMainFunc -_0801BC64: .4byte sub_8015C74 - thumb_func_end BattleScriptPushCursorAndCallback - - thumb_func_start ItemBattleEffects -ItemBattleEffects: @ 801BC68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r0, 0 - mov r10, r0 - movs r1, 0 - str r1, [sp, 0xC] - add r0, sp, 0x4 - strb r1, [r0] - ldr r4, _0801BCB4 @ =gLastUsedItem - ldr r1, _0801BCB8 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r0, r1 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0801BCC0 - ldr r1, _0801BCBC @ =gEnigmaBerries - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x7] - ldrb r0, [r0, 0x1A] - b _0801BCD4 - .align 2, 0 -_0801BCB4: .4byte gLastUsedItem -_0801BCB8: .4byte gBattleMons -_0801BCBC: .4byte gEnigmaBerries -_0801BCC0: - ldrh r0, [r4] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r0, 24 -_0801BCD4: - mov r9, r0 - ldr r1, _0801BCFC @ =gBattleMons - ldr r0, _0801BD00 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - str r0, [sp, 0x14] - cmp r0, 0xAF - bne _0801BD08 - ldr r1, _0801BD04 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x7] - mov r8, r3 - ldrb r0, [r0, 0x1A] - b _0801BD1E - .align 2, 0 -_0801BCFC: .4byte gBattleMons -_0801BD00: .4byte gBattlerAttacker -_0801BD04: .4byte gEnigmaBerries -_0801BD08: - ldr r0, [sp, 0x14] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, [sp, 0x14] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r0, 24 -_0801BD1E: - str r0, [sp, 0x10] - ldr r2, _0801BD54 @ =gBattleMons - ldr r0, _0801BD58 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r4, [r0, 0x2E] - cmp r4, 0xAF - beq _0801BD3E - adds r0, r4, 0 - bl ItemId_GetHoldEffect - adds r0, r4, 0 - bl ItemId_GetHoldEffectParam -_0801BD3E: - ldr r0, [sp, 0x8] - cmp r0, 0x4 - bls _0801BD48 - bl _0801CFA6 -_0801BD48: - lsls r0, 2 - ldr r1, _0801BD5C @ =_0801BD60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801BD54: .4byte gBattleMons -_0801BD58: .4byte gBattlerTarget -_0801BD5C: .4byte _0801BD60 - .align 2, 0 -_0801BD60: - .4byte _0801BD74 - .4byte _0801BE04 - .4byte _0801CFA6 - .4byte _0801C9FC - .4byte _0801CE4C -_0801BD74: - cmp r5, 0x17 - beq _0801BD94 - cmp r5, 0x20 - beq _0801BD80 - bl _0801CFA6 -_0801BD80: - ldr r0, _0801BD90 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x4A - movs r1, 0x2 - strb r1, [r0] - bl _0801CFA6 - .align 2, 0 -_0801BD90: .4byte gBattleStruct -_0801BD94: - ldr r1, _0801BDEC @ =gBattleMons - mov r8, r1 - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x18 - adds r1, r0 - movs r2, 0x6 - movs r3, 0x7 - mov r10, r3 -_0801BDAA: - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _0801BDB8 - strb r2, [r1] - movs r5, 0x5 - str r5, [sp, 0xC] -_0801BDB8: - adds r1, 0x1 - movs r0, 0x1 - negs r0, r0 - add r10, r0 - mov r3, r10 - cmp r3, 0 - bge _0801BDAA - ldr r5, [sp, 0xC] - cmp r5, 0 - bne _0801BDD0 - bl _0801CFA6 -_0801BDD0: - ldr r0, _0801BDF0 @ =gBattleScripting - strb r7, [r0, 0x17] - ldr r0, _0801BDF4 @ =gPotentialItemEffectBattler - strb r7, [r0] - ldr r1, _0801BDF8 @ =gActiveBattler - ldr r0, _0801BDFC @ =gBattlerAttacker - strb r7, [r0] - strb r7, [r1] - ldr r0, _0801BE00 @ =BattleScript_WhiteHerbEnd2 - bl BattleScriptExecute - bl _0801CFA6 - .align 2, 0 -_0801BDEC: .4byte gBattleMons -_0801BDF0: .4byte gBattleScripting -_0801BDF4: .4byte gPotentialItemEffectBattler -_0801BDF8: .4byte gActiveBattler -_0801BDFC: .4byte gBattlerAttacker -_0801BE00: .4byte BattleScript_WhiteHerbEnd2 -_0801BE04: - ldr r1, _0801BE2C @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r0, r1 - ldrh r0, [r0, 0x28] - mov r8, r1 - cmp r0, 0 - bne _0801BE18 - bl _0801CFA6 -_0801BE18: - subs r0, r5, 0x1 - cmp r0, 0x2A - bls _0801BE22 - bl _0801C952 -_0801BE22: - lsls r0, 2 - ldr r1, _0801BE30 @ =_0801BE34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801BE2C: .4byte gBattleMons -_0801BE30: .4byte _0801BE34 - .align 2, 0 -_0801BE34: - .4byte _0801BEE0 - .4byte _0801C6C0 - .4byte _0801C784 - .4byte _0801C6F0 - .4byte _0801C724 - .4byte _0801C754 - .4byte _0801BF2C - .4byte _0801C7C0 - .4byte _0801C7F0 - .4byte _0801C0F8 - .4byte _0801C178 - .4byte _0801C1F4 - .4byte _0801C288 - .4byte _0801C31C - .4byte _0801C3B0 - .4byte _0801C418 - .4byte _0801C46C - .4byte _0801C4C0 - .4byte _0801C528 - .4byte _0801C58C - .4byte _0801C5D8 - .4byte _0801C952 - .4byte _0801C02C - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C91C - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C952 - .4byte _0801C098 -_0801BEE0: - movs r0, 0x58 - muls r0, r7 - mov r1, r8 - adds r2, r0, r1 - ldrh r0, [r2, 0x2C] - ldrh r1, [r2, 0x28] - lsrs r0, 1 - cmp r1, r0 - bls _0801BEF6 - bl _0801C952 -_0801BEF6: - cmp r6, 0 - beq _0801BEFE - bl _0801C952 -_0801BEFE: - ldr r4, _0801BF24 @ =gBattleMoveDamage - mov r3, r9 - str r3, [r4] - ldrh r3, [r2, 0x28] - mov r5, r9 - adds r0, r3, r5 - ldrh r1, [r2, 0x2C] - cmp r0, r1 - ble _0801BF14 - subs r0, r1, r3 - str r0, [r4] -_0801BF14: - ldr r0, [r4] - negs r0, r0 - str r0, [r4] - ldr r0, _0801BF28 @ =BattleScript_ItemHealHP_RemoveItem - bl BattleScriptExecute - b _0801C27E - .align 2, 0 -_0801BF24: .4byte gBattleMoveDamage -_0801BF28: .4byte BattleScript_ItemHealHP_RemoveItem -_0801BF2C: - cmp r6, 0 - beq _0801BF34 - bl _0801C952 -_0801BF34: - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0801BF58 - ldr r1, _0801BF50 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0801BF54 @ =gPlayerParty - b _0801BF66 - .align 2, 0 -_0801BF50: .4byte gBattlerPartyIndexes -_0801BF54: .4byte gPlayerParty -_0801BF58: - ldr r1, _0801BFD4 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0801BFD8 @ =gEnemyParty -_0801BF66: - adds r4, r1, r0 - movs r1, 0 - mov r10, r1 - add r5, sp, 0x4 -_0801BF6E: - mov r1, r10 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - mov r1, r10 - adds r1, 0x11 - adds r0, r4, 0 - bl GetMonData - strb r0, [r5] - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - cmp r6, 0 - beq _0801BF9E - ldrb r0, [r5] - cmp r0, 0 - beq _0801BFA8 -_0801BF9E: - movs r2, 0x1 - add r10, r2 - mov r3, r10 - cmp r3, 0x3 - ble _0801BF6E -_0801BFA8: - mov r5, r10 - cmp r5, 0x4 - bne _0801BFB2 - bl _0801C952 -_0801BFB2: - lsls r2, r5, 24 - lsrs r2, 24 - adds r0, r6, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r2, r0, 24 - add r0, sp, 0x4 - ldrb r0, [r0] - mov r3, r9 - adds r1, r0, r3 - cmp r1, r2 - ble _0801BFDC - add r0, sp, 0x4 - strb r2, [r0] - b _0801BFE0 - .align 2, 0 -_0801BFD4: .4byte gBattlerPartyIndexes -_0801BFD8: .4byte gEnemyParty -_0801BFDC: - add r0, sp, 0x4 - strb r1, [r0] -_0801BFE0: - ldr r1, _0801C020 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - strb r6, [r1, 0x2] - lsrs r0, r6, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r0, _0801C024 @ =BattleScript_BerryPPHealEnd2 - bl BattleScriptExecute - mov r1, r10 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - add r5, sp, 0x4 - str r5, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldr r0, _0801C028 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - movs r0, 0x3 - str r0, [sp, 0xC] - bl _0801C95A - .align 2, 0 -_0801C020: .4byte gBattleTextBuff1 -_0801C024: .4byte BattleScript_BerryPPHealEnd2 -_0801C028: .4byte gActiveBattler -_0801C02C: - ldr r0, _0801C080 @ =gBattleMons - movs r1, 0x58 - muls r1, r7 - adds r0, 0x18 - adds r1, r0 - movs r2, 0x6 - movs r3, 0x7 - mov r10, r3 -_0801C03C: - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _0801C04A - strb r2, [r1] - movs r5, 0x5 - str r5, [sp, 0xC] -_0801C04A: - adds r1, 0x1 - movs r0, 0x1 - negs r0, r0 - add r10, r0 - mov r3, r10 - cmp r3, 0 - bge _0801C03C - movs r5, 0x8 - mov r10, r5 - ldr r0, [sp, 0xC] - cmp r0, 0 - bne _0801C066 - bl _0801CFA6 -_0801C066: - ldr r0, _0801C084 @ =gBattleScripting - strb r7, [r0, 0x17] - ldr r0, _0801C088 @ =gPotentialItemEffectBattler - strb r7, [r0] - ldr r1, _0801C08C @ =gActiveBattler - ldr r0, _0801C090 @ =gBattlerAttacker - strb r7, [r0] - strb r7, [r1] - ldr r0, _0801C094 @ =BattleScript_WhiteHerbEnd2 - bl BattleScriptExecute - bl _0801C952 - .align 2, 0 -_0801C080: .4byte gBattleMons -_0801C084: .4byte gBattleScripting -_0801C088: .4byte gPotentialItemEffectBattler -_0801C08C: .4byte gActiveBattler -_0801C090: .4byte gBattlerAttacker -_0801C094: .4byte BattleScript_WhiteHerbEnd2 -_0801C098: - movs r0, 0x58 - muls r0, r7 - mov r2, r8 - adds r1, r0, r2 - ldrh r0, [r1, 0x28] - ldrh r3, [r1, 0x2C] - cmp r0, r3 - bcc _0801C0AC - bl _0801C952 -_0801C0AC: - cmp r6, 0 - beq _0801C0B4 - bl _0801C952 -_0801C0B4: - ldr r3, _0801C0F0 @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - lsrs r0, 4 - str r0, [r3] - cmp r0, 0 - bne _0801C0C4 - movs r0, 0x1 - str r0, [r3] -_0801C0C4: - ldrh r2, [r1, 0x28] - ldr r0, [r3] - adds r0, r2, r0 - ldrh r1, [r1, 0x2C] - cmp r0, r1 - ble _0801C0D4 - subs r0, r1, r2 - str r0, [r3] -_0801C0D4: - ldr r0, [r3] - negs r0, r0 - str r0, [r3] - ldr r0, _0801C0F4 @ =BattleScript_ItemHealHP_End2 - bl BattleScriptExecute - movs r0, 0x4 - str r0, [sp, 0xC] - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_80C7208 - bl _0801C952 - .align 2, 0 -_0801C0F0: .4byte gBattleMoveDamage -_0801C0F4: .4byte BattleScript_ItemHealHP_End2 -_0801C0F8: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - str r1, [sp, 0x18] - adds r4, r1, 0 - add r4, r8 - ldrh r0, [r4, 0x2C] - ldrh r1, [r4, 0x28] - lsrs r0, 1 - cmp r1, r0 - bls _0801C112 - bl _0801C952 -_0801C112: - cmp r6, 0 - beq _0801C11A - bl _0801C952 -_0801C11A: - ldr r1, _0801C170 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x8 - strb r0, [r1, 0x1] - strb r6, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r5, _0801C174 @ =gBattleMoveDamage - ldrh r0, [r4, 0x2C] - mov r1, r9 - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _0801C13E - movs r0, 0x1 - str r0, [r5] -_0801C13E: - ldrh r2, [r4, 0x28] - ldr r0, [r5] - adds r0, r2, r0 - ldrh r1, [r4, 0x2C] - cmp r0, r1 - ble _0801C14E - subs r0, r1, r2 - str r0, [r5] -_0801C14E: - ldr r0, [r5] - negs r0, r0 - str r0, [r5] - mov r0, r8 - adds r0, 0x48 - ldr r2, [sp, 0x18] - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0 - bl GetFlavorRelationByPersonality - lsls r0, 24 - cmp r0, 0 - bge _0801C16C - b _0801C2F8 -_0801C16C: - b _0801C30C - .align 2, 0 -_0801C170: .4byte gBattleTextBuff1 -_0801C174: .4byte gBattleMoveDamage -_0801C178: - movs r0, 0x58 - adds r5, r7, 0 - muls r5, r0 - str r5, [sp, 0x1C] - add r5, r8 - ldrh r0, [r5, 0x2C] - ldrh r1, [r5, 0x28] - lsrs r0, 1 - cmp r1, r0 - bls _0801C190 - bl _0801C952 -_0801C190: - cmp r6, 0 - beq _0801C198 - bl _0801C952 -_0801C198: - ldr r1, _0801C1EC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x8 - strb r0, [r1, 0x1] - movs r6, 0x1 - strb r6, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r4, _0801C1F0 @ =gBattleMoveDamage - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801C1BC - str r6, [r4] -_0801C1BC: - ldrh r2, [r5, 0x28] - ldr r0, [r4] - adds r0, r2, r0 - ldrh r1, [r5, 0x2C] - cmp r0, r1 - ble _0801C1CC - subs r0, r1, r2 - str r0, [r4] -_0801C1CC: - ldr r0, [r4] - negs r0, r0 - str r0, [r4] - mov r0, r8 - adds r0, 0x48 - ldr r1, [sp, 0x1C] - adds r0, r1, r0 - ldr r0, [r0] - movs r1, 0x1 - bl GetFlavorRelationByPersonality - lsls r0, 24 - cmp r0, 0 - bge _0801C1EA - b _0801C38A -_0801C1EA: - b _0801C3A0 - .align 2, 0 -_0801C1EC: .4byte gBattleTextBuff1 -_0801C1F0: .4byte gBattleMoveDamage -_0801C1F4: - movs r0, 0x58 - adds r3, r7, 0 - muls r3, r0 - str r3, [sp, 0x20] - adds r5, r3, 0 - add r5, r8 - ldrh r0, [r5, 0x2C] - ldrh r1, [r5, 0x28] - lsrs r0, 1 - cmp r1, r0 - bls _0801C20C - b _0801C952 -_0801C20C: - cmp r6, 0 - beq _0801C212 - b _0801C952 -_0801C212: - ldr r1, _0801C26C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x8 - strb r0, [r1, 0x1] - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r4, _0801C270 @ =gBattleMoveDamage - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801C238 - movs r0, 0x1 - str r0, [r4] -_0801C238: - ldrh r2, [r5, 0x28] - ldr r0, [r4] - adds r0, r2, r0 - ldrh r1, [r5, 0x2C] - cmp r0, r1 - ble _0801C248 - subs r0, r1, r2 - str r0, [r4] -_0801C248: - ldr r0, [r4] - negs r0, r0 - str r0, [r4] - mov r0, r8 - adds r0, 0x48 - ldr r5, [sp, 0x20] - adds r0, r5, r0 - ldr r0, [r0] - movs r1, 0x2 - bl GetFlavorRelationByPersonality - lsls r0, 24 - cmp r0, 0 - bge _0801C278 - ldr r0, _0801C274 @ =BattleScript_BerryConfuseHealEnd2 - bl BattleScriptExecute - b _0801C27E - .align 2, 0 -_0801C26C: .4byte gBattleTextBuff1 -_0801C270: .4byte gBattleMoveDamage -_0801C274: .4byte BattleScript_BerryConfuseHealEnd2 -_0801C278: - ldr r0, _0801C284 @ =BattleScript_ItemHealHP_RemoveItem - bl BattleScriptExecute -_0801C27E: - movs r0, 0x4 - str r0, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C284: .4byte BattleScript_ItemHealHP_RemoveItem -_0801C288: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - str r1, [sp, 0x24] - adds r5, r1, 0 - add r5, r8 - ldrh r0, [r5, 0x2C] - ldrh r1, [r5, 0x28] - lsrs r0, 1 - cmp r1, r0 - bls _0801C2A0 - b _0801C952 -_0801C2A0: - cmp r6, 0 - beq _0801C2A6 - b _0801C952 -_0801C2A6: - ldr r1, _0801C300 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x8 - strb r0, [r1, 0x1] - movs r0, 0x3 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r4, _0801C304 @ =gBattleMoveDamage - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801C2CC - movs r0, 0x1 - str r0, [r4] -_0801C2CC: - ldrh r2, [r5, 0x28] - ldr r0, [r4] - adds r0, r2, r0 - ldrh r1, [r5, 0x2C] - cmp r0, r1 - ble _0801C2DC - subs r0, r1, r2 - str r0, [r4] -_0801C2DC: - ldr r0, [r4] - negs r0, r0 - str r0, [r4] - mov r0, r8 - adds r0, 0x48 - ldr r2, [sp, 0x24] - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x3 - bl GetFlavorRelationByPersonality - lsls r0, 24 - cmp r0, 0 - bge _0801C30C -_0801C2F8: - ldr r0, _0801C308 @ =BattleScript_BerryConfuseHealEnd2 - bl BattleScriptExecute - b _0801C312 - .align 2, 0 -_0801C300: .4byte gBattleTextBuff1 -_0801C304: .4byte gBattleMoveDamage -_0801C308: .4byte BattleScript_BerryConfuseHealEnd2 -_0801C30C: - ldr r0, _0801C318 @ =BattleScript_ItemHealHP_RemoveItem - bl BattleScriptExecute -_0801C312: - movs r3, 0x4 - str r3, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C318: .4byte BattleScript_ItemHealHP_RemoveItem -_0801C31C: - movs r0, 0x58 - adds r5, r7, 0 - muls r5, r0 - str r5, [sp, 0x28] - add r5, r8 - ldrh r0, [r5, 0x2C] - ldrh r1, [r5, 0x28] - lsrs r0, 1 - cmp r1, r0 - bls _0801C332 - b _0801C952 -_0801C332: - cmp r6, 0 - beq _0801C338 - b _0801C952 -_0801C338: - ldr r1, _0801C394 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x8 - strb r0, [r1, 0x1] - movs r0, 0x4 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r4, _0801C398 @ =gBattleMoveDamage - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801C35E - movs r0, 0x1 - str r0, [r4] -_0801C35E: - ldrh r2, [r5, 0x28] - ldr r0, [r4] - adds r0, r2, r0 - ldrh r1, [r5, 0x2C] - cmp r0, r1 - ble _0801C36E - subs r0, r1, r2 - str r0, [r4] -_0801C36E: - ldr r0, [r4] - negs r0, r0 - str r0, [r4] - mov r0, r8 - adds r0, 0x48 - ldr r1, [sp, 0x28] - adds r0, r1, r0 - ldr r0, [r0] - movs r1, 0x4 - bl GetFlavorRelationByPersonality - lsls r0, 24 - cmp r0, 0 - bge _0801C3A0 -_0801C38A: - ldr r0, _0801C39C @ =BattleScript_BerryConfuseHealEnd2 - bl BattleScriptExecute - b _0801C3A6 - .align 2, 0 -_0801C394: .4byte gBattleTextBuff1 -_0801C398: .4byte gBattleMoveDamage -_0801C39C: .4byte BattleScript_BerryConfuseHealEnd2 -_0801C3A0: - ldr r0, _0801C3AC @ =BattleScript_ItemHealHP_RemoveItem - bl BattleScriptExecute -_0801C3A6: - movs r2, 0x4 - str r2, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C3AC: .4byte BattleScript_ItemHealHP_RemoveItem -_0801C3B0: - movs r0, 0x58 - muls r0, r7 - mov r3, r8 - adds r5, r0, r3 - ldrh r4, [r5, 0x28] - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - cmp r4, r0 - ble _0801C3C8 - b _0801C952 -_0801C3C8: - cmp r6, 0 - beq _0801C3CE - b _0801C952 -_0801C3CE: - movs r0, 0x19 - ldrsb r0, [r5, r0] - cmp r0, 0xB - ble _0801C3D8 - b _0801C952 -_0801C3D8: - ldr r1, _0801C408 @ =gBattleTextBuff1 - movs r2, 0xFD - strb r2, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - movs r0, 0x1 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _0801C40C @ =gBattleTextBuff2 - strb r2, [r1] - strb r6, [r1, 0x1] - movs r0, 0xD2 - strb r0, [r1, 0x2] - strb r6, [r1, 0x3] - subs r0, 0xD3 - strb r0, [r1, 0x4] - ldr r0, _0801C410 @ =gEffectBattler - strb r7, [r0] - ldr r1, _0801C414 @ =gBattleScripting - movs r0, 0x11 - strb r0, [r1, 0x1A] - movs r0, 0xF - b _0801C56C - .align 2, 0 -_0801C408: .4byte gBattleTextBuff1 -_0801C40C: .4byte gBattleTextBuff2 -_0801C410: .4byte gEffectBattler -_0801C414: .4byte gBattleScripting -_0801C418: - movs r0, 0x58 - muls r0, r7 - mov r1, r8 - adds r5, r0, r1 - ldrh r4, [r5, 0x28] - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - cmp r4, r0 - ble _0801C430 - b _0801C952 -_0801C430: - cmp r6, 0 - beq _0801C436 - b _0801C952 -_0801C436: - movs r0, 0x1A - ldrsb r0, [r5, r0] - cmp r0, 0xB - ble _0801C440 - b _0801C952 -_0801C440: - ldr r1, _0801C460 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - movs r0, 0x2 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r0, _0801C464 @ =gEffectBattler - strb r7, [r0] - ldr r1, _0801C468 @ =gBattleScripting - movs r0, 0x12 - strb r0, [r1, 0x1A] - movs r0, 0x10 - b _0801C506 - .align 2, 0 -_0801C460: .4byte gBattleTextBuff1 -_0801C464: .4byte gEffectBattler -_0801C468: .4byte gBattleScripting -_0801C46C: - movs r0, 0x58 - muls r0, r7 - mov r3, r8 - adds r5, r0, r3 - ldrh r4, [r5, 0x28] - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - cmp r4, r0 - ble _0801C484 - b _0801C952 -_0801C484: - cmp r6, 0 - beq _0801C48A - b _0801C952 -_0801C48A: - movs r0, 0x1B - ldrsb r0, [r5, r0] - cmp r0, 0xB - ble _0801C494 - b _0801C952 -_0801C494: - ldr r1, _0801C4B4 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - movs r0, 0x3 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r0, _0801C4B8 @ =gEffectBattler - strb r7, [r0] - ldr r1, _0801C4BC @ =gBattleScripting - movs r0, 0x13 - strb r0, [r1, 0x1A] - movs r0, 0x11 - b _0801C56C - .align 2, 0 -_0801C4B4: .4byte gBattleTextBuff1 -_0801C4B8: .4byte gEffectBattler -_0801C4BC: .4byte gBattleScripting -_0801C4C0: - movs r0, 0x58 - muls r0, r7 - mov r1, r8 - adds r5, r0, r1 - ldrh r4, [r5, 0x28] - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - cmp r4, r0 - ble _0801C4D8 - b _0801C952 -_0801C4D8: - cmp r6, 0 - beq _0801C4DE - b _0801C952 -_0801C4DE: - movs r0, 0x1C - ldrsb r0, [r5, r0] - cmp r0, 0xB - ble _0801C4E8 - b _0801C952 -_0801C4E8: - ldr r1, _0801C518 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - movs r0, 0x4 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r0, _0801C51C @ =gEffectBattler - strb r7, [r0] - ldr r1, _0801C520 @ =gBattleScripting - movs r0, 0x14 - strb r0, [r1, 0x1A] - movs r0, 0x12 -_0801C506: - strb r0, [r1, 0x10] - strb r6, [r1, 0x11] - ldr r0, _0801C524 @ =BattleScript_BerryStatRaiseEnd2 - bl BattleScriptExecute - movs r2, 0x5 - str r2, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C518: .4byte gBattleTextBuff1 -_0801C51C: .4byte gEffectBattler -_0801C520: .4byte gBattleScripting -_0801C524: .4byte BattleScript_BerryStatRaiseEnd2 -_0801C528: - movs r0, 0x58 - muls r0, r7 - mov r3, r8 - adds r5, r0, r3 - ldrh r4, [r5, 0x28] - ldrh r0, [r5, 0x2C] - mov r1, r9 - bl __divsi3 - cmp r4, r0 - ble _0801C540 - b _0801C952 -_0801C540: - cmp r6, 0 - beq _0801C546 - b _0801C952 -_0801C546: - movs r0, 0x1D - ldrsb r0, [r5, r0] - cmp r0, 0xB - ble _0801C550 - b _0801C952 -_0801C550: - ldr r1, _0801C57C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r0, _0801C580 @ =gEffectBattler - strb r7, [r0] - ldr r1, _0801C584 @ =gBattleScripting - movs r0, 0x15 - strb r0, [r1, 0x1A] - movs r0, 0x13 -_0801C56C: - strb r0, [r1, 0x10] - strb r6, [r1, 0x11] - ldr r0, _0801C588 @ =BattleScript_BerryStatRaiseEnd2 - bl BattleScriptExecute - movs r5, 0x5 - str r5, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C57C: .4byte gBattleTextBuff1 -_0801C580: .4byte gEffectBattler -_0801C584: .4byte gBattleScripting -_0801C588: .4byte BattleScript_BerryStatRaiseEnd2 -_0801C58C: - movs r0, 0x58 - adds r5, r7, 0 - muls r5, r0 - mov r1, r8 - adds r0, r5, r1 - ldrh r4, [r0, 0x28] - ldrh r0, [r0, 0x2C] - mov r1, r9 - bl __divsi3 - cmp r4, r0 - ble _0801C5A6 - b _0801C952 -_0801C5A6: - cmp r6, 0 - beq _0801C5AC - b _0801C952 -_0801C5AC: - mov r0, r8 - adds r0, 0x50 - adds r1, r5, r0 - ldr r2, [r1] - movs r3, 0x80 - lsls r3, 13 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _0801C5C2 - b _0801C952 -_0801C5C2: - orrs r2, r3 - str r2, [r1] - ldr r0, _0801C5D4 @ =BattleScript_BerryFocusEnergyEnd2 - bl BattleScriptExecute - movs r2, 0x2 - str r2, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C5D4: .4byte BattleScript_BerryFocusEnergyEnd2 -_0801C5D8: - cmp r6, 0 - beq _0801C5DE - b _0801C952 -_0801C5DE: - movs r0, 0x58 - adds r5, r7, 0 - muls r5, r0 - mov r3, r8 - adds r0, r5, r3 - ldrh r4, [r0, 0x28] - ldrh r0, [r0, 0x2C] - mov r1, r9 - bl __divsi3 - cmp r4, r0 - ble _0801C5F8 - b _0801C952 -_0801C5F8: - movs r0, 0 - mov r10, r0 - adds r0, r5, 0x1 - mov r1, r8 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xB - ble _0801C628 - mov r0, r8 - adds r0, 0x19 - adds r1, r5, r0 -_0801C614: - adds r1, 0x1 - movs r2, 0x1 - add r10, r2 - mov r3, r10 - cmp r3, 0x4 - bgt _0801C628 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0xB - bgt _0801C614 -_0801C628: - mov r5, r10 - cmp r5, 0x5 - bne _0801C630 - b _0801C952 -_0801C630: - movs r0, 0x58 - muls r0, r7 - adds r4, r0, 0x1 - ldr r5, _0801C6A8 @ =gUnknown_2023BFC -_0801C638: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x5 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r0, r4 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xC - beq _0801C638 - ldr r1, _0801C6AC @ =gBattleTextBuff1 - movs r2, 0 - movs r3, 0xFD - strb r3, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - mov r0, r10 - adds r0, 0x1 - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r0, _0801C6B0 @ =gBattleTextBuff2 - strb r3, [r0] - strb r2, [r0, 0x1] - movs r1, 0xD1 - strb r1, [r0, 0x2] - strb r2, [r0, 0x3] - strb r2, [r0, 0x4] - movs r1, 0xD2 - strb r1, [r0, 0x5] - strb r2, [r0, 0x6] - subs r1, 0xD3 - strb r1, [r0, 0x7] - ldr r0, _0801C6B4 @ =gEffectBattler - strb r7, [r0] - ldr r1, _0801C6B8 @ =gBattleScripting - mov r0, r10 - adds r0, 0x21 - strb r0, [r1, 0x1A] - adds r0, 0x6 - strb r0, [r1, 0x10] - strb r2, [r1, 0x11] - ldr r0, _0801C6BC @ =BattleScript_BerryStatRaiseEnd2 - bl BattleScriptExecute - movs r0, 0x5 - str r0, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C6A8: .4byte gUnknown_2023BFC -_0801C6AC: .4byte gBattleTextBuff1 -_0801C6B0: .4byte gBattleTextBuff2 -_0801C6B4: .4byte gEffectBattler -_0801C6B8: .4byte gBattleScripting -_0801C6BC: .4byte BattleScript_BerryStatRaiseEnd2 -_0801C6C0: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x4C - adds r1, r0 - ldr r2, [r1] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - bne _0801C6D8 - b _0801C952 -_0801C6D8: - movs r0, 0x41 - negs r0, r0 - ands r2, r0 - str r2, [r1] - ldr r0, _0801C6EC @ =BattleScript_BerryCurePrlzEnd2 - bl BattleScriptExecute - movs r1, 0x1 - str r1, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C6EC: .4byte BattleScript_BerryCurePrlzEnd2 -_0801C6F0: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x4C - adds r1, r0 - ldr r2, [r1] - movs r0, 0x88 - ands r0, r2 - cmp r0, 0 - bne _0801C708 - b _0801C952 -_0801C708: - ldr r0, _0801C71C @ =0xfffff077 - ands r2, r0 - str r2, [r1] - ldr r0, _0801C720 @ =BattleScript_BerryCurePsnEnd2 - bl BattleScriptExecute - movs r2, 0x1 - str r2, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C71C: .4byte 0xfffff077 -_0801C720: .4byte BattleScript_BerryCurePsnEnd2 -_0801C724: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x4C - adds r1, r0 - ldr r2, [r1] - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _0801C73C - b _0801C952 -_0801C73C: - movs r0, 0x11 - negs r0, r0 - ands r2, r0 - str r2, [r1] - ldr r0, _0801C750 @ =BattleScript_BerryCureBrnEnd2 - bl BattleScriptExecute - movs r3, 0x1 - str r3, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C750: .4byte BattleScript_BerryCureBrnEnd2 -_0801C754: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x4C - adds r1, r0 - ldr r2, [r1] - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - bne _0801C76C - b _0801C952 -_0801C76C: - movs r0, 0x21 - negs r0, r0 - ands r2, r0 - str r2, [r1] - ldr r0, _0801C780 @ =BattleScript_BerryCureFrzEnd2 - bl BattleScriptExecute - movs r5, 0x1 - str r5, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C780: .4byte BattleScript_BerryCureFrzEnd2 -_0801C784: - movs r0, 0x58 - adds r3, r7, 0 - muls r3, r0 - mov r0, r8 - adds r0, 0x4C - adds r2, r3, r0 - ldr r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801C79C - b _0801C952 -_0801C79C: - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r2] - mov r1, r8 - adds r1, 0x50 - adds r1, r3, r1 - ldr r0, [r1] - ldr r2, _0801C7B8 @ =0xf7ffffff - ands r0, r2 - str r0, [r1] - ldr r0, _0801C7BC @ =BattleScript_BerryCureSlpEnd2 - b _0801C906 - .align 2, 0 -_0801C7B8: .4byte 0xf7ffffff -_0801C7BC: .4byte BattleScript_BerryCureSlpEnd2 -_0801C7C0: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x50 - adds r1, r0 - ldr r2, [r1] - movs r0, 0x7 - ands r0, r2 - cmp r0, 0 - bne _0801C7D8 - b _0801C952 -_0801C7D8: - movs r0, 0x8 - negs r0, r0 - ands r2, r0 - str r2, [r1] - ldr r0, _0801C7EC @ =BattleScript_BerryCureConfusionEnd2 - bl BattleScriptExecute - movs r1, 0x2 - str r1, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C7EC: .4byte BattleScript_BerryCureConfusionEnd2 -_0801C7F0: - movs r0, 0x58 - adds r5, r7, 0 - muls r5, r0 - mov r0, r8 - adds r0, 0x4C - adds r4, r5, r0 - ldr r2, [r4] - ldrb r0, [r4] - cmp r0, 0 - bne _0801C816 - mov r0, r8 - adds r0, 0x50 - adds r0, r5, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801C816 - b _0801C952 -_0801C816: - movs r3, 0 - mov r10, r3 - movs r0, 0x88 - ands r2, r0 - cmp r2, 0 - beq _0801C82E - ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8C0 @ =gStatusConditionString_PoisonJpn - bl StringCopy - movs r0, 0x1 - mov r10, r0 -_0801C82E: - ldr r0, [r4] - movs r1, 0x7 - mov r9, r1 - ands r0, r1 - mov r6, r8 - adds r6, 0x50 - cmp r0, 0 - beq _0801C854 - adds r2, r5, r6 - ldr r0, [r2] - ldr r1, _0801C8C4 @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8C8 @ =gStatusConditionString_SleepJpn - bl StringCopy - movs r2, 0x1 - add r10, r2 -_0801C854: - ldr r0, [r4] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801C86A - ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8CC @ =gStatusConditionString_ParalysisJpn - bl StringCopy - movs r3, 0x1 - add r10, r3 -_0801C86A: - ldr r0, [r4] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801C880 - ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8D0 @ =gStatusConditionString_BurnJpn - bl StringCopy - movs r0, 0x1 - add r10, r0 -_0801C880: - ldr r0, [r4] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0801C896 - ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8D4 @ =gStatusConditionString_IceJpn - bl StringCopy - movs r1, 0x1 - add r10, r1 -_0801C896: - adds r0, r5, r6 - ldr r0, [r0] - mov r2, r9 - ands r0, r2 - cmp r0, 0 - beq _0801C8AE - ldr r0, _0801C8BC @ =gBattleTextBuff1 - ldr r1, _0801C8D8 @ =gStatusConditionString_ConfusionJpn - bl StringCopy - movs r3, 0x1 - add r10, r3 -_0801C8AE: - mov r5, r10 - cmp r5, 0x1 - bgt _0801C8E0 - ldr r1, _0801C8DC @ =gBattleCommunication - movs r0, 0 - b _0801C8E4 - .align 2, 0 -_0801C8BC: .4byte gBattleTextBuff1 -_0801C8C0: .4byte gStatusConditionString_PoisonJpn -_0801C8C4: .4byte 0xf7ffffff -_0801C8C8: .4byte gStatusConditionString_SleepJpn -_0801C8CC: .4byte gStatusConditionString_ParalysisJpn -_0801C8D0: .4byte gStatusConditionString_BurnJpn -_0801C8D4: .4byte gStatusConditionString_IceJpn -_0801C8D8: .4byte gStatusConditionString_ConfusionJpn -_0801C8DC: .4byte gBattleCommunication -_0801C8E0: - ldr r1, _0801C910 @ =gBattleCommunication - movs r0, 0x1 -_0801C8E4: - strb r0, [r1, 0x5] - ldr r2, _0801C914 @ =gBattleMons - movs r0, 0x58 - adds r3, r7, 0 - muls r3, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r3, r0 - movs r1, 0 - str r1, [r0] - adds r2, 0x50 - adds r3, r2 - ldr r0, [r3] - subs r1, 0x8 - ands r0, r1 - str r0, [r3] - ldr r0, _0801C918 @ =BattleScript_BerryCureChosenStatusEnd2 -_0801C906: - bl BattleScriptExecute - movs r0, 0x1 - str r0, [sp, 0xC] - b _0801C95A - .align 2, 0 -_0801C910: .4byte gBattleCommunication -_0801C914: .4byte gBattleMons -_0801C918: .4byte BattleScript_BerryCureChosenStatusEnd2 -_0801C91C: - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x50 - adds r1, r0 - ldr r2, [r1] - movs r0, 0xF0 - lsls r0, 12 - ands r0, r2 - cmp r0, 0 - beq _0801C952 - ldr r0, _0801C978 @ =0xfff0ffff - ands r2, r0 - str r2, [r1] - ldr r0, _0801C97C @ =gBattleTextBuff1 - ldr r1, _0801C980 @ =gStatusConditionString_LoveJpn - bl StringCopy - ldr r0, _0801C984 @ =BattleScript_BerryCureChosenStatusEnd2 - bl BattleScriptExecute - ldr r1, _0801C988 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - movs r1, 0x2 - str r1, [sp, 0xC] -_0801C952: - ldr r2, [sp, 0xC] - cmp r2, 0 - bne _0801C95A - b _0801CFA6 -_0801C95A: - ldr r0, _0801C98C @ =gBattleScripting - strb r7, [r0, 0x17] - ldr r0, _0801C990 @ =gPotentialItemEffectBattler - strb r7, [r0] - ldr r4, _0801C994 @ =gActiveBattler - ldr r0, _0801C998 @ =gBattlerAttacker - strb r7, [r0] - strb r7, [r4] - ldr r3, [sp, 0xC] - cmp r3, 0x1 - beq _0801C99C - cmp r3, 0x3 - beq _0801C9A2 - b _0801CFA6 - .align 2, 0 -_0801C978: .4byte 0xfff0ffff -_0801C97C: .4byte gBattleTextBuff1 -_0801C980: .4byte gStatusConditionString_LoveJpn -_0801C984: .4byte BattleScript_BerryCureChosenStatusEnd2 -_0801C988: .4byte gBattleCommunication -_0801C98C: .4byte gBattleScripting -_0801C990: .4byte gPotentialItemEffectBattler -_0801C994: .4byte gActiveBattler -_0801C998: .4byte gBattlerAttacker -_0801C99C: - movs r0, 0x58 - muls r0, r7 - b _0801CE08 -_0801C9A2: - ldr r4, _0801C9F0 @ =gBattleMons - movs r0, 0x58 - adds r3, r7, 0 - muls r3, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - beq _0801C9BE - b _0801CFA6 -_0801C9BE: - ldr r1, _0801C9F4 @ =gDisableStructs - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0801C9F8 @ =gBitTable - mov r5, r10 - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0801C9DE - b _0801CFA6 -_0801C9DE: - adds r1, r5, r3 - adds r0, r4, 0 - adds r0, 0x24 - adds r1, r0 - add r0, sp, 0x4 - ldrb r0, [r0] - strb r0, [r1] - b _0801CFA6 - .align 2, 0 -_0801C9F0: .4byte gBattleMons -_0801C9F4: .4byte gDisableStructs -_0801C9F8: .4byte gBitTable -_0801C9FC: - movs r7, 0 - ldr r0, _0801CA2C @ =gBattlersCount - ldrb r0, [r0] - cmp r7, r0 - bcc _0801CA08 - b _0801CFA6 -_0801CA08: - ldr r4, _0801CA30 @ =gLastUsedItem - ldr r1, _0801CA34 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r0, r1 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0801CA3C - ldr r1, _0801CA38 @ =gEnigmaBerries - lsls r0, r7, 3 - subs r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x7] - b _0801CA4C - .align 2, 0 -_0801CA2C: .4byte gBattlersCount -_0801CA30: .4byte gLastUsedItem -_0801CA34: .4byte gBattleMons -_0801CA38: .4byte gEnigmaBerries -_0801CA3C: - ldrh r0, [r4] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4] - bl ItemId_GetHoldEffectParam -_0801CA4C: - subs r0, r5, 0x2 - cmp r0, 0x1A - bls _0801CA54 - b _0801CDF0 -_0801CA54: - lsls r0, 2 - ldr r1, _0801CA60 @ =_0801CA64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801CA60: .4byte _0801CA64 - .align 2, 0 -_0801CA64: - .4byte _0801CAD0 - .4byte _0801CBC0 - .4byte _0801CB0C - .4byte _0801CB48 - .4byte _0801CB84 - .4byte _0801CDF0 - .4byte _0801CC08 - .4byte _0801CC9C - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CD90 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CDF0 - .4byte _0801CC44 -_0801CAD0: - ldr r1, _0801CB00 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r1, 0x4C - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0801CAE6 - b _0801CDF0 -_0801CAE6: - movs r0, 0x41 - negs r0, r0 - ands r1, r0 - str r1, [r2] - bl BattleScriptPushCursor - ldr r1, _0801CB04 @ =gBattlescriptCurrInstr - ldr r0, _0801CB08 @ =BattleScript_BerryCureParRet - str r0, [r1] - movs r0, 0x1 - str r0, [sp, 0xC] - b _0801CDF6 - .align 2, 0 -_0801CB00: .4byte gBattleMons -_0801CB04: .4byte gBattlescriptCurrInstr -_0801CB08: .4byte BattleScript_BerryCureParRet -_0801CB0C: - ldr r1, _0801CB38 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r1, 0x4C - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _0801CB22 - b _0801CDF0 -_0801CB22: - ldr r0, _0801CB3C @ =0xfffff077 - ands r1, r0 - str r1, [r2] - bl BattleScriptPushCursor - ldr r1, _0801CB40 @ =gBattlescriptCurrInstr - ldr r0, _0801CB44 @ =BattleScript_BerryCurePsnRet - str r0, [r1] - movs r1, 0x1 - str r1, [sp, 0xC] - b _0801CDF6 - .align 2, 0 -_0801CB38: .4byte gBattleMons -_0801CB3C: .4byte 0xfffff077 -_0801CB40: .4byte gBattlescriptCurrInstr -_0801CB44: .4byte BattleScript_BerryCurePsnRet -_0801CB48: - ldr r1, _0801CB78 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r1, 0x4C - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _0801CB5E - b _0801CDF0 -_0801CB5E: - movs r0, 0x11 - negs r0, r0 - ands r1, r0 - str r1, [r2] - bl BattleScriptPushCursor - ldr r1, _0801CB7C @ =gBattlescriptCurrInstr - ldr r0, _0801CB80 @ =BattleScript_BerryCureBrnRet - str r0, [r1] - movs r2, 0x1 - str r2, [sp, 0xC] - b _0801CDF6 - .align 2, 0 -_0801CB78: .4byte gBattleMons -_0801CB7C: .4byte gBattlescriptCurrInstr -_0801CB80: .4byte BattleScript_BerryCureBrnRet -_0801CB84: - ldr r1, _0801CBB4 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r1, 0x4C - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0801CB9A - b _0801CDF0 -_0801CB9A: - movs r0, 0x21 - negs r0, r0 - ands r1, r0 - str r1, [r2] - bl BattleScriptPushCursor - ldr r1, _0801CBB8 @ =gBattlescriptCurrInstr - ldr r0, _0801CBBC @ =BattleScript_BerryCureFrzRet - str r0, [r1] - movs r3, 0x1 - str r3, [sp, 0xC] - b _0801CDF6 - .align 2, 0 -_0801CBB4: .4byte gBattleMons -_0801CBB8: .4byte gBattlescriptCurrInstr -_0801CBBC: .4byte BattleScript_BerryCureFrzRet -_0801CBC0: - ldr r2, _0801CBF8 @ =gBattleMons - movs r0, 0x58 - adds r4, r7, 0 - muls r4, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r3, r4, r0 - ldr r1, [r3] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801CBDA - b _0801CDF0 -_0801CBDA: - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r3] - adds r2, 0x50 - adds r2, r4, r2 - ldr r0, [r2] - ldr r1, _0801CBFC @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - bl BattleScriptPushCursor - ldr r1, _0801CC00 @ =gBattlescriptCurrInstr - ldr r0, _0801CC04 @ =BattleScript_BerryCureSlpRet - b _0801CD58 - .align 2, 0 -_0801CBF8: .4byte gBattleMons -_0801CBFC: .4byte 0xf7ffffff -_0801CC00: .4byte gBattlescriptCurrInstr -_0801CC04: .4byte BattleScript_BerryCureSlpRet -_0801CC08: - ldr r1, _0801CC38 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801CC1E - b _0801CDF0 -_0801CC1E: - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r2] - bl BattleScriptPushCursor - ldr r1, _0801CC3C @ =gBattlescriptCurrInstr - ldr r0, _0801CC40 @ =BattleScript_BerryCureConfusionRet - str r0, [r1] - movs r0, 0x2 - str r0, [sp, 0xC] - b _0801CDF6 - .align 2, 0 -_0801CC38: .4byte gBattleMons -_0801CC3C: .4byte gBattlescriptCurrInstr -_0801CC40: .4byte BattleScript_BerryCureConfusionRet -_0801CC44: - ldr r1, _0801CC80 @ =gBattleMons - movs r0, 0x58 - muls r0, r7 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0xF0 - lsls r0, 12 - ands r0, r1 - cmp r0, 0 - bne _0801CC5C - b _0801CDF0 -_0801CC5C: - ldr r0, _0801CC84 @ =0xfff0ffff - ands r1, r0 - str r1, [r2] - ldr r0, _0801CC88 @ =gBattleTextBuff1 - ldr r1, _0801CC8C @ =gStatusConditionString_LoveJpn - bl StringCopy - bl BattleScriptPushCursor - ldr r1, _0801CC90 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - ldr r1, _0801CC94 @ =gBattlescriptCurrInstr - ldr r0, _0801CC98 @ =BattleScript_BerryCureChosenStatusRet - str r0, [r1] - movs r1, 0x2 - str r1, [sp, 0xC] - b _0801CDF6 - .align 2, 0 -_0801CC80: .4byte gBattleMons -_0801CC84: .4byte 0xfff0ffff -_0801CC88: .4byte gBattleTextBuff1 -_0801CC8C: .4byte gStatusConditionString_LoveJpn -_0801CC90: .4byte gBattleCommunication -_0801CC94: .4byte gBattlescriptCurrInstr -_0801CC98: .4byte BattleScript_BerryCureChosenStatusRet -_0801CC9C: - ldr r4, _0801CD60 @ =gBattleMons - movs r0, 0x58 - adds r5, r7, 0 - muls r5, r0 - adds r0, r4, 0 - adds r0, 0x4C - adds r6, r5, r0 - ldr r2, [r6] - ldrb r0, [r6] - cmp r0, 0 - bne _0801CCC4 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r5, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0801CCC4 - b _0801CDF0 -_0801CCC4: - movs r0, 0x88 - ands r2, r0 - cmp r2, 0 - beq _0801CCD4 - ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD68 @ =gStatusConditionString_PoisonJpn - bl StringCopy -_0801CCD4: - ldr r0, [r6] - movs r2, 0x7 - mov r8, r2 - ands r0, r2 - adds r4, 0x50 - cmp r0, 0 - beq _0801CCF4 - adds r2, r5, r4 - ldr r0, [r2] - ldr r1, _0801CD6C @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD70 @ =gStatusConditionString_SleepJpn - bl StringCopy -_0801CCF4: - ldr r0, [r6] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801CD06 - ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD74 @ =gStatusConditionString_ParalysisJpn - bl StringCopy -_0801CD06: - ldr r0, [r6] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801CD18 - ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD78 @ =gStatusConditionString_BurnJpn - bl StringCopy -_0801CD18: - ldr r0, [r6] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0801CD2A - ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD7C @ =gStatusConditionString_IceJpn - bl StringCopy -_0801CD2A: - adds r5, r4 - ldr r0, [r5] - mov r3, r8 - ands r0, r3 - cmp r0, 0 - beq _0801CD3E - ldr r0, _0801CD64 @ =gBattleTextBuff1 - ldr r1, _0801CD80 @ =gStatusConditionString_ConfusionJpn - bl StringCopy -_0801CD3E: - movs r4, 0 - str r4, [r6] - ldr r0, [r5] - movs r1, 0x8 - negs r1, r1 - ands r0, r1 - str r0, [r5] - bl BattleScriptPushCursor - ldr r0, _0801CD84 @ =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, _0801CD88 @ =gBattlescriptCurrInstr - ldr r0, _0801CD8C @ =BattleScript_BerryCureChosenStatusRet -_0801CD58: - str r0, [r1] - movs r5, 0x1 - str r5, [sp, 0xC] - b _0801CDF6 - .align 2, 0 -_0801CD60: .4byte gBattleMons -_0801CD64: .4byte gBattleTextBuff1 -_0801CD68: .4byte gStatusConditionString_PoisonJpn -_0801CD6C: .4byte 0xf7ffffff -_0801CD70: .4byte gStatusConditionString_SleepJpn -_0801CD74: .4byte gStatusConditionString_ParalysisJpn -_0801CD78: .4byte gStatusConditionString_BurnJpn -_0801CD7C: .4byte gStatusConditionString_IceJpn -_0801CD80: .4byte gStatusConditionString_ConfusionJpn -_0801CD84: .4byte gBattleCommunication -_0801CD88: .4byte gBattlescriptCurrInstr -_0801CD8C: .4byte BattleScript_BerryCureChosenStatusRet -_0801CD90: - ldr r0, _0801CDDC @ =gBattleMons - mov r8, r0 - movs r0, 0x58 - adds r1, r7, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x18 - adds r1, r0 - movs r2, 0x6 - movs r3, 0x7 - mov r10, r3 -_0801CDA6: - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _0801CDB4 - strb r2, [r1] - movs r5, 0x5 - str r5, [sp, 0xC] -_0801CDB4: - adds r1, 0x1 - movs r0, 0x1 - negs r0, r0 - add r10, r0 - mov r3, r10 - cmp r3, 0 - bge _0801CDA6 - ldr r5, [sp, 0xC] - cmp r5, 0 - beq _0801CE34 - ldr r0, _0801CDE0 @ =gBattleScripting - strb r7, [r0, 0x17] - ldr r0, _0801CDE4 @ =gPotentialItemEffectBattler - strb r7, [r0] - bl BattleScriptPushCursor - ldr r1, _0801CDE8 @ =gBattlescriptCurrInstr - ldr r0, _0801CDEC @ =BattleScript_WhiteHerbRet - str r0, [r1] - b _0801CFA6 - .align 2, 0 -_0801CDDC: .4byte gBattleMons -_0801CDE0: .4byte gBattleScripting -_0801CDE4: .4byte gPotentialItemEffectBattler -_0801CDE8: .4byte gBattlescriptCurrInstr -_0801CDEC: .4byte BattleScript_WhiteHerbRet -_0801CDF0: - ldr r0, [sp, 0xC] - cmp r0, 0 - beq _0801CE34 -_0801CDF6: - ldr r0, _0801CE24 @ =gBattleScripting - strb r7, [r0, 0x17] - ldr r0, _0801CE28 @ =gPotentialItemEffectBattler - strb r7, [r0] - ldr r4, _0801CE2C @ =gActiveBattler - strb r7, [r4] - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 -_0801CE08: - ldr r1, _0801CE30 @ =gUnknown_2023C30 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0801CFA6 - .align 2, 0 -_0801CE24: .4byte gBattleScripting -_0801CE28: .4byte gPotentialItemEffectBattler -_0801CE2C: .4byte gActiveBattler -_0801CE30: .4byte gUnknown_2023C30 -_0801CE34: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0801CE48 @ =gBattlersCount - ldrb r0, [r0] - cmp r7, r0 - bcs _0801CE44 - b _0801CA08 -_0801CE44: - b _0801CFA6 - .align 2, 0 -_0801CE48: .4byte gBattlersCount -_0801CE4C: - ldr r7, _0801CE64 @ =gBattleMoveDamage - ldr r0, [r7] - cmp r0, 0 - bne _0801CE56 - b _0801CFA6 -_0801CE56: - mov r1, r8 - cmp r1, 0x1E - beq _0801CE68 - cmp r1, 0x3E - beq _0801CF10 - b _0801CFA6 - .align 2, 0 -_0801CE64: .4byte gBattleMoveDamage -_0801CE68: - ldr r0, _0801CEF4 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801CE76 - b _0801CFA6 -_0801CE76: - ldr r2, _0801CEF8 @ =gSpecialStatuses - ldr r4, _0801CEFC @ =gBattlerTarget - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801CE9C - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0801CE9C - b _0801CFA6 -_0801CE9C: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r9 - bcs _0801CFA6 - ldr r2, _0801CF00 @ =gBattleMoves - ldr r0, _0801CF04 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0801CFA6 - ldr r2, _0801CF08 @ =gBattleMons - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801CFA6 - ldr r1, _0801CF0C @ =gBattleCommunication - movs r0, 0x8 - strb r0, [r1, 0x3] - bl BattleScriptPushCursor - movs r0, 0 - movs r1, 0 - bl SetMoveEffect - bl BattleScriptPop - b _0801CFA6 - .align 2, 0 -_0801CEF4: .4byte gMoveResultFlags -_0801CEF8: .4byte gSpecialStatuses -_0801CEFC: .4byte gBattlerTarget -_0801CF00: .4byte gBattleMoves -_0801CF04: .4byte gCurrentMove -_0801CF08: .4byte gBattleMons -_0801CF0C: .4byte gBattleCommunication -_0801CF10: - ldr r0, _0801CFB8 @ =gMoveResultFlags - ldrb r0, [r0] - movs r5, 0x29 - ands r5, r0 - cmp r5, 0 - bne _0801CFA6 - ldr r1, _0801CFBC @ =gSpecialStatuses - ldr r4, _0801CFC0 @ =gBattlerTarget - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 2 - adds r6, r1, 0x4 - adds r0, r6 - ldr r1, [r0] - cmp r1, 0 - beq _0801CFA6 - ldr r0, _0801CFC4 @ =0x0000ffff - cmp r1, r0 - beq _0801CFA6 - ldr r0, _0801CFC8 @ =gBattlerAttacker - ldrb r3, [r0] - cmp r3, r2 - beq _0801CFA6 - ldr r2, _0801CFCC @ =gBattleMons - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - beq _0801CFA6 - cmp r1, 0 - beq _0801CFA6 - ldr r0, _0801CFD0 @ =gLastUsedItem - mov r2, sp - ldrh r2, [r2, 0x14] - strh r2, [r0] - ldr r0, _0801CFD4 @ =gPotentialItemEffectBattler - strb r3, [r0] - ldr r0, _0801CFD8 @ =gBattleScripting - strb r3, [r0, 0x17] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldr r1, [sp, 0x10] - bl __divsi3 - negs r0, r0 - str r0, [r7] - ldrb r1, [r4] - cmp r0, 0 - bne _0801CF88 - movs r0, 0x1 - negs r0, r0 - str r0, [r7] -_0801CF88: - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - str r5, [r0] - bl BattleScriptPushCursor - ldr r1, _0801CFDC @ =gBattlescriptCurrInstr - ldr r0, _0801CFE0 @ =BattleScript_ItemHealHP_Ret - str r0, [r1] - ldr r0, [sp, 0xC] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] -_0801CFA6: - ldr r0, [sp, 0xC] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801CFB8: .4byte gMoveResultFlags -_0801CFBC: .4byte gSpecialStatuses -_0801CFC0: .4byte gBattlerTarget -_0801CFC4: .4byte 0x0000ffff -_0801CFC8: .4byte gBattlerAttacker -_0801CFCC: .4byte gBattleMons -_0801CFD0: .4byte gLastUsedItem -_0801CFD4: .4byte gPotentialItemEffectBattler -_0801CFD8: .4byte gBattleScripting -_0801CFDC: .4byte gBattlescriptCurrInstr -_0801CFE0: .4byte BattleScript_ItemHealHP_Ret - thumb_func_end ItemBattleEffects - - thumb_func_start ClearFuryCutterDestinyBondGrudge -ClearFuryCutterDestinyBondGrudge: @ 801CFE4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0801D01C @ =gDisableStructs - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - movs r2, 0 - strb r2, [r1, 0x10] - ldr r1, _0801D020 @ =gBattleMons - movs r2, 0x58 - adds r3, r0, 0 - muls r3, r2 - adds r1, 0x50 - adds r3, r1 - ldr r1, [r3] - ldr r2, _0801D024 @ =0xfdffffff - ands r1, r2 - str r1, [r3] - ldr r1, _0801D028 @ =gStatuses3 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r2, _0801D02C @ =0xffffbfff - ands r1, r2 - str r1, [r0] - bx lr - .align 2, 0 -_0801D01C: .4byte gDisableStructs -_0801D020: .4byte gBattleMons -_0801D024: .4byte 0xfdffffff -_0801D028: .4byte gStatuses3 -_0801D02C: .4byte 0xffffbfff - thumb_func_end ClearFuryCutterDestinyBondGrudge - - thumb_func_start HandleAction_RunBattleScript -HandleAction_RunBattleScript: @ 801D030 - push {lr} - ldr r0, _0801D050 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801D04C - ldr r1, _0801D054 @ =gUnknown_825011C - ldr r0, _0801D058 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 -_0801D04C: - pop {r0} - bx r0 - .align 2, 0 -_0801D050: .4byte gBattleControllerExecFlags -_0801D054: .4byte gUnknown_825011C -_0801D058: .4byte gBattlescriptCurrInstr - thumb_func_end HandleAction_RunBattleScript - - thumb_func_start GetMoveTarget -GetMoveTarget: @ 801D05C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 24 - lsrs r0, r1, 24 - movs r5, 0 - cmp r0, 0 - beq _0801D07A - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - b _0801D086 -_0801D07A: - ldr r1, _0801D098 @ =gBattleMoves - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r6, [r0, 0x6] -_0801D086: - cmp r6, 0x40 - bls _0801D08C - b _0801D39C -_0801D08C: - lsls r0, r6, 2 - ldr r1, _0801D09C @ =_0801D0A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801D098: .4byte gBattleMoves -_0801D09C: .4byte _0801D0A0 - .align 2, 0 -_0801D0A0: - .4byte _0801D1A4 - .4byte _0801D2A4 - .4byte _0801D398 - .4byte _0801D39C - .4byte _0801D2BC - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D2A4 - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D398 - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D2A4 - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D39C - .4byte _0801D2A4 -_0801D1A4: - ldr r0, _0801D284 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0801D288 @ =gSideTimers - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r2, r0, r1 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _0801D1D6 - ldr r1, _0801D28C @ =gBattleMons - ldrb r4, [r2, 0x9] - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801D1D6 - b _0801D2EC -_0801D1D6: - ldr r0, _0801D284 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r7, 1 - mov r8, r0 -_0801D1E6: - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0801D290 @ =gBattlersCount - ldrb r1, [r1] - bl __modsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _0801D284 @ =gBattlerAttacker - ldrb r3, [r6] - cmp r5, r3 - beq _0801D1E6 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _0801D1E6 - ldr r0, _0801D294 @ =gAbsentBattlerFlags - ldrb r2, [r0] - ldr r1, _0801D298 @ =gBitTable - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - bne _0801D1E6 - ldr r0, _0801D29C @ =gBattleMoves - mov r3, r8 - adds r1, r3, r7 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x2] - cmp r0, 0xD - beq _0801D234 - b _0801D39C -_0801D234: - ldrb r1, [r6] - str r2, [sp] - movs r0, 0x10 - movs r2, 0x1F - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801D24A - b _0801D39C -_0801D24A: - ldr r2, _0801D28C @ =gBattleMons - movs r1, 0x58 - adds r0, r5, 0 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1F - bne _0801D25E - b _0801D39C -_0801D25E: - movs r4, 0x2 - eors r5, r4 - adds r0, r5, 0 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r1, [r0] - adds r0, r5, 0 - bl RecordAbilityBattle - ldr r1, _0801D2A0 @ =gSpecialStatuses - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0] - orrs r1, r4 - strb r1, [r0] - b _0801D39C - .align 2, 0 -_0801D284: .4byte gBattlerAttacker -_0801D288: .4byte gSideTimers -_0801D28C: .4byte gBattleMons -_0801D290: .4byte gBattlersCount -_0801D294: .4byte gAbsentBattlerFlags -_0801D298: .4byte gBitTable -_0801D29C: .4byte gBattleMoves -_0801D2A0: .4byte gSpecialStatuses -_0801D2A4: - ldr r0, _0801D2B8 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - adds r1, r0, 0 - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - b _0801D34E - .align 2, 0 -_0801D2B8: .4byte gBattlerAttacker -_0801D2BC: - ldr r0, _0801D2F0 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0801D2F4 @ =gSideTimers - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r2, r0, r1 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _0801D2FC - ldr r1, _0801D2F8 @ =gBattleMons - ldrb r4, [r2, 0x9] - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0801D2FC -_0801D2EC: - adds r5, r4, 0 - b _0801D39C - .align 2, 0 -_0801D2F0: .4byte gBattlerAttacker -_0801D2F4: .4byte gSideTimers -_0801D2F8: .4byte gBattleMons -_0801D2FC: - ldr r0, _0801D330 @ =gBattleTypeFlags - ldr r0, [r0] - movs r4, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0801D378 - movs r0, 0x4 - ands r6, r0 - cmp r6, 0 - beq _0801D378 - ldr r0, _0801D334 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0801D33C - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - beq _0801D338 - movs r0, 0x1 - b _0801D34E - .align 2, 0 -_0801D330: .4byte gBattleTypeFlags -_0801D334: .4byte gBattlerAttacker -_0801D338: - movs r0, 0x3 - b _0801D34E -_0801D33C: - bl Random - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - beq _0801D34C - movs r0, 0 - b _0801D34E -_0801D34C: - movs r0, 0x2 -_0801D34E: - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0801D370 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0801D374 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0801D39C - movs r0, 0x2 - eors r5, r0 - b _0801D39C - .align 2, 0 -_0801D370: .4byte gAbsentBattlerFlags -_0801D374: .4byte gBitTable -_0801D378: - ldr r0, _0801D394 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - adds r1, r0, 0 - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 - b _0801D39C - .align 2, 0 -_0801D394: .4byte gBattlerAttacker -_0801D398: - ldr r0, _0801D3B8 @ =gBattlerAttacker - ldrb r5, [r0] -_0801D39C: - ldr r0, _0801D3B8 @ =gBattlerAttacker - ldrb r0, [r0] - ldr r1, _0801D3BC @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - strb r5, [r0, 0xC] - adds r0, r5, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801D3B8: .4byte gBattlerAttacker -_0801D3BC: .4byte gBattleStruct - thumb_func_end GetMoveTarget - - thumb_func_start HasObedientBitSet -HasObedientBitSet: @ 801D3C0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0801D406 - ldr r0, _0801D40C @ =gBattlerPartyIndexes - lsls r4, 1 - adds r5, r4, r0 - ldrh r0, [r5] - movs r7, 0x64 - muls r0, r7 - ldr r6, _0801D410 @ =gPlayerParty - adds r0, r6 - movs r1, 0xB - movs r2, 0 - bl GetMonData - movs r1, 0xCD - lsls r1, 1 - cmp r0, r1 - beq _0801D414 - ldrh r0, [r5] - muls r0, r7 - adds r0, r6 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0x97 - beq _0801D414 -_0801D406: - movs r0, 0x1 - b _0801D42A - .align 2, 0 -_0801D40C: .4byte gBattlerPartyIndexes -_0801D410: .4byte gPlayerParty -_0801D414: - ldr r0, _0801D430 @ =gBattlerPartyIndexes - adds r0, r4, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0801D434 @ =gPlayerParty - adds r0, r1 - movs r1, 0x50 - movs r2, 0 - bl GetMonData -_0801D42A: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801D430: .4byte gBattlerPartyIndexes -_0801D434: .4byte gPlayerParty - thumb_func_end HasObedientBitSet - - thumb_func_start IsMonDisobedient -IsMonDisobedient: @ 801D438 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - movs r6, 0 - ldr r0, _0801D4F8 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0801D4FC @ =0x00010002 - ands r0, r1 - cmp r0, 0 - bne _0801D4F4 - ldr r4, _0801D500 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0801D4F4 - ldrb r0, [r4] - bl HasObedientBitSet - cmp r0, 0 - beq _0801D4BE - ldr r2, _0801D504 @ =gBattleMons - ldrb r1, [r4] - movs r0, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x54 - adds r0, r1, r0 - ldr r0, [r0] - adds r2, 0x3C - adds r1, r2 - bl IsOtherTrainer - lsls r0, 24 - cmp r0, 0 - beq _0801D4F4 - ldr r0, _0801D508 @ =0x00000827 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0801D4F4 - movs r6, 0xA - ldr r0, _0801D50C @ =0x00000821 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0801D4A2 - movs r6, 0x1E -_0801D4A2: - ldr r0, _0801D510 @ =0x00000823 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0801D4B0 - movs r6, 0x32 -_0801D4B0: - ldr r0, _0801D514 @ =0x00000825 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0801D4BE - movs r6, 0x46 -_0801D4BE: - ldr r5, _0801D504 @ =gBattleMons - ldr r0, _0801D500 @ =gBattlerAttacker - mov r8, r0 - ldrb r0, [r0] - movs r7, 0x58 - muls r0, r7 - adds r0, r5 - adds r0, 0x2A - ldrb r0, [r0] - cmp r0, r6 - bls _0801D4F4 - bl Random - movs r1, 0xFF - ands r1, r0 - mov r2, r8 - ldrb r0, [r2] - adds r2, r0, 0 - muls r2, r7 - adds r0, r2, r5 - adds r0, 0x2A - ldrb r0, [r0] - adds r0, r6 - muls r0, r1 - asrs r4, r0, 8 - cmp r4, r6 - bge _0801D518 -_0801D4F4: - movs r0, 0 - b _0801D738 - .align 2, 0 -_0801D4F8: .4byte gBattleTypeFlags -_0801D4FC: .4byte 0x00010002 -_0801D500: .4byte gBattlerAttacker -_0801D504: .4byte gBattleMons -_0801D508: .4byte 0x00000827 -_0801D50C: .4byte 0x00000821 -_0801D510: .4byte 0x00000823 -_0801D514: .4byte 0x00000825 -_0801D518: - ldr r3, _0801D554 @ =gCurrentMove - ldrh r0, [r3] - cmp r0, 0x63 - bne _0801D52E - adds r0, r5, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r1, [r0] - ldr r2, _0801D558 @ =0xff7fffff - ands r1, r2 - str r1, [r0] -_0801D52E: - mov r1, r8 - ldrb r0, [r1] - muls r0, r7 - adds r1, r5, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0801D564 - ldrh r0, [r3] - cmp r0, 0xAD - beq _0801D54E - cmp r0, 0xD6 - bne _0801D564 -_0801D54E: - ldr r1, _0801D55C @ =gBattlescriptCurrInstr - ldr r0, _0801D560 @ =BattleScript_IgnoresWhileAsleep - b _0801D6E2 - .align 2, 0 -_0801D554: .4byte gCurrentMove -_0801D558: .4byte 0xff7fffff -_0801D55C: .4byte gBattlescriptCurrInstr -_0801D560: .4byte BattleScript_IgnoresWhileAsleep -_0801D564: - bl Random - movs r1, 0xFF - ands r1, r0 - ldr r2, _0801D608 @ =gBattleMons - ldr r0, _0801D60C @ =gBattlerAttacker - ldrb r3, [r0] - movs r0, 0x58 - muls r0, r3 - adds r0, r2 - adds r0, 0x2A - ldrb r0, [r0] - adds r0, r6 - muls r0, r1 - asrs r4, r0, 8 - cmp r4, r6 - bge _0801D634 - ldr r0, _0801D610 @ =gCurrentMove - ldrh r1, [r0] - movs r0, 0x84 - lsls r0, 1 - cmp r1, r0 - beq _0801D634 - ldr r6, _0801D614 @ =gBitTable - ldr r5, _0801D618 @ =gUnknown_2023D48 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - adds r0, r3, 0 - movs r2, 0xFF - bl CheckMoveLimitations - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bne _0801D5B0 - b _0801D6D2 -_0801D5B0: - ldr r2, _0801D61C @ =gUnknown_2023D49 - mov r8, r2 - movs r7, 0x3 -_0801D5B6: - bl Random - ands r0, r7 - mov r1, r8 - strb r0, [r1] - strb r0, [r5] - ldrb r0, [r5] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - bne _0801D5B6 - ldr r4, _0801D620 @ =gUnknown_2023D4E - ldr r3, _0801D608 @ =gBattleMons - ldr r0, _0801D618 @ =gUnknown_2023D48 - ldrb r0, [r0] - lsls r0, 1 - ldr r1, _0801D60C @ =gBattlerAttacker - ldrb r2, [r1] - movs r1, 0x58 - muls r1, r2 - adds r0, r1 - adds r3, 0xC - adds r0, r3 - ldrh r0, [r0] - strh r0, [r4] - ldr r1, _0801D624 @ =gBattlescriptCurrInstr - ldr r0, _0801D628 @ =BattleScript_IgnoresAndUsesRandomMove - str r0, [r1] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0801D62C @ =gBattlerTarget - strb r0, [r1] - ldr r2, _0801D630 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 14 - b _0801D732 - .align 2, 0 -_0801D608: .4byte gBattleMons -_0801D60C: .4byte gBattlerAttacker -_0801D610: .4byte gCurrentMove -_0801D614: .4byte gBitTable -_0801D618: .4byte gUnknown_2023D48 -_0801D61C: .4byte gUnknown_2023D49 -_0801D620: .4byte gUnknown_2023D4E -_0801D624: .4byte gBattlescriptCurrInstr -_0801D628: .4byte BattleScript_IgnoresAndUsesRandomMove -_0801D62C: .4byte gBattlerTarget -_0801D630: .4byte gHitMarker -_0801D634: - ldr r5, _0801D6B8 @ =gBattleMons - ldr r2, _0801D6BC @ =gBattlerAttacker - mov r8, r2 - ldrb r0, [r2] - movs r7, 0x58 - muls r0, r7 - adds r0, r5 - adds r0, 0x2A - ldrb r0, [r0] - subs r0, r6 - lsls r0, 24 - lsrs r6, r0, 24 - bl Random - movs r2, 0xFF - adds r4, r2, 0 - ands r4, r0 - cmp r4, r6 - bge _0801D6CC - mov r1, r8 - ldrb r0, [r1] - adds r1, r0, 0 - muls r1, r7 - adds r0, r5, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - ands r0, r2 - cmp r0, 0 - bne _0801D6CC - adds r0, r1, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x48 - beq _0801D6CC - cmp r0, 0xF - beq _0801D6CC - movs r2, 0 - ldr r0, _0801D6C0 @ =gBattlersCount - ldrb r3, [r0] - adds r7, r0, 0 - cmp r2, r3 - bge _0801D6AA - ldr r0, [r5, 0x50] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - bne _0801D6AA - adds r1, r5, 0 - adds r1, 0x50 - movs r5, 0x70 -_0801D69A: - adds r1, 0x58 - adds r2, 0x1 - cmp r2, r3 - bge _0801D6AA - ldr r0, [r1] - ands r0, r5 - cmp r0, 0 - beq _0801D69A -_0801D6AA: - ldrb r7, [r7] - cmp r2, r7 - bne _0801D6CC - ldr r1, _0801D6C4 @ =gBattlescriptCurrInstr - ldr r0, _0801D6C8 @ =BattleScript_IgnoresAndFallsAsleep - b _0801D6E2 - .align 2, 0 -_0801D6B8: .4byte gBattleMons -_0801D6BC: .4byte gBattlerAttacker -_0801D6C0: .4byte gBattlersCount -_0801D6C4: .4byte gBattlescriptCurrInstr -_0801D6C8: .4byte BattleScript_IgnoresAndFallsAsleep -_0801D6CC: - subs r4, r6 - cmp r4, r6 - blt _0801D6F4 -_0801D6D2: - bl Random - ldr r2, _0801D6E8 @ =gBattleCommunication - movs r1, 0x3 - ands r1, r0 - strb r1, [r2, 0x5] - ldr r1, _0801D6EC @ =gBattlescriptCurrInstr - ldr r0, _0801D6F0 @ =BattleScript_MoveUsedLoafingAround -_0801D6E2: - str r0, [r1] - movs r0, 0x1 - b _0801D738 - .align 2, 0 -_0801D6E8: .4byte gBattleCommunication -_0801D6EC: .4byte gBattlescriptCurrInstr -_0801D6F0: .4byte BattleScript_MoveUsedLoafingAround -_0801D6F4: - ldr r4, _0801D744 @ =gBattlerAttacker - ldrb r1, [r4] - movs r0, 0x58 - muls r1, r0 - ldr r0, _0801D748 @ =gBattleMons - adds r1, r0 - movs r0, 0x28 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldrb r0, [r4] - str r0, [sp, 0x8] - ldrb r0, [r4] - str r0, [sp, 0xC] - adds r0, r1, 0 - movs r2, 0x1 - movs r3, 0 - bl CalculateBaseDamage - ldr r1, _0801D74C @ =gBattleMoveDamage - str r0, [r1] - ldr r1, _0801D750 @ =gBattlerTarget - ldrb r0, [r4] - strb r0, [r1] - ldr r1, _0801D754 @ =gBattlescriptCurrInstr - ldr r0, _0801D758 @ =BattleScript_IgnoresAndHitsItself - str r0, [r1] - ldr r2, _0801D75C @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 12 -_0801D732: - orrs r0, r1 - str r0, [r2] - movs r0, 0x2 -_0801D738: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801D744: .4byte gBattlerAttacker -_0801D748: .4byte gBattleMons -_0801D74C: .4byte gBattleMoveDamage -_0801D750: .4byte gBattlerTarget -_0801D754: .4byte gBattlescriptCurrInstr -_0801D758: .4byte BattleScript_IgnoresAndHitsItself -_0801D75C: .4byte gHitMarker - thumb_func_end IsMonDisobedient - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 742a7ee1beab323e30d60c599697a2a831c4f4de Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 2 Aug 2019 07:28:09 +0800 Subject: ported reshow_battle_screen from pokeem --- asm/battle_2.s | 22 +- asm/battle_anim.s | 2 +- asm/battle_anim_effects_1.s | 12 +- asm/battle_anim_effects_2.s | 12 +- asm/battle_anim_effects_3.s | 12 +- asm/battle_anim_mons.s | 16 +- asm/battle_anim_special.s | 2 +- asm/battle_controller_link_opponent.s | 6 +- asm/battle_controller_link_partner.s | 8 +- asm/battle_controller_oak.s | 10 +- asm/battle_controller_opponent.s | 8 +- asm/battle_controller_player.s | 16 +- asm/battle_controller_pokedude.s | 10 +- asm/battle_script_commands.s | 8 +- asm/berry_crush_3.s | 4 +- asm/dodrio_berry_picking.s | 4 +- asm/electric.s | 2 +- asm/evolution_scene.s | 4 +- asm/ghost.s | 2 +- asm/link_rfu_2.s | 12 +- asm/link_rfu_3.s | 20 +- asm/overworld.s | 8 +- asm/pokemon_jump_2.s | 4 +- asm/reshow_battle_screen.s | 1190 --------------------------------- asm/trade.s | 12 +- asm/trainer_card.s | 4 +- asm/union_room_chat.s | 4 +- asm/water.s | 8 +- 28 files changed, 116 insertions(+), 1306 deletions(-) delete mode 100644 asm/reshow_battle_screen.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index f29f29fe6..b206cc493 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -169,7 +169,7 @@ _0800FEA6: ldr r1, _0800FF68 @ =gReservedSpritePaletteCount movs r0, 0x4 strb r0, [r1] - ldr r0, _0800FF6C @ =sub_80116F4 + ldr r0, _0800FF6C @ =VBlankCB_Battle bl SetVBlankCallback bl SetUpBattleVars ldr r0, _0800FF70 @ =gBattleTypeFlags @@ -199,7 +199,7 @@ _0800FF5C: .4byte gBattle_BG3_X _0800FF60: .4byte gBattle_BG3_Y _0800FF64: .4byte gUnknown_2022B50 _0800FF68: .4byte gReservedSpritePaletteCount -_0800FF6C: .4byte sub_80116F4 +_0800FF6C: .4byte VBlankCB_Battle _0800FF70: .4byte gBattleTypeFlags _0800FF74: .4byte sub_8010BA0 _0800FF78: @@ -1010,7 +1010,7 @@ _080105BC: bne _080105C6 b _080108B8 _080105C6: - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx b _080108B8 .align 2, 0 _080105CC: .4byte gBattleCommunication @@ -1064,7 +1064,7 @@ _0801062A: _08010634: movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite b _080108B8 .align 2, 0 _08010640: .4byte gBattleTypeFlags @@ -1763,7 +1763,7 @@ _08010C44: bne _08010C4E b _080110F0 _08010C4E: - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx b _080110F0 .align 2, 0 _08010C54: .4byte gBattleCommunication @@ -1813,7 +1813,7 @@ _08010CAA: _08010CB4: movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite b _080110F0 .align 2, 0 _08010CC0: .4byte gReceivedRemoteLinkPlayers @@ -3121,8 +3121,8 @@ _080116EC: .4byte 0x04000006 _080116F0: .4byte 0x04000008 thumb_func_end sub_80116CC - thumb_func_start sub_80116F4 -sub_80116F4: @ 80116F4 + thumb_func_start VBlankCB_Battle +VBlankCB_Battle: @ 80116F4 push {lr} bl Random ldr r0, _08011788 @ =gBattle_BG0_X @@ -3192,7 +3192,7 @@ _080117A8: .4byte gUnknown_2022984 _080117AC: .4byte gUnknown_2022986 _080117B0: .4byte gUnknown_2022988 _080117B4: .4byte gUnknown_202298A - thumb_func_end sub_80116F4 + thumb_func_end VBlankCB_Battle thumb_func_start nullsub_9 nullsub_9: @ 80117B8 @@ -3612,7 +3612,7 @@ _08011A9C: ldr r1, _08011B7C @ =gReservedSpritePaletteCount movs r0, 0x4 strb r0, [r1] - ldr r0, _08011B80 @ =sub_80116F4 + ldr r0, _08011B80 @ =VBlankCB_Battle bl SetVBlankCallback ldr r0, _08011B84 @ =sub_800F6FC movs r1, 0 @@ -3657,7 +3657,7 @@ _08011B70: .4byte gBattle_BG3_X _08011B74: .4byte gBattle_BG3_Y _08011B78: .4byte gBattleTextboxPalette _08011B7C: .4byte gReservedSpritePaletteCount -_08011B80: .4byte sub_80116F4 +_08011B80: .4byte VBlankCB_Battle _08011B84: .4byte sub_800F6FC _08011B88: .4byte gTasks _08011B8C: .4byte sub_8011B94 diff --git a/asm/battle_anim.s b/asm/battle_anim.s index dff9de521..a79600e01 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -634,7 +634,7 @@ _080729A8: ldr r0, _08072A04 @ =gBattleAnimAttacker _080729AE: ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 lsls r1, r4, 24 diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s index c9cbfea7e..9045a447e 100644 --- a/asm/battle_anim_effects_1.s +++ b/asm/battle_anim_effects_1.s @@ -229,7 +229,7 @@ _080A24A2: ble _080A24BC ldr r0, _080A24B8 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r0, 0x1 b _080A24C6 .align 2, 0 @@ -237,7 +237,7 @@ _080A24B8: .4byte gBattleAnimTarget _080A24BC: ldr r0, _080A24FC @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r0, 0x6 _080A24C6: adds r1, r4, 0 @@ -306,7 +306,7 @@ sub_80A2500: @ 80A2500 ldr r4, _080A2578 @ =gUnknown_83E2A88 ldr r0, _080A257C @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 adds r3, 0x1 lsls r3, 24 @@ -868,7 +868,7 @@ sub_80A2974: @ 80A2974 bhi _080A29C0 ldr r0, _080A29BC @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority subs r0, 0x1 b _080A29CA .align 2, 0 @@ -876,7 +876,7 @@ _080A29BC: .4byte gBattleAnimAttacker _080A29C0: ldr r0, _080A29DC @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r0, 0x1 _080A29CA: adds r1, r4, 0 @@ -2995,7 +2995,7 @@ sub_80A39C0: @ 80A39C0 adds r5, r0, r1 ldr r4, _080A3B18 @ =gBattleAnimTarget ldrb r0, [r4] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 subs r0, 0x1 diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s index 339ffcba9..c4d4a043c 100644 --- a/asm/battle_anim_effects_2.s +++ b/asm/battle_anim_effects_2.s @@ -1430,7 +1430,7 @@ _080A7928: ble _080A79A0 ldr r0, _080A7970 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 ldr r2, _080A7974 @ =0x0000ffc0 @@ -1451,7 +1451,7 @@ _080A7978: ble _080A79A0 ldr r0, _080A7998 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 ldr r3, _080A799C @ =0x0000ffc0 @@ -1466,7 +1466,7 @@ _080A799C: .4byte 0x0000ffc0 _080A79A0: ldr r0, _080A79DC @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x8] @@ -2367,7 +2367,7 @@ sub_80A8074: @ 80A8074 strh r5, [r4, 0x14] ldr r0, _080A80C4 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x16] @@ -6607,7 +6607,7 @@ sub_80AA174: @ 80AA174 ldrh r0, [r1, 0x2] strh r0, [r4, 0x30] ldrb r0, [r5] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x3C] @@ -7142,7 +7142,7 @@ sub_80AA58C: @ 80AA58C bl StartSpriteAnim ldr r0, _080AA68C @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority subs r0, 0x1 adds r1, r4, 0 adds r1, 0x43 diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s index cc002606a..0869b7481 100644 --- a/asm/battle_anim_effects_3.s +++ b/asm/battle_anim_effects_3.s @@ -5735,7 +5735,7 @@ sub_80E0EDC: @ 80E0EDC _080E0F16: ldr r0, _080E0F24 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority subs r0, 0x1 b _080E0F32 .align 2, 0 @@ -5743,7 +5743,7 @@ _080E0F24: .4byte gBattleAnimAttacker _080E0F28: ldr r0, _080E0F74 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r0, 0x1 _080E0F32: adds r1, r4, 0 @@ -7613,7 +7613,7 @@ _080E1DA2: lsrs r0, 24 strh r0, [r5, 0x12] adds r0, r4, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] @@ -8641,7 +8641,7 @@ _080E258A: ldrsh r6, [r7, r1] mov r1, r8 ldrb r0, [r1] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 subs r3, 0x5 lsls r3, 24 @@ -10654,7 +10654,7 @@ sub_80E34D0: @ 80E34D0 cmp r0, 0 bne _080E34FC ldrb r0, [r4] - bl sub_807685C + bl GetBattlerSpriteSubpriority subs r0, 0x2 adds r1, r5, 0 adds r1, 0x43 @@ -10666,7 +10666,7 @@ _080E34F4: .4byte gBattleAnimTarget _080E34F8: .4byte 0x0000ff70 _080E34FC: ldrb r0, [r4] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r0, 0x2 adds r1, r5, 0 adds r1, 0x43 diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s index 060a2af23..59c16da0d 100644 --- a/asm/battle_anim_mons.s +++ b/asm/battle_anim_mons.s @@ -594,8 +594,8 @@ _080748F0: bx r1 thumb_func_end GetSubstituteSpriteDefault_Y - thumb_func_start sub_8074900 -sub_8074900: @ 8074900 + thumb_func_start GetGhostSpriteDefault_Y +GetGhostSpriteDefault_Y: @ 8074900 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -618,7 +618,7 @@ _0807491E: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8074900 + thumb_func_end GetGhostSpriteDefault_Y thumb_func_start sub_807492C sub_807492C: @ 807492C @@ -4839,7 +4839,7 @@ _080767FE: cmp r0, 0 beq _08076840 adds r0, r4, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority ldr r3, _08076858 @ =gBattlerSpriteIds adds r3, r5, r3 ldrb r2, [r3] @@ -4878,8 +4878,8 @@ _08076854: .4byte gSprites _08076858: .4byte gBattlerSpriteIds thumb_func_end sub_80767F0 - thumb_func_start sub_807685C -sub_807685C: @ 807685C + thumb_func_start GetBattlerSpriteSubpriority +GetBattlerSpriteSubpriority: @ 807685C push {lr} lsls r0, 24 lsrs r0, 24 @@ -4900,7 +4900,7 @@ _0807687E: adds r0, r1, 0 pop {r1} bx r1 - thumb_func_end sub_807685C + thumb_func_end GetBattlerSpriteSubpriority thumb_func_start sub_8076884 sub_8076884: @ 8076884 @@ -5946,7 +5946,7 @@ _08077064: adds r0, 0x10 lsls r4, r0, 4 ldrb r0, [r7] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x14] diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s index b703b8334..c95a1099e 100644 --- a/asm/battle_anim_special.s +++ b/asm/battle_anim_special.s @@ -1379,7 +1379,7 @@ _080EF708: bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 adds r3, 0x1 lsls r3, 24 diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index e2d110861..406216216 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -3591,7 +3591,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4 lsls r4, 24 lsrs r4, 24 ldrb r0, [r6] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -3795,7 +3795,7 @@ sub_803C550: @ 803C550 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -4270,7 +4270,7 @@ _0803C992: asrs r4, 16 mov r1, r8 ldrb r0, [r1] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index a536d91b8..8644e651c 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -3385,7 +3385,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 lsls r4, 24 lsrs r4, 24 ldrb r0, [r6] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -3577,7 +3577,7 @@ sub_80D5F40: @ 80D5F40 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -3896,7 +3896,7 @@ _080D6258: ldr r5, _080D6318 @ =gActiveBattler ldrb r1, [r5] adds r0, r4, 0 - bl sub_8034750 + bl DecompressTrainerBackPalette ldrb r0, [r5] bl GetBattlerPosition adds r1, r0, 0 @@ -3918,7 +3918,7 @@ _080D6258: adds r4, r0 asrs r4, 16 ldrb r0, [r5] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 3ded95b1d..1c1838616 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -4966,7 +4966,7 @@ sub_80E9E6C: @ 80E9E6C ldrb r0, [r0, 0x8] ldr r6, _080E9ED0 @ =gActiveBattler ldrb r1, [r6] - bl sub_8034750 + bl DecompressTrainerBackPalette ldr r0, [r4] ldrb r5, [r0, 0x8] ldrb r0, [r6] @@ -5007,7 +5007,7 @@ _080E9EE0: ldr r4, _080E9F8C @ =gActiveBattler ldrb r1, [r4] movs r0, 0x5 - bl sub_8034750 + bl DecompressTrainerBackPalette ldrb r0, [r4] bl GetBattlerPosition adds r1, r0, 0 @@ -5112,7 +5112,7 @@ sub_80E9FB0: @ 80E9FB0 ldrb r0, [r0, 0x8] ldr r6, _080EA014 @ =gActiveBattler ldrb r1, [r6] - bl sub_8034750 + bl DecompressTrainerBackPalette ldr r0, [r4] ldrb r5, [r0, 0x8] ldrb r0, [r6] @@ -5153,7 +5153,7 @@ _080EA024: ldr r4, _080EA0D0 @ =gActiveBattler ldrb r1, [r4] movs r0, 0x5 - bl sub_8034750 + bl DecompressTrainerBackPalette ldrb r0, [r4] bl GetBattlerPosition adds r1, r0, 0 @@ -7086,7 +7086,7 @@ sub_80EAF34: @ 80EAF34 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index da113d908..85f203998 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -3596,7 +3596,7 @@ sub_80377FC: @ 80377FC adds r0, r6 bl DecompressGhostFrontPic ldrb r0, [r4] - bl sub_8074900 + bl GetGhostSpriteDefault_Y lsls r0, 24 lsrs r5, r0, 24 ldr r3, _0803788C @ =gBattleSpritesDataPtr @@ -3658,7 +3658,7 @@ _080378AA: lsls r4, 24 lsrs r4, 24 ldrb r0, [r7] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -3887,7 +3887,7 @@ sub_8037A28: @ 8037A28 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -4219,7 +4219,7 @@ _08037D3A: asrs r4, 16 mov r1, r8 ldrb r0, [r1] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 51845f47a..385b0d44e 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -4884,23 +4884,23 @@ ActionSelectionDestroyCursorAt: @ 8030A98 thumb_func_start sub_8030ADC sub_8030ADC: @ 8030ADC push {lr} - ldr r0, _08030AE8 @ =sub_8077764 + ldr r0, _08030AE8 @ =ReshowBattleScreenAfterMenu bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 -_08030AE8: .4byte sub_8077764 +_08030AE8: .4byte ReshowBattleScreenAfterMenu thumb_func_end sub_8030ADC thumb_func_start sub_8030AEC sub_8030AEC: @ 8030AEC push {lr} - ldr r0, _08030AF8 @ =sub_8077764 + ldr r0, _08030AF8 @ =ReshowBattleScreenAfterMenu bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 -_08030AF8: .4byte sub_8077764 +_08030AF8: .4byte ReshowBattleScreenAfterMenu thumb_func_end sub_8030AEC thumb_func_start CompleteOnFinishedStatusAnimation @@ -7457,7 +7457,7 @@ sub_8031FF4: @ 8031FF4 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -7803,7 +7803,7 @@ _08032342: ldr r5, _08032404 @ =gActiveBattler ldrb r1, [r5] adds r0, r4, 0 - bl sub_8034750 + bl DecompressTrainerBackPalette ldrb r0, [r5] bl GetBattlerPosition adds r1, r0, 0 @@ -7825,7 +7825,7 @@ _08032342: adds r4, r0 asrs r4, 16 ldrb r0, [r5] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -7980,7 +7980,7 @@ _080324BE: ldr r5, _0803256C @ =gActiveBattler ldrb r1, [r5] adds r0, r4, 0 - bl sub_8034750 + bl DecompressTrainerBackPalette ldrb r0, [r5] bl GetBattlerPosition adds r1, r0, 0 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 6e8071820..4bff9be01 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -3942,7 +3942,7 @@ sub_81580E0: @ 81580E0 lsls r4, 24 lsrs r4, 24 ldrb r0, [r6] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -4181,7 +4181,7 @@ sub_8158344: @ 8158344 bne _081583F0 ldrb r1, [r7] movs r0, 0x4 - bl sub_8034750 + bl DecompressTrainerBackPalette ldrb r0, [r7] bl GetBattlerPosition adds r1, r0, 0 @@ -4273,7 +4273,7 @@ _081583F0: adds r4, r0 asrs r4, 16 ldrb r0, [r7] - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -4406,7 +4406,7 @@ sub_8158544: @ 8158544 ldr r4, _081585EC @ =gActiveBattler ldrb r1, [r4] movs r0, 0x4 - bl sub_8034750 + bl DecompressTrainerBackPalette ldrb r0, [r4] bl GetBattlerPosition adds r1, r0, 0 @@ -6351,7 +6351,7 @@ sub_8159478: @ 8159478 lsls r4, 24 lsrs r4, 24 adds r0, r6, 0 - bl sub_807685C + bl GetBattlerSpriteSubpriority adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 568f794d0..8bc130fd7 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -15672,7 +15672,7 @@ _080254B6: subs r2, 0x1 lsls r2, 24 lsrs r2, 24 - ldr r3, _080254F4 @ =sub_8077764 + ldr r3, _080254F4 @ =ReshowBattleScreenAfterMenu ldr r4, _080254F8 @ =gMoveToLearn ldrh r4, [r4] str r4, [sp] @@ -15688,7 +15688,7 @@ _080254E4: .4byte gPaletteFade _080254E8: .4byte gPlayerParty _080254EC: .4byte gBattleStruct _080254F0: .4byte gPlayerPartyCount -_080254F4: .4byte sub_8077764 +_080254F4: .4byte ReshowBattleScreenAfterMenu _080254F8: .4byte gMoveToLearn _080254FC: .4byte gBattleScripting _08025500: @@ -32490,7 +32490,7 @@ _0802DA72: ldr r2, _0802DAC0 @ =0x05006000 add r0, sp, 0x10 bl CpuSet - ldr r0, _0802DAC4 @ =sub_80116F4 + ldr r0, _0802DAC4 @ =VBlankCB_Battle bl SetVBlankCallback ldrb r0, [r4] adds r0, 0x1 @@ -32503,7 +32503,7 @@ _0802DAB4: .4byte BattleMainCB2 _0802DAB8: .4byte gTasks _0802DABC: .4byte gBattleCommunication _0802DAC0: .4byte 0x05006000 -_0802DAC4: .4byte sub_80116F4 +_0802DAC4: .4byte VBlankCB_Battle _0802DAC8: bl sub_800F34C bl LoadBattleTextboxAndBackground diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s index afab275ab..51657f296 100644 --- a/asm/berry_crush_3.s +++ b/asm/berry_crush_3.s @@ -236,10 +236,10 @@ _0814D7E8: .4byte gUnknown_846ED90 _0814D7EC: .4byte gUnknown_846EEC0 _0814D7F0: .4byte gUnknown_846F058 _0814D7F4: - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite adds r0, r5, 0 bl sub_814ECE0 ldr r0, _0814D82C @ =gSpriteCoordOffsetY diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index c6e46517e..32b47791b 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -393,10 +393,10 @@ _08150B16: ldrb r0, [r0] cmp r0, 0 beq _08150BDC - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite b _08150BDC .align 2, 0 _08150B38: .4byte gReceivedRemoteLinkPlayers diff --git a/asm/electric.s b/asm/electric.s index 7b100e73e..d020459d5 100644 --- a/asm/electric.s +++ b/asm/electric.s @@ -2630,7 +2630,7 @@ _080AEFF8: lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 subs r0, 0x2 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 0062040ec..06d8a0d64 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -843,10 +843,10 @@ _080CE4CC: ldrb r0, [r0] cmp r0, 0 beq _080CE4E0 - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite _080CE4E0: movs r0, 0x1 negs r0, r0 diff --git a/asm/ghost.s b/asm/ghost.s index b0933f132..194f728fe 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -2898,7 +2898,7 @@ sub_80B68C8: @ 80B68C8 lsrs r0, 24 strh r0, [r4, 0x12] ldrb r0, [r5] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r0, 24 subs r0, 0x2 diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 356cbb45b..d4934caa9 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -9368,8 +9368,8 @@ _080FCD6C: .4byte gUnknown_3005440 _080FCD70: .4byte gUnknown_3005E00 thumb_func_end sub_80FCD50 - thumb_func_start sub_80FCD74 -sub_80FCD74: @ 80FCD74 + thumb_func_start CreateWirelessStatusIndicatorSprite +CreateWirelessStatusIndicatorSprite: @ 80FCD74 push {r4,r5,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -9464,7 +9464,7 @@ _080FCE34: .4byte gUnknown_203ACE4 _080FCE38: .4byte gSprites _080FCE3C: .4byte 0x00001234 _080FCE40: .4byte gUnknown_843F274 - thumb_func_end sub_80FCD74 + thumb_func_end CreateWirelessStatusIndicatorSprite thumb_func_start DestroyWirelessStatusIndicatorSprite DestroyWirelessStatusIndicatorSprite: @ 80FCE44 @@ -9514,8 +9514,8 @@ _080FCEA0: .4byte gDummyOamData _080FCEA4: .4byte 0x070003e8 thumb_func_end DestroyWirelessStatusIndicatorSprite - thumb_func_start sub_80FCEA8 -sub_80FCEA8: @ 80FCEA8 + thumb_func_start LoadWirelessStatusIndicatorSpriteGfx +LoadWirelessStatusIndicatorSpriteGfx: @ 80FCEA8 push {r4,lr} ldr r4, _080FCED4 @ =gUnknown_843F274 ldrh r0, [r4, 0x6] @@ -9540,7 +9540,7 @@ _080FCED4: .4byte gUnknown_843F274 _080FCED8: .4byte 0xffff0000 _080FCEDC: .4byte gUnknown_843F27C _080FCEE0: .4byte gUnknown_203ACE4 - thumb_func_end sub_80FCEA8 + thumb_func_end LoadWirelessStatusIndicatorSpriteGfx thumb_func_start sub_80FCEE4 sub_80FCEE4: @ 80FCEE4 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 1232764e5..a109515d6 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -707,10 +707,10 @@ _08115E84: beq _08115EC0 b _081161D8 _08115E8E: - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite movs r0, 0x5 strb r0, [r5, 0x19] ldrb r1, [r5, 0x13] @@ -2475,10 +2475,10 @@ sub_8116D60: @ 8116D60 push {r4,r5,lr} adds r4, r0, 0 strb r1, [r4, 0xF] - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite ldrb r0, [r4, 0xE] bl RedrawListMenu ldr r5, _08116DD4 @ =gStringVar1 @@ -4188,10 +4188,10 @@ _08117C3C: beq _08117C84 b _08117ECA _08117C42: - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite ldr r1, [r5] ldrb r0, [r5, 0x13] lsls r0, 5 @@ -4702,10 +4702,10 @@ _0811808E: cmp r0, 0 bne _08118130 strb r2, [r5, 0xF] - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite ldrb r0, [r5, 0xE] bl RedrawListMenu ldr r4, _0811812C @ =gStringVar1 @@ -5118,10 +5118,10 @@ _0811843A: beq _0811849C strb r4, [r5, 0xF] strb r4, [r5, 0x14] - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite ldr r0, [r5] adds r4, r0, 0 adds r4, 0x10 diff --git a/asm/overworld.s b/asm/overworld.s index 56c253477..30f89b4f3 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -4058,10 +4058,10 @@ _08056B3C: ldrb r0, [r0] cmp r0, 0 beq _08056B62 - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite b _08056B62 .align 2, 0 _08056B54: .4byte gWirelessCommType @@ -4389,10 +4389,10 @@ _08056E18: ldrb r0, [r0] cmp r0, 0 beq _08056E3E - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite b _08056E3E .align 2, 0 _08056E30: .4byte gWirelessCommType diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index ab95e1bf4..66bb3dc52 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -442,10 +442,10 @@ _08147E0C: ldr r0, [r4] adds r0, 0xA4 bl sub_8149CEC - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite ldr r1, [r4] b _08147EBC .align 2, 0 diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s deleted file mode 100644 index c9faf0be7..000000000 --- a/asm/reshow_battle_screen.s +++ /dev/null @@ -1,1190 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_44 -nullsub_44: @ 8077760 - bx lr - thumb_func_end nullsub_44 - - thumb_func_start sub_8077764 -sub_8077764: @ 8077764 - push {lr} - ldr r2, _080777B0 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - movs r0, 0 - bl SetHBlankCallback - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r0, _080777B4 @ =gBattleScripting - adds r2, r0, 0 - adds r2, 0x21 - movs r1, 0 - strb r1, [r2] - adds r0, 0x22 - strb r1, [r0] - ldr r0, _080777B8 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080777DA - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080777C4 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080777BC - movs r0, 0x19 - bl HelpSystem_SetSomeVariable2 - b _080777DA - .align 2, 0 -_080777B0: .4byte gPaletteFade -_080777B4: .4byte gBattleScripting -_080777B8: .4byte gBattleTypeFlags -_080777BC: - movs r0, 0x18 - bl HelpSystem_SetSomeVariable2 - b _080777DA -_080777C4: - movs r0, 0x80 - ands r1, r0 - cmp r1, 0 - beq _080777D4 - movs r0, 0x1A - bl HelpSystem_SetSomeVariable2 - b _080777DA -_080777D4: - movs r0, 0x17 - bl HelpSystem_SetSomeVariable2 -_080777DA: - ldr r0, _080777E4 @ =sub_80777E8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080777E4: .4byte sub_80777E8 - thumb_func_end sub_8077764 - - thumb_func_start sub_80777E8 -sub_80777E8: @ 80777E8 - push {r4-r7,lr} - sub sp, 0x8 - ldr r0, _08077804 @ =gBattleScripting - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x14 - bls _080777F8 - b _08077A8A -_080777F8: - lsls r0, 2 - ldr r1, _08077808 @ =_0807780C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08077804: .4byte gBattleScripting -_08077808: .4byte _0807780C - .align 2, 0 -_0807780C: - .4byte _08077860 - .4byte _08077866 - .4byte _080778E8 - .4byte _08077900 - .4byte _08077906 - .4byte _08077918 - .4byte _0807791E - .4byte _08077946 - .4byte _0807794A - .4byte _0807794E - .4byte _08077952 - .4byte _08077970 - .4byte _08077978 - .4byte _08077980 - .4byte _08077988 - .4byte _08077990 - .4byte _08077998 - .4byte _080779A0 - .4byte _080779A8 - .4byte _080779B0 - .4byte _08077A5C -_08077860: - bl ResetSpriteData - b _08077A8A -_08077866: - movs r0, 0 - bl SetVBlankCallback - bl ScanlineEffect_Clear - bl sub_800F324 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - bl ResetPaletteFade - ldr r0, _080778C8 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080778CC @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _080778D0 @ =gBattle_BG1_X - strh r1, [r0] - ldr r0, _080778D4 @ =gBattle_BG1_Y - strh r1, [r0] - ldr r0, _080778D8 @ =gBattle_BG2_X - strh r1, [r0] - ldr r0, _080778DC @ =gBattle_BG2_Y - strh r1, [r0] - ldr r0, _080778E0 @ =gBattle_BG3_X - strh r1, [r0] - ldr r0, _080778E4 @ =gBattle_BG3_Y - strh r1, [r0] - b _08077A8A - .align 2, 0 -_080778C8: .4byte gBattle_BG0_X -_080778CC: .4byte gBattle_BG0_Y -_080778D0: .4byte gBattle_BG1_X -_080778D4: .4byte gBattle_BG1_Y -_080778D8: .4byte gBattle_BG2_X -_080778DC: .4byte gBattle_BG2_Y -_080778E0: .4byte gBattle_BG3_X -_080778E4: .4byte gBattle_BG3_Y -_080778E8: - movs r0, 0 - str r0, [sp, 0x4] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _080778FC @ =0x01006000 - add r0, sp, 0x4 - bl CpuFastSet - b _08077A8A - .align 2, 0 -_080778FC: .4byte 0x01006000 -_08077900: - bl LoadBattleTextboxAndBackground - b _08077A8A -_08077906: - bl FreeAllSpritePalettes - ldr r1, _08077914 @ =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - b _08077A8A - .align 2, 0 -_08077914: .4byte gReservedSpritePaletteCount -_08077918: - bl ClearSpritesHealthboxAnimData - b _08077A8A -_0807791E: - ldr r5, _08077938 @ =gBattleScripting - adds r4, r5, 0 - adds r4, 0x22 - ldrb r0, [r4] - bl BattleLoadAllHealthBoxesGfx - lsls r0, 24 - cmp r0, 0 - beq _0807793C - movs r0, 0 - strb r0, [r4] - b _08077A8A - .align 2, 0 -_08077938: .4byte gBattleScripting -_0807793C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r1, r5, 0 - b _08077962 -_08077946: - movs r0, 0 - b _08077954 -_0807794A: - movs r0, 0x1 - b _08077954 -_0807794E: - movs r0, 0x2 - b _08077954 -_08077952: - movs r0, 0x3 -_08077954: - bl sub_8077B0C - lsls r0, 24 - cmp r0, 0 - beq _08077960 - b _08077A8A -_08077960: - ldr r1, _0807796C @ =gBattleScripting -_08077962: - adds r1, 0x21 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - b _08077A8A - .align 2, 0 -_0807796C: .4byte gBattleScripting -_08077970: - movs r0, 0 - bl sub_8077C38 - b _08077A8A -_08077978: - movs r0, 0x1 - bl sub_8077C38 - b _08077A8A -_08077980: - movs r0, 0x2 - bl sub_8077C38 - b _08077A8A -_08077988: - movs r0, 0x3 - bl sub_8077C38 - b _08077A8A -_08077990: - movs r0, 0 - bl CreateHealthboxSprite - b _08077A8A -_08077998: - movs r0, 0x1 - bl CreateHealthboxSprite - b _08077A8A -_080779A0: - movs r0, 0x2 - bl CreateHealthboxSprite - b _08077A8A -_080779A8: - movs r0, 0x3 - bl CreateHealthboxSprite - b _08077A8A -_080779B0: - bl LoadAndCreateEnemyShadowSprites - movs r0, 0x1 - bl GetBattlerAtPosition - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r7, _08077A44 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08077A48 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08077A14 - movs r0, 0x3 - bl GetBattlerAtPosition - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback -_08077A14: - ldr r1, _08077A4C @ =gActionSelectionCursor - ldr r0, _08077A50 @ =gBattlerInMenuId - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl ActionSelectionCreateCursorAt - ldr r0, _08077A54 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077A8A - ldr r0, _08077A58 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08077A8A - bl sub_80FCEA8 - movs r0, 0 - movs r1, 0 - bl sub_80FCD74 - b _08077A8A - .align 2, 0 -_08077A44: .4byte gBattlerPartyIndexes -_08077A48: .4byte gEnemyParty -_08077A4C: .4byte gActionSelectionCursor -_08077A50: .4byte gBattlerInMenuId -_08077A54: .4byte gWirelessCommType -_08077A58: .4byte gReceivedRemoteLinkPlayers -_08077A5C: - ldr r0, _08077A9C @ =sub_80116F4 - bl SetVBlankCallback - bl sub_8077AAC - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r2, _08077AA0 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _08077AA4 @ =BattleMainCB2 - bl SetMainCallback2 - bl sub_80357C8 -_08077A8A: - ldr r1, _08077AA8 @ =gBattleScripting - adds r1, 0x21 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077A9C: .4byte sub_80116F4 -_08077AA0: .4byte gPaletteFade -_08077AA4: .4byte BattleMainCB2 -_08077AA8: .4byte gBattleScripting - thumb_func_end sub_80777E8 - - thumb_func_start sub_8077AAC -sub_8077AAC: @ 8077AAC - push {lr} - movs r0, 0x1 - bl EnableInterrupts - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - ldr r1, _08077B08 @ =0x0000b040 - movs r0, 0 - bl SetGpuRegBits - pop {r0} - bx r0 - .align 2, 0 -_08077B08: .4byte 0x0000b040 - thumb_func_end sub_8077AAC - - thumb_func_start sub_8077B0C -sub_8077B0C: @ 8077B0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08077B54 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bcc _08077B1C - b _08077C2C -_08077B1C: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08077BA6 - ldr r0, _08077B58 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 8 - ands r0, r1 - movs r1, 0x80 - lsls r1, 8 - cmp r0, r1 - bne _08077B64 - ldr r1, _08077B5C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08077B60 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl DecompressGhostFrontPic - b _08077C24 - .align 2, 0 -_08077B54: .4byte gBattlersCount -_08077B58: .4byte gBattleTypeFlags -_08077B5C: .4byte gBattlerPartyIndexes -_08077B60: .4byte gEnemyParty -_08077B64: - ldr r0, _08077B90 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r4, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08077B9C - ldr r1, _08077B94 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08077B98 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadOpponentMonSpriteGfx - b _08077C24 - .align 2, 0 -_08077B90: .4byte gBattleSpritesDataPtr -_08077B94: .4byte gBattlerPartyIndexes -_08077B98: .4byte gEnemyParty -_08077B9C: - adds r0, r4, 0 - movs r1, 0 - bl BattleLoadSubstituteOrMonSpriteGfx - b _08077C24 -_08077BA6: - ldr r0, _08077BC0 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x80 - ands r1, r2 - cmp r1, 0 - beq _08077BC8 - cmp r4, 0 - bne _08077BC8 - ldr r0, _08077BC4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - b _08077BDA - .align 2, 0 -_08077BC0: .4byte gBattleTypeFlags -_08077BC4: .4byte gSaveBlock2Ptr -_08077BC8: - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _08077BE2 - cmp r4, 0 - bne _08077BE2 - movs r0, 0x5 -_08077BDA: - movs r1, 0 - bl sub_8034750 - b _08077C24 -_08077BE2: - ldr r0, _08077C10 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r4, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08077C1C - ldr r1, _08077C14 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08077C18 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadPlayerMonSpriteGfx - b _08077C24 - .align 2, 0 -_08077C10: .4byte gBattleSpritesDataPtr -_08077C14: .4byte gBattlerPartyIndexes -_08077C18: .4byte gPlayerParty -_08077C1C: - adds r0, r4, 0 - movs r1, 0 - bl BattleLoadSubstituteOrMonSpriteGfx -_08077C24: - ldr r0, _08077C34 @ =gBattleScripting - adds r0, 0x22 - movs r1, 0 - strb r1, [r0] -_08077C2C: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08077C34: .4byte gBattleScripting - thumb_func_end sub_8077B0C - - thumb_func_start sub_8077C38 -sub_8077C38: @ 8077C38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08077C6C @ =gBattlersCount - ldrb r0, [r0] - cmp r7, r0 - bcc _08077C50 - b _08077FB4 -_08077C50: - ldr r0, _08077C70 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 8 - ands r0, r1 - movs r1, 0x80 - lsls r1, 8 - cmp r0, r1 - bne _08077C74 - adds r0, r7, 0 - bl sub_8074900 - b _08077C9A - .align 2, 0 -_08077C6C: .4byte gBattlersCount -_08077C70: .4byte gBattleTypeFlags -_08077C74: - ldr r0, _08077C90 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08077C94 - adds r0, r7, 0 - bl GetSubstituteSpriteDefault_Y - b _08077C9A - .align 2, 0 -_08077C90: .4byte gBattleSpritesDataPtr -_08077C94: - adds r0, r7, 0 - bl GetBattlerSpriteDefault_Y -_08077C9A: - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r7, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08077CAE - b _08077DAC -_08077CAE: - ldr r1, _08077D90 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r6, r0, r1 - ldrh r0, [r6] - movs r1, 0x64 - mov r10, r1 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - ldr r1, _08077D94 @ =gEnemyParty - mov r9, r1 - add r0, r9 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08077CD2 - b _08077FB4 -_08077CD2: - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r5, _08077D98 @ =gMultiuseSpriteTemplate - adds r0, r7, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r8 - bl CreateSprite - ldr r4, _08077D9C @ =gBattlerSpriteIds - adds r4, r7, r4 - strb r0, [r4] - ldr r5, _08077DA0 @ =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r7, 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 r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08077DA4 @ =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x2E] - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - strh r0, [r1, 0x32] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08077DA8 @ =gBattleMonForms - adds r1, r7, r1 - ldrb r1, [r1] - bl StartSpriteAnim - b _08077F84 - .align 2, 0 -_08077D90: .4byte gBattlerPartyIndexes -_08077D94: .4byte gEnemyParty -_08077D98: .4byte gMultiuseSpriteTemplate -_08077D9C: .4byte gBattlerSpriteIds -_08077DA0: .4byte gSprites -_08077DA4: .4byte SpriteCallbackDummy -_08077DA8: .4byte gBattleMonForms -_08077DAC: - ldr r0, _08077E00 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x80 - ands r1, r2 - cmp r1, 0 - beq _08077E10 - cmp r7, 0 - bne _08077E10 - ldr r5, _08077E04 @ =gSaveBlock2Ptr - ldr r0, [r5] - ldrb r4, [r0, 0x8] - movs r0, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r6, _08077E08 @ =gMultiuseSpriteTemplate - ldr r1, _08077E0C @ =gTrainerBackPicCoords - ldr r0, [r5] - ldrb r0, [r0, 0x8] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 15 - adds r4, r0 - asrs r4, 16 - movs r0, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r6, 0 - b _08077E54 - .align 2, 0 -_08077E00: .4byte gBattleTypeFlags -_08077E04: .4byte gSaveBlock2Ptr -_08077E08: .4byte gMultiuseSpriteTemplate -_08077E0C: .4byte gTrainerBackPicCoords -_08077E10: - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _08077EA8 - cmp r7, 0 - bne _08077EA8 - movs r0, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x5 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r5, _08077E94 @ =gMultiuseSpriteTemplate - ldr r0, _08077E98 @ =gTrainerBackPicCoords - ldrb r0, [r0, 0x14] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r1, 0xA0 - lsls r1, 15 - adds r4, r1 - asrs r4, 16 - movs r0, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 -_08077E54: - movs r1, 0x50 - adds r2, r4, 0 - bl CreateSprite - ldr r3, _08077E9C @ =gBattlerSpriteIds - strb r0, [r3] - ldr r4, _08077EA0 @ =gSprites - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08077EA4 @ =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x2E] - b _08077F84 - .align 2, 0 -_08077E94: .4byte gMultiuseSpriteTemplate -_08077E98: .4byte gTrainerBackPicCoords -_08077E9C: .4byte gBattlerSpriteIds -_08077EA0: .4byte gSprites -_08077EA4: .4byte SpriteCallbackDummy -_08077EA8: - ldr r1, _08077FC4 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r6, r0, r1 - ldrh r0, [r6] - movs r1, 0x64 - mov r10, r1 - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - ldr r1, _08077FC8 @ =gPlayerParty - mov r9, r1 - add r0, r9 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08077FB4 - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r5, _08077FCC @ =gMultiuseSpriteTemplate - adds r0, r7, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r7, 0 - bl sub_807685C - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r8 - bl CreateSprite - ldr r4, _08077FD0 @ =gBattlerSpriteIds - adds r4, r7, r4 - strb r0, [r4] - ldr r5, _08077FD4 @ =gSprites - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - lsls r3, r7, 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 r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08077FD8 @ =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r7, [r0, 0x2E] - ldrh r0, [r6] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - strh r0, [r1, 0x32] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08077FDC @ =gBattleMonForms - adds r1, r7, r1 - ldrb r1, [r1] - bl StartSpriteAnim -_08077F84: - ldr r1, _08077FD4 @ =gSprites - ldr r0, _08077FD0 @ =gBattlerSpriteIds - adds r0, r7, r0 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldr r0, _08077FE0 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r7, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 31 - adds r2, 0x3E - lsrs r1, 31 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_08077FB4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077FC4: .4byte gBattlerPartyIndexes -_08077FC8: .4byte gPlayerParty -_08077FCC: .4byte gMultiuseSpriteTemplate -_08077FD0: .4byte gBattlerSpriteIds -_08077FD4: .4byte gSprites -_08077FD8: .4byte SpriteCallbackDummy -_08077FDC: .4byte gBattleMonForms -_08077FE0: .4byte gBattleSpritesDataPtr - thumb_func_end sub_8077C38 - - thumb_func_start CreateHealthboxSprite -CreateHealthboxSprite: @ 8077FE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0807800C @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bcc _08077FF4 - b _08078166 -_08077FF4: - ldr r0, _08078010 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x80 - ands r1, r2 - cmp r1, 0 - beq _08078014 - cmp r5, 0 - bne _08078014 - bl CreateSafariPlayerHealthboxSprites - b _0807802C - .align 2, 0 -_0807800C: .4byte gBattlersCount -_08078010: .4byte gBattleTypeFlags -_08078014: - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _08078026 - cmp r5, 0 - bne _08078026 - b _08078166 -_08078026: - adds r0, r5, 0 - bl CreateBattlerHealthboxSprites -_0807802C: - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08078068 @ =gHealthboxSpriteIds - adds r4, r5, r0 - strb r6, [r4] - adds r0, r5, 0 - bl InitBattlerHealthboxCoords - adds r0, r6, 0 - bl SetHealthboxSpriteVisible - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08078074 - ldrb r0, [r4] - ldr r1, _0807806C @ =gBattlerPartyIndexes - lsls r4, r5, 1 - adds r1, r4, r1 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08078070 @ =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - b _080780C0 - .align 2, 0 -_08078068: .4byte gHealthboxSpriteIds -_0807806C: .4byte gBattlerPartyIndexes -_08078070: .4byte gEnemyParty -_08078074: - ldr r0, _0807809C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080780A8 - ldrb r0, [r4] - ldr r1, _080780A0 @ =gBattlerPartyIndexes - lsls r4, r5, 1 - adds r1, r4, r1 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080780A4 @ =gPlayerParty - adds r1, r2 - movs r2, 0xA - bl UpdateHealthboxAttribute - b _080780C0 - .align 2, 0 -_0807809C: .4byte gBattleTypeFlags -_080780A0: .4byte gBattlerPartyIndexes -_080780A4: .4byte gPlayerParty -_080780A8: - ldrb r0, [r4] - ldr r1, _080780EC @ =gBattlerPartyIndexes - lsls r4, r5, 1 - adds r1, r4, r1 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080780F0 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute -_080780C0: - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080780DC - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080780F8 -_080780DC: - ldr r0, _080780F4 @ =gHealthboxSpriteIds - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x1 - bl DummyBattleInterfaceFunc - b _08078104 - .align 2, 0 -_080780EC: .4byte gBattlerPartyIndexes -_080780F0: .4byte gPlayerParty -_080780F4: .4byte gHealthboxSpriteIds -_080780F8: - ldr r0, _08078130 @ =gHealthboxSpriteIds - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0 - bl DummyBattleInterfaceFunc -_08078104: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0807813C - ldr r0, _08078134 @ =gBattlerPartyIndexes - adds r0, r4, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08078138 @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08078166 - adds r0, r6, 0 - bl SetHealthboxSpriteInvisible - b _08078166 - .align 2, 0 -_08078130: .4byte gHealthboxSpriteIds -_08078134: .4byte gBattlerPartyIndexes -_08078138: .4byte gEnemyParty -_0807813C: - ldr r0, _0807816C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08078166 - ldr r0, _08078170 @ =gBattlerPartyIndexes - adds r0, r4, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08078174 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08078166 - adds r0, r6, 0 - bl SetHealthboxSpriteInvisible -_08078166: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807816C: .4byte gBattleTypeFlags -_08078170: .4byte gBattlerPartyIndexes -_08078174: .4byte gPlayerParty - thumb_func_end CreateHealthboxSprite - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index 0e0520f37..42097bd3e 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -435,10 +435,10 @@ _0804C9C4: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite b _0804CEE6 .align 2, 0 _0804C9E0: .4byte gWirelessCommType @@ -1134,10 +1134,10 @@ _0804CFDC: ldrb r0, [r0] cmp r0, 0 beq _0804CFF0 - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite _0804CFF0: ldr r1, _0804D000 @ =gMain movs r3, 0x87 @@ -7749,10 +7749,10 @@ _0805044C: ldrb r0, [r0] cmp r0, 0 beq _0805046C - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0 movs r1, 0 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite _0805046C: ldr r0, _08050498 @ =sub_8053D84 bl SetMainCallback2 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 85797d38f..a964b02c8 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -208,10 +208,10 @@ _0808919A: ldrb r0, [r0] cmp r0, 0x1 bne _080891B6 - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0xE6 movs r1, 0x96 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite _080891B6: movs r0, 0x1 negs r0, r0 diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index 285827e14..64cc9aa9f 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -177,10 +177,10 @@ _08128554: bl CreateTask ldr r1, [r4] strb r0, [r1, 0xF] - bl sub_80FCEA8 + bl LoadWirelessStatusIndicatorSpriteGfx movs r0, 0xE8 movs r1, 0x96 - bl sub_80FCD74 + bl CreateWirelessStatusIndicatorSprite _08128598: add sp, 0x4 pop {r4-r6} diff --git a/asm/water.s b/asm/water.s index e7465befa..6904e65d2 100644 --- a/asm/water.s +++ b/asm/water.s @@ -750,7 +750,7 @@ sub_80AB168: @ 80AB168 ldr r6, _080AB1B8 @ =0x0000fff6 strh r6, [r4, 0x26] ldrb r0, [r7] - bl sub_807685C + bl GetBattlerSpriteSubpriority lsls r0, 24 lsrs r5, r0, 24 bl IsContest @@ -2408,7 +2408,7 @@ sub_80ABE4C: @ 80ABE4C lsrs r6, r0, 24 movs r5, 0xAC ldrb r0, [r4] - bl sub_807685C + bl GetBattlerSpriteSubpriority subs r0, 0x1 lsls r0, 24 lsrs r0, 24 @@ -3679,7 +3679,7 @@ _080AC826: strh r0, [r4, 0x30] ldr r0, _080AC870 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority subs r0, 0x1 adds r1, r4, 0 adds r1, 0x43 @@ -3737,7 +3737,7 @@ _080AC89C: strh r0, [r4, 0x30] ldr r0, _080AC8E8 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807685C + bl GetBattlerSpriteSubpriority subs r0, 0x1 adds r1, r4, 0 adds r1, 0x43 -- cgit v1.2.3 From 6a063cf74ad8168e9080c1f3be20e5dfe3c3187c Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 3 Aug 2019 06:55:42 +0800 Subject: ported battle_controller_opponent from pokeem and corrected lots of stuff --- asm/battle_2.s | 6 +- asm/battle_ai_switch_items.s | 14 +- asm/battle_anim.s | 4 +- asm/battle_anim_effects_1.s | 20 +- asm/battle_anim_effects_2.s | 30 +- asm/battle_anim_effects_3.s | 16 +- asm/battle_anim_mons.s | 28 +- asm/battle_controller_link_opponent.s | 60 +- asm/battle_controller_link_partner.s | 46 +- asm/battle_controller_oak.s | 44 +- asm/battle_controller_opponent.s | 6736 --------------------------------- asm/battle_controller_player.s | 46 +- asm/battle_controller_pokedude.s | 44 +- asm/battle_interface.s | 34 +- asm/battle_tower.s | 6 +- asm/bug.s | 12 +- asm/dragon.s | 4 +- asm/fighting.s | 12 +- asm/fire.s | 4 +- asm/flying.s | 4 +- asm/ground.s | 8 +- asm/ice.s | 4 +- asm/poison.s | 4 +- asm/rock.s | 4 +- asm/water.s | 8 +- 25 files changed, 231 insertions(+), 6967 deletions(-) delete mode 100644 asm/battle_controller_opponent.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index b206cc493..d4fb29c16 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -4061,8 +4061,8 @@ _08011E98: .4byte nullsub_10 _08011E9C: .4byte gUnknown_2022AE8 thumb_func_end sub_8011E3C - thumb_func_start sub_8011EA0 -sub_8011EA0: @ 8011EA0 + thumb_func_start SpriteCB_FaintOpponentMon +SpriteCB_FaintOpponentMon: @ 8011EA0 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -4201,7 +4201,7 @@ _08011F8C: .align 2, 0 _08011FAC: .4byte gUnknown_82349CC _08011FB0: .4byte sub_8011FB4 - thumb_func_end sub_8011EA0 + thumb_func_end SpriteCB_FaintOpponentMon thumb_func_start sub_8011FB4 sub_8011FB4: @ 8011FB4 diff --git a/asm/battle_ai_switch_items.s b/asm/battle_ai_switch_items.s index eb415e34e..58acf73c2 100644 --- a/asm/battle_ai_switch_items.s +++ b/asm/battle_ai_switch_items.s @@ -1379,8 +1379,8 @@ _08039C76: bx r1 thumb_func_end sub_8039A80 - thumb_func_start sub_8039C84 -sub_8039C84: @ 8039C84 + thumb_func_start AI_TrySwitchOrUseItem +AI_TrySwitchOrUseItem: @ 8039C84 push {r4-r6,lr} ldr r5, _08039CDC @ =gBattleTypeFlags ldr r0, [r5] @@ -1406,7 +1406,7 @@ _08039C94: ldrb r0, [r0] cmp r0, 0x6 bne _08039D5A - bl sub_8039E3C + bl GetMostSuitableMonToSwitchInto lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x6 @@ -1525,7 +1525,7 @@ _08039DA8: bx r0 .align 2, 0 _08039DB0: .4byte gActiveBattler - thumb_func_end sub_8039C84 + thumb_func_end AI_TrySwitchOrUseItem thumb_func_start sub_8039DB4 sub_8039DB4: @ 8039DB4 @@ -1600,8 +1600,8 @@ _08039E26: _08039E38: .4byte gUnknown_824F050 thumb_func_end sub_8039DB4 - thumb_func_start sub_8039E3C -sub_8039E3C: @ 8039E3C + thumb_func_start GetMostSuitableMonToSwitchInto +GetMostSuitableMonToSwitchInto: @ 8039E3C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2015,7 +2015,7 @@ _0803A188: .4byte gBattlerPartyIndexes _0803A18C: .4byte gBattleMoveDamage _0803A190: .4byte gActiveBattler _0803A194: .4byte gBattleMoves - thumb_func_end sub_8039E3C + thumb_func_end GetMostSuitableMonToSwitchInto thumb_func_start sub_803A198 sub_803A198: @ 803A198 diff --git a/asm/battle_anim.s b/asm/battle_anim.s index a79600e01..9d16e91e1 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -28,7 +28,7 @@ ClearBattleAnimationVars: @ 80724C0 ldr r0, _0807256C @ =gAnimMovePower movs r2, 0 strh r1, [r0] - ldr r0, _08072570 @ =gUnknown_2037EFE + ldr r0, _08072570 @ =gAnimFriendship strb r2, [r0] ldr r4, _08072574 @ =gUnknown_2037F14 ldr r5, _08072578 @ =gAnimMoveTurn @@ -91,7 +91,7 @@ _08072560: .4byte gUnknown_2037EE3 _08072564: .4byte gAnimDisableStructPtr _08072568: .4byte gAnimMoveDmg _0807256C: .4byte gAnimMovePower -_08072570: .4byte gUnknown_2037EFE +_08072570: .4byte gAnimFriendship _08072574: .4byte gUnknown_2037F14 _08072578: .4byte gAnimMoveTurn _0807257C: .4byte gUnknown_2037F17 diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s index 9045a447e..2d436f3ef 100644 --- a/asm/battle_anim_effects_1.s +++ b/asm/battle_anim_effects_1.s @@ -113,7 +113,7 @@ sub_80A2388: @ 80A2388 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] - ldr r0, _080A23D0 @ =sub_8075590 + ldr r0, _080A23D0 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] ldr r1, _080A23D4 @ =move_anim_8074EE0 adds r0, r4, 0 @@ -124,7 +124,7 @@ sub_80A2388: @ 80A2388 .align 2, 0 _080A23C8: .4byte gBattleAnimArgs _080A23CC: .4byte gBattleAnimAttacker -_080A23D0: .4byte sub_8075590 +_080A23D0: .4byte StartAnimLinearTranslation _080A23D4: .4byte move_anim_8074EE0 thumb_func_end sub_80A2388 @@ -153,7 +153,7 @@ sub_80A23D8: @ 80A23D8 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] - ldr r0, _080A2428 @ =sub_8075590 + ldr r0, _080A2428 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] ldr r1, _080A242C @ =DestroyAnimSprite adds r0, r4, 0 @@ -164,7 +164,7 @@ sub_80A23D8: @ 80A23D8 .align 2, 0 _080A2420: .4byte gBattleAnimArgs _080A2424: .4byte gBattleAnimTarget -_080A2428: .4byte sub_8075590 +_080A2428: .4byte StartAnimLinearTranslation _080A242C: .4byte DestroyAnimSprite thumb_func_end sub_80A23D8 @@ -5903,7 +5903,7 @@ _080A5004: asrs r0, 24 adds r4, r0 strh r4, [r5, 0x36] - ldr r0, _080A507C @ =sub_8075590 + ldr r0, _080A507C @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080A5080 @ =sub_80A5084 adds r0, r5, 0 @@ -5931,7 +5931,7 @@ _080A506A: bx r0 .align 2, 0 _080A5078: .4byte gUnknown_83E3548 -_080A507C: .4byte sub_8075590 +_080A507C: .4byte StartAnimLinearTranslation _080A5080: .4byte sub_80A5084 thumb_func_end sub_80A4FD4 @@ -6048,7 +6048,7 @@ _080A5118: lsrs r0, 24 adds r0, r6 strh r0, [r5, 0x36] - ldr r0, _080A516C @ =sub_8075590 + ldr r0, _080A516C @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080A5170 @ =sub_80A5220 adds r0, r5, 0 @@ -6059,7 +6059,7 @@ _080A5160: bx r0 .align 2, 0 _080A5168: .4byte gBattleAnimTarget -_080A516C: .4byte sub_8075590 +_080A516C: .4byte StartAnimLinearTranslation _080A5170: .4byte sub_80A5220 thumb_func_end sub_80A50B8 @@ -7711,7 +7711,7 @@ _080A5D90: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, _080A5DD8 @ =sub_8075590 + ldr r0, _080A5DD8 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080A5DDC @ =DestroyAnimSprite adds r0, r5, 0 @@ -7722,7 +7722,7 @@ _080A5DCC: bx r0 .align 2, 0 _080A5DD4: .4byte gBattleAnimAttacker -_080A5DD8: .4byte sub_8075590 +_080A5DD8: .4byte StartAnimLinearTranslation _080A5DDC: .4byte DestroyAnimSprite thumb_func_end sub_80A5D7C diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s index c4d4a043c..722ff51ba 100644 --- a/asm/battle_anim_effects_2.s +++ b/asm/battle_anim_effects_2.s @@ -286,14 +286,14 @@ sub_80A7058: @ 80A7058 ldrh r1, [r0, 0x22] adds r1, 0xF strh r1, [r0, 0x36] - ldr r1, _080A7078 @ =sub_8075590 + ldr r1, _080A7078 @ =StartAnimLinearTranslation str r1, [r0, 0x1C] ldr r1, _080A707C @ =sub_80A7080 bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 -_080A7078: .4byte sub_8075590 +_080A7078: .4byte StartAnimLinearTranslation _080A707C: .4byte sub_80A7080 thumb_func_end sub_80A7058 @@ -586,14 +586,14 @@ sub_80A72A0: @ 80A72A0 ldrh r1, [r0, 0x22] subs r1, 0x20 strh r1, [r0, 0x36] - ldr r1, _080A72C0 @ =sub_8075590 + ldr r1, _080A72C0 @ =StartAnimLinearTranslation str r1, [r0, 0x1C] ldr r1, _080A72C4 @ =DestroyAnimSprite bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 -_080A72C0: .4byte sub_8075590 +_080A72C0: .4byte StartAnimLinearTranslation _080A72C4: .4byte DestroyAnimSprite thumb_func_end sub_80A72A0 @@ -698,7 +698,7 @@ _080A7380: mov r0, r8 strh r0, [r5, 0x32] strh r7, [r5, 0x36] - ldr r0, _080A73C4 @ =sub_8075590 + ldr r0, _080A73C4 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080A73C8 @ =DestroyAnimSprite adds r0, r5, 0 @@ -714,7 +714,7 @@ _080A73B4: .4byte gBattleAnimAttacker _080A73B8: .4byte gBattleAnimArgs _080A73BC: .4byte gBattleAnimTarget _080A73C0: .4byte 0xffffa000 -_080A73C4: .4byte sub_8075590 +_080A73C4: .4byte StartAnimLinearTranslation _080A73C8: .4byte DestroyAnimSprite thumb_func_end sub_80A72C8 @@ -1764,7 +1764,7 @@ sub_80A7BC4: @ 80A7BC4 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x36] - ldr r0, _080A7C14 @ =sub_8075590 + ldr r0, _080A7C14 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] adds r2, r4, 0 adds r2, 0x2C @@ -1780,7 +1780,7 @@ sub_80A7BC4: @ 80A7BC4 bx r0 .align 2, 0 _080A7C10: .4byte gBattleAnimTarget -_080A7C14: .4byte sub_8075590 +_080A7C14: .4byte StartAnimLinearTranslation _080A7C18: .4byte sub_80A7C1C thumb_func_end sub_80A7BC4 @@ -1998,7 +1998,7 @@ _080A7D90: lsrs r0, 24 adds r0, r6 strh r0, [r5, 0x36] - ldr r0, _080A7DF0 @ =sub_8075590 + ldr r0, _080A7DF0 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080A7DF4 @ =sub_80A7DF8 adds r0, r5, 0 @@ -2013,7 +2013,7 @@ _080A7DE0: .4byte 0x0000ffe0 _080A7DE4: .4byte 0x0000fff0 _080A7DE8: .4byte gBattleAnimArgs _080A7DEC: .4byte gBattleAnimTarget -_080A7DF0: .4byte sub_8075590 +_080A7DF0: .4byte StartAnimLinearTranslation _080A7DF4: .4byte sub_80A7DF8 thumb_func_end sub_80A7D64 @@ -5442,7 +5442,7 @@ _080A9808: ldrh r1, [r4, 0x6] adds r0, r1 strh r0, [r5, 0x36] - ldr r0, _080A9858 @ =sub_8075590 + ldr r0, _080A9858 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080A985C @ =DestroyAnimSprite adds r0, r5, 0 @@ -5457,7 +5457,7 @@ _080A9808: .align 2, 0 _080A9850: .4byte gBattleAnimAttacker _080A9854: .4byte gBattleAnimArgs -_080A9858: .4byte sub_8075590 +_080A9858: .4byte StartAnimLinearTranslation _080A985C: .4byte DestroyAnimSprite thumb_func_end sub_80A97E8 @@ -7733,7 +7733,7 @@ _080AA9C6: str r0, [r6, 0x1C] strh r5, [r6, 0x2E] adds r0, r6, 0 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords movs r0, 0x5 strh r0, [r6, 0x32] strh r5, [r6, 0x36] @@ -7891,7 +7891,7 @@ _080AAB50: ldrh r0, [r5, 0x22] subs r0, 0x48 strh r0, [r5, 0x36] - ldr r0, _080AAB74 @ =sub_8075590 + ldr r0, _080AAB74 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080AAB78 @ =DestroyAnimSprite adds r0, r5, 0 @@ -7901,7 +7901,7 @@ _080AAB50: bx r0 .align 2, 0 _080AAB70: .4byte gBattleAnimAttacker -_080AAB74: .4byte sub_8075590 +_080AAB74: .4byte StartAnimLinearTranslation _080AAB78: .4byte DestroyAnimSprite thumb_func_end sub_80AAAE4 diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s index 0869b7481..d1356c619 100644 --- a/asm/battle_anim_effects_3.s +++ b/asm/battle_anim_effects_3.s @@ -265,7 +265,7 @@ _080DE49E: strh r0, [r5, 0x2E] strh r7, [r5, 0x32] strh r6, [r5, 0x36] - ldr r0, _080DE4D4 @ =sub_8075590 + ldr r0, _080DE4D4 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080DE4D8 @ =DestroyAnimSprite adds r0, r5, 0 @@ -277,7 +277,7 @@ _080DE49E: .align 2, 0 _080DE4CC: .4byte gBattleAnimTarget _080DE4D0: .4byte gBattleAnimArgs -_080DE4D4: .4byte sub_8075590 +_080DE4D4: .4byte StartAnimLinearTranslation _080DE4D8: .4byte DestroyAnimSprite thumb_func_end sub_80DE440 @@ -2404,7 +2404,7 @@ _080DF4C4: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, _080DF520 @ =sub_8075590 + ldr r0, _080DF520 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] _080DF510: pop {r4,r5} @@ -2413,7 +2413,7 @@ _080DF510: .align 2, 0 _080DF518: .4byte DestroyAnimSprite _080DF51C: .4byte gBattleAnimTarget -_080DF520: .4byte sub_8075590 +_080DF520: .4byte StartAnimLinearTranslation thumb_func_end sub_80DF468 thumb_func_start sub_80DF524 @@ -11173,7 +11173,7 @@ sub_80E38D8: @ 80E38D8 ldr r3, _080E3924 @ =gBattleAnimArgs movs r2, 0 strh r2, [r3, 0xE] - ldr r1, _080E3928 @ =gUnknown_2037EFE + ldr r1, _080E3928 @ =gAnimFriendship ldrb r0, [r1] ldrb r1, [r1] adds r0, r1, 0 @@ -11209,7 +11209,7 @@ _080E3918: bx r0 .align 2, 0 _080E3924: .4byte gBattleAnimArgs -_080E3928: .4byte gUnknown_2037EFE +_080E3928: .4byte gAnimFriendship thumb_func_end sub_80E38D8 thumb_func_start sub_80E392C @@ -12703,7 +12703,7 @@ sub_80E44EC: @ 80E44EC ldr r2, _080E4508 @ =gBattleAnimArgs movs r0, 0 strh r0, [r2, 0xE] - ldr r0, _080E450C @ =gUnknown_2037F00 + ldr r0, _080E450C @ =gWeatherMoveAnim ldrh r1, [r0] movs r0, 0x60 ands r0, r1 @@ -12713,7 +12713,7 @@ sub_80E44EC: @ 80E44EC b _080E4532 .align 2, 0 _080E4508: .4byte gBattleAnimArgs -_080E450C: .4byte gUnknown_2037F00 +_080E450C: .4byte gWeatherMoveAnim _080E4510: movs r0, 0x7 ands r0, r1 diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s index 59c16da0d..ddb5d6977 100644 --- a/asm/battle_anim_mons.s +++ b/asm/battle_anim_mons.s @@ -1715,8 +1715,8 @@ _080750F6: bx r1 thumb_func_end sub_80750C8 - thumb_func_start oamt_add_pos2_onto_pos1 -oamt_add_pos2_onto_pos1: @ 80750FC + thumb_func_start SetSpritePrimaryCoordsFromSecondaryCoords +SetSpritePrimaryCoordsFromSecondaryCoords: @ 80750FC ldrh r1, [r0, 0x24] ldrh r2, [r0, 0x20] adds r1, r2 @@ -1729,7 +1729,7 @@ oamt_add_pos2_onto_pos1: @ 80750FC strh r2, [r0, 0x24] strh r2, [r0, 0x26] bx lr - thumb_func_end oamt_add_pos2_onto_pos1 + thumb_func_end SetSpritePrimaryCoordsFromSecondaryCoords thumb_func_start sub_8075114 sub_8075114: @ 8075114 @@ -2347,8 +2347,8 @@ _08075574: _0807558C: .4byte 0x0000fffe thumb_func_end obj_translate_based_on_private_1_2_3_4 - thumb_func_start sub_8075590 -sub_8075590: @ 8075590 + thumb_func_start StartAnimLinearTranslation +StartAnimLinearTranslation: @ 8075590 push {r4,lr} adds r4, r0, 0 ldrh r0, [r4, 0x20] @@ -2366,7 +2366,7 @@ sub_8075590: @ 8075590 bx r0 .align 2, 0 _080755B4: .4byte sub_807563C - thumb_func_end sub_8075590 + thumb_func_end StartAnimLinearTranslation thumb_func_start sub_80755B8 sub_80755B8: @ 80755B8 @@ -3547,7 +3547,7 @@ _08075E30: ldrh r6, [r6, 0x6] adds r0, r6 strh r0, [r5, 0x36] - ldr r0, _08075E78 @ =sub_8075590 + ldr r0, _08075E78 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _08075E7C @ =DestroyAnimSprite adds r0, r5, 0 @@ -3559,7 +3559,7 @@ _08075E30: _08075E6C: .4byte gBattleAnimArgs _08075E70: .4byte gBattleAnimAttacker _08075E74: .4byte gBattleAnimTarget -_08075E78: .4byte sub_8075590 +_08075E78: .4byte StartAnimLinearTranslation _08075E7C: .4byte DestroyAnimSprite thumb_func_end sub_8075DF4 @@ -3701,7 +3701,7 @@ _08075F62: ldrh r4, [r4, 0x6] adds r0, r4 strh r0, [r5, 0x36] - ldr r0, _08075FB4 @ =sub_8075590 + ldr r0, _08075FB4 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _08075FB8 @ =DestroyAnimSprite adds r0, r5, 0 @@ -3713,7 +3713,7 @@ _08075F62: _08075FA8: .4byte gBattleAnimTarget _08075FAC: .4byte gBattleAnimAttacker _08075FB0: .4byte gBattleAnimArgs -_08075FB4: .4byte sub_8075590 +_08075FB4: .4byte StartAnimLinearTranslation _08075FB8: .4byte DestroyAnimSprite thumb_func_end sub_8075F0C @@ -4667,7 +4667,7 @@ sub_80766B8: @ 80766B8 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080766E4 @ =gUnknown_2037EFE + ldr r0, _080766E4 @ =gAnimFriendship ldrb r0, [r0] movs r1, 0 cmp r0, 0x1E @@ -4687,7 +4687,7 @@ _080766D6: pop {r0} bx r0 .align 2, 0 -_080766E4: .4byte gUnknown_2037EFE +_080766E4: .4byte gAnimFriendship _080766E8: .4byte gBattleAnimArgs thumb_func_end sub_80766B8 @@ -6327,7 +6327,7 @@ _08077390: subs r0, 0x50 _0807739E: strh r0, [r4, 0x22] - ldr r0, _080773B4 @ =sub_8075590 + ldr r0, _080773B4 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] ldr r1, _080773B8 @ =DestroyAnimSprite adds r0, r4, 0 @@ -6336,7 +6336,7 @@ _0807739E: pop {r0} bx r0 .align 2, 0 -_080773B4: .4byte sub_8075590 +_080773B4: .4byte StartAnimLinearTranslation _080773B8: .4byte DestroyAnimSprite thumb_func_end sub_8077350 diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index 406216216..7aba90e39 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -807,7 +807,7 @@ CompleteOnHealthbarDone_4: @ 803ACCC ldrb r1, [r1] movs r2, 0 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -825,7 +825,7 @@ CompleteOnHealthbarDone_4: @ 803ACCC adds r0, r5 ldrb r0, [r0] movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox b _0803AD18 .align 2, 0 _0803AD0C: .4byte gActiveBattler @@ -4256,7 +4256,7 @@ _0803C992: bl SetMultiuseSpriteTemplateToTrainerBack ldr r5, _0803CAD0 @ =gMultiuseSpriteTemplate adds r6, r7, 0 - ldr r1, _0803CAD4 @ =gUnknown_823932C + ldr r1, _0803CAD4 @ =gTrainerFrontPicCoords mov r2, r9 lsls r0, r2, 2 adds r0, r1 @@ -4391,7 +4391,7 @@ _0803C992: _0803CAC8: .4byte gFacilityClassToPicIndex _0803CACC: .4byte gActiveBattler _0803CAD0: .4byte gMultiuseSpriteTemplate -_0803CAD4: .4byte gUnknown_823932C +_0803CAD4: .4byte gTrainerFrontPicCoords _0803CAD8: .4byte gBattlerSpriteIds _0803CADC: .4byte gSprites _0803CAE0: .4byte 0x0000ff10 @@ -4425,7 +4425,7 @@ sub_803CB0C: @ 803CB0C lsls r0, 2 ldr r5, _0803CBA4 @ =gSprites adds r0, r5 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r4] adds r0, r6 ldrb r1, [r0] @@ -4463,7 +4463,7 @@ sub_803CB0C: @ 803CB0C adds r1, r5, 0 adds r1, 0x1C adds r0, r1 - ldr r1, _0803CBA8 @ =sub_8075590 + ldr r1, _0803CBA8 @ =StartAnimLinearTranslation str r1, [r0] ldrb r0, [r4] adds r0, r6 @@ -4487,7 +4487,7 @@ sub_803CB0C: @ 803CB0C _0803CB9C: .4byte gBattlerSpriteIds _0803CBA0: .4byte gActiveBattler _0803CBA4: .4byte gSprites -_0803CBA8: .4byte sub_8075590 +_0803CBA8: .4byte StartAnimLinearTranslation _0803CBAC: .4byte SpriteCallbackDummy _0803CBB0: .4byte gBattlerControllerFuncs _0803CBB4: .4byte sub_803A70C @@ -4557,7 +4557,7 @@ _0803CC0C: lsls r0, 2 adds r2, 0x1C adds r0, r2 - ldr r1, _0803CC58 @ =sub_8011EA0 + ldr r1, _0803CC58 @ =SpriteCB_FaintOpponentMon str r1, [r0] ldr r1, _0803CC5C @ =gBattlerControllerFuncs ldrb r0, [r5] @@ -4572,7 +4572,7 @@ _0803CC48: .align 2, 0 _0803CC50: .4byte gSprites _0803CC54: .4byte gBattlerSpriteIds -_0803CC58: .4byte sub_8011EA0 +_0803CC58: .4byte SpriteCB_FaintOpponentMon _0803CC5C: .4byte gBattlerControllerFuncs _0803CC60: .4byte sub_803AD20 thumb_func_end sub_803CBB8 @@ -4679,7 +4679,7 @@ _0803CCA6: lsls r1, 24 orrs r3, r1 str r3, [r4] - ldr r3, _0803CD8C @ =gUnknown_2037EFE + ldr r3, _0803CD8C @ =gAnimFriendship ldrb r1, [r6] lsls r1, 9 mov r2, r12 @@ -4687,7 +4687,7 @@ _0803CCA6: adds r1, r2 ldrb r1, [r1] strb r1, [r3] - ldr r4, _0803CD90 @ =gUnknown_2037F00 + ldr r4, _0803CD90 @ =gWeatherMoveAnim ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4728,8 +4728,8 @@ _0803CD7C: .4byte gBattleBufferA _0803CD80: .4byte gAnimMoveTurn _0803CD84: .4byte gAnimMovePower _0803CD88: .4byte gAnimMoveDmg -_0803CD8C: .4byte gUnknown_2037EFE -_0803CD90: .4byte gUnknown_2037F00 +_0803CD8C: .4byte gAnimFriendship +_0803CD90: .4byte gWeatherMoveAnim _0803CD94: .4byte gAnimDisableStructPtr _0803CD98: .4byte gTransformedPersonalities _0803CD9C: @@ -5531,8 +5531,8 @@ _0803D3AC: .4byte gActiveBattler _0803D3B0: .4byte gBattleBufferA thumb_func_end RecordedOpponentHandlePlaySE - thumb_func_start LinkOpponentHandlecmd44 -LinkOpponentHandlecmd44: @ 803D3B4 + thumb_func_start LinkOpponentHandlePlayFanfare +LinkOpponentHandlePlayFanfare: @ 803D3B4 push {lr} ldr r2, _0803D3DC @ =gBattleBufferA ldr r0, _0803D3E0 @ =gActiveBattler @@ -5553,7 +5553,7 @@ LinkOpponentHandlecmd44: @ 803D3B4 .align 2, 0 _0803D3DC: .4byte gBattleBufferA _0803D3E0: .4byte gActiveBattler - thumb_func_end LinkOpponentHandlecmd44 + thumb_func_end LinkOpponentHandlePlayFanfare thumb_func_start RecordedOpponentHandleFaintingCry RecordedOpponentHandleFaintingCry: @ 803D3E4 @@ -5622,7 +5622,7 @@ sub_803D454: @ 803D454 lsls r0, 2 ldr r4, _0803D53C @ =gSprites adds r0, r4 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r6] adds r0, r5 ldrb r1, [r0] @@ -5660,7 +5660,7 @@ sub_803D454: @ 803D454 adds r1, r4, 0 adds r1, 0x1C adds r0, r1 - ldr r1, _0803D540 @ =sub_8075590 + ldr r1, _0803D540 @ =StartAnimLinearTranslation str r1, [r0] ldrb r0, [r6] adds r0, r5 @@ -5696,14 +5696,14 @@ sub_803D454: @ 803D454 ands r0, r1 cmp r0, 0 beq _0803D516 - ldr r0, _0803D554 @ =gUnknown_2024000 + ldr r0, _0803D554 @ =gBattlerStatusSummaryTaskId adds r0, r2, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r4 - ldr r1, _0803D558 @ =sub_80491B0 + ldr r1, _0803D558 @ =Task_HidePartyStatusSummary str r1, [r0] _0803D516: ldr r0, [r3] @@ -5725,13 +5725,13 @@ _0803D516: _0803D534: .4byte gBattlerSpriteIds _0803D538: .4byte gActiveBattler _0803D53C: .4byte gSprites -_0803D540: .4byte sub_8075590 +_0803D540: .4byte StartAnimLinearTranslation _0803D544: .4byte sub_803D648 _0803D548: .4byte sub_803D564 _0803D54C: .4byte gTasks _0803D550: .4byte gBattleSpritesDataPtr -_0803D554: .4byte gUnknown_2024000 -_0803D558: .4byte sub_80491B0 +_0803D554: .4byte gBattlerStatusSummaryTaskId +_0803D558: .4byte Task_HidePartyStatusSummary _0803D55C: .4byte gBattlerControllerFuncs _0803D560: .4byte nullsub_19 thumb_func_end sub_803D454 @@ -5957,8 +5957,8 @@ _0803D718: subs r4, 0x2 adds r3, r4 ldrb r3, [r3] - bl sub_8048D14 - ldr r2, _0803D780 @ =gUnknown_2024000 + bl CreatePartyStatusSummarySprites + ldr r2, _0803D780 @ =gBattlerStatusSummaryTaskId ldrb r1, [r5] adds r1, r2 movs r3, 0 @@ -5999,7 +5999,7 @@ _0803D776: bx r0 .align 2, 0 _0803D77C: .4byte gUnknown_2022BC8 -_0803D780: .4byte gUnknown_2024000 +_0803D780: .4byte gBattlerStatusSummaryTaskId _0803D784: .4byte gBattleSpritesDataPtr _0803D788: .4byte gBattlerControllerFuncs _0803D78C: .4byte sub_803D790 @@ -6061,14 +6061,14 @@ RecordedOpponentHandleCmd49: @ 803D7D8 cmp r0, 0 beq _0803D80A ldr r2, _0803D81C @ =gTasks - ldr r0, _0803D820 @ =gUnknown_2024000 + ldr r0, _0803D820 @ =gBattlerStatusSummaryTaskId adds r0, r3, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r2 - ldr r1, _0803D824 @ =sub_80491B0 + ldr r1, _0803D824 @ =Task_HidePartyStatusSummary str r1, [r0] _0803D80A: bl RecordedOpponentBufferExecCompleted @@ -6078,8 +6078,8 @@ _0803D80A: _0803D814: .4byte gBattleSpritesDataPtr _0803D818: .4byte gActiveBattler _0803D81C: .4byte gTasks -_0803D820: .4byte gUnknown_2024000 -_0803D824: .4byte sub_80491B0 +_0803D820: .4byte gBattlerStatusSummaryTaskId +_0803D824: .4byte Task_HidePartyStatusSummary thumb_func_end RecordedOpponentHandleCmd49 thumb_func_start sub_803D828 diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 8644e651c..09aaf645c 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -495,7 +495,7 @@ sub_80D45D0: @ 80D45D0 ldrb r1, [r1] movs r2, 0 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -513,7 +513,7 @@ sub_80D45D0: @ 80D45D0 adds r0, r6 ldrb r0, [r0] movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox b _080D4632 .align 2, 0 _080D4610: .4byte gActiveBattler @@ -4016,7 +4016,7 @@ sub_80D6348: @ 80D6348 lsls r0, 2 ldr r5, _080D63DC @ =gSprites adds r0, r5 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r4] adds r0, r6 ldrb r1, [r0] @@ -4053,7 +4053,7 @@ sub_80D6348: @ 80D6348 adds r1, r5, 0 adds r1, 0x1C adds r0, r1 - ldr r1, _080D63E4 @ =sub_8075590 + ldr r1, _080D63E4 @ =StartAnimLinearTranslation str r1, [r0] ldrb r0, [r4] adds r0, r6 @@ -4078,7 +4078,7 @@ _080D63D4: .4byte gBattlerSpriteIds _080D63D8: .4byte gActiveBattler _080D63DC: .4byte gSprites _080D63E0: .4byte 0x0000ffd8 -_080D63E4: .4byte sub_8075590 +_080D63E4: .4byte StartAnimLinearTranslation _080D63E8: .4byte SpriteCallbackDummy _080D63EC: .4byte gBattlerControllerFuncs _080D63F0: .4byte sub_80D42A8 @@ -4300,7 +4300,7 @@ _080D6522: lsls r1, 24 orrs r3, r1 str r3, [r4] - ldr r3, _080D6608 @ =gUnknown_2037EFE + ldr r3, _080D6608 @ =gAnimFriendship ldrb r1, [r6] lsls r1, 9 mov r2, r12 @@ -4308,7 +4308,7 @@ _080D6522: adds r1, r2 ldrb r1, [r1] strb r1, [r3] - ldr r4, _080D660C @ =gUnknown_2037F00 + ldr r4, _080D660C @ =gWeatherMoveAnim ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4349,8 +4349,8 @@ _080D65F8: .4byte gBattleBufferA _080D65FC: .4byte gAnimMoveTurn _080D6600: .4byte gAnimMovePower _080D6604: .4byte gAnimMoveDmg -_080D6608: .4byte gUnknown_2037EFE -_080D660C: .4byte gUnknown_2037F00 +_080D6608: .4byte gAnimFriendship +_080D660C: .4byte gWeatherMoveAnim _080D6610: .4byte gAnimDisableStructPtr _080D6614: .4byte gTransformedPersonalities _080D6618: @@ -5244,7 +5244,7 @@ sub_80D6CD4: @ 80D6CD4 lsls r0, 2 ldr r4, _080D6DE4 @ =gSprites adds r0, r4 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r6] adds r0, r5 ldrb r1, [r0] @@ -5281,7 +5281,7 @@ sub_80D6CD4: @ 80D6CD4 adds r1, r4, 0 adds r1, 0x1C adds r0, r1 - ldr r1, _080D6DEC @ =sub_8075590 + ldr r1, _080D6DEC @ =StartAnimLinearTranslation str r1, [r0] ldrb r2, [r6] adds r0, r2, r5 @@ -5362,7 +5362,7 @@ _080D6DDC: .4byte gBattlerSpriteIds _080D6DE0: .4byte gActiveBattler _080D6DE4: .4byte gSprites _080D6DE8: .4byte 0x0000ffd8 -_080D6DEC: .4byte sub_8075590 +_080D6DEC: .4byte StartAnimLinearTranslation _080D6DF0: .4byte sub_80335F8 _080D6DF4: .4byte 0x0000d6f9 _080D6DF8: .4byte gLinkPlayers @@ -5425,14 +5425,14 @@ _080D6E0C: ands r0, r1 cmp r0, 0 beq _080D6E86 - ldr r0, _080D6EC0 @ =gUnknown_2024000 + ldr r0, _080D6EC0 @ =gBattlerStatusSummaryTaskId adds r0, r2, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r4 - ldr r1, _080D6EC4 @ =sub_80491B0 + ldr r1, _080D6EC4 @ =Task_HidePartyStatusSummary str r1, [r0] _080D6E86: ldr r0, [r3] @@ -5458,8 +5458,8 @@ _080D6EB0: .4byte gActiveBattler _080D6EB4: .4byte sub_80D6ED0 _080D6EB8: .4byte gTasks _080D6EBC: .4byte gBattleSpritesDataPtr -_080D6EC0: .4byte gUnknown_2024000 -_080D6EC4: .4byte sub_80491B0 +_080D6EC0: .4byte gBattlerStatusSummaryTaskId +_080D6EC4: .4byte Task_HidePartyStatusSummary _080D6EC8: .4byte gBattlerControllerFuncs _080D6ECC: .4byte nullsub_77 thumb_func_end sub_80D6CD4 @@ -5638,8 +5638,8 @@ _080D700C: subs r4, 0x2 adds r3, r4 ldrb r3, [r3] - bl sub_8048D14 - ldr r2, _080D7094 @ =gUnknown_2024000 + bl CreatePartyStatusSummarySprites + ldr r2, _080D7094 @ =gBattlerStatusSummaryTaskId ldrb r1, [r5] adds r1, r2 movs r3, 0 @@ -5681,7 +5681,7 @@ _080D7080: _080D7088: .4byte gBattleSpritesDataPtr _080D708C: .4byte gActiveBattler _080D7090: .4byte gUnknown_2022BC8 -_080D7094: .4byte gUnknown_2024000 +_080D7094: .4byte gBattlerStatusSummaryTaskId _080D7098: .4byte gBattlerControllerFuncs _080D709C: .4byte sub_80D70A0 thumb_func_end sub_80D6FDC @@ -5742,14 +5742,14 @@ sub_80D70E8: @ 80D70E8 cmp r0, 0 beq _080D711A ldr r2, _080D712C @ =gTasks - ldr r0, _080D7130 @ =gUnknown_2024000 + ldr r0, _080D7130 @ =gBattlerStatusSummaryTaskId adds r0, r3, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r2 - ldr r1, _080D7134 @ =sub_80491B0 + ldr r1, _080D7134 @ =Task_HidePartyStatusSummary str r1, [r0] _080D711A: bl sub_80D49E8 @@ -5759,8 +5759,8 @@ _080D711A: _080D7124: .4byte gBattleSpritesDataPtr _080D7128: .4byte gActiveBattler _080D712C: .4byte gTasks -_080D7130: .4byte gUnknown_2024000 -_080D7134: .4byte sub_80491B0 +_080D7130: .4byte gBattlerStatusSummaryTaskId +_080D7134: .4byte Task_HidePartyStatusSummary thumb_func_end sub_80D70E8 thumb_func_start sub_80D7138 diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 1c1838616..d4743e8a4 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -1362,7 +1362,7 @@ _080E807C: adds r0, r7, 0 movs r2, 0x1 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -2371,7 +2371,7 @@ sub_80E88C0: @ 80E88C0 ldrb r1, [r1] movs r2, 0 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -2389,7 +2389,7 @@ sub_80E88C0: @ 80E88C0 adds r0, r6 ldrb r0, [r0] movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox b _080E8922 .align 2, 0 _080E8900: .4byte gActiveBattler @@ -5529,7 +5529,7 @@ sub_80EA2B8: @ 80EA2B8 lsls r1, 24 orrs r3, r1 str r3, [r4] - ldr r3, _080EA3A0 @ =gUnknown_2037EFE + ldr r3, _080EA3A0 @ =gAnimFriendship ldrb r1, [r6] lsls r1, 9 mov r2, r12 @@ -5537,7 +5537,7 @@ sub_80EA2B8: @ 80EA2B8 adds r1, r2 ldrb r1, [r1] strb r1, [r3] - ldr r4, _080EA3A4 @ =gUnknown_2037F00 + ldr r4, _080EA3A4 @ =gWeatherMoveAnim ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -5578,8 +5578,8 @@ _080EA390: .4byte gActiveBattler _080EA394: .4byte gAnimMoveTurn _080EA398: .4byte gAnimMovePower _080EA39C: .4byte gAnimMoveDmg -_080EA3A0: .4byte gUnknown_2037EFE -_080EA3A4: .4byte gUnknown_2037F00 +_080EA3A0: .4byte gAnimFriendship +_080EA3A4: .4byte gWeatherMoveAnim _080EA3A8: .4byte gAnimDisableStructPtr _080EA3AC: .4byte gTransformedPersonalities _080EA3B0: @@ -6419,7 +6419,7 @@ _080EAA48: ldrb r0, [r0] movs r1, 0 movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox _080EAA82: ldr r1, _080EAAAC @ =gBattlerControllerFuncs ldr r0, _080EAAB0 @ =gActiveBattler @@ -6822,7 +6822,7 @@ _080EAD64: lsls r0, 2 ldr r5, _080EAEAC @ =gSprites adds r0, r5 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r7] adds r0, r6 ldrb r1, [r0] @@ -6859,7 +6859,7 @@ _080EAD64: adds r1, r5, 0 adds r1, 0x1C adds r0, r1 - ldr r1, _080EAEB4 @ =sub_8075590 + ldr r1, _080EAEB4 @ =StartAnimLinearTranslation str r1, [r0] ldrb r2, [r7] adds r0, r2, r6 @@ -6941,14 +6941,14 @@ _080EAD64: ands r0, r1 cmp r0, 0 beq _080EAE84 - ldr r0, _080EAED4 @ =gUnknown_2024000 + ldr r0, _080EAED4 @ =gBattlerStatusSummaryTaskId adds r0, r2, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r4 - ldr r1, _080EAED8 @ =sub_80491B0 + ldr r1, _080EAED8 @ =Task_HidePartyStatusSummary str r1, [r0] _080EAE84: ldr r0, [r3] @@ -6970,7 +6970,7 @@ _080EAEA4: .4byte gBattlerSpriteIds _080EAEA8: .4byte gActiveBattler _080EAEAC: .4byte gSprites _080EAEB0: .4byte 0x0000ffd8 -_080EAEB4: .4byte sub_8075590 +_080EAEB4: .4byte StartAnimLinearTranslation _080EAEB8: .4byte sub_80335F8 _080EAEBC: .4byte 0x0000d6f8 _080EAEC0: .4byte gUnknown_8239FD4 @@ -6978,8 +6978,8 @@ _080EAEC4: .4byte gSaveBlock2Ptr _080EAEC8: .4byte sub_80EB0A8 _080EAECC: .4byte gTasks _080EAED0: .4byte gBattleSpritesDataPtr -_080EAED4: .4byte gUnknown_2024000 -_080EAED8: .4byte sub_80491B0 +_080EAED4: .4byte gBattlerStatusSummaryTaskId +_080EAED8: .4byte Task_HidePartyStatusSummary _080EAEDC: .4byte gBattlerControllerFuncs _080EAEE0: .4byte nullsub_13 _080EAEE4: @@ -6998,14 +6998,14 @@ _080EAEE4: cmp r0, 0 beq _080EAF14 ldr r2, _080EAF28 @ =gTasks - ldr r0, _080EAF2C @ =gUnknown_2024000 + ldr r0, _080EAF2C @ =gBattlerStatusSummaryTaskId adds r0, r3, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r2 - ldr r1, _080EAF30 @ =sub_80491B0 + ldr r1, _080EAF30 @ =Task_HidePartyStatusSummary str r1, [r0] _080EAF14: bl WallyBufferExecCompleted @@ -7017,8 +7017,8 @@ _080EAF18: _080EAF20: .4byte gBattleSpritesDataPtr _080EAF24: .4byte gActiveBattler _080EAF28: .4byte gTasks -_080EAF2C: .4byte gUnknown_2024000 -_080EAF30: .4byte sub_80491B0 +_080EAF2C: .4byte gBattlerStatusSummaryTaskId +_080EAF30: .4byte Task_HidePartyStatusSummary thumb_func_end sub_80EAD54 thumb_func_start sub_80EAF34 @@ -7295,8 +7295,8 @@ _080EB14C: subs r3, 0x2 adds r4, r3 ldrb r3, [r4] - bl sub_8048D14 - ldr r2, _080EB19C @ =gUnknown_2024000 + bl CreatePartyStatusSummarySprites + ldr r2, _080EB19C @ =gBattlerStatusSummaryTaskId ldrb r1, [r5] adds r1, r2 strb r0, [r1] @@ -7309,7 +7309,7 @@ _080EB18A: _080EB190: .4byte gBattleSpritesDataPtr _080EB194: .4byte gActiveBattler _080EB198: .4byte gUnknown_2022BC8 -_080EB19C: .4byte gUnknown_2024000 +_080EB19C: .4byte gBattlerStatusSummaryTaskId thumb_func_end sub_80EB11C thumb_func_start sub_80EB1A0 diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s deleted file mode 100644 index 85f203998..000000000 --- a/asm/battle_controller_opponent.s +++ /dev/null @@ -1,6736 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_17 -nullsub_17: @ 8035A78 - bx lr - thumb_func_end nullsub_17 - - thumb_func_start SetControllerToOpponent -SetControllerToOpponent: @ 8035A7C - ldr r1, _08035A8C @ =gBattlerControllerFuncs - ldr r0, _08035A90 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035A94 @ =sub_8035A98 - str r1, [r0] - bx lr - .align 2, 0 -_08035A8C: .4byte gBattlerControllerFuncs -_08035A90: .4byte gActiveBattler -_08035A94: .4byte sub_8035A98 - thumb_func_end SetControllerToOpponent - - thumb_func_start sub_8035A98 -sub_8035A98: @ 8035A98 - push {lr} - ldr r2, _08035ACC @ =gBattleControllerExecFlags - ldr r1, _08035AD0 @ =gBitTable - ldr r0, _08035AD4 @ =gActiveBattler - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08035AE4 - ldr r0, _08035AD8 @ =gBattleBufferA - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _08035AE0 - ldr r0, _08035ADC @ =gUnknown_8250A34 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _08035AE4 - .align 2, 0 -_08035ACC: .4byte gBattleControllerExecFlags -_08035AD0: .4byte gBitTable -_08035AD4: .4byte gActiveBattler -_08035AD8: .4byte gBattleBufferA -_08035ADC: .4byte gUnknown_8250A34 -_08035AE0: - bl OpponentBufferExecCompleted -_08035AE4: - pop {r0} - bx r0 - thumb_func_end sub_8035A98 - - thumb_func_start sub_8035AE8 -sub_8035AE8: @ 8035AE8 - push {lr} - ldr r2, _08035B10 @ =gSprites - ldr r1, _08035B14 @ =gBattlerSpriteIds - ldr r0, _08035B18 @ =gActiveBattler - 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, _08035B1C @ =SpriteCallbackDummy - cmp r1, r0 - bne _08035B0C - bl OpponentBufferExecCompleted -_08035B0C: - pop {r0} - bx r0 - .align 2, 0 -_08035B10: .4byte gSprites -_08035B14: .4byte gBattlerSpriteIds -_08035B18: .4byte gActiveBattler -_08035B1C: .4byte SpriteCallbackDummy - thumb_func_end sub_8035AE8 - - thumb_func_start sub_8035B20 -sub_8035B20: @ 8035B20 - push {lr} - ldr r2, _08035B48 @ =gSprites - ldr r1, _08035B4C @ =gBattlerSpriteIds - ldr r0, _08035B50 @ =gActiveBattler - 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, _08035B54 @ =SpriteCallbackDummy - cmp r1, r0 - bne _08035B44 - bl OpponentBufferExecCompleted -_08035B44: - pop {r0} - bx r0 - .align 2, 0 -_08035B48: .4byte gSprites -_08035B4C: .4byte gBattlerSpriteIds -_08035B50: .4byte gActiveBattler -_08035B54: .4byte SpriteCallbackDummy - thumb_func_end sub_8035B20 - - thumb_func_start sub_8035B58 -sub_8035B58: @ 8035B58 - push {r4-r6,lr} - ldr r4, _08035BD0 @ =gSprites - ldr r6, _08035BD4 @ =gBattlerSpriteIds - ldr r5, _08035BD8 @ =gActiveBattler - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r2, r0, 2 - adds r0, r4, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, _08035BDC @ =SpriteCallbackDummy - cmp r1, r0 - bne _08035BC8 - adds r0, r2, r4 - ldrh r0, [r0, 0x6] - bl FreeTrainerFrontPicPaletteAndTile - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x38] - ldr r2, _08035BE0 @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08035BE4 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - bl OpponentBufferExecCompleted -_08035BC8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035BD0: .4byte gSprites -_08035BD4: .4byte gBattlerSpriteIds -_08035BD8: .4byte gActiveBattler -_08035BDC: .4byte SpriteCallbackDummy -_08035BE0: .4byte 0x000003ff -_08035BE4: .4byte 0xfffffc00 - thumb_func_end sub_8035B58 - - thumb_func_start sub_8035BE8 -sub_8035BE8: @ 8035BE8 - push {r4,lr} - ldr r4, _08035C28 @ =gBattleSpritesDataPtr - ldr r1, [r4] - ldr r3, _08035C2C @ =gActiveBattler - 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 _08035C20 - 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 OpponentBufferExecCompleted -_08035C20: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035C28: .4byte gBattleSpritesDataPtr -_08035C2C: .4byte gActiveBattler - thumb_func_end sub_8035BE8 - - thumb_func_start sub_8035C30 -sub_8035C30: @ 8035C30 - push {r4-r7,lr} - movs r6, 0 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08035C54 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08035C88 - ldr r0, _08035C74 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035C88 -_08035C54: - ldr r2, _08035C78 @ =gSprites - ldr r1, _08035C7C @ =gHealthboxSpriteIds - ldr r0, _08035C80 @ =gActiveBattler - 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, _08035C84 @ =SpriteCallbackDummy - cmp r1, r0 - bne _08035CBE - b _08035CBC - .align 2, 0 -_08035C74: .4byte gBattleTypeFlags -_08035C78: .4byte gSprites -_08035C7C: .4byte gHealthboxSpriteIds -_08035C80: .4byte gActiveBattler -_08035C84: .4byte SpriteCallbackDummy -_08035C88: - ldr r2, _08035D84 @ =gSprites - ldr r5, _08035D88 @ =gHealthboxSpriteIds - ldr r0, _08035D8C @ =gActiveBattler - 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, _08035D90 @ =SpriteCallbackDummy - cmp r4, r0 - bne _08035CBE - 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 _08035CBE -_08035CBC: - movs r6, 0x1 -_08035CBE: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _08035CCA - movs r6, 0 -_08035CCA: - cmp r6, 0 - bne _08035CD0 - b _08035DD2 -_08035CD0: - ldr r0, _08035D94 @ =gBattleSpritesDataPtr - mov r12, r0 - ldr r0, [r0] - ldr r7, _08035D8C @ =gActiveBattler - ldrb r2, [r7] - 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 _08035DD2 - movs r6, 0x2 - adds r1, r6, 0 - 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 _08035DD2 - ldrb r1, [r4] - movs r3, 0x7F - adds r0, r3, 0 - ands r0, r1 - strb r0, [r4] - mov r1, r12 - ldr r0, [r1] - 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 r4, 0x2 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0x1] - mov r0, r12 - ldr r2, [r0] - ldrb r0, [r7] - adds r1, r6, 0 - 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, r12 - ldr r2, [r1] - ldrb r0, [r7] - adds r1, r6, 0 - 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, _08035D98 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldr r0, _08035D9C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08035DA4 - ldr r0, _08035DA0 @ =gMPlayInfo_BGM - bl m4aMPlayContinue - b _08035DB0 - .align 2, 0 -_08035D84: .4byte gSprites -_08035D88: .4byte gHealthboxSpriteIds -_08035D8C: .4byte gActiveBattler -_08035D90: .4byte SpriteCallbackDummy -_08035D94: .4byte gBattleSpritesDataPtr -_08035D98: .4byte 0x000027f9 -_08035D9C: .4byte gBattleTypeFlags -_08035DA0: .4byte gMPlayInfo_BGM -_08035DA4: - ldr r0, _08035DD8 @ =gMPlayInfo_BGM - ldr r1, _08035DDC @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_08035DB0: - ldr r0, _08035DE0 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r3, _08035DE4 @ =gActiveBattler - 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, _08035DE8 @ =gBattlerControllerFuncs - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035DEC @ =sub_8035BE8 - str r1, [r0] -_08035DD2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035DD8: .4byte gMPlayInfo_BGM -_08035DDC: .4byte 0x0000ffff -_08035DE0: .4byte gBattleSpritesDataPtr -_08035DE4: .4byte gActiveBattler -_08035DE8: .4byte gBattlerControllerFuncs -_08035DEC: .4byte sub_8035BE8 - thumb_func_end sub_8035C30 - - thumb_func_start sub_8035DF0 -sub_8035DF0: @ 8035DF0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, _08035FC0 @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r1, _08035FC4 @ =gActiveBattler - mov r9, r1 - ldrb r2, [r1] - 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 _08035E2C - ldr r0, _08035FC8 @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08035FCC @ =gEnemyParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_08035E2C: - ldr r1, [r4] - mov r2, r9 - ldrb r0, [r2] - movs r7, 0x2 - adds r2, r7, 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 _08035E60 - ldr r0, _08035FC8 @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08035FCC @ =gEnemyParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_08035E60: - ldr r0, [r4] - 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] - movs r4, 0x8 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08035E7E - b _08035FB4 -_08035E7E: - adds r1, r7, 0 - eors r1, r2 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08035E96 - b _08035FB4 -_08035E96: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08035F28 - ldr r0, _08035FD0 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08035F28 - ldr r1, _08035FD4 @ =gUnknown_3004FFC - mov r2, r9 - ldrb r0, [r2] - eors r0, r7 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08035FD8 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, _08035FDC @ =gHealthboxSpriteIds - mov r1, r9 - ldrb r0, [r1] - adds r1, r7, 0 - eors r1, r0 - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _08035FC8 @ =gBattlerPartyIndexes - mov r8, r2 - lsls r1, 1 - add r1, r8 - ldrh r1, [r1] - movs r6, 0x64 - muls r1, r6 - ldr r5, _08035FCC @ =gEnemyParty - adds r1, r5 - movs r2, 0 - bl UpdateHealthboxAttribute - mov r1, r9 - ldrb r0, [r1] - eors r0, r7 - bl sub_804BD94 - mov r2, r9 - ldrb r0, [r2] - eors r0, r7 - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - mov r1, r9 - ldrb r0, [r1] - adds r4, r7, 0 - eors r4, r0 - lsls r0, r4, 1 - add r0, r8 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback -_08035F28: - ldr r1, _08035FD4 @ =gUnknown_3004FFC - ldr r5, _08035FC4 @ =gActiveBattler - ldrb r0, [r5] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08035FD8 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, _08035FDC @ =gHealthboxSpriteIds - ldrb r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _08035FC8 @ =gBattlerPartyIndexes - mov r9, r2 - lsls r1, 1 - add r1, r9 - ldrh r1, [r1] - movs r2, 0x64 - mov r8, r2 - mov r2, r8 - muls r2, r1 - adds r1, r2, 0 - ldr r6, _08035FCC @ =gEnemyParty - adds r1, r6 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r5] - bl sub_804BD94 - ldrb r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldrb r4, [r5] - lsls r0, r4, 1 - add r0, r9 - ldrh r0, [r0] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback - ldr r0, _08035FC0 @ =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, _08035FE0 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08035FE4 @ =sub_8035C30 - str r1, [r0] -_08035FB4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035FC0: .4byte gBattleSpritesDataPtr -_08035FC4: .4byte gActiveBattler -_08035FC8: .4byte gBattlerPartyIndexes -_08035FCC: .4byte gEnemyParty -_08035FD0: .4byte gBattleTypeFlags -_08035FD4: .4byte gUnknown_3004FFC -_08035FD8: .4byte gSprites -_08035FDC: .4byte gHealthboxSpriteIds -_08035FE0: .4byte gBattlerControllerFuncs -_08035FE4: .4byte sub_8035C30 - thumb_func_end sub_8035DF0 - - thumb_func_start sub_8035FE8 -sub_8035FE8: @ 8035FE8 - push {r4-r7,lr} - ldr r2, _08036044 @ =gSprites - ldr r0, _08036048 @ =gBattlerSpriteIds - ldr r7, _0803604C @ =gActiveBattler - ldrb r3, [r7] - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - lsrs r2, r0, 31 - cmp r2, 0x1 - bne _08036094 - movs r4, 0x24 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _08036094 - ldr r6, _08036050 @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r1, [r0, 0x4] - lsls r4, r3, 1 - adds r0, r4, r3 - lsls r0, 2 - adds r1, r0, r1 - ldrb r5, [r1] - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - bne _0803605C - ldr r0, _08036054 @ =gBattlerPartyIndexes - adds r0, r4, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08036058 @ =gEnemyParty - adds r1, r0 - adds r0, r3, 0 - bl sub_80F1720 - b _08036094 - .align 2, 0 -_08036044: .4byte gSprites -_08036048: .4byte gBattlerSpriteIds -_0803604C: .4byte gActiveBattler -_08036050: .4byte gBattleSpritesDataPtr -_08036054: .4byte gBattlerPartyIndexes -_08036058: .4byte gEnemyParty -_0803605C: - ldrb r0, [r1, 0x1] - ands r2, r0 - cmp r2, 0 - beq _08036094 - movs r0, 0x7F - ands r0, r5 - strb r0, [r1] - ldr r0, [r6] - 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, _0803609C @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - bl OpponentBufferExecCompleted -_08036094: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803609C: .4byte 0x000027f9 - thumb_func_end sub_8035FE8 - - thumb_func_start sub_80360A0 -sub_80360A0: @ 80360A0 - push {r4-r6,lr} - ldr r6, _080360E0 @ =gActiveBattler - ldrb r0, [r6] - ldr r5, _080360E4 @ =gHealthboxSpriteIds - adds r1, r0, r5 - ldrb r1, [r1] - movs r2, 0 - movs r3, 0 - bl sub_8049FD8 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r6] - adds r0, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - lsls r4, 16 - asrs r1, r4, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080360E8 - ldrb r0, [r6] - adds r0, r5 - ldrb r0, [r0] - movs r2, 0 - bl sub_8048440 - b _08036124 - .align 2, 0 -_080360E0: .4byte gActiveBattler -_080360E4: .4byte gHealthboxSpriteIds -_080360E8: - movs r0, 0x1 - bl sub_80EB2E0 - lsls r0, 24 - cmp r0, 0 - bne _08036120 - ldr r0, _08036114 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08036120 - movs r0, 0x1 - bl sub_80EB2F4 - ldr r0, _08036118 @ =gBattlerControllerFuncs - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _0803611C @ =sub_80E8570 - str r0, [r1] - b _08036124 - .align 2, 0 -_08036114: .4byte gBattleTypeFlags -_08036118: .4byte gBattlerControllerFuncs -_0803611C: .4byte sub_80E8570 -_08036120: - bl OpponentBufferExecCompleted -_08036124: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80360A0 - - thumb_func_start sub_803612C -sub_803612C: @ 803612C - push {lr} - ldr r2, _08036160 @ =gSprites - ldr r0, _08036164 @ =gBattlerSpriteIds - ldr r1, _08036168 @ =gActiveBattler - ldrb r3, [r1] - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0803615A - ldr r0, _0803616C @ =gHealthboxSpriteIds - adds r0, r3, r0 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl OpponentBufferExecCompleted -_0803615A: - pop {r0} - bx r0 - .align 2, 0 -_08036160: .4byte gSprites -_08036164: .4byte gBattlerSpriteIds -_08036168: .4byte gActiveBattler -_0803616C: .4byte gHealthboxSpriteIds - thumb_func_end sub_803612C - - thumb_func_start sub_8036170 -sub_8036170: @ 8036170 - push {r4-r6,lr} - ldr r0, _080361D0 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r6, _080361D4 @ =gActiveBattler - 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 _080361CA - ldr r5, _080361D8 @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080361DC @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldrb r0, [r6] - bl HideBattlerShadowSprite - ldr r1, _080361E0 @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl OpponentBufferExecCompleted -_080361CA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080361D0: .4byte gBattleSpritesDataPtr -_080361D4: .4byte gActiveBattler -_080361D8: .4byte gBattlerSpriteIds -_080361DC: .4byte gSprites -_080361E0: .4byte gHealthboxSpriteIds - thumb_func_end sub_8036170 - - thumb_func_start sub_80361E4 -sub_80361E4: @ 80361E4 - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080361F6 - bl OpponentBufferExecCompleted -_080361F6: - pop {r0} - bx r0 - thumb_func_end sub_80361E4 - - thumb_func_start sub_80361FC -sub_80361FC: @ 80361FC - push {r4,lr} - ldr r1, _08036238 @ =gBattlerSpriteIds - ldr r0, _0803623C @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _08036240 @ =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 _08036248 - 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, _08036244 @ =gDoingBattleAnim - strb r3, [r0] - bl OpponentBufferExecCompleted - b _08036272 - .align 2, 0 -_08036238: .4byte gBattlerSpriteIds -_0803623C: .4byte gActiveBattler -_08036240: .4byte gSprites -_08036244: .4byte gDoingBattleAnim -_08036248: - ldrh r0, [r4, 0x30] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0803626C - 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] -_0803626C: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_08036272: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80361FC - - thumb_func_start sub_8036278 -sub_8036278: @ 8036278 - push {r4,lr} - ldr r2, _080362CC @ =gSprites - ldr r0, _080362D0 @ =gHealthboxSpriteIds - ldr r4, _080362D4 @ =gActiveBattler - 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, _080362D8 @ =SpriteCallbackDummy - cmp r1, r0 - bne _080362C4 - ldr r0, _080362DC @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080362B8 - adds r0, r3, 0 - adds r1, r3, 0 - adds r2, r3, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation -_080362B8: - ldr r0, _080362E0 @ =gBattlerControllerFuncs - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _080362E4 @ =sub_80362E8 - str r0, [r1] -_080362C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080362CC: .4byte gSprites -_080362D0: .4byte gHealthboxSpriteIds -_080362D4: .4byte gActiveBattler -_080362D8: .4byte SpriteCallbackDummy -_080362DC: .4byte gBattleSpritesDataPtr -_080362E0: .4byte gBattlerControllerFuncs -_080362E4: .4byte sub_80362E8 - thumb_func_end sub_8036278 - - thumb_func_start sub_80362E8 -sub_80362E8: @ 80362E8 - push {lr} - ldr r0, _08036324 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _08036328 @ =gActiveBattler - 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 _08036320 - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _08036320 - ldr r0, _0803632C @ =gMPlayInfo_BGM - ldr r1, _08036330 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - bl OpponentBufferExecCompleted -_08036320: - pop {r0} - bx r0 - .align 2, 0 -_08036324: .4byte gBattleSpritesDataPtr -_08036328: .4byte gActiveBattler -_0803632C: .4byte gMPlayInfo_BGM -_08036330: .4byte 0x0000ffff - thumb_func_end sub_80362E8 - - thumb_func_start sub_8036334 -sub_8036334: @ 8036334 - push {r4,r5,lr} - ldr r3, _080363E0 @ =gBattleSpritesDataPtr - ldr r0, [r3] - ldr r5, _080363E4 @ =gActiveBattler - ldrb r1, [r5] - 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 _080363D8 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - 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 r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - ldr r4, _080363E8 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldr r1, _080363EC @ =gBattlerSpriteIds - ldrb r0, [r5] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080363F0 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - ldr r4, _080363F4 @ =gHealthboxSpriteIds - ldrb r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _080363F8 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080363FC @ =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r5] - bl sub_804BD94 - ldrb r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldrb r0, [r5] - bl CopyBattleSpriteInvisibility - ldr r1, _08036400 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08036404 @ =sub_8036278 - str r1, [r0] -_080363D8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080363E0: .4byte gBattleSpritesDataPtr -_080363E4: .4byte gActiveBattler -_080363E8: .4byte 0x000027f9 -_080363EC: .4byte gBattlerSpriteIds -_080363F0: .4byte gSprites -_080363F4: .4byte gHealthboxSpriteIds -_080363F8: .4byte gBattlerPartyIndexes -_080363FC: .4byte gEnemyParty -_08036400: .4byte gBattlerControllerFuncs -_08036404: .4byte sub_8036278 - thumb_func_end sub_8036334 - - thumb_func_start sub_8036408 -sub_8036408: @ 8036408 - push {r4-r6,lr} - ldr r6, _080364AC @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r5, _080364B0 @ =gActiveBattler - 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 _0803643A - ldr r0, _080364B4 @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080364B8 @ =gEnemyParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_0803643A: - ldr r4, _080364BC @ =gSprites - ldr r0, _080364C0 @ =gUnknown_3004FFC - 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, _080364C4 @ =SpriteCallbackDummy - cmp r1, r0 - bne _080364A4 - 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 _080364A4 - adds r0, r3, r4 - bl DestroySprite - ldrb r4, [r5] - ldr r1, _080364B4 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080364B8 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback - ldr r1, _080364C8 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080364CC @ =sub_8036334 - str r1, [r0] -_080364A4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080364AC: .4byte gBattleSpritesDataPtr -_080364B0: .4byte gActiveBattler -_080364B4: .4byte gBattlerPartyIndexes -_080364B8: .4byte gEnemyParty -_080364BC: .4byte gSprites -_080364C0: .4byte gUnknown_3004FFC -_080364C4: .4byte SpriteCallbackDummy -_080364C8: .4byte gBattlerControllerFuncs -_080364CC: .4byte sub_8036334 - thumb_func_end sub_8036408 - - thumb_func_start sub_80364D0 -sub_80364D0: @ 80364D0 - push {lr} - ldr r0, _080364F8 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080364FC @ =gActiveBattler - 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 _080364F2 - bl OpponentBufferExecCompleted -_080364F2: - pop {r0} - bx r0 - .align 2, 0 -_080364F8: .4byte gBattleSpritesDataPtr -_080364FC: .4byte gActiveBattler - thumb_func_end sub_80364D0 - - thumb_func_start sub_8036500 -sub_8036500: @ 8036500 - push {lr} - ldr r0, _08036528 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _0803652C @ =gActiveBattler - 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 _08036522 - bl OpponentBufferExecCompleted -_08036522: - pop {r0} - bx r0 - .align 2, 0 -_08036528: .4byte gBattleSpritesDataPtr -_0803652C: .4byte gActiveBattler - thumb_func_end sub_8036500 - - thumb_func_start OpponentBufferExecCompleted -OpponentBufferExecCompleted: @ 8036530 - ldr r1, _08036554 @ =gBattlerControllerFuncs - ldr r2, _08036558 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803655C @ =sub_8035A98 - str r1, [r0] - ldr r3, _08036560 @ =gBattleControllerExecFlags - ldr r1, _08036564 @ =gBitTable - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r3] - bics r0, r1 - str r0, [r3] - bx lr - .align 2, 0 -_08036554: .4byte gBattlerControllerFuncs -_08036558: .4byte gActiveBattler -_0803655C: .4byte sub_8035A98 -_08036560: .4byte gBattleControllerExecFlags -_08036564: .4byte gBitTable - thumb_func_end OpponentBufferExecCompleted - - thumb_func_start OpponentHandleGetAttributes -OpponentHandleGetAttributes: @ 8036568 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _08036594 @ =gBattleBufferA - ldr r0, _08036598 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080365A0 - ldr r0, _0803659C @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl sub_80365DC - adds r6, r0, 0 - b _080365C2 - .align 2, 0 -_08036594: .4byte gBattleBufferA -_08036598: .4byte gActiveBattler -_0803659C: .4byte gBattlerPartyIndexes -_080365A0: - ldrb r4, [r1] - movs r5, 0 -_080365A4: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080365BA - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl sub_80365DC - adds r6, r0 -_080365BA: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _080365A4 -_080365C2: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl BtlController_EmitDataTransfer - bl OpponentBufferExecCompleted - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end OpponentHandleGetAttributes - - thumb_func_start sub_80365DC -sub_80365DC: @ 80365DC - 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, _08036610 @ =gBattleBufferA - ldr r3, _08036614 @ =gActiveBattler - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _08036606 - bl _08036D72 -_08036606: - lsls r0, 2 - ldr r1, _08036618 @ =_0803661C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036610: .4byte gBattleBufferA -_08036614: .4byte gActiveBattler -_08036618: .4byte _0803661C - .align 2, 0 -_0803661C: - .4byte _0803670C - .4byte _08036930 - .4byte _08036940 - .4byte _08036950 - .4byte _080369B8 - .4byte _080369B8 - .4byte _080369B8 - .4byte _080369B8 - .4byte _080369D4 - .4byte _08036A10 - .4byte _08036A10 - .4byte _08036A10 - .4byte _08036A10 - .4byte _08036D72 - .4byte _08036D72 - .4byte _08036D72 - .4byte _08036D72 - .4byte _08036A2C - .4byte _08036A3C - .4byte _08036A6C - .4byte _08036A7C - .4byte _08036A8C - .4byte _08036A9C - .4byte _08036AAC - .4byte _08036ABC - .4byte _08036ACC - .4byte _08036ADC - .4byte _08036AEC - .4byte _08036AFC - .4byte _08036B0C - .4byte _08036B1C - .4byte _08036B2C - .4byte _08036B7C - .4byte _08036B8C - .4byte _08036B9C - .4byte _08036BAC - .4byte _08036BBC - .4byte _08036BCC - .4byte _08036BDC - .4byte _08036BEC - .4byte _08036BFC - .4byte _08036C30 - .4byte _08036C40 - .4byte _08036C50 - .4byte _08036C60 - .4byte _08036C70 - .4byte _08036C80 - .4byte _08036C90 - .4byte _08036CA0 - .4byte _08036CC0 - .4byte _08036CD0 - .4byte _08036CE0 - .4byte _08036CF0 - .4byte _08036D00 - .4byte _08036D10 - .4byte _08036D20 - .4byte _08036D30 - .4byte _08036D40 - .4byte _08036D50 - .4byte _08036D60 -_0803670C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08036920 @ =gEnemyParty - 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 -_08036758: - 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 _08036758 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08036920 @ =gEnemyParty - 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, _08036924 @ =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, _08036928 @ =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, _0803692C @ =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 -_08036910: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _08036910 - b _08036D72 - .align 2, 0 -_08036920: .4byte gEnemyParty -_08036924: .4byte 0xfffffc1f -_08036928: .4byte 0xfff07fff -_0803692C: .4byte 0xfffffe0f -_08036930: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803693C @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - b _08036CAA - .align 2, 0 -_0803693C: .4byte gEnemyParty -_08036940: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803694C @ =gEnemyParty - adds r0, r1 - movs r1, 0xC - b _08036CAA - .align 2, 0 -_0803694C: .4byte gEnemyParty -_08036950: - 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, _080369B4 @ =gEnemyParty - adds r4, r1, r0 - mov r8, r9 -_08036966: - 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 _08036966 - movs r0, 0x64 - muls r0, r5 - ldr r1, _080369B4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_080369A4: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _080369A4 - b _08036D72 - .align 2, 0 -_080369B4: .4byte gEnemyParty -_080369B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080369D0 @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _08036CAA - .align 2, 0 -_080369D0: .4byte gEnemyParty -_080369D4: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _08036A0C @ =gEnemyParty - mov r8, r2 -_080369E0: - 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 _080369E0 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036A0C @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _08036D72 - .align 2, 0 -_08036A0C: .4byte gEnemyParty -_08036A10: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036A28 @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _08036D6A - .align 2, 0 -_08036A28: .4byte gEnemyParty -_08036A2C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036A38 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1 - b _08036A46 - .align 2, 0 -_08036A38: .4byte gEnemyParty -_08036A3C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036A68 @ =gEnemyParty - adds r0, r1 - movs r1, 0x19 -_08036A46: - 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 _08036D72 - .align 2, 0 -_08036A68: .4byte gEnemyParty -_08036A6C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036A78 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1A - b _08036D6A - .align 2, 0 -_08036A78: .4byte gEnemyParty -_08036A7C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036A88 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1B - b _08036D6A - .align 2, 0 -_08036A88: .4byte gEnemyParty -_08036A8C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036A98 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1C - b _08036D6A - .align 2, 0 -_08036A98: .4byte gEnemyParty -_08036A9C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036AA8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1D - b _08036D6A - .align 2, 0 -_08036AA8: .4byte gEnemyParty -_08036AAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036AB8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1E - b _08036D6A - .align 2, 0 -_08036AB8: .4byte gEnemyParty -_08036ABC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036AC8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x1F - b _08036D6A - .align 2, 0 -_08036AC8: .4byte gEnemyParty -_08036ACC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036AD8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x20 - b _08036D6A - .align 2, 0 -_08036AD8: .4byte gEnemyParty -_08036ADC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036AE8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x22 - b _08036D6A - .align 2, 0 -_08036AE8: .4byte gEnemyParty -_08036AEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036AF8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x23 - b _08036D6A - .align 2, 0 -_08036AF8: .4byte gEnemyParty -_08036AFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036B08 @ =gEnemyParty - adds r0, r1 - movs r1, 0x24 - b _08036D6A - .align 2, 0 -_08036B08: .4byte gEnemyParty -_08036B0C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036B18 @ =gEnemyParty - adds r0, r1 - movs r1, 0x25 - b _08036D6A - .align 2, 0 -_08036B18: .4byte gEnemyParty -_08036B1C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036B28 @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - b _08036D6A - .align 2, 0 -_08036B28: .4byte gEnemyParty -_08036B2C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08036B78 @ =gEnemyParty - 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 _08036D72 - .align 2, 0 -_08036B78: .4byte gEnemyParty -_08036B7C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036B88 @ =gEnemyParty - adds r0, r1 - movs r1, 0x27 - b _08036D6A - .align 2, 0 -_08036B88: .4byte gEnemyParty -_08036B8C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036B98 @ =gEnemyParty - adds r0, r1 - movs r1, 0x28 - b _08036D6A - .align 2, 0 -_08036B98: .4byte gEnemyParty -_08036B9C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036BA8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x29 - b _08036D6A - .align 2, 0 -_08036BA8: .4byte gEnemyParty -_08036BAC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036BB8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2A - b _08036D6A - .align 2, 0 -_08036BB8: .4byte gEnemyParty -_08036BBC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036BC8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2B - b _08036D6A - .align 2, 0 -_08036BC8: .4byte gEnemyParty -_08036BCC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036BD8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - b _08036D6A - .align 2, 0 -_08036BD8: .4byte gEnemyParty -_08036BDC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036BE8 @ =gEnemyParty - adds r0, r1 - movs r1, 0 - b _08036C06 - .align 2, 0 -_08036BE8: .4byte gEnemyParty -_08036BEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036BF8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x9 - b _08036CAA - .align 2, 0 -_08036BF8: .4byte gEnemyParty -_08036BFC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C2C @ =gEnemyParty - adds r0, r1 - movs r1, 0x37 -_08036C06: - 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 _08036D72 - .align 2, 0 -_08036C2C: .4byte gEnemyParty -_08036C30: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C3C @ =gEnemyParty - adds r0, r1 - movs r1, 0x38 - b _08036D6A - .align 2, 0 -_08036C3C: .4byte gEnemyParty -_08036C40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C4C @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - b _08036CAA - .align 2, 0 -_08036C4C: .4byte gEnemyParty -_08036C50: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C5C @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - b _08036CAA - .align 2, 0 -_08036C5C: .4byte gEnemyParty -_08036C60: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C6C @ =gEnemyParty - adds r0, r1 - movs r1, 0x3B - b _08036CAA - .align 2, 0 -_08036C6C: .4byte gEnemyParty -_08036C70: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C7C @ =gEnemyParty - adds r0, r1 - movs r1, 0x3C - b _08036CAA - .align 2, 0 -_08036C7C: .4byte gEnemyParty -_08036C80: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C8C @ =gEnemyParty - adds r0, r1 - movs r1, 0x3D - b _08036CAA - .align 2, 0 -_08036C8C: .4byte gEnemyParty -_08036C90: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036C9C @ =gEnemyParty - adds r0, r1 - movs r1, 0x3E - b _08036CAA - .align 2, 0 -_08036C9C: .4byte gEnemyParty -_08036CA0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036CBC @ =gEnemyParty - adds r0, r1 - movs r1, 0x3F -_08036CAA: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _08036D72 - .align 2, 0 -_08036CBC: .4byte gEnemyParty -_08036CC0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036CCC @ =gEnemyParty - adds r0, r1 - movs r1, 0x16 - b _08036D6A - .align 2, 0 -_08036CCC: .4byte gEnemyParty -_08036CD0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036CDC @ =gEnemyParty - adds r0, r1 - movs r1, 0x17 - b _08036D6A - .align 2, 0 -_08036CDC: .4byte gEnemyParty -_08036CE0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036CEC @ =gEnemyParty - adds r0, r1 - movs r1, 0x18 - b _08036D6A - .align 2, 0 -_08036CEC: .4byte gEnemyParty -_08036CF0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036CFC @ =gEnemyParty - adds r0, r1 - movs r1, 0x21 - b _08036D6A - .align 2, 0 -_08036CFC: .4byte gEnemyParty -_08036D00: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036D0C @ =gEnemyParty - adds r0, r1 - movs r1, 0x2F - b _08036D6A - .align 2, 0 -_08036D0C: .4byte gEnemyParty -_08036D10: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036D1C @ =gEnemyParty - adds r0, r1 - movs r1, 0x30 - b _08036D6A - .align 2, 0 -_08036D1C: .4byte gEnemyParty -_08036D20: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036D2C @ =gEnemyParty - adds r0, r1 - movs r1, 0x32 - b _08036D6A - .align 2, 0 -_08036D2C: .4byte gEnemyParty -_08036D30: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036D3C @ =gEnemyParty - adds r0, r1 - movs r1, 0x33 - b _08036D6A - .align 2, 0 -_08036D3C: .4byte gEnemyParty -_08036D40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036D4C @ =gEnemyParty - adds r0, r1 - movs r1, 0x34 - b _08036D6A - .align 2, 0 -_08036D4C: .4byte gEnemyParty -_08036D50: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036D5C @ =gEnemyParty - adds r0, r1 - movs r1, 0x35 - b _08036D6A - .align 2, 0 -_08036D5C: .4byte gEnemyParty -_08036D60: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08036D84 @ =gEnemyParty - adds r0, r1 - movs r1, 0x36 -_08036D6A: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_08036D72: - 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 - .align 2, 0 -_08036D84: .4byte gEnemyParty - thumb_func_end sub_80365DC - - thumb_func_start OpponentHandlecmd1 -OpponentHandlecmd1: @ 8036D88 - push {r4-r7,lr} - sub sp, 0x58 - ldr r2, _08036E00 @ =gBattlerPartyIndexes - ldr r5, _08036E04 @ =gActiveBattler - 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, _08036E08 @ =gBattleBufferA - lsls r1, 9 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r2, [r0] - ldr r0, _08036E0C @ =gEnemyParty - 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 _08036DDE - adds r3, r0, 0 -_08036DC4: - 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 _08036DC4 -_08036DDE: - 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 BtlController_EmitDataTransfer - bl OpponentBufferExecCompleted - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08036E00: .4byte gBattlerPartyIndexes -_08036E04: .4byte gActiveBattler -_08036E08: .4byte gBattleBufferA -_08036E0C: .4byte gEnemyParty - thumb_func_end OpponentHandlecmd1 - - thumb_func_start OpponentHandleSetAttributes -OpponentHandleSetAttributes: @ 8036E10 - push {r4,r5,lr} - ldr r1, _08036E34 @ =gBattleBufferA - ldr r0, _08036E38 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _08036E40 - ldr r0, _08036E3C @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl sub_8036E68 - b _08036E5E - .align 2, 0 -_08036E34: .4byte gBattleBufferA -_08036E38: .4byte gActiveBattler -_08036E3C: .4byte gBattlerPartyIndexes -_08036E40: - ldrb r4, [r1] - movs r5, 0 -_08036E44: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08036E52 - adds r0, r5, 0 - bl sub_8036E68 -_08036E52: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08036E44 -_08036E5E: - bl OpponentBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end OpponentHandleSetAttributes - - thumb_func_start sub_8036E68 -sub_8036E68: @ 8036E68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r3, _08036EA0 @ =gActiveBattler - ldrb r0, [r3] - lsls r0, 9 - ldr r2, _08036EA4 @ =gUnknown_2022BC7 - adds r4, r0, r2 - adds r7, r4, 0 - subs r1, r2, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r6, r3, 0 - adds r3, r2, 0 - cmp r0, 0x3B - bls _08036E96 - bl _08037774 -_08036E96: - lsls r0, 2 - ldr r1, _08036EA8 @ =_08036EAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036EA0: .4byte gActiveBattler -_08036EA4: .4byte gUnknown_2022BC7 -_08036EA8: .4byte _08036EAC - .align 2, 0 -_08036EAC: - .4byte _08036F9C - .4byte _08037134 - .4byte _08037150 - .4byte _0803716C - .4byte _080371C0 - .4byte _080371C0 - .4byte _080371C0 - .4byte _080371C0 - .4byte _080371E0 - .4byte _08037248 - .4byte _08037248 - .4byte _08037248 - .4byte _08037248 - .4byte _08037774 - .4byte _08037774 - .4byte _08037774 - .4byte _08037774 - .4byte _08037270 - .4byte _0803728C - .4byte _080372A8 - .4byte _080372C4 - .4byte _080372E0 - .4byte _080372FC - .4byte _08037318 - .4byte _08037334 - .4byte _08037350 - .4byte _0803736C - .4byte _08037388 - .4byte _080373A4 - .4byte _080373C0 - .4byte _080373DC - .4byte _080373F8 - .4byte _0803746C - .4byte _08037488 - .4byte _080374A4 - .4byte _080374C0 - .4byte _080374DC - .4byte _080374F8 - .4byte _08037514 - .4byte _08037530 - .4byte _0803754C - .4byte _08037568 - .4byte _08037584 - .4byte _080375A0 - .4byte _080375BC - .4byte _080375D8 - .4byte _080375F4 - .4byte _08037610 - .4byte _0803762C - .4byte _08037648 - .4byte _08037664 - .4byte _08037680 - .4byte _0803769C - .4byte _080376B8 - .4byte _080376D4 - .4byte _080376F0 - .4byte _0803770C - .4byte _08037728 - .4byte _08037744 - .4byte _08037760 -_08036F9C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08037130 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - adds r2, r7, 0 - bl SetMonData - adds r2, r7, 0 - adds r2, 0x2E - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - movs r0, 0 - mov r8, r0 - movs r0, 0x3B - adds r0, r7 - mov r10, r0 - adds r0, r7, 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, r7, 0x2 - str r0, [sp, 0x4] - adds r0, r7, 0x4 - str r0, [sp, 0x8] - adds r0, r7, 0x6 - str r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x14] - mov r9, r4 - adds r6, r7, 0 - adds r6, 0x24 - adds r4, r7, 0 - adds r4, 0xC -_08037002: - 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, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _08037002 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08037130 @ =gEnemyParty - 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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 _08037774 - .align 2, 0 -_08037130: .4byte gEnemyParty -_08037134: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803714C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xB - bl SetMonData - b _08037774 - .align 2, 0 -_0803714C: .4byte gEnemyParty -_08037150: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037168 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xC - bl SetMonData - b _08037774 - .align 2, 0 -_08037168: .4byte gEnemyParty -_0803716C: - movs r0, 0 - mov r8, r0 - movs r0, 0xC - adds r0, r4 - mov r9, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _080371BC @ =gEnemyParty - adds r7, r1, r0 - adds r6, r4, 0 - adds r6, 0x8 -_08037184: - 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 _08037184 - movs r0, 0x64 - muls r0, r5 - ldr r1, _080371BC @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _08037774 - .align 2, 0 -_080371BC: .4byte gEnemyParty -_080371C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080371D8 @ =gEnemyParty - adds r0, r1 - ldr r3, _080371DC @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _0803725E - .align 2, 0 -_080371D8: .4byte gEnemyParty -_080371DC: .4byte gBattleBufferA -_080371E0: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08037244 @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x11 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x12 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x13 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x14 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl SetMonData - b _08037774 - .align 2, 0 -_08037244: .4byte gEnemyParty -_08037248: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037268 @ =gEnemyParty - adds r0, r1 - ldr r3, _0803726C @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_0803725E: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _08037774 - .align 2, 0 -_08037268: .4byte gEnemyParty -_0803726C: .4byte gBattleBufferA -_08037270: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037288 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1 - bl SetMonData - b _08037774 - .align 2, 0 -_08037288: .4byte gEnemyParty -_0803728C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080372A4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x19 - bl SetMonData - b _08037774 - .align 2, 0 -_080372A4: .4byte gEnemyParty -_080372A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080372C0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1A - bl SetMonData - b _08037774 - .align 2, 0 -_080372C0: .4byte gEnemyParty -_080372C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080372DC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1B - bl SetMonData - b _08037774 - .align 2, 0 -_080372DC: .4byte gEnemyParty -_080372E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080372F8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1C - bl SetMonData - b _08037774 - .align 2, 0 -_080372F8: .4byte gEnemyParty -_080372FC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037314 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1D - bl SetMonData - b _08037774 - .align 2, 0 -_08037314: .4byte gEnemyParty -_08037318: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037330 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1E - bl SetMonData - b _08037774 - .align 2, 0 -_08037330: .4byte gEnemyParty -_08037334: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803734C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1F - bl SetMonData - b _08037774 - .align 2, 0 -_0803734C: .4byte gEnemyParty -_08037350: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037368 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x20 - bl SetMonData - b _08037774 - .align 2, 0 -_08037368: .4byte gEnemyParty -_0803736C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037384 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x22 - bl SetMonData - b _08037774 - .align 2, 0 -_08037384: .4byte gEnemyParty -_08037388: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080373A0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x23 - bl SetMonData - b _08037774 - .align 2, 0 -_080373A0: .4byte gEnemyParty -_080373A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080373BC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x24 - bl SetMonData - b _08037774 - .align 2, 0 -_080373BC: .4byte gEnemyParty -_080373C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080373D8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x25 - bl SetMonData - b _08037774 - .align 2, 0 -_080373D8: .4byte gEnemyParty -_080373DC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080373F4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x26 - bl SetMonData - b _08037774 - .align 2, 0 -_080373F4: .4byte gEnemyParty -_080373F8: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08037468 @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x27 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x28 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x29 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2A - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2B - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x5 - adds r2, r0 - adds r0, r4, 0 - b _08037506 - .align 2, 0 -_08037468: .4byte gEnemyParty -_0803746C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037484 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x27 - bl SetMonData - b _08037774 - .align 2, 0 -_08037484: .4byte gEnemyParty -_08037488: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080374A0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x28 - bl SetMonData - b _08037774 - .align 2, 0 -_080374A0: .4byte gEnemyParty -_080374A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080374BC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x29 - bl SetMonData - b _08037774 - .align 2, 0 -_080374BC: .4byte gEnemyParty -_080374C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080374D8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2A - bl SetMonData - b _08037774 - .align 2, 0 -_080374D8: .4byte gEnemyParty -_080374DC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080374F4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2B - bl SetMonData - b _08037774 - .align 2, 0 -_080374F4: .4byte gEnemyParty -_080374F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037510 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 -_08037506: - movs r1, 0x2C - bl SetMonData - b _08037774 - .align 2, 0 -_08037510: .4byte gEnemyParty -_08037514: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803752C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0 - bl SetMonData - b _08037774 - .align 2, 0 -_0803752C: .4byte gEnemyParty -_08037530: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037548 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x9 - bl SetMonData - b _08037774 - .align 2, 0 -_08037548: .4byte gEnemyParty -_0803754C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037564 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x37 - bl SetMonData - b _08037774 - .align 2, 0 -_08037564: .4byte gEnemyParty -_08037568: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037580 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x38 - bl SetMonData - b _08037774 - .align 2, 0 -_08037580: .4byte gEnemyParty -_08037584: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803759C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x39 - bl SetMonData - b _08037774 - .align 2, 0 -_0803759C: .4byte gEnemyParty -_080375A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080375B8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3A - bl SetMonData - b _08037774 - .align 2, 0 -_080375B8: .4byte gEnemyParty -_080375BC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080375D4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3B - bl SetMonData - b _08037774 - .align 2, 0 -_080375D4: .4byte gEnemyParty -_080375D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080375F0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3C - bl SetMonData - b _08037774 - .align 2, 0 -_080375F0: .4byte gEnemyParty -_080375F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803760C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3D - bl SetMonData - b _08037774 - .align 2, 0 -_0803760C: .4byte gEnemyParty -_08037610: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037628 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3E - bl SetMonData - b _08037774 - .align 2, 0 -_08037628: .4byte gEnemyParty -_0803762C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037644 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3F - bl SetMonData - b _08037774 - .align 2, 0 -_08037644: .4byte gEnemyParty -_08037648: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037660 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x16 - bl SetMonData - b _08037774 - .align 2, 0 -_08037660: .4byte gEnemyParty -_08037664: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803767C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x17 - bl SetMonData - b _08037774 - .align 2, 0 -_0803767C: .4byte gEnemyParty -_08037680: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037698 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x18 - bl SetMonData - b _08037774 - .align 2, 0 -_08037698: .4byte gEnemyParty -_0803769C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080376B4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x21 - bl SetMonData - b _08037774 - .align 2, 0 -_080376B4: .4byte gEnemyParty -_080376B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080376D0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2F - bl SetMonData - b _08037774 - .align 2, 0 -_080376D0: .4byte gEnemyParty -_080376D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080376EC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x30 - bl SetMonData - b _08037774 - .align 2, 0 -_080376EC: .4byte gEnemyParty -_080376F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037708 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x32 - bl SetMonData - b _08037774 - .align 2, 0 -_08037708: .4byte gEnemyParty -_0803770C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037724 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x33 - bl SetMonData - b _08037774 - .align 2, 0 -_08037724: .4byte gEnemyParty -_08037728: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037740 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x34 - bl SetMonData - b _08037774 - .align 2, 0 -_08037740: .4byte gEnemyParty -_08037744: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803775C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x35 - bl SetMonData - b _08037774 - .align 2, 0 -_0803775C: .4byte gEnemyParty -_08037760: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08037784 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x36 - bl SetMonData -_08037774: - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08037784: .4byte gEnemyParty - thumb_func_end sub_8036E68 - - thumb_func_start OpponentHandlecmd3 -OpponentHandlecmd3: @ 8037788 - push {r4-r7,lr} - ldr r1, _080377EC @ =gBattlerPartyIndexes - ldr r7, _080377F0 @ =gActiveBattler - 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, _080377F4 @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _080377F8 @ =gEnemyParty - adds r0, r1 - adds r5, r3, r0 - movs r3, 0 - adds r0, r4, 0x2 - adds r2, r0 - ldrb r2, [r2] - cmp r3, r2 - bcs _080377E0 - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_080377BE: - 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 _080377BE -_080377E0: - bl OpponentBufferExecCompleted - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080377EC: .4byte gBattlerPartyIndexes -_080377F0: .4byte gActiveBattler -_080377F4: .4byte gBattleBufferA -_080377F8: .4byte gEnemyParty - thumb_func_end OpponentHandlecmd3 - - thumb_func_start sub_80377FC -sub_80377FC: @ 80377FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _0803787C @ =gBattlerPartyIndexes - ldr r4, _08037880 @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r6, _08037884 @ =gEnemyParty - adds r0, r6 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _08037888 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _08037890 - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r5 - adds r0, r6 - bl DecompressGhostFrontPic - ldrb r0, [r4] - bl GetGhostSpriteDefault_Y - lsls r0, 24 - lsrs r5, r0, 24 - ldr r3, _0803788C @ =gBattleSpritesDataPtr - ldr r0, [r3] - ldrb r1, [r4] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - 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 r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] - b _080378AA - .align 2, 0 -_0803787C: .4byte gBattlerPartyIndexes -_08037880: .4byte gActiveBattler -_08037884: .4byte gEnemyParty -_08037888: .4byte gBattleTypeFlags -_0803788C: .4byte gBattleSpritesDataPtr -_08037890: - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r5 - adds r0, r6 - bl BattleLoadOpponentMonSpriteGfx - ldrb r0, [r4] - bl GetBattlerSpriteDefault_Y - lsls r0, 24 - lsrs r5, r0, 24 -_080378AA: - ldr r7, _0803799C @ =gActiveBattler - ldrb r0, [r7] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl SetMultiuseSpriteTemplateToPokemon - ldr r6, _080379A0 @ =gMultiuseSpriteTemplate - ldrb r0, [r7] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r7] - bl GetBattlerSpriteSubpriority - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl CreateSprite - ldr r4, _080379A4 @ =gBattlerSpriteIds - ldrb r1, [r7] - adds r1, r4 - strb r0, [r1] - ldr r5, _080379A8 @ =gSprites - ldrb r0, [r7] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _080379AC @ =0x0000ff10 - strh r1, [r0, 0x24] - ldrb r2, [r7] - 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 r0, [r7] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - mov r1, r8 - strh r1, [r0, 0x32] - ldrb r3, [r7] - 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, [r7] - adds r4, r2, r4 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _080379B0 @ =gBattleMonForms - adds r2, r1 - ldrb r1, [r2] - bl StartSpriteAnim - ldr r0, _080379B4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - bne _08037986 - ldrb r4, [r7] - ldr r1, _080379B8 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080379BC @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback -_08037986: - ldr r0, _080379C0 @ =gBattlerControllerFuncs - ldrb r1, [r7] - lsls r1, 2 - adds r1, r0 - ldr r0, _080379C4 @ =sub_8035FE8 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803799C: .4byte gActiveBattler -_080379A0: .4byte gMultiuseSpriteTemplate -_080379A4: .4byte gBattlerSpriteIds -_080379A8: .4byte gSprites -_080379AC: .4byte 0x0000ff10 -_080379B0: .4byte gBattleMonForms -_080379B4: .4byte gBattleTypeFlags -_080379B8: .4byte gBattlerPartyIndexes -_080379BC: .4byte gEnemyParty -_080379C0: .4byte gBattlerControllerFuncs -_080379C4: .4byte sub_8035FE8 - thumb_func_end sub_80377FC - - thumb_func_start OpponentHandleSwitchInAnim -OpponentHandleSwitchInAnim: @ 80379C8 - push {r4,lr} - ldr r4, _08037A10 @ =gActiveBattler - ldrb r0, [r4] - ldr r1, _08037A14 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x5C - movs r1, 0x6 - strb r1, [r0] - ldr r1, _08037A18 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r2, r0, 1 - adds r2, r1 - ldr r3, _08037A1C @ =gBattleBufferA - lsls r0, 9 - adds r1, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2] - ldrb r0, [r4] - lsls r1, r0, 9 - adds r3, 0x2 - adds r1, r3 - ldrb r1, [r1] - bl sub_8037A28 - ldr r1, _08037A20 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08037A24 @ =sub_8036408 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08037A10: .4byte gActiveBattler -_08037A14: .4byte gBattleStruct -_08037A18: .4byte gBattlerPartyIndexes -_08037A1C: .4byte gBattleBufferA -_08037A20: .4byte gBattlerControllerFuncs -_08037A24: .4byte sub_8036408 - thumb_func_end OpponentHandleSwitchInAnim - - thumb_func_start sub_8037A28 -sub_8037A28: @ 8037A28 - 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 ClearTemporarySpeciesSpriteData - ldr r0, _08037B84 @ =gBattlerPartyIndexes - lsls r4, r6, 1 - adds r4, r0 - ldr r0, _08037B88 @ =gBattleBufferA - lsls r1, r6, 9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0x64 - mov r9, r1 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - ldr r5, _08037B8C @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _08037B90 @ =sub_8033E3C - bl CreateInvisibleSpriteWithCallback - ldr r1, _08037B94 @ =gUnknown_3004FFC - mov r10, r1 - add r10, r6 - mov r1, r10 - strb r0, [r1] - ldrh r0, [r4] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - adds r0, r5 - adds r1, r6, 0 - bl BattleLoadOpponentMonSpriteGfx - adds r0, r6, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, _08037B98 @ =gMultiuseSpriteTemplate - mov r9, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl GetBattlerSpriteDefault_Y - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl GetBattlerSpriteSubpriority - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r9 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _08037B9C @ =gBattlerSpriteIds - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _08037BA0 @ =gSprites - 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] - mov r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x30] - 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, _08037BA4 @ =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, _08037BA8 @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFE - bl DoPokeballSendOutAnimation - mov r1, r10 - 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 - .align 2, 0 -_08037B84: .4byte gBattlerPartyIndexes -_08037B88: .4byte gBattleBufferA -_08037B8C: .4byte gEnemyParty -_08037B90: .4byte sub_8033E3C -_08037B94: .4byte gUnknown_3004FFC -_08037B98: .4byte gMultiuseSpriteTemplate -_08037B9C: .4byte gBattlerSpriteIds -_08037BA0: .4byte gSprites -_08037BA4: .4byte gBattleMonForms -_08037BA8: .4byte SpriteCallbackDummy - thumb_func_end sub_8037A28 - - thumb_func_start sub_8037BAC -sub_8037BAC: @ 8037BAC - push {r4-r6,lr} - ldr r1, _08037BE0 @ =gBattleBufferA - ldr r6, _08037BE4 @ =gActiveBattler - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _08037BF4 - ldr r0, _08037BE8 @ =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, _08037BEC @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08037BF0 @ =sub_8037C44 - str r1, [r0] - b _08037C30 - .align 2, 0 -_08037BE0: .4byte gBattleBufferA -_08037BE4: .4byte gActiveBattler -_08037BE8: .4byte gBattleSpritesDataPtr -_08037BEC: .4byte gBattlerControllerFuncs -_08037BF0: .4byte sub_8037C44 -_08037BF4: - ldr r5, _08037C38 @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08037C3C @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldrb r0, [r6] - bl HideBattlerShadowSprite - ldr r1, _08037C40 @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl OpponentBufferExecCompleted -_08037C30: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08037C38: .4byte gBattlerSpriteIds -_08037C3C: .4byte gSprites -_08037C40: .4byte gHealthboxSpriteIds - thumb_func_end sub_8037BAC - - thumb_func_start sub_8037C44 -sub_8037C44: @ 8037C44 - push {r4-r6,lr} - ldr r6, _08037C64 @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _08037C68 @ =gActiveBattler - 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 _08037C6C - cmp r0, 0x1 - beq _08037C9A - b _08037CC2 - .align 2, 0 -_08037C64: .4byte gBattleSpritesDataPtr -_08037C68: .4byte gActiveBattler -_08037C6C: - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08037C86 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_08037C86: - 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 _08037CC2 -_08037C9A: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08037CC2 - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x2 - bl InitAndLaunchSpecialAnimation - ldr r1, _08037CC8 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08037CCC @ =sub_8036170 - str r1, [r0] -_08037CC2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08037CC8: .4byte gBattlerControllerFuncs -_08037CCC: .4byte sub_8036170 - thumb_func_end sub_8037C44 - - thumb_func_start sub_8037CD0 -sub_8037CD0: @ 8037CD0 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r3, _08037CEC @ =gTrainerBattleOpponent_A - ldrh r1, [r3] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _08037CF0 - bl GetSecretBaseTrainerPicIndex - b _08037D26 - .align 2, 0 -_08037CEC: .4byte gTrainerBattleOpponent_A -_08037CF0: - ldr r0, _08037D04 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08037D08 - bl sub_80E6078 - b _08037D26 - .align 2, 0 -_08037D04: .4byte gBattleTypeFlags -_08037D08: - movs r0, 0x80 - lsls r0, 12 - ands r0, r1 - cmp r0, 0 - beq _08037D18 - bl sub_815DA3C - b _08037D26 -_08037D18: - movs r0, 0x80 - lsls r0, 4 - ands r1, r0 - cmp r1, 0 - beq _08037D2C - bl GetEreaderTrainerFrontSpriteId -_08037D26: - lsls r0, 24 - lsrs r0, 24 - b _08037D3A -_08037D2C: - ldr r2, _08037E6C @ =gTrainers - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] -_08037D3A: - mov r9, r0 - ldr r0, _08037E70 @ =gActiveBattler - mov r8, r0 - ldrb r1, [r0] - mov r0, r9 - bl DecompressTrainerFrontPic - mov r1, r8 - ldrb r0, [r1] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r5, _08037E74 @ =gMultiuseSpriteTemplate - ldr r1, _08037E78 @ =gUnknown_823932C - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 14 - adds r4, r0 - asrs r4, 16 - mov r1, r8 - ldrb r0, [r1] - bl GetBattlerSpriteSubpriority - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - movs r1, 0xB0 - adds r2, r4, 0 - bl CreateSprite - ldr r5, _08037E7C @ =gBattlerSpriteIds - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _08037E80 @ =gSprites - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08037E84 @ =0x0000ff10 - strh r1, [r0, 0x24] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r0, _08037E88 @ =gTrainerFrontPicPaletteTable - mov r1, r9 - lsls r6, r1, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r4 - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r1, 0x38] - ldr r0, _08037E8C @ =gTrainerFrontPicTable - adds r6, r0 - ldrh r0, [r6, 0x6] - bl GetSpriteTileStartByTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldr r2, _08037E90 @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08037E94 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r9 - strh r2, [r0, 0x6] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _08037E98 @ =sub_8033EEC - str r1, [r0] - ldr r1, _08037E9C @ =gBattlerControllerFuncs - mov r2, r8 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08037EA0 @ =sub_8035AE8 - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08037E6C: .4byte gTrainers -_08037E70: .4byte gActiveBattler -_08037E74: .4byte gMultiuseSpriteTemplate -_08037E78: .4byte gUnknown_823932C -_08037E7C: .4byte gBattlerSpriteIds -_08037E80: .4byte gSprites -_08037E84: .4byte 0x0000ff10 -_08037E88: .4byte gTrainerFrontPicPaletteTable -_08037E8C: .4byte gTrainerFrontPicTable -_08037E90: .4byte 0x000003ff -_08037E94: .4byte 0xfffffc00 -_08037E98: .4byte sub_8033EEC -_08037E9C: .4byte gBattlerControllerFuncs -_08037EA0: .4byte sub_8035AE8 - thumb_func_end sub_8037CD0 - - thumb_func_start sub_8037EA4 -sub_8037EA4: @ 8037EA4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r3, _08037EC0 @ =gTrainerBattleOpponent_A - ldrh r1, [r3] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _08037EC4 - bl GetSecretBaseTrainerPicIndex - b _08037EFA - .align 2, 0 -_08037EC0: .4byte gTrainerBattleOpponent_A -_08037EC4: - ldr r0, _08037ED8 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08037EDC - bl sub_80E6078 - b _08037EFA - .align 2, 0 -_08037ED8: .4byte gBattleTypeFlags -_08037EDC: - movs r0, 0x80 - lsls r0, 12 - ands r0, r1 - cmp r0, 0 - beq _08037EEC - bl sub_815DA3C - b _08037EFA -_08037EEC: - movs r0, 0x80 - lsls r0, 4 - ands r1, r0 - cmp r1, 0 - beq _08037F00 - bl GetEreaderTrainerFrontSpriteId -_08037EFA: - lsls r0, 24 - lsrs r0, 24 - b _08037F0E -_08037F00: - ldr r2, _08038040 @ =gTrainers - ldrh r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x3] -_08037F0E: - mov r9, r0 - ldr r0, _08038044 @ =gActiveBattler - mov r8, r0 - ldrb r1, [r0] - mov r0, r9 - bl DecompressTrainerFrontPic - mov r1, r8 - ldrb r0, [r1] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r0, _08038048 @ =gMultiuseSpriteTemplate - ldr r2, _0803804C @ =gUnknown_823932C - mov r3, r9 - lsls r1, r3, 2 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0x8 - subs r2, r1 - lsls r2, 18 - movs r1, 0xA0 - lsls r1, 14 - adds r2, r1 - asrs r2, 16 - movs r1, 0xB0 - movs r3, 0x1E - bl CreateSprite - ldr r5, _08038050 @ =gBattlerSpriteIds - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _08038054 @ =gSprites - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x60 - strh r1, [r0, 0x24] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x20] - adds r1, 0x20 - strh r1, [r0, 0x20] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _08038058 @ =0x0000fffe - strh r1, [r0, 0x2E] - ldr r0, _0803805C @ =gTrainerFrontPicPaletteTable - mov r3, r9 - lsls r6, r3, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r4 - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r3, r8 - ldrb r0, [r3] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r1, 0x38] - ldr r0, _08038060 @ =gTrainerFrontPicTable - adds r6, r0 - ldrh r0, [r6, 0x6] - bl GetSpriteTileStartByTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldr r2, _08038064 @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _08038068 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - mov r3, r8 - ldrb r0, [r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r1, r9 - strh r1, [r0, 0x6] - ldrb r0, [r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _0803806C @ =sub_8033EEC - str r1, [r0] - ldr r1, _08038070 @ =gBattlerControllerFuncs - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038074 @ =sub_8035B20 - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08038040: .4byte gTrainers -_08038044: .4byte gActiveBattler -_08038048: .4byte gMultiuseSpriteTemplate -_0803804C: .4byte gUnknown_823932C -_08038050: .4byte gBattlerSpriteIds -_08038054: .4byte gSprites -_08038058: .4byte 0x0000fffe -_0803805C: .4byte gTrainerFrontPicPaletteTable -_08038060: .4byte gTrainerFrontPicTable -_08038064: .4byte 0x000003ff -_08038068: .4byte 0xfffffc00 -_0803806C: .4byte sub_8033EEC -_08038070: .4byte gBattlerControllerFuncs -_08038074: .4byte sub_8035B20 - thumb_func_end sub_8037EA4 - - thumb_func_start sub_8038078 -sub_8038078: @ 8038078 - push {r4-r6,lr} - ldr r6, _08038108 @ =gBattlerSpriteIds - ldr r4, _0803810C @ =gActiveBattler - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _08038110 @ =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 - movs r1, 0x8C - lsls r1, 1 - 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, _08038114 @ =sub_8075590 - 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, _08038118 @ =SpriteCallbackDummy - bl StoreSpriteCallbackInData6 - ldr r1, _0803811C @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038120 @ =sub_8035B58 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08038108: .4byte gBattlerSpriteIds -_0803810C: .4byte gActiveBattler -_08038110: .4byte gSprites -_08038114: .4byte sub_8075590 -_08038118: .4byte SpriteCallbackDummy -_0803811C: .4byte gBattlerControllerFuncs -_08038120: .4byte sub_8035B58 - thumb_func_end sub_8038078 - - thumb_func_start sub_8038124 -sub_8038124: @ 8038124 - push {r4-r6,lr} - ldr r6, _08038170 @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _08038174 @ =gActiveBattler - 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 _08038178 - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08038158 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_08038158: - 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 _080381B4 - .align 2, 0 -_08038170: .4byte gBattleSpritesDataPtr -_08038174: .4byte gActiveBattler -_08038178: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080381B4 - strb r0, [r3, 0x4] - movs r0, 0x10 - movs r1, 0x3F - bl PlaySE12WithPanning - ldr r2, _080381BC @ =gSprites - ldr r1, _080381C0 @ =gBattlerSpriteIds - 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, _080381C4 @ =sub_8011EA0 - str r1, [r0] - ldr r1, _080381C8 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080381CC @ =sub_803612C - str r1, [r0] -_080381B4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080381BC: .4byte gSprites -_080381C0: .4byte gBattlerSpriteIds -_080381C4: .4byte sub_8011EA0 -_080381C8: .4byte gBattlerControllerFuncs -_080381CC: .4byte sub_803612C - thumb_func_end sub_8038124 - - thumb_func_start sub_80381D0 -sub_80381D0: @ 80381D0 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80381D0 - - thumb_func_start sub_80381DC -sub_80381DC: @ 80381DC - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80381DC - - thumb_func_start sub_80381E8 -sub_80381E8: @ 80381E8 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80381E8 - - thumb_func_start sub_80381F4 -sub_80381F4: @ 80381F4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80381F4 - - thumb_func_start sub_8038200 -sub_8038200: @ 8038200 - push {r4-r6,lr} - ldr r6, _080382E4 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _08038212 - b _08038326 -_08038212: - ldr r0, _080382E8 @ =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, _080382EC @ =gAnimMoveTurn - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _080382F0 @ =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, _080382F4 @ =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, _080382F8 @ =gUnknown_2037EFE - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _080382FC @ =gUnknown_2037F00 - 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, _08038300 @ =gAnimDisableStructPtr - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _08038304 @ =gTransformedPersonalities - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl IsMoveWithoutAnimation - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08038308 - bl OpponentBufferExecCompleted - b _08038326 - .align 2, 0 -_080382E4: .4byte gActiveBattler -_080382E8: .4byte gBattleBufferA -_080382EC: .4byte gAnimMoveTurn -_080382F0: .4byte gAnimMovePower -_080382F4: .4byte gAnimMoveDmg -_080382F8: .4byte gUnknown_2037EFE -_080382FC: .4byte gUnknown_2037F00 -_08038300: .4byte gAnimDisableStructPtr -_08038304: .4byte gTransformedPersonalities -_08038308: - ldr r0, _0803832C @ =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, _08038330 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038334 @ =sub_8038338 - str r1, [r0] -_08038326: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803832C: .4byte gBattleSpritesDataPtr -_08038330: .4byte gBattlerControllerFuncs -_08038334: .4byte sub_8038338 - thumb_func_end sub_8038200 - - thumb_func_start sub_8038338 -sub_8038338: @ 8038338 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _08038384 @ =gBattleBufferA - ldr r6, _08038388 @ =gActiveBattler - 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, _0803838C @ =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 _080383D0 - cmp r2, 0x1 - bgt _08038390 - cmp r2, 0 - beq _0803839A - b _080384AC - .align 2, 0 -_08038384: .4byte gBattleBufferA -_08038388: .4byte gActiveBattler -_0803838C: .4byte gBattleSpritesDataPtr -_08038390: - cmp r2, 0x2 - beq _080383FA - cmp r2, 0x3 - beq _08038470 - b _080384AC -_0803839A: - ldr r1, [r5] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrb r2, [r1] - movs r0, 0xC - ands r0, r2 - cmp r0, 0x4 - bne _080383BC - movs r0, 0x8 - orrs r0, r2 - strb r0, [r1] - ldrb r2, [r6] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_080383BC: - 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 _080384AC -_080383D0: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080384AC - movs r0, 0 - bl sub_8035450 - 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 _080384AC -_080383FA: - ldr r0, _08038460 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08038464 @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _080384AC - movs r0, 0x1 - bl sub_8035450 - 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 _08038448 - mov r0, r8 - cmp r0, 0x1 - bhi _08038448 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation - 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] -_08038448: - ldr r0, _08038468 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _0803846C @ =gActiveBattler - 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 _080384AC - .align 2, 0 -_08038460: .4byte gAnimScriptCallback -_08038464: .4byte gAnimScriptActive -_08038468: .4byte gBattleSpritesDataPtr -_0803846C: .4byte gActiveBattler -_08038470: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080384AC - bl CopyAllBattleSpritesInvisibilities - 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 TrySetBehindSubstituteSpriteBit - 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 OpponentBufferExecCompleted -_080384AC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8038338 - - thumb_func_start sub_80384BC -sub_80384BC: @ 80384BC - push {r4,lr} - ldr r0, _080384F0 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080384F4 @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _080384F8 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - ldr r1, _080384FC @ =gUnknown_2022BC6 - adds r4, r0, r1 - ldrh r0, [r4] - bl BufferStringBattle - ldrh r0, [r4] - bl sub_80D89B0 - lsls r0, 24 - cmp r0, 0 - beq _08038504 - ldr r0, _08038500 @ =gDisplayedStringBattle - movs r1, 0x40 - bl BattlePutTextOnWindow - b _0803850C - .align 2, 0 -_080384F0: .4byte gBattle_BG0_X -_080384F4: .4byte gBattle_BG0_Y -_080384F8: .4byte gActiveBattler -_080384FC: .4byte gUnknown_2022BC6 -_08038500: .4byte gDisplayedStringBattle -_08038504: - ldr r0, _08038534 @ =gDisplayedStringBattle - movs r1, 0 - bl BattlePutTextOnWindow -_0803850C: - ldr r0, _08038538 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08038568 - ldrh r1, [r4] - cmp r1, 0xE3 - beq _0803854C - ldr r0, _0803853C @ =0x0000017f - cmp r1, r0 - bne _08038568 - ldr r1, _08038540 @ =gBattlerControllerFuncs - ldr r0, _08038544 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038548 @ =sub_80E85C0 - b _08038574 - .align 2, 0 -_08038534: .4byte gDisplayedStringBattle -_08038538: .4byte gBattleTypeFlags -_0803853C: .4byte 0x0000017f -_08038540: .4byte gBattlerControllerFuncs -_08038544: .4byte gActiveBattler -_08038548: .4byte sub_80E85C0 -_0803854C: - ldr r1, _0803855C @ =gBattlerControllerFuncs - ldr r0, _08038560 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038564 @ =sub_80E8598 - b _08038574 - .align 2, 0 -_0803855C: .4byte gBattlerControllerFuncs -_08038560: .4byte gActiveBattler -_08038564: .4byte sub_80E8598 -_08038568: - ldr r1, _0803857C @ =gBattlerControllerFuncs - ldr r0, _08038580 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038584 @ =sub_80361E4 -_08038574: - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803857C: .4byte gBattlerControllerFuncs -_08038580: .4byte gActiveBattler -_08038584: .4byte sub_80361E4 - thumb_func_end sub_80384BC - - thumb_func_start sub_8038588 -sub_8038588: @ 8038588 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038588 - - thumb_func_start sub_8038594 -sub_8038594: @ 8038594 - push {lr} - bl sub_8039C84 - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038594 - - thumb_func_start sub_80385A4 -sub_80385A4: @ 80385A4 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_80385A4 - - thumb_func_start sub_80385B0 -sub_80385B0: @ 80385B0 - push {r4-r6,lr} - ldr r6, _080385E4 @ =gActiveBattler - ldrb r0, [r6] - lsls r0, 9 - ldr r1, _080385E8 @ =gUnknown_2022BC8 - adds r5, r0, r1 - ldr r0, _080385EC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x93 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - beq _08038680 - bl BattleAI_SetupAIData - bl BattleAI_GetAIActionToUse - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - beq _080385F0 - cmp r4, 0x5 - bne _080385FC - movs r0, 0x1 - movs r1, 0x4 - b _080385F4 - .align 2, 0 -_080385E4: .4byte gActiveBattler -_080385E8: .4byte gUnknown_2022BC8 -_080385EC: .4byte gBattleTypeFlags -_080385F0: - movs r0, 0x1 - movs r1, 0x3 -_080385F4: - movs r2, 0 - bl BtlController_EmitTwoReturnValues - b _08038668 -_080385FC: - ldr r3, _08038670 @ =gBattleMoves - lsls r0, r4, 1 - adds r2, r5, r0 - ldrh r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x6] - movs r0, 0x12 - ands r0, r1 - cmp r0, 0 - beq _0803861C - ldr r1, _08038674 @ =gBattlerTarget - ldrb r0, [r6] - strb r0, [r1] -_0803861C: - ldrh r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08038656 - movs r0, 0 - bl GetBattlerAtPosition - ldr r5, _08038674 @ =gBattlerTarget - strb r0, [r5] - ldr r0, _08038678 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0803867C @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08038656 - movs r0, 0x2 - bl GetBattlerAtPosition - strb r0, [r5] -_08038656: - ldr r0, _08038674 @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x1 - movs r1, 0xA - adds r2, r4, 0 - bl BtlController_EmitTwoReturnValues -_08038668: - bl OpponentBufferExecCompleted - b _08038712 - .align 2, 0 -_08038670: .4byte gBattleMoves -_08038674: .4byte gBattlerTarget -_08038678: .4byte gAbsentBattlerFlags -_0803867C: .4byte gBitTable -_08038680: - movs r6, 0x3 -_08038682: - bl Random - adds r4, r0, 0 - ands r4, r6 - lsls r0, r4, 1 - adds r0, r5, r0 - ldrh r2, [r0] - cmp r2, 0 - beq _08038682 - ldr r1, _080386BC @ =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - movs r0, 0x12 - ands r0, r1 - cmp r0, 0 - beq _080386C4 - ldr r0, _080386C0 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x1 - movs r1, 0xA - adds r2, r4, 0 - bl BtlController_EmitTwoReturnValues - b _0803870E - .align 2, 0 -_080386BC: .4byte gBattleMoves -_080386C0: .4byte gActiveBattler -_080386C4: - ldr r0, _080386F4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080386F8 - bl Random - movs r1, 0x2 - ands r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r1, 0 - bl GetBattlerAtPosition - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 16 - orrs r2, r4 - movs r0, 0x1 - movs r1, 0xA - bl BtlController_EmitTwoReturnValues - b _0803870E - .align 2, 0 -_080386F4: .4byte gBattleTypeFlags -_080386F8: - movs r0, 0 - bl GetBattlerAtPosition - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 16 - orrs r2, r4 - movs r0, 0x1 - movs r1, 0xA - bl BtlController_EmitTwoReturnValues -_0803870E: - bl OpponentBufferExecCompleted -_08038712: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80385B0 - - thumb_func_start sub_8038718 -sub_8038718: @ 8038718 - push {lr} - ldr r0, _0803873C @ =gActiveBattler - ldrb r0, [r0] - lsrs r0, 1 - ldr r1, _08038740 @ =gBattleStruct - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC0 - ldrb r1, [r0] - movs r0, 0x1 - bl BtlController_EmitOneReturnValue - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803873C: .4byte gActiveBattler -_08038740: .4byte gBattleStruct - thumb_func_end sub_8038718 - - thumb_func_start sub_8038744 -sub_8038744: @ 8038744 - push {r4-r6,lr} - ldr r6, _08038788 @ =gActiveBattler - ldrb r0, [r6] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r5, _0803878C @ =gBattleStruct - ldr r1, [r5] - adds r0, r1 - adds r0, 0x92 - ldrb r0, [r0] - cmp r0, 0x6 - bne _080387E4 - bl sub_8039E3C - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bne _0803880A - ldr r0, _08038790 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08038794 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - b _080387A8 - .align 2, 0 -_08038788: .4byte gActiveBattler -_0803878C: .4byte gBattleStruct -_08038790: .4byte gBattleTypeFlags -_08038794: - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 -_080387A8: - movs r4, 0 - b _080387AE -_080387AC: - adds r4, 0x1 -_080387AE: - cmp r4, 0x5 - bgt _0803880A - movs r0, 0x64 - muls r0, r4 - ldr r1, _080387DC @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080387AC - ldr r1, _080387E0 @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _080387AC - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _080387AC - b _0803880A - .align 2, 0 -_080387DC: .4byte gEnemyParty -_080387E0: .4byte gBattlerPartyIndexes -_080387E4: - ldrb r0, [r6] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, [r5] - adds r0, r1 - adds r0, 0x92 - ldrb r4, [r0] - ldrb r0, [r6] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, [r5] - adds r0, r1 - adds r0, 0x92 - movs r1, 0x6 - strb r1, [r0] -_0803880A: - ldr r0, _08038830 @ =gActiveBattler - ldrb r0, [r0] - ldr r1, _08038834 @ =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 BtlController_EmitChosenMonReturnValue - bl OpponentBufferExecCompleted - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08038830: .4byte gActiveBattler -_08038834: .4byte gBattleStruct - thumb_func_end sub_8038744 - - thumb_func_start sub_8038838 -sub_8038838: @ 8038838 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038838 - - thumb_func_start sub_8038844 -sub_8038844: @ 8038844 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl LoadBattleBarGfx - ldr r3, _080388BC @ =gBattleBufferA - ldr r0, _080388C0 @ =gActiveBattler - mov r9, r0 - ldrb r4, [r0] - lsls r2, r4, 9 - adds r0, r3, 0x3 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r1, 8 - adds r3, 0x2 - adds r2, r3 - ldrb r0, [r2] - orrs r0, r1 - lsls r0, 16 - asrs r7, r0, 16 - ldr r0, _080388C4 @ =0x00007fff - cmp r7, r0 - beq _080388D4 - ldr r6, _080388C8 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080388CC @ =gEnemyParty - 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, _080388D0 @ =gHealthboxSpriteIds - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl SetBattleBarStruct - b _080388FE - .align 2, 0 -_080388BC: .4byte gBattleBufferA -_080388C0: .4byte gActiveBattler -_080388C4: .4byte 0x00007fff -_080388C8: .4byte gBattlerPartyIndexes -_080388CC: .4byte gEnemyParty -_080388D0: .4byte gHealthboxSpriteIds -_080388D4: - ldr r1, _0803891C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08038920 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _08038924 @ =gHealthboxSpriteIds - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl SetBattleBarStruct -_080388FE: - ldr r1, _08038928 @ =gBattlerControllerFuncs - ldr r0, _0803892C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038930 @ =sub_80360A0 - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803891C: .4byte gBattlerPartyIndexes -_08038920: .4byte gEnemyParty -_08038924: .4byte gHealthboxSpriteIds -_08038928: .4byte gBattlerControllerFuncs -_0803892C: .4byte gActiveBattler -_08038930: .4byte sub_80360A0 - thumb_func_end sub_8038844 - - thumb_func_start sub_8038934 -sub_8038934: @ 8038934 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038934 - - thumb_func_start sub_8038940 -sub_8038940: @ 8038940 - push {r4,lr} - ldr r4, _0803899C @ =gActiveBattler - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08038994 - ldr r0, _080389A0 @ =gHealthboxSpriteIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _080389A4 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080389A8 @ =gEnemyParty - adds r1, r2 - movs r2, 0x9 - bl UpdateHealthboxAttribute - ldrb r2, [r4] - ldr r0, _080389AC @ =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, _080389B0 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080389B4 @ =sub_80364D0 - str r1, [r0] -_08038994: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803899C: .4byte gActiveBattler -_080389A0: .4byte gHealthboxSpriteIds -_080389A4: .4byte gBattlerPartyIndexes -_080389A8: .4byte gEnemyParty -_080389AC: .4byte gBattleSpritesDataPtr -_080389B0: .4byte gBattlerControllerFuncs -_080389B4: .4byte sub_80364D0 - thumb_func_end sub_8038940 - - thumb_func_start sub_80389B8 -sub_80389B8: @ 80389B8 - push {r4,r5,lr} - ldr r5, _08038A10 @ =gActiveBattler - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08038A08 - ldr r4, _08038A14 @ =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 InitAndLaunchChosenStatusAnimation - ldr r1, _08038A18 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038A1C @ =sub_80364D0 - str r1, [r0] -_08038A08: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08038A10: .4byte gActiveBattler -_08038A14: .4byte gBattleBufferA -_08038A18: .4byte gBattlerControllerFuncs -_08038A1C: .4byte sub_80364D0 - thumb_func_end sub_80389B8 - - thumb_func_start sub_8038A20 -sub_8038A20: @ 8038A20 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A20 - - thumb_func_start sub_8038A2C -sub_8038A2C: @ 8038A2C - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A2C - - thumb_func_start sub_8038A38 -sub_8038A38: @ 8038A38 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A38 - - thumb_func_start sub_8038A44 -sub_8038A44: @ 8038A44 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A44 - - thumb_func_start sub_8038A50 -sub_8038A50: @ 8038A50 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A50 - - thumb_func_start sub_8038A5C -sub_8038A5C: @ 8038A5C - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A5C - - thumb_func_start sub_8038A68 -sub_8038A68: @ 8038A68 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A68 - - thumb_func_start sub_8038A74 -sub_8038A74: @ 8038A74 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A74 - - thumb_func_start sub_8038A80 -sub_8038A80: @ 8038A80 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038A80 - - thumb_func_start OpponentHandlecmd37 -OpponentHandlecmd37: @ 8038A8C - push {lr} - ldr r2, _08038AA4 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08038AA4: .4byte gUnknown_2022870 - thumb_func_end OpponentHandlecmd37 - - thumb_func_start OpponentHandlecmd38 -OpponentHandlecmd38: @ 8038AA8 - push {lr} - ldr r3, _08038AD4 @ =gUnknown_2022870 - ldr r1, _08038AD8 @ =gBattleBufferA - ldr r0, _08038ADC @ =gActiveBattler - 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 OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08038AD4: .4byte gUnknown_2022870 -_08038AD8: .4byte gBattleBufferA -_08038ADC: .4byte gActiveBattler - thumb_func_end OpponentHandlecmd38 - - thumb_func_start OpponentHandlecmd39 -OpponentHandlecmd39: @ 8038AE0 - push {lr} - ldr r2, _08038AF4 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08038AF4: .4byte gUnknown_2022870 - thumb_func_end OpponentHandlecmd39 - - thumb_func_start OpponentHandlecmd40 -OpponentHandlecmd40: @ 8038AF8 - push {lr} - ldr r3, _08038B1C @ =gUnknown_2022870 - 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 OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08038B1C: .4byte gUnknown_2022870 - thumb_func_end OpponentHandlecmd40 - - thumb_func_start OpponentHandleHitAnimation -OpponentHandleHitAnimation: @ 8038B20 - push {r4,lr} - ldr r3, _08038B48 @ =gSprites - ldr r2, _08038B4C @ =gBattlerSpriteIds - ldr r4, _08038B50 @ =gActiveBattler - 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 _08038B54 - bl OpponentBufferExecCompleted - b _08038B7E - .align 2, 0 -_08038B48: .4byte gSprites -_08038B4C: .4byte gBattlerSpriteIds -_08038B50: .4byte gActiveBattler -_08038B54: - ldr r1, _08038B84 @ =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 DoHitAnimHealthboxEffect - ldr r1, _08038B88 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038B8C @ =sub_80361FC - str r1, [r0] -_08038B7E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038B84: .4byte gDoingBattleAnim -_08038B88: .4byte gBattlerControllerFuncs -_08038B8C: .4byte sub_80361FC - thumb_func_end OpponentHandleHitAnimation - - thumb_func_start sub_8038B90 -sub_8038B90: @ 8038B90 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8038B90 - - thumb_func_start OpponentHandleEffectivenessSound -OpponentHandleEffectivenessSound: @ 8038B9C - push {r4,lr} - ldr r4, _08038BD8 @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _08038BB0 - movs r3, 0xC0 -_08038BB0: - ldr r2, _08038BDC @ =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 OpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038BD8: .4byte gActiveBattler -_08038BDC: .4byte gBattleBufferA - thumb_func_end OpponentHandleEffectivenessSound - - thumb_func_start OpponentHandlecmd44 -OpponentHandlecmd44: @ 8038BE0 - push {lr} - ldr r2, _08038C08 @ =gBattleBufferA - ldr r0, _08038C0C @ =gActiveBattler - 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 PlayFanfare - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08038C08: .4byte gBattleBufferA -_08038C0C: .4byte gActiveBattler - thumb_func_end OpponentHandlecmd44 - - thumb_func_start OpponentHandleFaintingCry -OpponentHandleFaintingCry: @ 8038C10 - push {lr} - ldr r1, _08038C40 @ =gBattlerPartyIndexes - ldr r0, _08038C44 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08038C48 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - movs r2, 0x5 - bl PlayCry3 - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08038C40: .4byte gBattlerPartyIndexes -_08038C44: .4byte gActiveBattler -_08038C48: .4byte gEnemyParty - thumb_func_end OpponentHandleFaintingCry - - thumb_func_start OpponentHandleIntroSlide -OpponentHandleIntroSlide: @ 8038C4C - push {lr} - ldr r1, _08038C74 @ =gBattleBufferA - ldr r0, _08038C78 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl HandleIntroSlide - ldr r2, _08038C7C @ =gIntroSlideFlags - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08038C74: .4byte gBattleBufferA -_08038C78: .4byte gActiveBattler -_08038C7C: .4byte gIntroSlideFlags - thumb_func_end OpponentHandleIntroSlide - - thumb_func_start sub_8038C80 -sub_8038C80: @ 8038C80 - push {r4-r6,lr} - ldr r5, _08038D60 @ =gBattlerSpriteIds - ldr r6, _08038D64 @ =gActiveBattler - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08038D68 @ =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, 0x23 - 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 - movs r1, 0x8C - lsls r1, 1 - 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, _08038D6C @ =sub_8075590 - 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, _08038D70 @ =sub_8038D90 - bl StoreSpriteCallbackInData6 - ldr r0, _08038D74 @ =sub_8038DC4 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08038D78 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r6] - strh r0, [r1, 0x8] - ldr r3, _08038D7C @ =gBattleSpritesDataPtr - ldr r0, [r3] - 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, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08038D42 - ldr r0, _08038D80 @ =gUnknown_2024000 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _08038D84 @ =sub_80491B0 - str r1, [r0] -_08038D42: - ldr r0, [r3] - ldr r2, [r0, 0x8] - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _08038D88 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038D8C @ =nullsub_17 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08038D60: .4byte gBattlerSpriteIds -_08038D64: .4byte gActiveBattler -_08038D68: .4byte gSprites -_08038D6C: .4byte sub_8075590 -_08038D70: .4byte sub_8038D90 -_08038D74: .4byte sub_8038DC4 -_08038D78: .4byte gTasks -_08038D7C: .4byte gBattleSpritesDataPtr -_08038D80: .4byte gUnknown_2024000 -_08038D84: .4byte sub_80491B0 -_08038D88: .4byte gBattlerControllerFuncs -_08038D8C: .4byte nullsub_17 - thumb_func_end sub_8038C80 - - thumb_func_start sub_8038D90 -sub_8038D90: @ 8038D90 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x6] - bl FreeTrainerFrontPicPaletteAndTile - ldrh r0, [r4, 0x38] - ldr r1, _08038DBC @ =0x000003ff - ands r1, r0 - ldrh r2, [r4, 0x4] - ldr r0, _08038DC0 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038DBC: .4byte 0x000003ff -_08038DC0: .4byte 0xfffffc00 - thumb_func_end sub_8038D90 - - thumb_func_start sub_8038DC4 -sub_8038DC4: @ 8038DC4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r7, _08038E1C @ =gActiveBattler - ldrb r0, [r7] - mov r9, r0 - ldr r1, _08038E20 @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strb r0, [r7] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08038DFE - ldr r0, _08038E24 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08038E30 -_08038DFE: - ldr r0, _08038E28 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _08038E2C @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_8037A28 - b _08038E70 - .align 2, 0 -_08038E1C: .4byte gActiveBattler -_08038E20: .4byte gTasks -_08038E24: .4byte gBattleTypeFlags -_08038E28: .4byte gBattleBufferA -_08038E2C: .4byte gBattlerPartyIndexes -_08038E30: - ldr r4, _08038E94 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r6, _08038E98 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_8037A28 - ldrb r0, [r7] - movs r5, 0x2 - eors r0, r5 - strb r0, [r7] - ldrb r0, [r7] - lsls r1, r0, 9 - adds r1, r4 - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_8037A28 - ldrb r0, [r7] - eors r0, r5 - strb r0, [r7] -_08038E70: - ldr r1, _08038E9C @ =gBattlerControllerFuncs - ldr r2, _08038EA0 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08038EA4 @ =sub_8035DF0 - str r1, [r0] - mov r0, r9 - strb r0, [r2] - mov r0, r8 - bl DestroyTask - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08038E94: .4byte gBattleBufferA -_08038E98: .4byte gBattlerPartyIndexes -_08038E9C: .4byte gBattlerControllerFuncs -_08038EA0: .4byte gActiveBattler -_08038EA4: .4byte sub_8035DF0 - thumb_func_end sub_8038DC4 - - thumb_func_start sub_8038EA8 -sub_8038EA8: @ 8038EA8 - push {r4-r7,lr} - ldr r1, _08038ED0 @ =gBattleBufferA - ldr r0, _08038ED4 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08038ED8 - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08038ED8 - bl OpponentBufferExecCompleted - b _08038FA2 - .align 2, 0 -_08038ED0: .4byte gBattleBufferA -_08038ED4: .4byte gActiveBattler -_08038ED8: - ldr r4, _08038F30 @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r3, _08038F34 @ =gActiveBattler - ldrb r1, [r3] - 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] - ldr r1, _08038F38 @ =gBattleBufferA - ldrb r2, [r3] - lsls r0, r2, 9 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r7, r3, 0 - cmp r0, 0 - beq _08038F44 - ldr r0, [r4] - ldr r1, [r0, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrb r2, [r3, 0x1] - lsls r1, r2, 26 - lsrs r0, r1, 27 - cmp r0, 0x1 - bhi _08038F3C - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - b _08038FA2 - .align 2, 0 -_08038F30: .4byte gBattleSpritesDataPtr -_08038F34: .4byte gActiveBattler -_08038F38: .4byte gBattleBufferA -_08038F3C: - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - strb r0, [r3, 0x1] -_08038F44: - adds r5, r7, 0 - ldrb r0, [r5] - lsls r3, r0, 9 - ldr r4, _08038FA8 @ =gUnknown_2022BC8 - 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 sub_8048D14 - ldr r2, _08038FAC @ =gUnknown_2024000 - ldrb r1, [r5] - adds r1, r2 - movs r3, 0 - strb r0, [r1] - ldr r6, _08038FB0 @ =gBattleSpritesDataPtr - 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 _08038F96 - 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] -_08038F96: - ldr r0, _08038FB4 @ =gBattlerControllerFuncs - ldrb r1, [r7] - lsls r1, 2 - adds r1, r0 - ldr r0, _08038FB8 @ =sub_8038FBC - str r0, [r1] -_08038FA2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08038FA8: .4byte gUnknown_2022BC8 -_08038FAC: .4byte gUnknown_2024000 -_08038FB0: .4byte gBattleSpritesDataPtr -_08038FB4: .4byte gBattlerControllerFuncs -_08038FB8: .4byte sub_8038FBC - thumb_func_end sub_8038EA8 - - thumb_func_start sub_8038FBC -sub_8038FBC: @ 8038FBC - push {r4,lr} - ldr r4, _08038FFC @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r3, _08039000 @ =gActiveBattler - 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 _08038FF4 - 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 OpponentBufferExecCompleted -_08038FF4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038FFC: .4byte gBattleSpritesDataPtr -_08039000: .4byte gActiveBattler - thumb_func_end sub_8038FBC - - thumb_func_start sub_8039004 -sub_8039004: @ 8039004 - push {lr} - ldr r0, _08039040 @ =gBattleSpritesDataPtr - ldr r1, [r0] - ldr r0, _08039044 @ =gActiveBattler - 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 _08039036 - ldr r2, _08039048 @ =gTasks - ldr r0, _0803904C @ =gUnknown_2024000 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _08039050 @ =sub_80491B0 - str r1, [r0] -_08039036: - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08039040: .4byte gBattleSpritesDataPtr -_08039044: .4byte gActiveBattler -_08039048: .4byte gTasks -_0803904C: .4byte gUnknown_2024000 -_08039050: .4byte sub_80491B0 - thumb_func_end sub_8039004 - - thumb_func_start sub_8039054 -sub_8039054: @ 8039054 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8039054 - - thumb_func_start sub_8039060 -sub_8039060: @ 8039060 - push {r4,lr} - ldr r4, _080390B0 @ =gActiveBattler - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _080390A6 - ldr r3, _080390B4 @ =gSprites - ldr r0, _080390B8 @ =gBattlerSpriteIds - 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, _080390BC @ =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 CopyBattleSpriteInvisibility -_080390A6: - bl OpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080390B0: .4byte gActiveBattler -_080390B4: .4byte gSprites -_080390B8: .4byte gBattlerSpriteIds -_080390BC: .4byte gBattleBufferA - thumb_func_end sub_8039060 - - thumb_func_start sub_80390C0 -sub_80390C0: @ 80390C0 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _08039104 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _08039118 - ldr r5, _08039108 @ =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 TryHandleLaunchBattleTableAnimation - lsls r0, 24 - cmp r0, 0 - beq _0803910C - bl OpponentBufferExecCompleted - b _08039118 - .align 2, 0 -_08039104: .4byte gActiveBattler -_08039108: .4byte gBattleBufferA -_0803910C: - ldr r0, _08039120 @ =gBattlerControllerFuncs - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _08039124 @ =sub_8036500 - str r0, [r1] -_08039118: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08039120: .4byte gBattlerControllerFuncs -_08039124: .4byte sub_8036500 - thumb_func_end sub_80390C0 - - thumb_func_start sub_8039128 -sub_8039128: @ 8039128 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8039128 - - thumb_func_start sub_8039134 -sub_8039134: @ 8039134 - push {lr} - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8039134 - - thumb_func_start OpponentHandleCmd55 -OpponentHandleCmd55: @ 8039140 - push {lr} - ldr r0, _08039174 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x6 - ands r0, r1 - cmp r0, 0x2 - bne _0803916A - ldr r2, _08039178 @ =gMain - ldr r0, _0803917C @ =0x00000439 - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldr r0, _08039180 @ =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r2] - ldr r0, [r2, 0x8] - bl SetMainCallback2 -_0803916A: - bl OpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08039174: .4byte gBattleTypeFlags -_08039178: .4byte gMain -_0803917C: .4byte 0x00000439 -_08039180: .4byte gPreBattleCallback1 - thumb_func_end OpponentHandleCmd55 - - thumb_func_start nullsub_18 -nullsub_18: @ 8039184 - bx lr - thumb_func_end nullsub_18 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 385b0d44e..4db2fedb2 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -3317,7 +3317,7 @@ CompleteOnHealthbarDone: @ 802FE24 ldrb r1, [r1] movs r2, 0 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -3335,7 +3335,7 @@ CompleteOnHealthbarDone: @ 802FE24 adds r0, r6 ldrb r0, [r0] movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox b _0802FE86 .align 2, 0 _0802FE64: .4byte gActiveBattler @@ -3691,7 +3691,7 @@ _08030124: adds r0, r7, 0 movs r2, 0x1 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -8084,7 +8084,7 @@ PlayerHandleTrainerSlideBack: @ 8032590 lsls r0, 2 ldr r4, _08032638 @ =gSprites adds r0, r4 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r6] adds r0, r5 ldrb r1, [r0] @@ -8121,7 +8121,7 @@ PlayerHandleTrainerSlideBack: @ 8032590 adds r1, r4, 0 adds r1, 0x1C adds r0, r1 - ldr r1, _08032640 @ =sub_8075590 + ldr r1, _08032640 @ =StartAnimLinearTranslation str r1, [r0] ldrb r0, [r6] adds r0, r5 @@ -8155,7 +8155,7 @@ _08032630: .4byte gBattlerSpriteIds _08032634: .4byte gActiveBattler _08032638: .4byte gSprites _0803263C: .4byte 0x0000ffd8 -_08032640: .4byte sub_8075590 +_08032640: .4byte StartAnimLinearTranslation _08032644: .4byte SpriteCallbackDummy _08032648: .4byte gBattlerControllerFuncs _0803264C: .4byte sub_802F7A0 @@ -8474,7 +8474,7 @@ _08032852: lsls r1, 24 orrs r3, r1 str r3, [r4] - ldr r3, _08032938 @ =gUnknown_2037EFE + ldr r3, _08032938 @ =gAnimFriendship ldrb r1, [r6] lsls r1, 9 mov r2, r12 @@ -8482,7 +8482,7 @@ _08032852: adds r1, r2 ldrb r1, [r1] strb r1, [r3] - ldr r4, _0803293C @ =gUnknown_2037F00 + ldr r4, _0803293C @ =gWeatherMoveAnim ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -8523,8 +8523,8 @@ _08032928: .4byte gBattleBufferA _0803292C: .4byte gAnimMoveTurn _08032930: .4byte gAnimMovePower _08032934: .4byte gAnimMoveDmg -_08032938: .4byte gUnknown_2037EFE -_0803293C: .4byte gUnknown_2037F00 +_08032938: .4byte gAnimFriendship +_0803293C: .4byte gWeatherMoveAnim _08032940: .4byte gAnimDisableStructPtr _08032944: .4byte gTransformedPersonalities _08032948: @@ -9238,7 +9238,7 @@ _08032EDC: ldrb r0, [r0] movs r1, 0 movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox _08032F16: ldr r1, _08032F40 @ =gBattlerControllerFuncs ldr r0, _08032F44 @ =gActiveBattler @@ -9940,7 +9940,7 @@ PlayerHandleIntroTrainerBallThrow: @ 8033478 lsls r0, 2 ldr r5, _080335C0 @ =gSprites adds r0, r5 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r7] adds r0, r6 ldrb r1, [r0] @@ -10059,14 +10059,14 @@ PlayerHandleIntroTrainerBallThrow: @ 8033478 ands r0, r1 cmp r0, 0 beq _0803359A - ldr r0, _080335E8 @ =gUnknown_2024000 + ldr r0, _080335E8 @ =gBattlerStatusSummaryTaskId adds r0, r2, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r4 - ldr r1, _080335EC @ =sub_80491B0 + ldr r1, _080335EC @ =Task_HidePartyStatusSummary str r1, [r0] _0803359A: ldr r0, [r3] @@ -10097,8 +10097,8 @@ _080335D8: .4byte gSaveBlock2Ptr _080335DC: .4byte task05_08033660 _080335E0: .4byte gTasks _080335E4: .4byte gBattleSpritesDataPtr -_080335E8: .4byte gUnknown_2024000 -_080335EC: .4byte sub_80491B0 +_080335E8: .4byte gBattlerStatusSummaryTaskId +_080335EC: .4byte Task_HidePartyStatusSummary _080335F0: .4byte gBattlerControllerFuncs _080335F4: .4byte nullsub_13 thumb_func_end PlayerHandleIntroTrainerBallThrow @@ -10323,8 +10323,8 @@ _0803379C: subs r4, 0x2 adds r3, r4 ldrb r3, [r3] - bl sub_8048D14 - ldr r2, _08033824 @ =gUnknown_2024000 + bl CreatePartyStatusSummarySprites + ldr r2, _08033824 @ =gBattlerStatusSummaryTaskId ldrb r1, [r5] adds r1, r2 movs r3, 0 @@ -10366,7 +10366,7 @@ _08033810: _08033818: .4byte gBattleSpritesDataPtr _0803381C: .4byte gActiveBattler _08033820: .4byte gUnknown_2022BC8 -_08033824: .4byte gUnknown_2024000 +_08033824: .4byte gBattlerStatusSummaryTaskId _08033828: .4byte gBattlerControllerFuncs _0803382C: .4byte sub_8033830 thumb_func_end PlayerHandleDrawPartyStatusSummary @@ -10427,14 +10427,14 @@ PlayerHandleCmd49: @ 8033878 cmp r0, 0 beq _080338AA ldr r2, _080338BC @ =gTasks - ldr r0, _080338C0 @ =gUnknown_2024000 + ldr r0, _080338C0 @ =gBattlerStatusSummaryTaskId adds r0, r3, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r2 - ldr r1, _080338C4 @ =sub_80491B0 + ldr r1, _080338C4 @ =Task_HidePartyStatusSummary str r1, [r0] _080338AA: bl PlayerBufferExecCompleted @@ -10444,8 +10444,8 @@ _080338AA: _080338B4: .4byte gBattleSpritesDataPtr _080338B8: .4byte gActiveBattler _080338BC: .4byte gTasks -_080338C0: .4byte gUnknown_2024000 -_080338C4: .4byte sub_80491B0 +_080338C0: .4byte gBattlerStatusSummaryTaskId +_080338C4: .4byte Task_HidePartyStatusSummary thumb_func_end PlayerHandleCmd49 thumb_func_start sub_80338C8 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 4bff9be01..35684558a 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -1338,7 +1338,7 @@ _08156B54: adds r0, r7, 0 movs r2, 0x1 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -1714,7 +1714,7 @@ sub_8156E78: @ 8156E78 ldrb r1, [r1] movs r2, 0 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 @@ -1732,7 +1732,7 @@ sub_8156E78: @ 8156E78 adds r0, r6 ldrb r0, [r0] movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox b _08156EDA .align 2, 0 _08156EB8: .4byte gActiveBattler @@ -4258,7 +4258,7 @@ _081583F0: movs r0, 0x84 bl SetMultiuseSpriteTemplateToTrainerBack ldr r5, _08158510 @ =gMultiuseSpriteTemplate - ldr r0, _08158514 @ =gUnknown_823932C + ldr r0, _08158514 @ =gTrainerFrontPicCoords movs r1, 0x84 mov r8, r1 movs r1, 0x84 @@ -4386,7 +4386,7 @@ _081584E2: bx r0 .align 2, 0 _08158510: .4byte gMultiuseSpriteTemplate -_08158514: .4byte gUnknown_823932C +_08158514: .4byte gTrainerFrontPicCoords _08158518: .4byte gBattlerSpriteIds _0815851C: .4byte gSprites _08158520: .4byte 0x0000ff10 @@ -4622,7 +4622,7 @@ _081586FC: lsls r0, 2 adds r2, 0x1C adds r0, r2 - ldr r1, _08158738 @ =sub_8011EA0 + ldr r1, _08158738 @ =SpriteCB_FaintOpponentMon _0815871A: str r1, [r0] ldr r1, _0815873C @ =gBattlerControllerFuncs @@ -4639,7 +4639,7 @@ _0815872A: .align 2, 0 _08158730: .4byte gSprites _08158734: .4byte gBattlerSpriteIds -_08158738: .4byte sub_8011EA0 +_08158738: .4byte SpriteCB_FaintOpponentMon _0815873C: .4byte gBattlerControllerFuncs _08158740: .4byte gActiveBattler _08158744: .4byte sub_8156DCC @@ -4808,7 +4808,7 @@ sub_8158814: @ 8158814 lsls r1, 24 orrs r3, r1 str r3, [r4] - ldr r3, _081588FC @ =gUnknown_2037EFE + ldr r3, _081588FC @ =gAnimFriendship ldrb r1, [r6] lsls r1, 9 mov r2, r12 @@ -4816,7 +4816,7 @@ sub_8158814: @ 8158814 adds r1, r2 ldrb r1, [r1] strb r1, [r3] - ldr r4, _08158900 @ =gUnknown_2037F00 + ldr r4, _08158900 @ =gWeatherMoveAnim ldrb r2, [r6] lsls r2, 9 mov r1, r12 @@ -4857,8 +4857,8 @@ _081588EC: .4byte gActiveBattler _081588F0: .4byte gAnimMoveTurn _081588F4: .4byte gAnimMovePower _081588F8: .4byte gAnimMoveDmg -_081588FC: .4byte gUnknown_2037EFE -_08158900: .4byte gUnknown_2037F00 +_081588FC: .4byte gAnimFriendship +_08158900: .4byte gWeatherMoveAnim _08158904: .4byte gAnimDisableStructPtr _08158908: .4byte gTransformedPersonalities _0815890C: @@ -5550,7 +5550,7 @@ _08158E80: ldrb r0, [r0] movs r1, 0 movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox _08158EA8: ldr r1, _08158EC4 @ =gBattlerControllerFuncs ldr r0, _08158EC8 @ =gActiveBattler @@ -6129,7 +6129,7 @@ sub_8159304: @ 8159304 lsls r0, 2 ldr r5, _08159444 @ =gSprites adds r0, r5 - bl oamt_add_pos2_onto_pos1 + bl SetSpritePrimaryCoordsFromSecondaryCoords ldrb r0, [r7] adds r0, r6 ldrb r1, [r0] @@ -6166,7 +6166,7 @@ sub_8159304: @ 8159304 adds r1, r5, 0 adds r1, 0x1C adds r0, r1 - ldr r1, _0815944C @ =sub_8075590 + ldr r1, _0815944C @ =StartAnimLinearTranslation str r1, [r0] ldrb r2, [r7] adds r0, r2, r6 @@ -6243,14 +6243,14 @@ sub_8159304: @ 8159304 ands r0, r1 cmp r0, 0 beq _0815941C - ldr r0, _08159468 @ =gUnknown_2024000 + ldr r0, _08159468 @ =gBattlerStatusSummaryTaskId adds r0, r2, r0 ldrb r1, [r0] lsls r0, r1, 2 adds r0, r1 lsls r0, 3 adds r0, r4 - ldr r1, _0815946C @ =sub_80491B0 + ldr r1, _0815946C @ =Task_HidePartyStatusSummary str r1, [r0] _0815941C: ldr r0, [r3] @@ -6273,15 +6273,15 @@ _0815943C: .4byte gBattlerSpriteIds _08159440: .4byte gActiveBattler _08159444: .4byte gSprites _08159448: .4byte 0x0000ffd8 -_0815944C: .4byte sub_8075590 +_0815944C: .4byte StartAnimLinearTranslation _08159450: .4byte sub_80335F8 _08159454: .4byte 0x0000d6f8 _08159458: .4byte gUnknown_8239FD4 _0815945C: .4byte sub_81595EC _08159460: .4byte gTasks _08159464: .4byte gBattleSpritesDataPtr -_08159468: .4byte gUnknown_2024000 -_0815946C: .4byte sub_80491B0 +_08159468: .4byte gBattlerStatusSummaryTaskId +_0815946C: .4byte Task_HidePartyStatusSummary _08159470: .4byte gBattlerControllerFuncs _08159474: .4byte nullsub_99 thumb_func_end sub_8159304 @@ -6560,8 +6560,8 @@ _08159690: subs r3, 0x2 adds r4, r3 ldrb r3, [r4] - bl sub_8048D14 - ldr r2, _081596E0 @ =gUnknown_2024000 + bl CreatePartyStatusSummarySprites + ldr r2, _081596E0 @ =gBattlerStatusSummaryTaskId ldrb r1, [r5] adds r1, r2 strb r0, [r1] @@ -6574,7 +6574,7 @@ _081596CE: _081596D4: .4byte gBattleSpritesDataPtr _081596D8: .4byte gActiveBattler _081596DC: .4byte gUnknown_2022BC8 -_081596E0: .4byte gUnknown_2024000 +_081596E0: .4byte gBattlerStatusSummaryTaskId thumb_func_end sub_8159660 thumb_func_start sub_81596E4 diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 8f6361bb4..3e8044d2a 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -1201,8 +1201,8 @@ _08048424: _0804843C: .4byte 0x06010400 thumb_func_end UpdateLvlInHealthbox - thumb_func_start sub_8048440 -sub_8048440: @ 8048440 + thumb_func_start UpdateHpTextInHealthbox +UpdateHpTextInHealthbox: @ 8048440 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1425,7 +1425,7 @@ _08048608: .4byte gMonSpritesGfxPtr _0804860C: .4byte gSprites _08048610: .4byte 0x06010000 _08048614: .4byte 0x04000008 - thumb_func_end sub_8048440 + thumb_func_end UpdateHpTextInHealthbox thumb_func_start sub_8048618 sub_8048618: @ 8048618 @@ -2279,8 +2279,8 @@ _08048D0C: .4byte gHealthboxSpriteIds _08048D10: .4byte gBattlersCount thumb_func_end sub_8048A4C - thumb_func_start sub_8048D14 -sub_8048D14: @ 8048D14 + thumb_func_start CreatePartyStatusSummarySprites +CreatePartyStatusSummarySprites: @ 8048D14 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2866,10 +2866,10 @@ _08049172: .align 2, 0 _080491A8: .4byte TaskDummy _080491AC: .4byte gTasks - thumb_func_end sub_8048D14 + thumb_func_end CreatePartyStatusSummarySprites - thumb_func_start sub_80491B0 -sub_80491B0: @ 80491B0 + thumb_func_start Task_HidePartyStatusSummary +Task_HidePartyStatusSummary: @ 80491B0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -3099,7 +3099,7 @@ _0804936E: .align 2, 0 _08049380: .4byte gTasks _08049384: .4byte sub_804948C - thumb_func_end sub_80491B0 + thumb_func_end Task_HidePartyStatusSummary thumb_func_start sub_8049388 sub_8049388: @ 8049388 @@ -4426,7 +4426,7 @@ _08049E0C: asrs r1, 16 adds r0, r6, 0 movs r2, 0 - bl sub_8048440 + bl UpdateHpTextInHealthbox _08049E26: cmp r7, 0x2 beq _08049E2E @@ -4441,7 +4441,7 @@ _08049E2E: asrs r1, 16 adds r0, r6, 0 movs r2, 0x1 - bl sub_8048440 + bl UpdateHpTextInHealthbox _08049E44: cmp r7, 0x5 beq _08049E4C @@ -4468,7 +4468,7 @@ _08049E4C: adds r1, r6, 0 movs r2, 0 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar _08049E80: bl IsDoubleBattle lsls r0, 24 @@ -4530,7 +4530,7 @@ _08049E96: adds r1, r6, 0 movs r2, 0x1 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar _08049F06: cmp r7, 0x4 beq _08049F0E @@ -4607,7 +4607,7 @@ _08049F74: adds r1, r6, 0 movs r2, 0 movs r3, 0 - bl sub_8049FD8 + bl MoveBattleBar _08049FA8: cmp r7, 0x4 beq _08049FB0 @@ -4636,8 +4636,8 @@ _08049FC6: bx r0 thumb_func_end UpdateHealthboxAttribute - thumb_func_start sub_8049FD8 -sub_8049FD8: @ 8049FD8 + thumb_func_start MoveBattleBar +MoveBattleBar: @ 8049FD8 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -4765,7 +4765,7 @@ _0804A0BE: bx r1 .align 2, 0 _0804A0D0: .4byte gBattleSpritesDataPtr - thumb_func_end sub_8049FD8 + thumb_func_end MoveBattleBar thumb_func_start sub_804A0D4 sub_804A0D4: @ 804A0D4 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index ee6856130..abb47aba9 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -929,8 +929,8 @@ _080E6062: _080E6074: .4byte gSaveBlock2Ptr thumb_func_end sub_80E5E7C - thumb_func_start sub_80E6078 -sub_80E6078: @ 80E6078 + thumb_func_start GetBattleTowerTrainerFrontSpriteId +GetBattleTowerTrainerFrontSpriteId: @ 80E6078 push {lr} ldr r0, _080E6094 @ =gSaveBlock2Ptr ldr r3, [r0] @@ -983,7 +983,7 @@ _080E60D6: .align 2, 0 _080E60DC: .4byte gFacilityClassToPicIndex _080E60E0: .4byte gUnknown_83FFAC4 - thumb_func_end sub_80E6078 + thumb_func_end GetBattleTowerTrainerFrontSpriteId thumb_func_start sub_80E60E4 sub_80E60E4: @ 80E60E4 diff --git a/asm/bug.s b/asm/bug.s index 27c66e10f..de99118a2 100644 --- a/asm/bug.s +++ b/asm/bug.s @@ -86,7 +86,7 @@ _080B4008: ldrh r4, [r4, 0x6] adds r0, r4 strh r0, [r6, 0x36] - ldr r0, _080B4074 @ =sub_8075590 + ldr r0, _080B4074 @ =StartAnimLinearTranslation str r0, [r6, 0x1C] ldr r1, _080B4078 @ =DestroyAnimSprite adds r0, r6, 0 @@ -97,7 +97,7 @@ _080B4008: .align 2, 0 _080B406C: .4byte gBattleAnimTarget _080B4070: .4byte gBattleAnimArgs -_080B4074: .4byte sub_8075590 +_080B4074: .4byte StartAnimLinearTranslation _080B4078: .4byte DestroyAnimSprite thumb_func_end sub_80B3FAC @@ -166,7 +166,7 @@ _080B40BC: lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x36] - ldr r0, _080B4120 @ =sub_8075590 + ldr r0, _080B4120 @ =StartAnimLinearTranslation str r0, [r6, 0x1C] ldr r1, _080B4124 @ =DestroyAnimSprite adds r0, r6, 0 @@ -177,7 +177,7 @@ _080B40BC: .align 2, 0 _080B4118: .4byte gBattleAnimTarget _080B411C: .4byte gBattleAnimArgs -_080B4120: .4byte sub_8075590 +_080B4120: .4byte StartAnimLinearTranslation _080B4124: .4byte DestroyAnimSprite thumb_func_end sub_80B407C @@ -603,7 +603,7 @@ _080B43F6: strh r0, [r7, 0x2E] strh r4, [r7, 0x32] strh r5, [r7, 0x36] - ldr r0, _080B448C @ =sub_8075590 + ldr r0, _080B448C @ =StartAnimLinearTranslation str r0, [r7, 0x1C] ldr r1, _080B4490 @ =DestroyAnimSprite adds r0, r7, 0 @@ -616,7 +616,7 @@ _080B43F6: _080B4480: .4byte gBattleAnimAttacker _080B4484: .4byte gBattleAnimArgs _080B4488: .4byte gBattleAnimTarget -_080B448C: .4byte sub_8075590 +_080B448C: .4byte StartAnimLinearTranslation _080B4490: .4byte DestroyAnimSprite thumb_func_end sub_80B4364 diff --git a/asm/dragon.s b/asm/dragon.s index 5f86b5eca..bd01691f1 100644 --- a/asm/dragon.s +++ b/asm/dragon.s @@ -152,7 +152,7 @@ _080B7386: ldr r0, _080B73A0 @ =gBattleAnimArgs ldrh r0, [r0, 0x8] strh r0, [r5, 0x2E] - ldr r0, _080B73A4 @ =sub_8075590 + ldr r0, _080B73A4 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080B73A8 @ =move_anim_8074EE0 adds r0, r5, 0 @@ -162,7 +162,7 @@ _080B7386: bx r0 .align 2, 0 _080B73A0: .4byte gBattleAnimArgs -_080B73A4: .4byte sub_8075590 +_080B73A4: .4byte StartAnimLinearTranslation _080B73A8: .4byte move_anim_8074EE0 thumb_func_end sub_80B72F8 diff --git a/asm/fighting.s b/asm/fighting.s index b933e88e6..81785b16b 100644 --- a/asm/fighting.s +++ b/asm/fighting.s @@ -399,7 +399,7 @@ _080B0BB6: ldrh r0, [r4, 0x22] subs r0, 0x14 strh r0, [r4, 0x36] - ldr r0, _080B0BD0 @ =sub_8075590 + ldr r0, _080B0BD0 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] ldr r1, _080B0BD4 @ =sub_80B0BD8 adds r0, r4, 0 @@ -408,7 +408,7 @@ _080B0BB6: pop {r0} bx r0 .align 2, 0 -_080B0BD0: .4byte sub_8075590 +_080B0BD0: .4byte StartAnimLinearTranslation _080B0BD4: .4byte sub_80B0BD8 thumb_func_end sub_80B0B80 @@ -440,7 +440,7 @@ sub_80B0BD8: @ 80B0BD8 strh r1, [r5, 0x22] strh r6, [r5, 0x26] strh r6, [r5, 0x24] - ldr r0, _080B0C20 @ =sub_8075590 + ldr r0, _080B0C20 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080B0C24 @ =DestroyAnimSprite adds r0, r5, 0 @@ -450,7 +450,7 @@ _080B0C18: pop {r0} bx r0 .align 2, 0 -_080B0C20: .4byte sub_8075590 +_080B0C20: .4byte StartAnimLinearTranslation _080B0C24: .4byte DestroyAnimSprite thumb_func_end sub_80B0BD8 @@ -654,7 +654,7 @@ sub_80B0D7C: @ 80B0D7C lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, _080B0DCC @ =sub_8075590 + ldr r0, _080B0DCC @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080B0DD0 @ =sub_80B0DD4 adds r0, r5, 0 @@ -665,7 +665,7 @@ _080B0DC0: bx r0 .align 2, 0 _080B0DC8: .4byte gBattleAnimTarget -_080B0DCC: .4byte sub_8075590 +_080B0DCC: .4byte StartAnimLinearTranslation _080B0DD0: .4byte sub_80B0DD4 thumb_func_end sub_80B0D7C diff --git a/asm/fire.s b/asm/fire.s index 0e014a48d..d838039ac 100644 --- a/asm/fire.s +++ b/asm/fire.s @@ -367,14 +367,14 @@ sub_80ACBB0: @ 80ACBB0 strh r1, [r0, 0x32] movs r1, 0x50 strh r1, [r0, 0x36] - ldr r1, _080ACBD4 @ =sub_8075590 + ldr r1, _080ACBD4 @ =StartAnimLinearTranslation str r1, [r0, 0x1C] ldr r1, _080ACBD8 @ =DestroyAnimSprite bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 -_080ACBD4: .4byte sub_8075590 +_080ACBD4: .4byte StartAnimLinearTranslation _080ACBD8: .4byte DestroyAnimSprite thumb_func_end sub_80ACBB0 diff --git a/asm/flying.s b/asm/flying.s index 23fe4371d..a776b54cb 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -376,7 +376,7 @@ _080B1B72: ldrh r3, [r5, 0x36] adds r0, r3 strh r0, [r5, 0x36] - ldr r0, _080B1BA8 @ =sub_8075590 + ldr r0, _080B1BA8 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] ldr r1, _080B1BAC @ =DestroyAnimSprite adds r0, r5, 0 @@ -390,7 +390,7 @@ _080B1B72: .align 2, 0 _080B1BA0: .4byte gBattleAnimTarget _080B1BA4: .4byte gBattleAnimArgs -_080B1BA8: .4byte sub_8075590 +_080B1BA8: .4byte StartAnimLinearTranslation _080B1BAC: .4byte DestroyAnimSprite thumb_func_end sub_80B1AB8 diff --git a/asm/ground.s b/asm/ground.s index d9cc47ed2..3df01daf8 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -155,7 +155,7 @@ _080B8C74: ldrh r4, [r4, 0x6] adds r0, r4 strh r0, [r6, 0x36] - ldr r0, _080B8CC0 @ =sub_8075590 + ldr r0, _080B8CC0 @ =StartAnimLinearTranslation str r0, [r6, 0x1C] ldr r1, _080B8CC4 @ =DestroyAnimSprite adds r0, r6, 0 @@ -167,7 +167,7 @@ _080B8C74: _080B8CB4: .4byte gBattleAnimAttacker _080B8CB8: .4byte gBattleAnimArgs _080B8CBC: .4byte gBattleAnimTarget -_080B8CC0: .4byte sub_8075590 +_080B8CC0: .4byte StartAnimLinearTranslation _080B8CC4: .4byte DestroyAnimSprite thumb_func_end sub_80B8C54 @@ -222,7 +222,7 @@ _080B8D20: strh r0, [r6, 0x32] adds r0, r7, r4 strh r0, [r6, 0x36] - ldr r0, _080B8D50 @ =sub_8075590 + ldr r0, _080B8D50 @ =StartAnimLinearTranslation str r0, [r6, 0x1C] ldr r1, _080B8D54 @ =move_anim_8074EE0 adds r0, r6, 0 @@ -235,7 +235,7 @@ _080B8D20: .align 2, 0 _080B8D48: .4byte gBattleAnimTarget _080B8D4C: .4byte gBattleAnimArgs -_080B8D50: .4byte sub_8075590 +_080B8D50: .4byte StartAnimLinearTranslation _080B8D54: .4byte move_anim_8074EE0 thumb_func_end sub_80B8CC8 diff --git a/asm/ice.s b/asm/ice.s index ddc0370f7..ab26d23e5 100644 --- a/asm/ice.s +++ b/asm/ice.s @@ -429,7 +429,7 @@ _080AF37A: ldr r1, _080AF3B0 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080AF3B4 @ =sub_8075590 + ldr r0, _080AF3B4 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] pop {r4} pop {r0} @@ -438,7 +438,7 @@ _080AF37A: _080AF3A8: .4byte gBattleAnimArgs _080AF3AC: .4byte gBattleAnimTarget _080AF3B0: .4byte DestroyAnimSprite -_080AF3B4: .4byte sub_8075590 +_080AF3B4: .4byte StartAnimLinearTranslation thumb_func_end sub_80AF330 thumb_func_start sub_80AF3B8 diff --git a/asm/poison.s b/asm/poison.s index 111ad544a..770941be8 100644 --- a/asm/poison.s +++ b/asm/poison.s @@ -253,7 +253,7 @@ _080B17F0: strh r2, [r4, 0x32] adds r1, r3 strh r1, [r4, 0x36] - ldr r0, _080B1830 @ =sub_8075590 + ldr r0, _080B1830 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] ldr r1, _080B1834 @ =DestroyAnimSprite adds r0, r4, 0 @@ -265,7 +265,7 @@ _080B17F0: _080B1824: .4byte gBattleAnimTarget _080B1828: .4byte gBattleAnimAttacker _080B182C: .4byte gBattleAnimArgs -_080B1830: .4byte sub_8075590 +_080B1830: .4byte StartAnimLinearTranslation _080B1834: .4byte DestroyAnimSprite thumb_func_end sub_80B17C4 diff --git a/asm/rock.s b/asm/rock.s index cef182f32..c0da2bcfa 100644 --- a/asm/rock.s +++ b/asm/rock.s @@ -682,7 +682,7 @@ sub_80B4B8C: @ 80B4B8C ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x36] - ldr r0, _080B4BC8 @ =sub_8075590 + ldr r0, _080B4BC8 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] ldr r1, _080B4BCC @ =DestroyAnimSprite adds r0, r4, 0 @@ -692,7 +692,7 @@ sub_80B4B8C: @ 80B4B8C bx r0 .align 2, 0 _080B4BC4: .4byte gBattleAnimArgs -_080B4BC8: .4byte sub_8075590 +_080B4BC8: .4byte StartAnimLinearTranslation _080B4BCC: .4byte DestroyAnimSprite thumb_func_end sub_80B4B8C diff --git a/asm/water.s b/asm/water.s index 6904e65d2..d40e8f594 100644 --- a/asm/water.s +++ b/asm/water.s @@ -891,7 +891,7 @@ _080AB27A: ldrh r5, [r5, 0x6] adds r0, r5 strh r0, [r6, 0x36] - ldr r0, _080AB2C4 @ =sub_8075590 + ldr r0, _080AB2C4 @ =StartAnimLinearTranslation str r0, [r6, 0x1C] ldr r1, _080AB2C8 @ =DestroyAnimSprite adds r0, r6, 0 @@ -903,7 +903,7 @@ _080AB27A: _080AB2B8: .4byte gBattleAnimAttacker _080AB2BC: .4byte gBattleAnimTarget _080AB2C0: .4byte gBattleAnimArgs -_080AB2C4: .4byte sub_8075590 +_080AB2C4: .4byte StartAnimLinearTranslation _080AB2C8: .4byte DestroyAnimSprite thumb_func_end sub_80AB1F8 @@ -923,7 +923,7 @@ sub_80AB2CC: @ 80AB2CC ldrh r0, [r4, 0x22] adds r1, r0 strh r1, [r4, 0x36] - ldr r0, _080AB300 @ =sub_8075590 + ldr r0, _080AB300 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] ldr r1, _080AB304 @ =DestroyAnimSprite adds r0, r4, 0 @@ -933,7 +933,7 @@ sub_80AB2CC: @ 80AB2CC bx r0 .align 2, 0 _080AB2FC: .4byte gBattleAnimArgs -_080AB300: .4byte sub_8075590 +_080AB300: .4byte StartAnimLinearTranslation _080AB304: .4byte DestroyAnimSprite thumb_func_end sub_80AB2CC -- cgit v1.2.3 From 5568895b043dc37e95be0e99787541d78a7c6fee Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 3 Aug 2019 23:59:41 +0800 Subject: ported battle_ai_switch_items from pokeem --- asm/battle_2.s | 28 +- asm/battle_ai_switch_items.s | 2654 ------------------------------------------ asm/battle_script_commands.s | 88 +- 3 files changed, 58 insertions(+), 2712 deletions(-) delete mode 100644 asm/battle_ai_switch_items.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index d4fb29c16..114aeebd7 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -4847,7 +4847,7 @@ sub_8012434: @ 8012434 mov r10, r0 ldr r1, _080126D0 @ =gUnknown_2023DA8 mov r12, r1 - ldr r0, _080126D4 @ =gUnknown_2023DA0 + ldr r0, _080126D4 @ =gLastLandedMoves mov r9, r0 ldr r1, _080126D8 @ =gLastMoves mov r8, r1 @@ -4879,7 +4879,7 @@ _0801246C: strh r3, [r0] mov r1, r10 strh r3, [r1] - ldr r0, _080126F0 @ =gUnknown_2023DC0 + ldr r0, _080126F0 @ =gLastHitBy adds r1, r2, r0 movs r0, 0xFF strb r0, [r1] @@ -5173,14 +5173,14 @@ _080126AE: .align 2, 0 _080126CC: .4byte gUnknown_2023DB0 _080126D0: .4byte gUnknown_2023DA8 -_080126D4: .4byte gUnknown_2023DA0 +_080126D4: .4byte gLastLandedMoves _080126D8: .4byte gLastMoves _080126DC: .4byte gDisableStructs _080126E0: .4byte gUnknown_2023D90 _080126E4: .4byte gUnknown_2023DB8 _080126E8: .4byte gStatuses3 _080126EC: .4byte gUnknown_2023DD4 -_080126F0: .4byte gUnknown_2023DC0 +_080126F0: .4byte gLastHitBy _080126F4: .4byte gBattleResources _080126F8: .4byte gSideTimers _080126FC: .4byte gSideStatuses @@ -5585,7 +5585,7 @@ _08012A1A: strh r2, [r0] ldrb r0, [r1] lsls r0, 1 - ldr r6, _08012BB0 @ =gUnknown_2023DA0 + ldr r6, _08012BB0 @ =gLastLandedMoves adds r0, r6 strh r2, [r0] ldrb r0, [r1] @@ -5606,7 +5606,7 @@ _08012A1A: strh r2, [r0] mov r1, r12 ldrb r0, [r1] - ldr r2, _08012BC0 @ =gUnknown_2023DC0 + ldr r2, _08012BC0 @ =gLastHitBy adds r0, r2 movs r1, 0xFF strb r1, [r0] @@ -5758,11 +5758,11 @@ _08012BA0: .4byte gCurrentMove _08012BA4: .4byte gBattleMoves _08012BA8: .4byte gMoveResultFlags _08012BAC: .4byte gLastMoves -_08012BB0: .4byte gUnknown_2023DA0 +_08012BB0: .4byte gLastLandedMoves _08012BB4: .4byte gUnknown_2023DA8 _08012BB8: .4byte gUnknown_2023DB0 _08012BBC: .4byte gUnknown_2023D90 -_08012BC0: .4byte gUnknown_2023DC0 +_08012BC0: .4byte gLastHitBy _08012BC4: .4byte gBattleResources thumb_func_end sub_8012760 @@ -6053,7 +6053,7 @@ _08012CA8: strh r2, [r0] ldrb r0, [r7] lsls r0, 1 - ldr r1, _08012F90 @ =gUnknown_2023DA0 + ldr r1, _08012F90 @ =gLastLandedMoves adds r0, r1 strh r2, [r0] ldrb r0, [r7] @@ -6072,7 +6072,7 @@ _08012CA8: adds r0, r1 strh r2, [r0] ldrb r0, [r7] - ldr r2, _08012FA0 @ =gUnknown_2023DC0 + ldr r2, _08012FA0 @ =gLastHitBy adds r0, r2 movs r1, 0xFF strb r1, [r0] @@ -6250,11 +6250,11 @@ _08012F80: .4byte 0xfbffffff _08012F84: .4byte gBattleStruct _08012F88: .4byte 0xffff1fff _08012F8C: .4byte gLastMoves -_08012F90: .4byte gUnknown_2023DA0 +_08012F90: .4byte gLastLandedMoves _08012F94: .4byte gUnknown_2023DA8 _08012F98: .4byte gUnknown_2023DB0 _08012F9C: .4byte gUnknown_2023D90 -_08012FA0: .4byte gUnknown_2023DC0 +_08012FA0: .4byte gLastHitBy _08012FA4: .4byte gBattleResources _08012FA8: .4byte gBaseStats thumb_func_end sub_8012BC8 @@ -13836,7 +13836,7 @@ HandleAction_ActionFinished: @ 8016D70 ldr r5, _08016E04 @ =gBattleScripting strb r1, [r5, 0x18] strb r1, [r5, 0x19] - ldr r2, _08016E08 @ =gUnknown_2023DA0 + ldr r2, _08016E08 @ =gLastLandedMoves ldr r3, _08016E0C @ =gBattlerAttacker ldrb r0, [r3] lsls r0, 1 @@ -13875,7 +13875,7 @@ _08016DF8: .4byte gCurrentMove _08016DFC: .4byte gBattleMoveDamage _08016E00: .4byte gMoveResultFlags _08016E04: .4byte gBattleScripting -_08016E08: .4byte gUnknown_2023DA0 +_08016E08: .4byte gLastLandedMoves _08016E0C: .4byte gBattlerAttacker _08016E10: .4byte gUnknown_2023DA8 _08016E14: .4byte gBattleStruct diff --git a/asm/battle_ai_switch_items.s b/asm/battle_ai_switch_items.s deleted file mode 100644 index 58acf73c2..000000000 --- a/asm/battle_ai_switch_items.s +++ /dev/null @@ -1,2654 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ShouldSwitchIfPerishSong -ShouldSwitchIfPerishSong: @ 8039188 - push {lr} - ldr r1, _080391D4 @ =gStatuses3 - ldr r0, _080391D8 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080391E4 - ldr r0, _080391DC @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xF] - lsls r0, 28 - cmp r0, 0 - bne _080391E4 - adds r0, r2, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, _080391E0 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x92 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl BtlController_EmitTwoReturnValues - movs r0, 0x1 - b _080391E6 - .align 2, 0 -_080391D4: .4byte gStatuses3 -_080391D8: .4byte gActiveBattler -_080391DC: .4byte gDisableStructs -_080391E0: .4byte gBattleStruct -_080391E4: - movs r0, 0 -_080391E6: - pop {r1} - bx r1 - thumb_func_end ShouldSwitchIfPerishSong - - thumb_func_start sub_80391EC -sub_80391EC: @ 80391EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08039204 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08039234 - b _0803935C - .align 2, 0 -_08039204: .4byte gBattleTypeFlags -_08039208: - ldr r0, _0803922C @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, _08039230 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x92 - strb r6, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl BtlController_EmitTwoReturnValues - movs r0, 0x1 - b _0803935E - .align 2, 0 -_0803922C: .4byte gActiveBattler -_08039230: .4byte gBattleStruct -_08039234: - ldr r4, _0803936C @ =gBattleMons - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x58 - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x19 - beq _08039250 - b _0803935C -_08039250: - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r2, r0, 24 - movs r6, 0 - adds r7, r4, 0 - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r4, r0, r7 - movs r0, 0x20 - adds r0, r4 - mov r8, r0 -_0803926C: - lsls r1, r6, 1 - ldr r0, _08039370 @ =gActiveBattler - ldrb r0, [r0] - muls r0, r5 - adds r1, r0 - adds r0, r7, 0 - adds r0, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08039298 - ldrh r1, [r4] - mov r3, r8 - ldrb r2, [r3] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0803935C -_08039298: - adds r6, 0x1 - cmp r6, 0x3 - ble _0803926C - movs r6, 0 - ldr r0, _08039374 @ =gEnemyParty - mov r9, r0 -_080392A4: - movs r0, 0x64 - adds r5, r6, 0 - muls r5, r0 - mov r3, r9 - adds r4, r5, r3 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08039356 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08039356 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08039356 - ldr r1, _08039378 @ =gBattlerPartyIndexes - ldr r0, _08039370 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _08039356 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r2, r0, 24 - movs r4, 0 - mov r8, r5 - ldr r1, _0803936C @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r5, r0, r1 - adds r7, r5, 0 - adds r7, 0x20 -_08039310: - adds r1, r4, 0 - adds r1, 0xD - mov r0, r8 - add r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _08039350 - ldrh r1, [r5] - ldrb r2, [r7] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _08039350 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08039350 - b _08039208 -_08039350: - adds r4, 0x1 - cmp r4, 0x3 - ble _08039310 -_08039356: - adds r6, 0x1 - cmp r6, 0x5 - ble _080392A4 -_0803935C: - movs r0, 0 -_0803935E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803936C: .4byte gBattleMons -_08039370: .4byte gActiveBattler -_08039374: .4byte gEnemyParty -_08039378: .4byte gBattlerPartyIndexes - thumb_func_end sub_80391EC - - thumb_func_start sub_803937C -sub_803937C: @ 803937C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0x1 - bl ai_has_super_effective_move_on_field - lsls r0, 24 - cmp r0, 0 - beq _080393A8 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _080393A8 - b _08039588 -_080393A8: - ldr r1, _08039410 @ =gUnknown_2023DA0 - ldr r5, _08039414 @ =gActiveBattler - ldrb r3, [r5] - lsls r0, r3, 1 - adds r4, r0, r1 - ldrh r1, [r4] - cmp r1, 0 - bne _080393BA - b _08039588 -_080393BA: - ldr r0, _08039418 @ =0x0000ffff - cmp r1, r0 - bne _080393C2 - b _08039588 -_080393C2: - ldr r2, _0803941C @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _080393D6 - b _08039588 -_080393D6: - ldr r0, _08039420 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08039442 - mov r8, r3 - mov r0, r8 - bl GetBattlerPosition - movs r4, 0x2 - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r1, _08039424 @ =gAbsentBattlerFlags - ldrb r1, [r1] - ldr r2, _08039428 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0803942C - ldrb r7, [r5] - b _08039446 - .align 2, 0 -_08039410: .4byte gUnknown_2023DA0 -_08039414: .4byte gActiveBattler -_08039418: .4byte 0x0000ffff -_0803941C: .4byte gBattleMoves -_08039420: .4byte gBattleTypeFlags -_08039424: .4byte gAbsentBattlerFlags -_08039428: .4byte gBitTable -_0803942C: - ldrb r0, [r5] - bl GetBattlerPosition - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - b _08039446 -_08039442: - adds r7, r3, 0 - mov r8, r7 -_08039446: - ldr r3, _08039468 @ =gBattleMoves - ldr r1, _0803946C @ =gUnknown_2023DA0 - ldr r2, _08039470 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x2] - adds r1, r2, 0 - cmp r0, 0xA - bne _08039474 - movs r0, 0x12 - b _08039486 - .align 2, 0 -_08039468: .4byte gBattleMoves -_0803946C: .4byte gUnknown_2023DA0 -_08039470: .4byte gActiveBattler -_08039474: - cmp r0, 0xB - bne _0803947E - movs r2, 0xB - mov r10, r2 - b _08039488 -_0803947E: - cmp r0, 0xD - beq _08039484 - b _08039588 -_08039484: - movs r0, 0xA -_08039486: - mov r10, r0 -_08039488: - ldr r2, _0803949C @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, r10 - bne _080394CC - b _08039588 - .align 2, 0 -_0803949C: .4byte gBattleMons -_080394A0: - ldr r0, _080394C4 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, _080394C8 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x92 - strb r6, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl BtlController_EmitTwoReturnValues - movs r0, 0x1 - b _0803958A - .align 2, 0 -_080394C4: .4byte gActiveBattler -_080394C8: .4byte gBattleStruct -_080394CC: - movs r6, 0 - ldr r2, _08039558 @ =gBaseStats - mov r9, r2 -_080394D2: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _0803955C @ =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08039582 - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08039582 - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08039582 - ldr r1, _08039560 @ =gBattlerPartyIndexes - mov r2, r8 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _08039582 - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - beq _08039582 - ldr r0, _08039564 @ =gBattleStruct - ldr r1, [r0] - adds r0, r2, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r6, r0 - beq _08039582 - adds r0, r7, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r6, r0 - beq _08039582 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - movs r1, 0x2E - bl GetMonData - cmp r0, 0 - beq _08039568 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x17] - b _08039572 - .align 2, 0 -_08039558: .4byte gBaseStats -_0803955C: .4byte gEnemyParty -_08039560: .4byte gBattlerPartyIndexes -_08039564: .4byte gBattleStruct -_08039568: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0, 0x16] -_08039572: - cmp r10, r0 - bne _08039582 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080394A0 -_08039582: - adds r6, 0x1 - cmp r6, 0x5 - ble _080394D2 -_08039588: - movs r0, 0 -_0803958A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803937C - - thumb_func_start sub_8039598 -sub_8039598: @ 8039598 - push {r4,r5,lr} - ldr r3, _080395F0 @ =gBattleMons - ldr r5, _080395F4 @ =gActiveBattler - ldrb r4, [r5] - movs r0, 0x58 - adds r2, r4, 0 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08039660 - adds r1, r2, r3 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1E - bne _08039660 - ldrh r0, [r1, 0x2C] - ldrh r1, [r1, 0x28] - lsrs r0, 1 - cmp r1, r0 - bcc _08039660 - ldr r1, _080395F8 @ =gUnknown_2023DA0 - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - beq _080395DE - ldr r0, _080395FC @ =0x0000ffff - cmp r1, r0 - bne _08039600 -_080395DE: - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08039600 - ldrb r0, [r5] - b _08039668 - .align 2, 0 -_080395F0: .4byte gBattleMons -_080395F4: .4byte gActiveBattler -_080395F8: .4byte gUnknown_2023DA0 -_080395FC: .4byte 0x0000ffff -_08039600: - ldr r2, _0803962C @ =gBattleMoves - ldr r1, _08039630 @ =gUnknown_2023DA0 - ldr r4, _08039634 @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08039638 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08039638 - ldrb r0, [r4] - b _08039668 - .align 2, 0 -_0803962C: .4byte gBattleMoves -_08039630: .4byte gUnknown_2023DA0 -_08039634: .4byte gActiveBattler -_08039638: - movs r0, 0x8 - movs r1, 0x1 - bl sub_8039828 - lsls r0, 24 - cmp r0, 0 - bne _08039686 - movs r0, 0x4 - movs r1, 0x1 - bl sub_8039828 - lsls r0, 24 - cmp r0, 0 - bne _08039686 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _08039664 -_08039660: - movs r0, 0 - b _08039688 -_08039664: - ldr r0, _08039690 @ =gActiveBattler - ldrb r0, [r0] -_08039668: - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, _08039694 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x92 - movs r1, 0x6 - strb r1, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl BtlController_EmitTwoReturnValues -_08039686: - movs r0, 0x1 -_08039688: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08039690: .4byte gActiveBattler -_08039694: .4byte gBattleStruct - thumb_func_end sub_8039598 - - thumb_func_start ai_has_super_effective_move_on_field -ai_has_super_effective_move_on_field: @ 8039698 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _08039730 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08039734 @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08039720 - movs r4, 0 - ldr r6, _08039738 @ =gBattleMons - movs r7, 0x58 - adds r0, r3, 0 - muls r0, r7 - adds r5, r0, r6 - movs r0, 0x20 - adds r0, r5 - mov r9, r0 -_080396D4: - lsls r1, r4, 1 - ldr r0, _0803973C @ =gActiveBattler - ldrb r0, [r0] - muls r0, r7 - adds r1, r0 - adds r0, r6, 0 - adds r0, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0803971A - ldrh r1, [r5] - mov r3, r9 - ldrb r2, [r3] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _0803971A - mov r0, r8 - cmp r0, 0 - bne _08039744 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _08039744 -_0803971A: - adds r4, 0x1 - cmp r4, 0x3 - ble _080396D4 -_08039720: - ldr r0, _08039740 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08039748 - b _080397C2 - .align 2, 0 -_08039730: .4byte gAbsentBattlerFlags -_08039734: .4byte gBitTable -_08039738: .4byte gBattleMons -_0803973C: .4byte gActiveBattler -_08039740: .4byte gBattleTypeFlags -_08039744: - movs r0, 0x1 - b _080397C4 -_08039748: - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080397D0 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _080397D4 @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080397C2 - movs r4, 0 - ldr r6, _080397D8 @ =gBattleMons - movs r7, 0x58 - adds r0, r3, 0 - muls r0, r7 - adds r5, r0, r6 - movs r3, 0x20 - adds r3, r5 - mov r9, r3 -_08039776: - lsls r1, r4, 1 - ldr r0, _080397DC @ =gActiveBattler - ldrb r0, [r0] - muls r0, r7 - adds r1, r0 - adds r0, r6, 0 - adds r0, 0xC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _080397BC - ldrh r1, [r5] - mov r3, r9 - ldrb r2, [r3] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _080397BC - mov r0, r8 - cmp r0, 0 - bne _08039744 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _08039744 -_080397BC: - adds r4, 0x1 - cmp r4, 0x3 - ble _08039776 -_080397C2: - movs r0, 0 -_080397C4: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080397D0: .4byte gAbsentBattlerFlags -_080397D4: .4byte gBitTable -_080397D8: .4byte gBattleMons -_080397DC: .4byte gActiveBattler - thumb_func_end ai_has_super_effective_move_on_field - - thumb_func_start AI_AreStatsRaised -AI_AreStatsRaised: @ 80397E0 - push {r4,lr} - movs r4, 0 - ldr r1, _08039820 @ =gBattleMons - ldr r0, _08039824 @ =gActiveBattler - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x18 - adds r2, r0, r1 - movs r3, 0x7 -_080397F4: - ldrb r1, [r2] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x6 - ble _0803980A - subs r1, 0x6 - lsls r0, r4, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 -_0803980A: - adds r2, 0x1 - subs r3, 0x1 - cmp r3, 0 - bge _080397F4 - movs r0, 0 - cmp r4, 0x3 - bls _0803981A - movs r0, 0x1 -_0803981A: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08039820: .4byte gBattleMons -_08039824: .4byte gActiveBattler - thumb_func_end AI_AreStatsRaised - - thumb_func_start sub_8039828 -sub_8039828: @ 8039828 - 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 - str r0, [sp] - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - ldr r1, _080398B4 @ =gUnknown_2023DA0 - ldr r5, _080398B8 @ =gActiveBattler - ldrb r3, [r5] - lsls r0, r3, 1 - adds r4, r0, r1 - ldrh r1, [r4] - cmp r1, 0 - bne _08039852 - b _08039A54 -_08039852: - ldr r0, _080398BC @ =0x0000ffff - cmp r1, r0 - bne _0803985A - b _08039A54 -_0803985A: - ldr r0, _080398C0 @ =gUnknown_2023DC0 - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08039866 - b _08039A54 -_08039866: - ldr r2, _080398C4 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0803987A - b _08039A54 -_0803987A: - ldr r0, _080398C8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08039918 - mov r9, r3 - mov r0, r9 - bl GetBattlerPosition - movs r4, 0x2 - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r1, _080398CC @ =gAbsentBattlerFlags - ldrb r1, [r1] - ldr r2, _080398D0 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080398D4 - ldrb r5, [r5] - mov r10, r5 - b _0803991C - .align 2, 0 -_080398B4: .4byte gUnknown_2023DA0 -_080398B8: .4byte gActiveBattler -_080398BC: .4byte 0x0000ffff -_080398C0: .4byte gUnknown_2023DC0 -_080398C4: .4byte gBattleMoves -_080398C8: .4byte gBattleTypeFlags -_080398CC: .4byte gAbsentBattlerFlags -_080398D0: .4byte gBitTable -_080398D4: - ldrb r0, [r5] - bl GetBattlerPosition - eors r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - b _0803991C -_080398EC: - ldr r0, _08039910 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, _08039914 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x92 - strb r7, [r0] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl BtlController_EmitTwoReturnValues - movs r0, 0x1 - b _08039A56 - .align 2, 0 -_08039910: .4byte gActiveBattler -_08039914: .4byte gBattleStruct -_08039918: - mov r9, r3 - mov r10, r9 -_0803991C: - movs r7, 0 -_0803991E: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _080399B0 @ =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08039936 - b _08039A4C -_08039936: - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - bne _08039944 - b _08039A4C -_08039944: - adds r0, r5, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08039A4C - ldr r1, _080399B4 @ =gBattlerPartyIndexes - mov r2, r9 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r7, r0 - beq _08039A4C - mov r2, r10 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r7, r0 - beq _08039A4C - ldr r0, _080399B8 @ =gBattleStruct - ldr r1, [r0] - mov r2, r9 - adds r0, r2, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r7, r0 - beq _08039A4C - mov r2, r10 - adds r0, r2, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r7, r0 - beq _08039A4C - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - movs r1, 0x2E - bl GetMonData - cmp r0, 0 - beq _080399C0 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, _080399BC @ =gBaseStats - adds r0, r1 - ldrb r2, [r0, 0x17] - b _080399CC - .align 2, 0 -_080399B0: .4byte gEnemyParty -_080399B4: .4byte gBattlerPartyIndexes -_080399B8: .4byte gBattleStruct -_080399BC: .4byte gBaseStats -_080399C0: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r2, _08039A68 @ =gBaseStats - adds r0, r2 - ldrb r2, [r0, 0x16] -_080399CC: - ldr r1, _08039A6C @ =gUnknown_2023DA0 - ldr r5, _08039A70 @ =gActiveBattler - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - adds r1, r4, 0 - bl AI_TypeCalc - ldr r1, [sp] - ands r1, r0 - cmp r1, 0 - beq _08039A4C - ldr r1, _08039A74 @ =gUnknown_2023DC0 - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - mov r9, r0 - movs r4, 0 - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - mov r8, r1 - ldr r1, _08039A78 @ =gBattleMons - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r5, r0, r1 - adds r6, r5, 0 - adds r6, 0x20 -_08039A0A: - ldr r0, _08039A7C @ =gEnemyParty - adds r1, r4, 0 - adds r1, 0xD - add r0, r8 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _08039A46 - ldrh r1, [r5] - ldrb r2, [r6] - bl AI_TypeCalc - lsls r0, 24 - lsrs r1, r0, 24 - movs r0, 0x2 - ands r1, r0 - cmp r1, 0 - beq _08039A46 - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x4] - bl __modsi3 - cmp r0, 0 - bne _08039A46 - b _080398EC -_08039A46: - adds r4, 0x1 - cmp r4, 0x3 - ble _08039A0A -_08039A4C: - adds r7, 0x1 - cmp r7, 0x5 - bgt _08039A54 - b _0803991E -_08039A54: - movs r0, 0 -_08039A56: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08039A68: .4byte gBaseStats -_08039A6C: .4byte gUnknown_2023DA0 -_08039A70: .4byte gActiveBattler -_08039A74: .4byte gUnknown_2023DC0 -_08039A78: .4byte gBattleMons -_08039A7C: .4byte gEnemyParty - thumb_func_end sub_8039828 - - thumb_func_start sub_8039A80 -sub_8039A80: @ 8039A80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r6, _08039B5C @ =gBattleMons - ldr r4, _08039B60 @ =gActiveBattler - ldrb r2, [r4] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r6, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08039B64 @ =0x0400e000 - ands r0, r1 - cmp r0, 0 - beq _08039AA6 - b _08039C74 -_08039AA6: - ldr r0, _08039B68 @ =gStatuses3 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x80 - lsls r0, 3 - ands r1, r0 - cmp r1, 0 - beq _08039ABA - b _08039C74 -_08039ABA: - str r1, [sp] - movs r0, 0xC - adds r1, r2, 0 - movs r2, 0x17 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08039AD2 - b _08039C74 -_08039AD2: - ldrb r1, [r4] - str r0, [sp] - movs r0, 0xC - movs r2, 0x47 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08039AEA - b _08039C74 -_08039AEA: - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x2A - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08039B1C - ldrb r0, [r4] - muls r0, r5 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x8 - bne _08039B10 - b _08039C74 -_08039B10: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x8 - bne _08039B1C - b _08039C74 -_08039B1C: - movs r0, 0 - mov r8, r0 - ldr r0, _08039B6C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08039B8E - ldr r4, _08039B60 @ =gActiveBattler - ldrb r7, [r4] - adds r0, r7, 0 - bl GetBattlerPosition - movs r5, 0x2 - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r1, _08039B70 @ =gAbsentBattlerFlags - ldrb r1, [r1] - ldr r2, _08039B74 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08039B78 - ldrb r6, [r4] - b _08039B94 - .align 2, 0 -_08039B5C: .4byte gBattleMons -_08039B60: .4byte gActiveBattler -_08039B64: .4byte 0x0400e000 -_08039B68: .4byte gStatuses3 -_08039B6C: .4byte gBattleTypeFlags -_08039B70: .4byte gAbsentBattlerFlags -_08039B74: .4byte gBitTable -_08039B78: - ldrb r0, [r4] - bl GetBattlerPosition - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - b _08039B94 -_08039B8E: - ldr r0, _08039C64 @ =gActiveBattler - ldrb r6, [r0] - adds r7, r6, 0 -_08039B94: - movs r5, 0 -_08039B96: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08039C68 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08039BFA - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08039BFA - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08039BFA - ldr r1, _08039C6C @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - beq _08039BFA - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - beq _08039BFA - ldr r0, _08039C70 @ =gBattleStruct - ldr r1, [r0] - adds r0, r7, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r5, r0 - beq _08039BFA - adds r0, r6, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r5, r0 - beq _08039BFA - movs r0, 0x1 - add r8, r0 -_08039BFA: - adds r5, 0x1 - cmp r5, 0x5 - ble _08039B96 - mov r0, r8 - cmp r0, 0 - beq _08039C74 - bl ShouldSwitchIfPerishSong - lsls r0, 24 - cmp r0, 0 - bne _08039C60 - bl sub_80391EC - lsls r0, 24 - cmp r0, 0 - bne _08039C60 - bl sub_803937C - lsls r0, 24 - cmp r0, 0 - bne _08039C60 - bl sub_8039598 - lsls r0, 24 - cmp r0, 0 - bne _08039C60 - movs r0, 0 - bl ai_has_super_effective_move_on_field - lsls r0, 24 - cmp r0, 0 - bne _08039C74 - bl AI_AreStatsRaised - lsls r0, 24 - cmp r0, 0 - bne _08039C74 - movs r0, 0x8 - movs r1, 0x2 - bl sub_8039828 - lsls r0, 24 - cmp r0, 0 - bne _08039C60 - movs r0, 0x4 - movs r1, 0x3 - bl sub_8039828 - lsls r0, 24 - cmp r0, 0 - beq _08039C74 -_08039C60: - movs r0, 0x1 - b _08039C76 - .align 2, 0 -_08039C64: .4byte gActiveBattler -_08039C68: .4byte gEnemyParty -_08039C6C: .4byte gBattlerPartyIndexes -_08039C70: .4byte gBattleStruct -_08039C74: - movs r0, 0 -_08039C76: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8039A80 - - thumb_func_start AI_TrySwitchOrUseItem -AI_TrySwitchOrUseItem: @ 8039C84 - push {r4-r6,lr} - ldr r5, _08039CDC @ =gBattleTypeFlags - ldr r0, [r5] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08039C94 - b _08039D96 -_08039C94: - bl sub_8039A80 - lsls r0, 24 - cmp r0, 0 - beq _08039D8C - ldr r0, _08039CE0 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, _08039CE4 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x92 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08039D5A - bl GetMostSuitableMonToSwitchInto - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bne _08039D44 - ldr r0, [r5] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08039CE8 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - b _08039CFC - .align 2, 0 -_08039CDC: .4byte gBattleTypeFlags -_08039CE0: .4byte gActiveBattler -_08039CE4: .4byte gBattleStruct -_08039CE8: - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r5, r0, 24 -_08039CFC: - movs r4, 0 -_08039CFE: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08039D7C @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08039D3E - ldr r1, _08039D80 @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _08039D3E - lsls r0, r5, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - beq _08039D3E - ldr r0, _08039D84 @ =gBattleStruct - ldr r1, [r0] - adds r0, r6, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r4, r0 - beq _08039D3E - adds r0, r5, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r4, r0 - bne _08039D44 -_08039D3E: - adds r4, 0x1 - cmp r4, 0x5 - ble _08039CFE -_08039D44: - ldr r0, _08039D88 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 25 - ldr r1, _08039D84 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x92 - strb r4, [r0] -_08039D5A: - ldr r4, _08039D88 @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerPosition - ldrb r2, [r4] - ldr r1, _08039D84 @ =gBattleStruct - ldr r1, [r1] - adds r2, r1 - adds r2, 0x5C - lsls r0, 24 - lsrs r0, 25 - adds r0, r1 - adds r0, 0x92 - ldrb r0, [r0] - strb r0, [r2] - b _08039DA8 - .align 2, 0 -_08039D7C: .4byte gEnemyParty -_08039D80: .4byte gBattlerPartyIndexes -_08039D84: .4byte gBattleStruct -_08039D88: .4byte gActiveBattler -_08039D8C: - bl sub_803A1F4 - lsls r0, 24 - cmp r0, 0 - bne _08039DA8 -_08039D96: - ldr r0, _08039DB0 @ =gActiveBattler - ldrb r0, [r0] - movs r2, 0x1 - eors r2, r0 - lsls r2, 8 - movs r0, 0x1 - movs r1, 0 - bl BtlController_EmitTwoReturnValues -_08039DA8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08039DB0: .4byte gActiveBattler - thumb_func_end AI_TrySwitchOrUseItem - - thumb_func_start sub_8039DB4 -sub_8039DB4: @ 8039DB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r3, 0 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r7, 0 - ldr r0, _08039E38 @ =gUnknown_824F050 - mov r10, r0 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08039E26 - mov r5, r10 -_08039DE2: - ldrb r0, [r5] - cmp r0, 0xFE - beq _08039E18 - ldr r1, [sp] - cmp r0, r1 - bne _08039E18 - ldrb r4, [r5, 0x1] - cmp r4, r9 - bne _08039E02 - ldrb r1, [r6] - ldrb r0, [r5, 0x2] - muls r0, r1 - movs r1, 0xA - bl __divsi3 - strb r0, [r6] -_08039E02: - cmp r4, r8 - bne _08039E18 - cmp r9, r8 - beq _08039E18 - ldrb r1, [r6] - ldrb r0, [r5, 0x2] - muls r0, r1 - movs r1, 0xA - bl __divsi3 - strb r0, [r6] -_08039E18: - adds r5, 0x3 - adds r7, 0x3 - mov r1, r10 - adds r0, r7, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08039DE2 -_08039E26: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08039E38: .4byte gUnknown_824F050 - thumb_func_end sub_8039DB4 - - thumb_func_start GetMostSuitableMonToSwitchInto -GetMostSuitableMonToSwitchInto: @ 8039E3C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, _08039E98 @ =gActiveBattler - ldrb r2, [r4] - ldr r0, _08039E9C @ =gBattleStruct - ldr r0, [r0] - adds r0, r2, r0 - adds r1, r0, 0 - adds r1, 0x5C - ldrb r0, [r1] - cmp r0, 0x6 - beq _08039E5E - b _0803A160 -_08039E5E: - ldr r0, _08039EA0 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08039EF8 - str r2, [sp, 0xC] - adds r0, r2, 0 - bl GetBattlerPosition - movs r5, 0x2 - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r1, _08039EA4 @ =gAbsentBattlerFlags - ldrb r1, [r1] - ldr r2, _08039EA8 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08039EAC - ldrb r4, [r4] - str r4, [sp, 0x10] - b _08039EC2 - .align 2, 0 -_08039E98: .4byte gActiveBattler -_08039E9C: .4byte gBattleStruct -_08039EA0: .4byte gBattleTypeFlags -_08039EA4: .4byte gAbsentBattlerFlags -_08039EA8: .4byte gBitTable -_08039EAC: - ldrb r0, [r4] - bl GetBattlerPosition - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] -_08039EC2: - bl Random - movs r3, 0x2 - ands r0, r3 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08039EF0 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08039EF4 @ =gBitTable - mov r4, r10 - lsls r0, r4, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08039F0A - eors r4, r3 - lsls r0, r4, 24 - lsrs r0, 24 - mov r10, r0 - b _08039F0A - .align 2, 0 -_08039EF0: .4byte gAbsentBattlerFlags -_08039EF4: .4byte gBitTable -_08039EF8: - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldrb r4, [r4] - str r4, [sp, 0x10] - str r4, [sp, 0xC] -_08039F0A: - movs r0, 0 - mov r9, r0 - mov r1, sp - str r1, [sp, 0x14] -_08039F12: - movs r2, 0 - str r2, [sp, 0x4] - movs r4, 0x6 - str r4, [sp, 0x8] - movs r7, 0 - ldr r0, _08039FD8 @ =gBitTable - mov r8, r0 -_08039F20: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _08039FDC @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _08039FF0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08039FF0 - mov r1, r8 - ldr r0, [r1] - mov r2, r9 - ands r0, r2 - cmp r0, 0 - bne _08039FF0 - ldr r1, _08039FE0 @ =gBattlerPartyIndexes - ldr r4, [sp, 0xC] - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _08039FF0 - ldr r2, [sp, 0x10] - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _08039FF0 - ldr r0, _08039FE4 @ =gBattleStruct - ldr r1, [r0] - adds r0, r4, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r7, r0 - beq _08039FF0 - adds r0, r2, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r7, r0 - beq _08039FF0 - ldr r1, _08039FE8 @ =gBaseStats - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x6] - ldrb r6, [r0, 0x7] - movs r0, 0xA - ldr r4, [sp, 0x14] - strb r0, [r4] - movs r0, 0x58 - mov r4, r10 - muls r4, r0 - ldr r0, _08039FEC @ =gBattleMons - adds r4, r0 - adds r0, r4, 0 - adds r0, 0x21 - ldrb r0, [r0] - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, sp - bl sub_8039DB4 - adds r4, 0x22 - ldrb r0, [r4] - adds r1, r5, 0 - adds r2, r6, 0 - mov r3, sp - bl sub_8039DB4 - ldr r2, [sp, 0x4] - ldr r1, [sp, 0x14] - ldrb r1, [r1] - cmp r2, r1 - bcs _08039FFE - ldr r2, [sp, 0x14] - ldrb r2, [r2] - str r2, [sp, 0x4] - lsls r0, r7, 24 - lsrs r0, 24 - str r0, [sp, 0x8] - b _08039FFE - .align 2, 0 -_08039FD8: .4byte gBitTable -_08039FDC: .4byte gEnemyParty -_08039FE0: .4byte gBattlerPartyIndexes -_08039FE4: .4byte gBattleStruct -_08039FE8: .4byte gBaseStats -_08039FEC: .4byte gBattleMons -_08039FF0: - mov r4, r8 - ldr r0, [r4] - mov r1, r9 - orrs r1, r0 - lsls r0, r1, 24 - lsrs r0, 24 - mov r9, r0 -_08039FFE: - movs r2, 0x4 - add r8, r2 - adds r7, 0x1 - cmp r7, 0x5 - ble _08039F20 - ldr r4, [sp, 0x8] - cmp r4, 0x6 - beq _0803A06C - movs r7, 0 - movs r0, 0x64 - adds r5, r4, 0 - muls r5, r0 - ldr r6, _0803A060 @ =gEnemyParty -_0803A018: - adds r1, r7, 0 - adds r1, 0xD - adds r0, r5, r6 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0803A03E - ldr r0, _0803A064 @ =gActiveBattler - ldrb r1, [r0] - adds r0, r4, 0 - mov r2, r10 - bl TypeCalc - movs r1, 0x2 - ands r1, r0 - cmp r1, 0 - bne _0803A044 -_0803A03E: - adds r7, 0x1 - cmp r7, 0x3 - ble _0803A018 -_0803A044: - cmp r7, 0x4 - beq _0803A04A - b _0803A15E -_0803A04A: - ldr r1, [sp, 0x8] - lsls r0, r1, 2 - ldr r2, _0803A068 @ =gBitTable - adds r0, r2 - ldr r0, [r0] - mov r4, r9 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r0, 24 - b _0803A06E - .align 2, 0 -_0803A060: .4byte gEnemyParty -_0803A064: .4byte gActiveBattler -_0803A068: .4byte gBitTable -_0803A06C: - movs r0, 0x3F -_0803A06E: - mov r9, r0 - mov r1, r9 - cmp r1, 0x3F - beq _0803A078 - b _08039F12 -_0803A078: - ldr r0, _0803A170 @ =gDynamicBasePower - movs r1, 0 - strh r1, [r0] - ldr r0, _0803A174 @ =gBattleStruct - ldr r0, [r0] - strb r1, [r0, 0x13] - ldr r0, _0803A178 @ =gBattleScripting - movs r2, 0x1 - strb r2, [r0, 0xE] - ldr r0, _0803A17C @ =gMoveResultFlags - strb r1, [r0] - ldr r0, _0803A180 @ =gCritMultiplier - strb r2, [r0] - movs r2, 0 - str r2, [sp, 0x4] - movs r4, 0x6 - str r4, [sp, 0x8] - movs r7, 0 -_0803A09C: - movs r0, 0x64 - adds r6, r7, 0 - muls r6, r0 - ldr r0, _0803A184 @ =gEnemyParty - adds r4, r6, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - adds r1, r7, 0x1 - str r1, [sp, 0x18] - cmp r0, 0 - beq _0803A158 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0803A158 - ldr r1, _0803A188 @ =gBattlerPartyIndexes - ldr r2, [sp, 0xC] - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _0803A158 - ldr r4, [sp, 0x10] - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r7 - beq _0803A158 - ldr r0, _0803A174 @ =gBattleStruct - ldr r1, [r0] - adds r0, r2, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r7, r0 - beq _0803A158 - adds r0, r4, r1 - adds r0, 0x5C - ldrb r0, [r0] - cmp r7, r0 - beq _0803A158 - movs r5, 0 - mov r9, r6 - ldr r0, _0803A18C @ =gBattleMoveDamage - mov r8, r0 - ldr r6, _0803A190 @ =gActiveBattler -_0803A100: - adds r1, r5, 0 - adds r1, 0xD - ldr r0, _0803A184 @ =gEnemyParty - add r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - mov r1, r8 - str r0, [r1] - cmp r4, 0 - beq _0803A13C - ldr r0, _0803A194 @ =gBattleMoves - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0x1 - beq _0803A13C - ldrb r0, [r6] - mov r1, r10 - bl AI_CalcDmg - ldrb r1, [r6] - adds r0, r4, 0 - mov r2, r10 - bl TypeCalc -_0803A13C: - mov r2, r8 - ldr r0, [r2] - ldr r4, [sp, 0x4] - cmp r4, r0 - bge _0803A152 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - lsls r0, r7, 24 - lsrs r0, 24 - str r0, [sp, 0x8] -_0803A152: - adds r5, 0x1 - cmp r5, 0x3 - ble _0803A100 -_0803A158: - ldr r7, [sp, 0x18] - cmp r7, 0x5 - ble _0803A09C -_0803A15E: - ldr r0, [sp, 0x8] -_0803A160: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803A170: .4byte gDynamicBasePower -_0803A174: .4byte gBattleStruct -_0803A178: .4byte gBattleScripting -_0803A17C: .4byte gMoveResultFlags -_0803A180: .4byte gCritMultiplier -_0803A184: .4byte gEnemyParty -_0803A188: .4byte gBattlerPartyIndexes -_0803A18C: .4byte gBattleMoveDamage -_0803A190: .4byte gActiveBattler -_0803A194: .4byte gBattleMoves - thumb_func_end GetMostSuitableMonToSwitchInto - - thumb_func_start sub_803A198 -sub_803A198: @ 803A198 - push {r4,lr} - adds r2, r1, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - bne _0803A1A8 - movs r0, 0x1 - b _0803A1EE -_0803A1A8: - ldrb r1, [r2, 0x4] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803A1B6 - movs r0, 0x2 - b _0803A1EE -_0803A1B6: - ldrb r4, [r2, 0x3] - movs r3, 0x3F - adds r0, r3, 0 - ands r0, r4 - cmp r0, 0 - beq _0803A1C6 - movs r0, 0x3 - b _0803A1EE -_0803A1C6: - ldrb r1, [r2] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0803A1DC - ldrb r0, [r2, 0x1] - cmp r0, 0 - bne _0803A1DC - ldrb r0, [r2, 0x2] - cmp r0, 0 - beq _0803A1E0 -_0803A1DC: - movs r0, 0x4 - b _0803A1EE -_0803A1E0: - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - bne _0803A1EC - movs r0, 0x6 - b _0803A1EE -_0803A1EC: - movs r0, 0x5 -_0803A1EE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803A198 - - thumb_func_start sub_803A1F4 -sub_803A1F4: @ 803A1F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r10, r0 - movs r7, 0 - movs r1, 0 - mov r8, r1 -_0803A20A: - movs r0, 0x64 - mov r1, r8 - muls r1, r0 - ldr r0, _0803A2A8 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0803A246 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0803A246 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0803A246 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_0803A246: - movs r2, 0x1 - add r8, r2 - mov r0, r8 - cmp r0, 0x5 - ble _0803A20A - movs r1, 0 - mov r8, r1 -_0803A254: - ldr r1, _0803A2AC @ =gBattleResources - mov r2, r8 - cmp r2, 0 - beq _0803A26E - ldr r0, [r1] - ldr r0, [r0, 0x18] - adds r0, 0x2C - ldrb r0, [r0] - subs r0, r2 - adds r0, 0x1 - cmp r10, r0 - ble _0803A26E - b _0803A644 -_0803A26E: - ldr r0, [r1] - ldr r0, [r0, 0x18] - mov r2, r8 - lsls r1, r2, 1 - adds r0, 0x24 - adds r0, r1 - ldrh r0, [r0] - mov r9, r0 - str r1, [sp] - cmp r0, 0 - bne _0803A286 - b _0803A644 -_0803A286: - ldr r1, _0803A2B0 @ =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - cmp r1, 0 - bne _0803A296 - b _0803A644 -_0803A296: - mov r0, r9 - cmp r0, 0xAF - bne _0803A2BC - ldr r0, _0803A2B4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _0803A2B8 @ =0x00003108 - adds r5, r0, r1 - b _0803A2BE - .align 2, 0 -_0803A2A8: .4byte gEnemyParty -_0803A2AC: .4byte gBattleResources -_0803A2B0: .4byte gItemEffectTable -_0803A2B4: .4byte gSaveBlock1Ptr -_0803A2B8: .4byte 0x00003108 -_0803A2BC: - adds r5, r1, 0 -_0803A2BE: - mov r2, r9 - lsls r0, r2, 24 - lsrs r0, 24 - adds r1, r5, 0 - bl sub_803A198 - ldr r4, _0803A2F8 @ =gActiveBattler - ldrb r1, [r4] - lsrs r1, 1 - ldr r3, _0803A2FC @ =gBattleStruct - ldr r2, [r3] - adds r1, r2 - adds r1, 0xC4 - strb r0, [r1] - ldrb r0, [r4] - lsrs r0, 1 - ldr r1, [r3] - adds r0, r1 - adds r0, 0xC4 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x5 - bls _0803A2EE - b _0803A5F8 -_0803A2EE: - lsls r0, 2 - ldr r1, _0803A300 @ =_0803A304 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A2F8: .4byte gActiveBattler -_0803A2FC: .4byte gBattleStruct -_0803A300: .4byte _0803A304 - .align 2, 0 -_0803A304: - .4byte _0803A31C - .4byte _0803A348 - .4byte _0803A390 - .4byte _0803A4E8 - .4byte _0803A5C8 - .4byte _0803A650 -_0803A31C: - ldr r2, _0803A340 @ =gBattleMons - ldr r0, _0803A344 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0, 0x2C] - ldrh r0, [r0, 0x28] - lsrs r1, 2 - cmp r0, r1 - bcc _0803A334 - b _0803A5F8 -_0803A334: - cmp r0, 0 - bne _0803A33A - b _0803A5F8 -_0803A33A: - movs r7, 0x1 - b _0803A5FC - .align 2, 0 -_0803A340: .4byte gBattleMons -_0803A344: .4byte gActiveBattler -_0803A348: - mov r0, r9 - movs r1, 0x4 - movs r2, 0x4 - bl GetItemEffectParamOffset - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0803A35C - b _0803A5F8 -_0803A35C: - ldr r2, _0803A388 @ =gBattleMons - ldr r0, _0803A38C @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - ldrh r2, [r1, 0x28] - cmp r2, 0 - bne _0803A370 - b _0803A5F8 -_0803A370: - ldrh r3, [r1, 0x2C] - lsrs r0, r3, 2 - cmp r2, r0 - bcc _0803A33A - adds r0, r2, 0 - subs r0, r3, r0 - adds r1, r5, r4 - ldrb r1, [r1] - cmp r0, r1 - bgt _0803A386 - b _0803A5F8 -_0803A386: - b _0803A33A - .align 2, 0 -_0803A388: .4byte gBattleMons -_0803A38C: .4byte gActiveBattler -_0803A390: - ldr r3, _0803A4DC @ =gActiveBattler - ldrb r0, [r3] - lsrs r0, 1 - ldr r2, _0803A4E0 @ =gBattleStruct - ldr r1, [r2] - adds r0, r1 - adds r0, 0xC6 - movs r1, 0 - strb r1, [r0] - ldrb r1, [r5, 0x3] - movs r6, 0x20 - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0803A3D4 - ldr r1, _0803A4E4 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0803A3D4 - lsrs r1, r4, 1 - ldr r0, [r2] - adds r1, r0 - adds r1, 0xC6 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - movs r7, 0x1 -_0803A3D4: - ldrb r1, [r5, 0x3] - movs r6, 0x10 - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0803A40E - ldr r1, _0803A4E4 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0803A3FE - movs r0, 0x80 - ands r1, r0 - cmp r1, 0 - beq _0803A40E -_0803A3FE: - lsrs r1, r4, 1 - ldr r0, [r2] - adds r1, r0 - adds r1, 0xC6 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - movs r7, 0x1 -_0803A40E: - ldrb r1, [r5, 0x3] - movs r6, 0x8 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803A440 - ldr r1, _0803A4E4 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0803A440 - lsrs r1, r4, 1 - ldr r0, [r2] - adds r1, r0 - adds r1, 0xC6 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - movs r7, 0x1 -_0803A440: - ldrb r1, [r5, 0x3] - movs r6, 0x4 - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803A472 - ldr r1, _0803A4E4 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0803A472 - lsrs r1, r4, 1 - ldr r0, [r2] - adds r1, r0 - adds r1, 0xC6 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - movs r7, 0x1 -_0803A472: - ldrb r1, [r5, 0x3] - movs r6, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803A4A4 - ldr r1, _0803A4E4 @ =gBattleMons - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803A4A4 - lsrs r1, r4, 1 - ldr r0, [r2] - adds r1, r0 - adds r1, 0xC6 - ldrb r0, [r1] - orrs r0, r6 - strb r0, [r1] - movs r7, 0x1 -_0803A4A4: - ldrb r1, [r5, 0x3] - movs r4, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0803A4B2 - b _0803A5F8 -_0803A4B2: - ldr r1, _0803A4E4 @ =gBattleMons - ldrb r3, [r3] - movs r0, 0x58 - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0803A4CA - b _0803A5F8 -_0803A4CA: - lsrs r1, r3, 1 - ldr r0, [r2] - adds r1, r0 - adds r1, 0xC6 - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - b _0803A33A - .align 2, 0 -_0803A4DC: .4byte gActiveBattler -_0803A4E0: .4byte gBattleStruct -_0803A4E4: .4byte gBattleMons -_0803A4E8: - ldr r4, _0803A5BC @ =gActiveBattler - ldrb r0, [r4] - lsrs r0, 1 - ldr r3, _0803A5C0 @ =gBattleStruct - ldr r1, [r3] - adds r0, r1 - adds r0, 0xC6 - movs r1, 0 - strb r1, [r0] - ldr r1, _0803A5C4 @ =gDisableStructs - ldrb r2, [r4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] - cmp r0, 0 - beq _0803A5F8 - ldrb r1, [r5] - movs r6, 0xF - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0803A528 - lsrs r2, 1 - ldr r0, [r3] - adds r2, r0 - adds r2, 0xC6 - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_0803A528: - ldrb r1, [r5, 0x1] - movs r7, 0xF0 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0803A546 - ldrb r0, [r4] - lsrs r0, 1 - ldr r1, [r3] - adds r0, r1 - adds r0, 0xC6 - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_0803A546: - ldrb r1, [r5, 0x1] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0803A562 - ldrb r0, [r4] - lsrs r0, 1 - ldr r1, [r3] - adds r0, r1 - adds r0, 0xC6 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0803A562: - ldrb r1, [r5, 0x2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0803A57E - ldrb r0, [r4] - lsrs r0, 1 - ldr r1, [r3] - adds r0, r1 - adds r0, 0xC6 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_0803A57E: - ldrb r1, [r5, 0x2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0803A59A - ldrb r0, [r4] - lsrs r0, 1 - ldr r1, [r3] - adds r0, r1 - adds r0, 0xC6 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] -_0803A59A: - ldrb r1, [r5] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - bne _0803A5A6 - b _0803A33A -_0803A5A6: - ldrb r0, [r4] - lsrs r0, 1 - ldr r1, [r3] - adds r0, r1 - adds r0, 0xC6 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _0803A33A - .align 2, 0 -_0803A5BC: .4byte gActiveBattler -_0803A5C0: .4byte gBattleStruct -_0803A5C4: .4byte gDisableStructs -_0803A5C8: - ldr r4, _0803A630 @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _0803A634 @ =gDisableStructs - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x16] - cmp r0, 0 - beq _0803A5F8 - ldr r0, _0803A638 @ =gSideTimers - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _0803A5F8 - b _0803A33A -_0803A5F8: - cmp r7, 0 - beq _0803A644 -_0803A5FC: - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl BtlController_EmitTwoReturnValues - ldr r0, _0803A630 @ =gActiveBattler - ldrb r0, [r0] - lsrs r0, 1 - ldr r1, _0803A63C @ =gBattleStruct - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC0 - mov r1, r9 - strb r1, [r0] - ldr r0, _0803A640 @ =gBattleResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - adds r0, 0x24 - ldr r2, [sp] - adds r0, r2 - movs r1, 0 - strh r1, [r0] - adds r0, r7, 0 - b _0803A652 - .align 2, 0 -_0803A630: .4byte gActiveBattler -_0803A634: .4byte gDisableStructs -_0803A638: .4byte gSideTimers -_0803A63C: .4byte gBattleStruct -_0803A640: .4byte gBattleResources -_0803A644: - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x3 - bgt _0803A650 - b _0803A254 -_0803A650: - movs r0, 0 -_0803A652: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803A1F4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 8bc130fd7..3155a9a5d 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -370,7 +370,7 @@ _0801DA5E: movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _0801DAA4 @ =gUnknown_2023DA0 + ldr r1, _0801DAA4 @ =gLastLandedMoves ldr r3, _0801DAA8 @ =gBattlerTarget ldrb r0, [r3] lsls r0, 1 @@ -392,7 +392,7 @@ _0801DA94: .4byte gCurrentMove _0801DA98: .4byte gBattleMons _0801DA9C: .4byte gBattlerAttacker _0801DAA0: .4byte gMoveResultFlags -_0801DAA4: .4byte gUnknown_2023DA0 +_0801DAA4: .4byte gLastLandedMoves _0801DAA8: .4byte gBattlerTarget _0801DAAC: .4byte gUnknown_2023DA8 _0801DAB0: .4byte gBattleCommunication @@ -458,7 +458,7 @@ JumpIfMoveFailed: @ 801DB10 ands r0, r1 cmp r0, 0 beq _0801DB70 - ldr r1, _0801DB64 @ =gUnknown_2023DA0 + ldr r1, _0801DB64 @ =gLastLandedMoves ldr r3, _0801DB68 @ =gBattlerTarget ldrb r0, [r3] lsls r0, 1 @@ -484,7 +484,7 @@ JumpIfMoveFailed: @ 801DB10 .align 2, 0 _0801DB5C: .4byte gBattlescriptCurrInstr _0801DB60: .4byte gMoveResultFlags -_0801DB64: .4byte gUnknown_2023DA0 +_0801DB64: .4byte gLastLandedMoves _0801DB68: .4byte gBattlerTarget _0801DB6C: .4byte gUnknown_2023DA8 _0801DB70: @@ -2182,7 +2182,7 @@ _0801E8C0: movs r1, 0x9 orrs r0, r1 strb r0, [r2] - ldr r1, _0801E92C @ =gUnknown_2023DA0 + ldr r1, _0801E92C @ =gLastLandedMoves ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -2208,22 +2208,22 @@ _0801E91C: .4byte gBattleMoveDamage _0801E920: .4byte gBattlerTarget _0801E924: .4byte gLastUsedAbility _0801E928: .4byte gMoveResultFlags -_0801E92C: .4byte gUnknown_2023DA0 +_0801E92C: .4byte gLastLandedMoves _0801E930: .4byte gUnknown_2023DA8 _0801E934: .4byte gBattleCommunication _0801E938: - ldr r1, _0801E944 @ =gUnknown_824F050 + ldr r1, _0801E944 @ =gTypeEffectiveness adds r0, r3, r1 ldrb r0, [r0] adds r2, r1, 0 b _0801E9B4 .align 2, 0 -_0801E944: .4byte gUnknown_824F050 +_0801E944: .4byte gTypeEffectiveness _0801E948: adds r3, 0x3 b _0801E9B0 _0801E94C: - ldr r5, _0801EA84 @ =gUnknown_824F050 + ldr r5, _0801EA84 @ =gTypeEffectiveness adds r0, r3, r5 ldrb r0, [r0] cmp r0, r8 @@ -2272,7 +2272,7 @@ _0801E9A8: adds r3, 0x3 ldr r5, _0801EA88 @ =gBattleMons ldr r4, _0801EA8C @ =gBattlerTarget - ldr r2, _0801EA84 @ =gUnknown_824F050 + ldr r2, _0801EA84 @ =gTypeEffectiveness _0801E9B0: adds r0, r3, r2 ldrb r0, [r0] @@ -2339,7 +2339,7 @@ _0801EA10: orrs r0, r4 mov r1, r8 strb r0, [r1] - ldr r1, _0801EAA4 @ =gUnknown_2023DA0 + ldr r1, _0801EAA4 @ =gLastLandedMoves ldrb r0, [r5] lsls r0, 1 adds r0, r1 @@ -2384,7 +2384,7 @@ _0801EA70: pop {r0} bx r0 .align 2, 0 -_0801EA84: .4byte gUnknown_824F050 +_0801EA84: .4byte gTypeEffectiveness _0801EA88: .4byte gBattleMons _0801EA8C: .4byte gBattlerTarget _0801EA90: .4byte gBattlerAttacker @@ -2392,7 +2392,7 @@ _0801EA94: .4byte gCurrentMove _0801EA98: .4byte gMoveResultFlags _0801EA9C: .4byte gBattleMoves _0801EAA0: .4byte gLastUsedAbility -_0801EAA4: .4byte gUnknown_2023DA0 +_0801EAA4: .4byte gLastLandedMoves _0801EAA8: .4byte gUnknown_2023DA8 _0801EAAC: .4byte gBattleCommunication _0801EAB0: .4byte gProtectStructs @@ -2473,13 +2473,13 @@ _0801EB40: .4byte gBattlerTarget _0801EB44: .4byte gLastUsedAbility _0801EB48: .4byte gBattleCommunication _0801EB4C: - ldr r1, _0801EB58 @ =gUnknown_824F050 + ldr r1, _0801EB58 @ =gTypeEffectiveness adds r0, r5, r1 ldrb r0, [r0] adds r4, r1, 0 b _0801EC9E .align 2, 0 -_0801EB58: .4byte gUnknown_824F050 +_0801EB58: .4byte gTypeEffectiveness _0801EB5C: adds r0, r5, r4 ldrb r0, [r0] @@ -2919,7 +2919,7 @@ _0801EE94: .4byte gBattleMoves _0801EE98: .4byte gBattleMons _0801EE9C: .4byte gBattleMoveDamage _0801EEA0: - ldr r1, _0801EEBC @ =gUnknown_824F050 + ldr r1, _0801EEBC @ =gTypeEffectiveness mov r2, r8 adds r0, r2, r1 ldrb r0, [r0] @@ -2934,13 +2934,13 @@ _0801EEA0: adds r0, r3, 0 b _0801EF3E .align 2, 0 -_0801EEBC: .4byte gUnknown_824F050 +_0801EEBC: .4byte gTypeEffectiveness _0801EEC0: movs r0, 0x3 add r8, r0 b _0801EF28 _0801EEC6: - ldr r7, _0801EFC0 @ =gUnknown_824F050 + ldr r7, _0801EFC0 @ =gTypeEffectiveness mov r1, r8 adds r0, r1, r7 ldrb r0, [r0] @@ -2988,7 +2988,7 @@ _0801EF20: movs r1, 0x3 add r8, r1 ldr r5, _0801EFC4 @ =gBattleMons - ldr r2, _0801EFC0 @ =gUnknown_824F050 + ldr r2, _0801EFC0 @ =gTypeEffectiveness _0801EF28: mov r3, r8 adds r0, r3, r2 @@ -3070,7 +3070,7 @@ _0801EFAE: pop {r1} bx r1 .align 2, 0 -_0801EFC0: .4byte gUnknown_824F050 +_0801EFC0: .4byte gTypeEffectiveness _0801EFC4: .4byte gBattleMons _0801EFC8: .4byte gBattleMoves thumb_func_end TypeCalc @@ -3129,7 +3129,7 @@ _0801F00C: .align 2, 0 _0801F030: .4byte gBattleMoves _0801F034: - ldr r0, _0801F0C0 @ =gUnknown_824F050 + ldr r0, _0801F0C0 @ =gTypeEffectiveness adds r1, r7, r0 ldrb r0, [r1] cmp r0, 0xFF @@ -3160,7 +3160,7 @@ _0801F05A: _0801F06C: adds r4, 0x3 adds r7, 0x3 - ldr r1, _0801F0C0 @ =gUnknown_824F050 + ldr r1, _0801F0C0 @ =gTypeEffectiveness adds r0, r7, r1 ldrb r0, [r0] cmp r0, 0xFF @@ -3205,7 +3205,7 @@ _0801F0B0: pop {r1} bx r1 .align 2, 0 -_0801F0C0: .4byte gUnknown_824F050 +_0801F0C0: .4byte gTypeEffectiveness _0801F0C4: .4byte gBattleMoves thumb_func_end AI_TypeCalc @@ -12325,7 +12325,7 @@ _08023966: ands r1, r0 cmp r1, 0 bne _08023984 - ldr r0, _080239C4 @ =gUnknown_2023DC0 + ldr r0, _080239C4 @ =gLastHitBy adds r0, r3, r0 mov r3, r9 ldrb r1, [r3] @@ -12348,7 +12348,7 @@ _08023984: ldr r0, _080239B8 @ =0x0000ffff cmp r3, r0 bne _080239D4 - ldr r1, _080239D0 @ =gUnknown_2023DA0 + ldr r1, _080239D0 @ =gLastLandedMoves ldrb r0, [r2] lsls r0, 1 adds r0, r1 @@ -12359,12 +12359,12 @@ _080239B4: .4byte gLastMoves _080239B8: .4byte 0x0000ffff _080239BC: .4byte gUnknown_2023DB0 _080239C0: .4byte gBattlerTarget -_080239C4: .4byte gUnknown_2023DC0 +_080239C4: .4byte gLastHitBy _080239C8: .4byte gMoveResultFlags _080239CC: .4byte gChosenMove -_080239D0: .4byte gUnknown_2023DA0 +_080239D0: .4byte gLastLandedMoves _080239D4: - ldr r0, _080239F8 @ =gUnknown_2023DA0 + ldr r0, _080239F8 @ =gLastLandedMoves ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -12383,7 +12383,7 @@ _080239D4: ands r0, r3 b _08023A2A .align 2, 0 -_080239F8: .4byte gUnknown_2023DA0 +_080239F8: .4byte gLastLandedMoves _080239FC: .4byte gCurrentMove _08023A00: .4byte gUnknown_2023DA8 _08023A04: @@ -12402,7 +12402,7 @@ _08023A04: .align 2, 0 _08023A1C: .4byte gUnknown_2023DA8 _08023A20: - ldr r0, _08023A38 @ =gUnknown_2023DA0 + ldr r0, _08023A38 @ =gLastLandedMoves ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -12416,7 +12416,7 @@ _08023A2C: strb r0, [r4, 0x14] b _08023BB4 .align 2, 0 -_08023A38: .4byte gUnknown_2023DA0 +_08023A38: .4byte gLastLandedMoves _08023A3C: .4byte 0x0000ffff _08023A40: ldr r0, _08023B04 @ =gAbsentBattlerFlags @@ -12699,7 +12699,7 @@ atk4A_typecalc2: @ 8023C38 movs r1, 0x9 orrs r0, r1 strb r0, [r2] - ldr r1, _08023CB4 @ =gUnknown_2023DA0 + ldr r1, _08023CB4 @ =gLastLandedMoves ldrb r0, [r7] lsls r0, 1 adds r0, r1 @@ -12718,7 +12718,7 @@ _08023CA4: .4byte gBattleMons _08023CA8: .4byte gBattlerTarget _08023CAC: .4byte gLastUsedAbility _08023CB0: .4byte gMoveResultFlags -_08023CB4: .4byte gUnknown_2023DA0 +_08023CB4: .4byte gLastLandedMoves _08023CB8: .4byte gBattleCommunication _08023CBC: ldr r0, _08023CC8 @ =gMoveResultFlags @@ -12730,13 +12730,13 @@ _08023CBC: .align 2, 0 _08023CC8: .4byte gMoveResultFlags _08023CCC: - ldr r1, _08023CD8 @ =gUnknown_824F050 + ldr r1, _08023CD8 @ =gTypeEffectiveness adds r0, r5, r1 ldrb r0, [r0] adds r6, r1, 0 b _08023D8E .align 2, 0 -_08023CD8: .4byte gUnknown_824F050 +_08023CD8: .4byte gTypeEffectiveness _08023CDC: adds r0, r5, r6 ldrb r0, [r0] @@ -12899,7 +12899,7 @@ _08023DF0: movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r1, _08023E78 @ =gUnknown_2023DA0 + ldr r1, _08023E78 @ =gLastLandedMoves mov r2, r8 ldrb r0, [r2] lsls r0, 1 @@ -12945,7 +12945,7 @@ _08023E68: .4byte gCurrentMove _08023E6C: .4byte gBattleMoves _08023E70: .4byte gLastUsedAbility _08023E74: .4byte gMoveResultFlags -_08023E78: .4byte gUnknown_2023DA0 +_08023E78: .4byte gLastLandedMoves _08023E7C: .4byte gBattleCommunication _08023E80: .4byte gProtectStructs _08023E84: .4byte gBattlescriptCurrInstr @@ -24813,7 +24813,7 @@ atkA6_settypetorandomresistance: @ 8029DAC mov r6, r9 mov r5, r8 push {r5-r7} - ldr r1, _08029E14 @ =gUnknown_2023DA0 + ldr r1, _08029E14 @ =gLastLandedMoves ldr r4, _08029E18 @ =gBattlerAttacker ldrb r0, [r4] lsls r0, 1 @@ -24830,7 +24830,7 @@ atkA6_settypetorandomresistance: @ 8029DAC cmp r0, 0 beq _08029E94 ldr r1, _08029E20 @ =gBattleMons - ldr r2, _08029E24 @ =gUnknown_2023DC0 + ldr r2, _08029E24 @ =gLastHitBy ldrb r0, [r4] adds r0, r2 ldrb r2, [r0] @@ -24860,11 +24860,11 @@ _08029DF6: str r1, [r3] b _08029F80 .align 2, 0 -_08029E14: .4byte gUnknown_2023DA0 +_08029E14: .4byte gLastLandedMoves _08029E18: .4byte gBattlerAttacker _08029E1C: .4byte 0x0000ffff _08029E20: .4byte gBattleMons -_08029E24: .4byte gUnknown_2023DC0 +_08029E24: .4byte gLastHitBy _08029E28: .4byte gBattlescriptCurrInstr _08029E2C: mov r0, r12 @@ -24931,7 +24931,7 @@ _08029E9C: bhi _08029E9C lsls r0, r4, 1 adds r4, r0, r4 - ldr r6, _08029F90 @ =gUnknown_824F050 + ldr r6, _08029F90 @ =gTypeEffectiveness adds r3, r4, r6 ldr r1, _08029F94 @ =gUnknown_2023DA8 ldr r2, _08029F98 @ =gBattlerAttacker @@ -24979,7 +24979,7 @@ _08029EF8: mov r8, r0 ldr r1, _08029FA4 @ =gBattlescriptCurrInstr mov r12, r1 - ldr r3, _08029F90 @ =gUnknown_824F050 + ldr r3, _08029F90 @ =gTypeEffectiveness adds r0, r4, 0x1 adds r0, r3 mov r9, r0 @@ -25050,7 +25050,7 @@ _08029F80: pop {r0} bx r0 .align 2, 0 -_08029F90: .4byte gUnknown_824F050 +_08029F90: .4byte gTypeEffectiveness _08029F94: .4byte gUnknown_2023DA8 _08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons -- cgit v1.2.3 From b9d547a02f615b991713158bb7068ce0d7169088 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 5 Aug 2019 08:15:58 +0800 Subject: ported battle_controller_player from pokeem and matched several new functions --- asm/battle_2.s | 12 +- asm/battle_controller_link_partner.s | 4 +- asm/battle_controller_oak.s | 30 +- asm/battle_controller_player.s | 11027 --------------------------------- asm/battle_controller_pokedude.s | 22 +- asm/battle_interface.s | 6 +- asm/battle_message.s | 4 +- asm/item_menu.s | 16 +- asm/link_rfu_3.s | 8 +- asm/party_menu.s | 22 +- 10 files changed, 62 insertions(+), 11089 deletions(-) delete mode 100644 asm/battle_controller_player.s (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index 114aeebd7..c87c81841 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -4427,8 +4427,8 @@ _08012130: _08012134: .4byte gIntroSlideFlags thumb_func_end sub_8012110 - thumb_func_start dp11b_obj_instanciate -dp11b_obj_instanciate: @ 8012138 + thumb_func_start DoBounceEffect +DoBounceEffect: @ 8012138 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -4570,10 +4570,10 @@ _0801223C: _0801224C: .4byte gBattlerSpriteIds _08012250: .4byte gBattleSpritesDataPtr _08012254: .4byte gSprites - thumb_func_end dp11b_obj_instanciate + thumb_func_end DoBounceEffect - thumb_func_start dp11b_obj_free -dp11b_obj_free: @ 8012258 + thumb_func_start EndBounceEffect +EndBounceEffect: @ 8012258 push {r4-r6,lr} lsls r0, 24 lsrs r2, r0, 24 @@ -4660,7 +4660,7 @@ _080122FA: .align 2, 0 _08012300: .4byte gBattleSpritesDataPtr _08012304: .4byte gSprites - thumb_func_end dp11b_obj_free + thumb_func_end EndBounceEffect thumb_func_start SpriteCB_HealthBoxBounce SpriteCB_HealthBoxBounce: @ 8012308 diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 09aaf645c..24500abfd 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -5375,7 +5375,7 @@ _080D6DFC: adds r1, r4 ldrb r0, [r1, 0x13] _080D6E0C: - ldr r1, _080D6EA4 @ =gUnknown_8239FD4 + ldr r1, _080D6EA4 @ =gTrainerBackPicPaletteTable lsls r0, 3 adds r0, r1 ldr r0, [r0] @@ -5451,7 +5451,7 @@ _080D6E86: pop {r0} bx r0 .align 2, 0 -_080D6EA4: .4byte gUnknown_8239FD4 +_080D6EA4: .4byte gTrainerBackPicPaletteTable _080D6EA8: .4byte gSprites _080D6EAC: .4byte gBattlerSpriteIds _080D6EB0: .4byte gActiveBattler diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index d4743e8a4..47230be60 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -101,12 +101,12 @@ sub_80E763C: @ 80E763C movs r1, 0x1 movs r2, 0x7 movs r3, 0x1 - bl dp11b_obj_instanciate + bl DoBounceEffect ldrb r0, [r4] movs r1, 0 movs r2, 0x7 movs r3, 0x1 - bl dp11b_obj_instanciate + bl DoBounceEffect ldr r0, _080E76A4 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 @@ -329,7 +329,7 @@ _080E782C: ands r0, r1 cmp r0, 0 beq _080E7838 - bl sub_8048A4C + bl SwapHpBarsWithHpText _080E7838: pop {r3} mov r8, r3 @@ -511,7 +511,7 @@ _080E7984: .4byte gDoingBattleAnim thumb_func_start sub_80E7988 sub_80E7988: @ 80E7988 push {lr} - bl sub_802EA10 + bl HandleInputChooseMove ldr r2, _080E79AC @ =gBattleControllerExecFlags ldr r1, _080E79B0 @ =gBitTable ldr r0, _080E79B4 @ =gActiveBattler @@ -562,7 +562,7 @@ sub_80E79B8: @ 80E79B8 bl DestroyTask bl FreeAllWindowBuffers adds r0, r4, 0 - bl sub_81278DC + bl OpenPartyMenuInBattle _080E79F6: pop {r4} pop {r0} @@ -6031,7 +6031,7 @@ _080EA71E: ands r0, r1 cmp r0, 0 beq _080EA770 - ldr r0, _080EA76C @ =gUnknown_83FE6D5 + ldr r0, _080EA76C @ =gText_WhatWillPkmnDo bl BattleStringExpandPlaceholdersToDisplayedString b _080EA776 .align 2, 0 @@ -6042,7 +6042,7 @@ _080EA75C: .4byte gUnknown_83FDA4C _080EA760: .4byte gUnknown_83FE725 _080EA764: .4byte gActionSelectionCursor _080EA768: .4byte gBattleTypeFlags -_080EA76C: .4byte gUnknown_83FE6D5 +_080EA76C: .4byte gText_WhatWillPkmnDo _080EA770: ldr r0, _080EA784 @ =gUnknown_83FE6FA bl BattleStringExpandPlaceholdersToDisplayedString @@ -6108,7 +6108,7 @@ sub_80EA7DC: @ 80EA7DC ands r0, r1 cmp r0, 0 beq _080EA810 - bl sub_8032CB4 + bl InitMoveSelectionsVarsAndStrings ldr r1, _080EA804 @ =gBattlerControllerFuncs ldr r0, _080EA808 @ =gActiveBattler ldrb r0, [r0] @@ -6135,7 +6135,7 @@ _080EA810: .align 2, 0 _080EA824: .4byte gBattleStruct _080EA828: - bl sub_8032CB4 + bl InitMoveSelectionsVarsAndStrings ldr r1, [r4] adds r1, 0x95 ldrb r0, [r1] @@ -6891,7 +6891,7 @@ _080EAD64: bl AllocSpritePalette adds r4, r0, 0 lsls r4, 24 - ldr r1, _080EAEC0 @ =gUnknown_8239FD4 + ldr r1, _080EAEC0 @ =gTrainerBackPicPaletteTable ldr r0, _080EAEC4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] @@ -6973,7 +6973,7 @@ _080EAEB0: .4byte 0x0000ffd8 _080EAEB4: .4byte StartAnimLinearTranslation _080EAEB8: .4byte sub_80335F8 _080EAEBC: .4byte 0x0000d6f8 -_080EAEC0: .4byte gUnknown_8239FD4 +_080EAEC0: .4byte gTrainerBackPicPaletteTable _080EAEC4: .4byte gSaveBlock2Ptr _080EAEC8: .4byte sub_80EB0A8 _080EAECC: .4byte gTasks @@ -7326,10 +7326,10 @@ sub_80EB1AC: @ 80EB1AC ldr r4, _080EB1CC @ =gActiveBattler ldrb r0, [r4] movs r1, 0x1 - bl dp11b_obj_free + bl EndBounceEffect ldrb r0, [r4] movs r1, 0 - bl dp11b_obj_free + bl EndBounceEffect bl WallyBufferExecCompleted pop {r4} pop {r0} @@ -7410,10 +7410,10 @@ sub_80EB238: @ 80EB238 bgt _080EB260 adds r0, r2, 0 movs r1, 0x1 - bl dp11b_obj_free + bl EndBounceEffect ldrb r0, [r4] movs r1, 0 - bl dp11b_obj_free + bl EndBounceEffect _080EB260: bl WallyBufferExecCompleted pop {r4} diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s deleted file mode 100644 index 4db2fedb2..000000000 --- a/asm/battle_controller_player.s +++ /dev/null @@ -1,11027 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_13 -nullsub_13: @ 802E310 - bx lr - thumb_func_end nullsub_13 - - thumb_func_start SetControllerToPlayer -SetControllerToPlayer: @ 802E314 - ldr r1, _0802E32C @ =gBattlerControllerFuncs - ldr r0, _0802E330 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802E334 @ =PlayerBufferRunCommand - str r1, [r0] - ldr r1, _0802E338 @ =gDoingBattleAnim - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_0802E32C: .4byte gBattlerControllerFuncs -_0802E330: .4byte gActiveBattler -_0802E334: .4byte PlayerBufferRunCommand -_0802E338: .4byte gDoingBattleAnim - thumb_func_end SetControllerToPlayer - - thumb_func_start PlayerBufferExecCompleted -PlayerBufferExecCompleted: @ 802E33C - push {r4,lr} - sub sp, 0x4 - ldr r1, _0802E37C @ =gBattlerControllerFuncs - ldr r4, _0802E380 @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802E384 @ =PlayerBufferRunCommand - str r1, [r0] - ldr r0, _0802E388 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802E390 - bl GetMultiplayerId - mov r1, sp - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - mov r2, sp - bl PrepareBufferDataTransferLink - ldr r1, _0802E38C @ =gBattleBufferA - ldrb r0, [r4] - lsls r0, 9 - adds r0, r1 - movs r1, 0x38 - strb r1, [r0] - b _0802E3A2 - .align 2, 0 -_0802E37C: .4byte gBattlerControllerFuncs -_0802E380: .4byte gActiveBattler -_0802E384: .4byte PlayerBufferRunCommand -_0802E388: .4byte gBattleTypeFlags -_0802E38C: .4byte gBattleBufferA -_0802E390: - ldr r2, _0802E3AC @ =gBattleControllerExecFlags - ldr r1, _0802E3B0 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] -_0802E3A2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802E3AC: .4byte gBattleControllerExecFlags -_0802E3B0: .4byte gBitTable - thumb_func_end PlayerBufferExecCompleted - - thumb_func_start PlayerBufferRunCommand -PlayerBufferRunCommand: @ 802E3B4 - push {lr} - ldr r2, _0802E3E8 @ =gBattleControllerExecFlags - ldr r1, _0802E3EC @ =gBitTable - ldr r0, _0802E3F0 @ =gActiveBattler - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0802E400 - ldr r0, _0802E3F4 @ =gBattleBufferA - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _0802E3FC - ldr r0, _0802E3F8 @ =gUnknown_825089C - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _0802E400 - .align 2, 0 -_0802E3E8: .4byte gBattleControllerExecFlags -_0802E3EC: .4byte gBitTable -_0802E3F0: .4byte gActiveBattler -_0802E3F4: .4byte gBattleBufferA -_0802E3F8: .4byte gUnknown_825089C -_0802E3FC: - bl PlayerBufferExecCompleted -_0802E400: - pop {r0} - bx r0 - thumb_func_end PlayerBufferRunCommand - - thumb_func_start CompleteOnBankSpritePosX_0 -CompleteOnBankSpritePosX_0: @ 802E404 - push {lr} - ldr r2, _0802E42C @ =gSprites - ldr r1, _0802E430 @ =gBattlerSpriteIds - ldr r0, _0802E434 @ =gActiveBattler - 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 _0802E426 - bl PlayerBufferExecCompleted -_0802E426: - pop {r0} - bx r0 - .align 2, 0 -_0802E42C: .4byte gSprites -_0802E430: .4byte gBattlerSpriteIds -_0802E434: .4byte gActiveBattler - thumb_func_end CompleteOnBankSpritePosX_0 - - thumb_func_start sub_802E438 -sub_802E438: @ 802E438 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _0802E498 @ =gBattleBufferA - ldr r4, _0802E49C @ =gActiveBattler - ldrb r0, [r4] - lsls r2, r0, 9 - adds r1, r7, 0x2 - adds r1, r2, r1 - ldrb r5, [r1] - adds r1, r7, 0x3 - adds r2, r1 - 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, _0802E4A0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0802E4D0 - movs r0, 0x5 - bl PlaySE - ldr r1, _0802E4A4 @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0802E4B8 - cmp r0, 0x1 - bgt _0802E4A8 - cmp r0, 0 - beq _0802E4B2 - b _0802E616 - .align 2, 0 -_0802E498: .4byte gBattleBufferA -_0802E49C: .4byte gActiveBattler -_0802E4A0: .4byte gMain -_0802E4A4: .4byte gActionSelectionCursor -_0802E4A8: - cmp r0, 0x2 - beq _0802E4BE - cmp r0, 0x3 - beq _0802E4C4 - b _0802E616 -_0802E4B2: - movs r0, 0x1 - movs r1, 0 - b _0802E610 -_0802E4B8: - movs r0, 0x1 - movs r1, 0x1 - b _0802E610 -_0802E4BE: - movs r0, 0x1 - movs r1, 0x2 - b _0802E610 -_0802E4C4: - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0 - bl BtlController_EmitTwoReturnValues - b _0802E616 -_0802E4D0: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0802E508 - ldr r5, _0802E504 @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0802E4EA - b _0802E634 -_0802E4EA: - 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 _0802E590 - .align 2, 0 -_0802E504: .4byte gActionSelectionCursor -_0802E508: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802E540 - ldr r5, _0802E53C @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0802E522 - b _0802E634 -_0802E522: - 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 _0802E590 - .align 2, 0 -_0802E53C: .4byte gActionSelectionCursor -_0802E540: - movs r0, 0x40 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - beq _0802E560 - ldr r5, _0802E55C @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802E634 - b _0802E578 - .align 2, 0 -_0802E55C: .4byte gActionSelectionCursor -_0802E560: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802E5A8 - ldr r5, _0802E5A4 @ =gActionSelectionCursor - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0802E634 -_0802E578: - 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 -_0802E590: - eors r0, r2 - strb r0, [r1] - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl ActionSelectionCreateCursorAt - b _0802E634 - .align 2, 0 -_0802E5A4: .4byte gActionSelectionCursor -_0802E5A8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802E628 - ldr r6, _0802E61C @ =gBattleTypeFlags - ldr r0, [r6] - ands r0, r2 - cmp r0, 0 - beq _0802E634 - ldrb r0, [r4] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0802E634 - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _0802E620 @ =gAbsentBattlerFlags - ldrb r1, [r1] - ldr r2, _0802E624 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802E634 - ldr r0, [r6] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _0802E634 - ldrb r0, [r4] - lsls r0, 9 - adds r1, r7, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0802E606 - cmp r5, 0xC - bhi _0802E634 - adds r0, r5, 0 - movs r1, 0x1 - bl AddBagItem -_0802E606: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - movs r1, 0xC -_0802E610: - movs r2, 0 - bl BtlController_EmitTwoReturnValues -_0802E616: - bl PlayerBufferExecCompleted - b _0802E634 - .align 2, 0 -_0802E61C: .4byte gBattleTypeFlags -_0802E620: .4byte gAbsentBattlerFlags -_0802E624: .4byte gBitTable -_0802E628: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802E634 - bl sub_8048A4C -_0802E634: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_802E438 - - thumb_func_start sub_802E640 -sub_802E640: @ 802E640 - push {r4,lr} - ldr r4, _0802E668 @ =gActiveBattler - ldrb r0, [r4] - movs r1, 0x1 - bl dp11b_obj_free - ldrb r0, [r4] - movs r1, 0 - bl dp11b_obj_free - ldr r1, _0802E66C @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802E670 @ =sub_802E674 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802E668: .4byte gActiveBattler -_0802E66C: .4byte gBattlerControllerFuncs -_0802E670: .4byte sub_802E674 - thumb_func_end sub_802E640 - - thumb_func_start sub_802E674 -sub_802E674: @ 802E674 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _0802E708 @ =gUnknown_8250980 - mov r0, sp - movs r2, 0x4 - bl memcpy - ldr r0, _0802E70C @ =gUnknown_3004FF4 - ldrb r0, [r0] - movs r1, 0x1 - movs r2, 0xF - movs r3, 0x1 - bl dp11b_obj_instanciate - movs r4, 0 - ldr r0, _0802E710 @ =gBattlersCount - ldrb r0, [r0] - cmp r0, 0 - beq _0802E6B6 -_0802E69A: - ldr r0, _0802E70C @ =gUnknown_3004FF4 - ldrb r0, [r0] - cmp r4, r0 - beq _0802E6AC - lsls r0, r4, 24 - lsrs r0, 24 - movs r1, 0x1 - bl dp11b_obj_free -_0802E6AC: - adds r4, 0x1 - ldr r0, _0802E710 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - blt _0802E69A -_0802E6B6: - ldr r0, _0802E714 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802E72C - movs r0, 0x5 - bl PlaySE - ldr r2, _0802E718 @ =gSprites - ldr r1, _0802E71C @ =gBattlerSpriteIds - ldr r4, _0802E70C @ =gUnknown_3004FF4 - 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, _0802E720 @ =sub_8012098 - str r1, [r0] - ldr r1, _0802E724 @ =gMoveSelectionCursor - ldr r0, _0802E728 @ =gActiveBattler - 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 BtlController_EmitTwoReturnValues - ldrb r0, [r4] - movs r1, 0x1 - bl dp11b_obj_free - bl PlayerBufferExecCompleted - b _0802E9DC - .align 2, 0 -_0802E708: .4byte gUnknown_8250980 -_0802E70C: .4byte gUnknown_3004FF4 -_0802E710: .4byte gBattlersCount -_0802E714: .4byte gMain -_0802E718: .4byte gSprites -_0802E71C: .4byte gBattlerSpriteIds -_0802E720: .4byte sub_8012098 -_0802E724: .4byte gMoveSelectionCursor -_0802E728: .4byte gActiveBattler -_0802E72C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802E7A0 - movs r0, 0x5 - bl PlaySE - ldr r2, _0802E784 @ =gSprites - ldr r1, _0802E788 @ =gBattlerSpriteIds - ldr r5, _0802E78C @ =gUnknown_3004FF4 - 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, _0802E790 @ =sub_8012098 - str r1, [r0] - ldr r1, _0802E794 @ =gBattlerControllerFuncs - ldr r4, _0802E798 @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802E79C @ =sub_802EA10 - 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 _0802E9DC - .align 2, 0 -_0802E784: .4byte gSprites -_0802E788: .4byte gBattlerSpriteIds -_0802E78C: .4byte gUnknown_3004FF4 -_0802E790: .4byte sub_8012098 -_0802E794: .4byte gBattlerControllerFuncs -_0802E798: .4byte gActiveBattler -_0802E79C: .4byte sub_802EA10 -_0802E7A0: - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - bne _0802E7AA - b _0802E8C4 -_0802E7AA: - movs r0, 0x5 - bl PlaySE - ldr r2, _0802E7DC @ =gSprites - ldr r1, _0802E7E0 @ =gBattlerSpriteIds - ldr r3, _0802E7E4 @ =gUnknown_3004FF4 - 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, _0802E7E8 @ =sub_8012098 - str r1, [r0] - adds r5, r3, 0 -_0802E7CC: - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - mov r0, sp - b _0802E7F6 - .align 2, 0 -_0802E7DC: .4byte gSprites -_0802E7E0: .4byte gBattlerSpriteIds -_0802E7E4: .4byte gUnknown_3004FF4 -_0802E7E8: .4byte sub_8012098 -_0802E7EC: - adds r4, 0x1 - cmp r4, 0x3 - bgt _0802E7FC - mov r2, sp - adds r0, r2, r4 -_0802E7F6: - ldrb r0, [r0] - cmp r1, r0 - bne _0802E7EC -_0802E7FC: - subs r4, 0x1 - cmp r4, 0 - bge _0802E804 - movs r4, 0x4 -_0802E804: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl GetBattlerAtPosition - strb r0, [r5] - ldr r1, _0802E838 @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - beq _0802E7FC - movs r4, 0 - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0802E882 - cmp r0, 0x1 - bgt _0802E83C - cmp r0, 0 - beq _0802E846 - b _0802E884 - .align 2, 0 -_0802E838: .4byte gBattlersCount -_0802E83C: - cmp r0, 0x2 - beq _0802E846 - cmp r0, 0x3 - beq _0802E882 - b _0802E884 -_0802E846: - ldr r2, _0802E8A4 @ =gActiveBattler - ldrb r0, [r2] - ldrb r1, [r5] - cmp r0, r1 - bne _0802E882 - ldr r1, _0802E8A8 @ =gBattlerPartyIndexes - ldrb r2, [r2] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802E8AC @ =gPlayerParty - adds r0, r1 - ldr r1, _0802E8B0 @ =gMoveSelectionCursor - adds r2, r1 - ldrb r1, [r2] - adds r1, 0xD - bl GetMonData - ldr r2, _0802E8B4 @ =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 _0802E884 -_0802E882: - adds r4, 0x1 -_0802E884: - ldr r0, _0802E8B8 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802E8BC @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - ldr r0, _0802E8C0 @ =gUnknown_3004FF4 - cmp r1, 0 - beq _0802E89C - movs r4, 0 -_0802E89C: - cmp r4, 0 - beq _0802E7CC - b _0802E9C4 - .align 2, 0 -_0802E8A4: .4byte gActiveBattler -_0802E8A8: .4byte gBattlerPartyIndexes -_0802E8AC: .4byte gPlayerParty -_0802E8B0: .4byte gMoveSelectionCursor -_0802E8B4: .4byte gBattleMoves -_0802E8B8: .4byte gAbsentBattlerFlags -_0802E8BC: .4byte gBitTable -_0802E8C0: .4byte gUnknown_3004FF4 -_0802E8C4: - movs r0, 0x90 - ands r0, r1 - cmp r0, 0 - bne _0802E8CE - b _0802E9DC -_0802E8CE: - movs r0, 0x5 - bl PlaySE - ldr r2, _0802E900 @ =gSprites - ldr r1, _0802E904 @ =gBattlerSpriteIds - ldr r3, _0802E908 @ =gUnknown_3004FF4 - 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, _0802E90C @ =sub_8012098 - str r1, [r0] - adds r5, r3, 0 -_0802E8F0: - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r1, r0, 24 - movs r4, 0 - mov r0, sp - b _0802E91A - .align 2, 0 -_0802E900: .4byte gSprites -_0802E904: .4byte gBattlerSpriteIds -_0802E908: .4byte gUnknown_3004FF4 -_0802E90C: .4byte sub_8012098 -_0802E910: - adds r4, 0x1 - cmp r4, 0x3 - bgt _0802E920 - mov r2, sp - adds r0, r2, r4 -_0802E91A: - ldrb r0, [r0] - cmp r1, r0 - bne _0802E910 -_0802E920: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802E928 - movs r4, 0 -_0802E928: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - bl GetBattlerAtPosition - strb r0, [r5] - ldr r1, _0802E95C @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - beq _0802E920 - movs r4, 0 - ldrb r0, [r5] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0802E9A6 - cmp r0, 0x1 - bgt _0802E960 - cmp r0, 0 - beq _0802E96A - b _0802E9A8 - .align 2, 0 -_0802E95C: .4byte gBattlersCount -_0802E960: - cmp r0, 0x2 - beq _0802E96A - cmp r0, 0x3 - beq _0802E9A6 - b _0802E9A8 -_0802E96A: - ldr r2, _0802E9E4 @ =gActiveBattler - ldrb r0, [r2] - ldrb r1, [r5] - cmp r0, r1 - bne _0802E9A6 - ldr r1, _0802E9E8 @ =gBattlerPartyIndexes - ldrb r2, [r2] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802E9EC @ =gPlayerParty - adds r0, r1 - ldr r1, _0802E9F0 @ =gMoveSelectionCursor - adds r2, r1 - ldrb r1, [r2] - adds r1, 0xD - bl GetMonData - ldr r2, _0802E9F4 @ =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 _0802E9A8 -_0802E9A6: - adds r4, 0x1 -_0802E9A8: - ldr r0, _0802E9F8 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802E9FC @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - ldr r0, _0802EA00 @ =gUnknown_3004FF4 - cmp r1, 0 - beq _0802E9C0 - movs r4, 0 -_0802E9C0: - cmp r4, 0 - beq _0802E8F0 -_0802E9C4: - ldr r2, _0802EA04 @ =gSprites - ldr r1, _0802EA08 @ =gBattlerSpriteIds - 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, _0802EA0C @ =sub_8012044 - str r1, [r0] -_0802E9DC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802E9E4: .4byte gActiveBattler -_0802E9E8: .4byte gBattlerPartyIndexes -_0802E9EC: .4byte gPlayerParty -_0802E9F0: .4byte gMoveSelectionCursor -_0802E9F4: .4byte gBattleMoves -_0802E9F8: .4byte gAbsentBattlerFlags -_0802E9FC: .4byte gBitTable -_0802EA00: .4byte gUnknown_3004FF4 -_0802EA04: .4byte gSprites -_0802EA08: .4byte gBattlerSpriteIds -_0802EA0C: .4byte sub_8012044 - thumb_func_end sub_802E674 - - thumb_func_start sub_802EA10 -sub_802EA10: @ 802EA10 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - ldr r6, _0802EA6C @ =gActiveBattler - ldrb r0, [r6] - lsls r0, 9 - ldr r1, _0802EA70 @ =gUnknown_2022BC8 - adds r7, r0, r1 - bl sub_8033AC8 - ldr r0, _0802EA74 @ =gMain - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _0802EA3A - b _0802EC10 -_0802EA3A: - movs r0, 0x5 - bl PlaySE - ldr r1, _0802EA78 @ =gMoveSelectionCursor - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r1, r7, r0 - ldrh r0, [r1] - cmp r0, 0xAE - bne _0802EA7C - ldrb r0, [r7, 0x12] - movs r4, 0 - cmp r0, 0x7 - beq _0802EA8A - ldrb r1, [r7, 0x13] - movs r0, 0x7 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - asrs r4, r0, 31 - movs r0, 0x10 - ands r4, r0 - b _0802EA8A - .align 2, 0 -_0802EA6C: .4byte gActiveBattler -_0802EA70: .4byte gUnknown_2022BC8 -_0802EA74: .4byte gMain -_0802EA78: .4byte gMoveSelectionCursor -_0802EA7C: - ldr r2, _0802EA9C @ =gBattleMoves - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x6] -_0802EA8A: - movs r0, 0x10 - ands r0, r4 - cmp r0, 0 - beq _0802EAA8 - ldr r0, _0802EAA0 @ =gUnknown_3004FF4 - ldr r1, _0802EAA4 @ =gActiveBattler - ldrb r1, [r1] - strb r1, [r0] - b _0802EAC2 - .align 2, 0 -_0802EA9C: .4byte gBattleMoves -_0802EAA0: .4byte gUnknown_3004FF4 -_0802EAA4: .4byte gActiveBattler -_0802EAA8: - ldr r0, _0802EAEC @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - adds r1, r0, 0 - movs r2, 0x1 - movs r0, 0x1 - ands r0, r1 - eors r0, r2 - bl GetBattlerAtPosition - ldr r1, _0802EAF0 @ =gUnknown_3004FF4 - strb r0, [r1] -_0802EAC2: - ldr r3, _0802EAF4 @ =gBattleBufferA - ldr r5, _0802EAEC @ =gActiveBattler - ldrb r2, [r5] - lsls r1, r2, 9 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _0802EAF8 - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _0802EB3A - adds r0, r3, 0x2 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _0802EB3A - movs r0, 0x1 - add r8, r0 - b _0802EB3A - .align 2, 0 -_0802EAEC: .4byte gActiveBattler -_0802EAF0: .4byte gUnknown_3004FF4 -_0802EAF4: .4byte gBattleBufferA -_0802EAF8: - movs r0, 0x7D - ands r0, r4 - cmp r0, 0 - bne _0802EB04 - movs r0, 0x1 - add r8, r0 -_0802EB04: - ldr r0, _0802EB78 @ =gMoveSelectionCursor - adds r0, r2, r0 - adds r1, r7, 0 - adds r1, 0x8 - ldrb r0, [r0] - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0802EB36 - movs r0, 0x12 - ands r0, r4 - cmp r0, 0 - bne _0802EB3A - movs r0, 0 - bl CountAliveMonsInBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0802EB3A - ldrb r0, [r5] - bl GetDefaultMoveTarget - ldr r1, _0802EB7C @ =gUnknown_3004FF4 - strb r0, [r1] -_0802EB36: - movs r0, 0 - mov r8, r0 -_0802EB3A: - bl ResetPaletteFadeControl - movs r0, 0xF0 - lsls r0, 12 - ldr r1, _0802EB80 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - mov r0, r8 - cmp r0, 0 - bne _0802EB88 - ldr r1, _0802EB78 @ =gMoveSelectionCursor - ldr r0, _0802EB84 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r0, _0802EB7C @ =gUnknown_3004FF4 - ldrb r0, [r0] - lsls r0, 8 - orrs r2, r0 - movs r0, 0x1 - movs r1, 0xA - bl BtlController_EmitTwoReturnValues - bl PlayerBufferExecCompleted - b _0802EDBA - .align 2, 0 -_0802EB78: .4byte gMoveSelectionCursor -_0802EB7C: .4byte gUnknown_3004FF4 -_0802EB80: .4byte 0x00007fff -_0802EB84: .4byte gActiveBattler -_0802EB88: - ldr r1, _0802EBA4 @ =gBattlerControllerFuncs - ldr r2, _0802EBA8 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802EBAC @ =sub_802E674 - str r1, [r0] - movs r0, 0x12 - ands r4, r0 - cmp r4, 0 - beq _0802EBB4 - ldr r1, _0802EBB0 @ =gUnknown_3004FF4 - ldrb r0, [r2] - b _0802EBE4 - .align 2, 0 -_0802EBA4: .4byte gBattlerControllerFuncs -_0802EBA8: .4byte gActiveBattler -_0802EBAC: .4byte sub_802E674 -_0802EBB0: .4byte gUnknown_3004FF4 -_0802EBB4: - movs r0, 0x1 - bl GetBattlerAtPosition - ldr r1, _0802EBD4 @ =gAbsentBattlerFlags - ldrb r1, [r1] - ldr r2, _0802EBD8 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0802EBDC - movs r0, 0x3 - b _0802EBDE - .align 2, 0 -_0802EBD4: .4byte gAbsentBattlerFlags -_0802EBD8: .4byte gBitTable -_0802EBDC: - movs r0, 0x1 -_0802EBDE: - bl GetBattlerAtPosition - ldr r1, _0802EC00 @ =gUnknown_3004FF4 -_0802EBE4: - strb r0, [r1] - ldr r2, _0802EC04 @ =gSprites - ldr r1, _0802EC08 @ =gBattlerSpriteIds - ldr r0, _0802EC00 @ =gUnknown_3004FF4 - 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, _0802EC0C @ =sub_8012044 - b _0802EDB8 - .align 2, 0 -_0802EC00: .4byte gUnknown_3004FF4 -_0802EC04: .4byte gSprites -_0802EC08: .4byte gBattlerSpriteIds -_0802EC0C: .4byte sub_8012044 -_0802EC10: - movs r7, 0x2 - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0802EC38 - movs r0, 0x5 - bl PlaySE - ldr r2, _0802EC34 @ =0x0000ffff - movs r0, 0x1 - movs r1, 0xA - bl BtlController_EmitTwoReturnValues - bl PlayerBufferExecCompleted - bl ResetPaletteFadeControl - b _0802ED2C - .align 2, 0 -_0802EC34: .4byte 0x0000ffff -_0802EC38: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0802EC68 - ldr r4, _0802EC64 @ =gMoveSelectionCursor - ldrb r0, [r6] - adds r2, r0, r4 - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _0802EC52 - b _0802EDBA -_0802EC52: - ldrb r0, [r2] - bl MoveSelectionDestroyCursorAt - ldrb r1, [r6] - adds r1, r4 - ldrb r0, [r1] - movs r2, 0x1 - eors r0, r2 - b _0802ED10 - .align 2, 0 -_0802EC64: .4byte gMoveSelectionCursor -_0802EC68: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802ECAC - ldr r4, _0802ECA4 @ =gMoveSelectionCursor - ldrb r0, [r6] - adds r3, r0, r4 - ldrb r2, [r3] - movs r7, 0x1 - adds r0, r5, 0 - ands r0, r2 - cmp r0, 0 - beq _0802EC84 - b _0802EDBA -_0802EC84: - ldr r1, _0802ECA8 @ =gUnknown_3004FF8 - adds r0, r7, 0 - eors r0, r2 - ldrb r1, [r1] - cmp r0, r1 - bcc _0802EC92 - b _0802EDBA -_0802EC92: - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt - ldrb r1, [r6] - adds r1, r4 - ldrb r0, [r1] - eors r0, r7 - b _0802ED10 - .align 2, 0 -_0802ECA4: .4byte gMoveSelectionCursor -_0802ECA8: .4byte gUnknown_3004FF8 -_0802ECAC: - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802ECDC - ldr r4, _0802ECD8 @ =gMoveSelectionCursor - ldrb r0, [r6] - adds r2, r0, r4 - ldrb r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _0802ECC6 - b _0802EDBA -_0802ECC6: - ldrb r0, [r2] - bl MoveSelectionDestroyCursorAt - ldrb r1, [r6] - adds r1, r4 - ldrb r0, [r1] - movs r2, 0x2 - eors r0, r2 - b _0802ED10 - .align 2, 0 -_0802ECD8: .4byte gMoveSelectionCursor -_0802ECDC: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802ED4C - ldr r4, _0802ED40 @ =gMoveSelectionCursor - ldrb r0, [r6] - adds r3, r0, r4 - ldrb r2, [r3] - movs r5, 0x2 - adds r0, r7, 0 - ands r0, r2 - cmp r0, 0 - bne _0802EDBA - ldr r1, _0802ED44 @ =gUnknown_3004FF8 - adds r0, r5, 0 - eors r0, r2 - ldrb r1, [r1] - cmp r0, r1 - bcs _0802EDBA - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt - ldrb r1, [r6] - adds r1, r4 - ldrb r0, [r1] - eors r0, r5 -_0802ED10: - strb r0, [r1] - movs r0, 0x5 - bl PlaySE - ldrb r0, [r6] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl MoveSelectionCreateCursorAt - bl MoveSelectionDisplayPpNumber - bl MoveSelectionDisplayMoveType -_0802ED2C: - movs r0, 0xF0 - lsls r0, 12 - ldr r1, _0802ED48 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - b _0802EDBA - .align 2, 0 -_0802ED40: .4byte gMoveSelectionCursor -_0802ED44: .4byte gUnknown_3004FF8 -_0802ED48: .4byte 0x00007fff -_0802ED4C: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0802EDBA - ldr r0, _0802ED84 @ =gUnknown_3004FF8 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0802EDBA - ldr r0, _0802ED88 @ =gBattleTypeFlags - ldr r5, [r0] - ands r5, r7 - cmp r5, 0 - bne _0802EDBA - ldr r4, _0802ED8C @ =gMoveSelectionCursor - ldrb r0, [r6] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1D - bl MoveSelectionCreateCursorAt - ldrb r0, [r6] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0802ED94 - ldr r0, _0802ED90 @ =gUnknown_3004FF4 - strb r5, [r0] - b _0802ED9C - .align 2, 0 -_0802ED84: .4byte gUnknown_3004FF8 -_0802ED88: .4byte gBattleTypeFlags -_0802ED8C: .4byte gMoveSelectionCursor -_0802ED90: .4byte gUnknown_3004FF4 -_0802ED94: - ldr r1, _0802EDC8 @ =gUnknown_3004FF4 - adds r0, 0x1 - strb r0, [r1] - adds r0, r1, 0 -_0802ED9C: - ldrb r0, [r0] - movs r1, 0x1B - bl MoveSelectionCreateCursorAt - ldr r0, _0802EDCC @ =gUnknown_83FE7A0 - movs r1, 0xB - bl BattlePutTextOnWindow - ldr r1, _0802EDD0 @ =gBattlerControllerFuncs - ldr r0, _0802EDD4 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802EDD8 @ =sub_802EF58 -_0802EDB8: - str r1, [r0] -_0802EDBA: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802EDC8: .4byte gUnknown_3004FF4 -_0802EDCC: .4byte gUnknown_83FE7A0 -_0802EDD0: .4byte gBattlerControllerFuncs -_0802EDD4: .4byte gActiveBattler -_0802EDD8: .4byte sub_802EF58 - thumb_func_end sub_802EA10 - - thumb_func_start sub_802EDDC -sub_802EDDC: @ 802EDDC - push {r4-r7,lr} - movs r7, 0 - ldr r4, _0802EF40 @ =gMain - ldrh r1, [r4, 0x2E] - movs r6, 0x1 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0802EDF6 - movs r0, 0x5 - bl PlaySE - movs r7, 0x1 -_0802EDF6: - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802EE18 - movs r0, 0x5 - bl PlaySE - ldr r1, _0802EF44 @ =gBattle_BG0_X - movs r0, 0 - strh r0, [r1] - ldr r1, _0802EF48 @ =gBattle_BG0_Y - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - movs r7, 0xFF -_0802EE18: - ldrh r1, [r4, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0802EE58 - ldr r5, _0802EF4C @ =gMoveSelectionCursor - ldr r4, _0802EF50 @ =gActiveBattler - ldrb r0, [r4] - adds r2, r0, r5 - ldrb r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0802EE58 - ldrb r0, [r2] - bl MoveSelectionDestroyCursorAt - 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 MoveSelectionCreateCursorAt -_0802EE58: - ldr r0, _0802EF40 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802EEA6 - ldr r5, _0802EF4C @ =gMoveSelectionCursor - ldr r4, _0802EF50 @ =gActiveBattler - ldrb r0, [r4] - adds r3, r0, r5 - ldrb r2, [r3] - movs r6, 0x1 - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _0802EEA6 - ldr r1, _0802EF54 @ =gUnknown_3004FF8 - adds r0, r6, 0 - eors r0, r2 - ldrb r1, [r1] - cmp r0, r1 - bcs _0802EEA6 - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt - 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 MoveSelectionCreateCursorAt -_0802EEA6: - ldr r0, _0802EF40 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802EEE8 - ldr r5, _0802EF4C @ =gMoveSelectionCursor - ldr r4, _0802EF50 @ =gActiveBattler - ldrb r0, [r4] - adds r2, r0, r5 - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802EEE8 - ldrb r0, [r2] - bl MoveSelectionDestroyCursorAt - 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 MoveSelectionCreateCursorAt -_0802EEE8: - ldr r0, _0802EF40 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802EF36 - ldr r5, _0802EF4C @ =gMoveSelectionCursor - ldr r4, _0802EF50 @ =gActiveBattler - ldrb r0, [r4] - adds r3, r0, r5 - ldrb r2, [r3] - movs r6, 0x2 - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _0802EF36 - ldr r1, _0802EF54 @ =gUnknown_3004FF8 - adds r0, r6, 0 - eors r0, r2 - ldrb r1, [r1] - cmp r0, r1 - bcs _0802EF36 - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt - 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 MoveSelectionCreateCursorAt -_0802EF36: - adds r0, r7, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802EF40: .4byte gMain -_0802EF44: .4byte gBattle_BG0_X -_0802EF48: .4byte gBattle_BG0_Y -_0802EF4C: .4byte gMoveSelectionCursor -_0802EF50: .4byte gActiveBattler -_0802EF54: .4byte gUnknown_3004FF8 - thumb_func_end sub_802EDDC - - thumb_func_start sub_802EF58 -sub_802EF58: @ 802EF58 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - ldr r0, _0802F2E4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x5 - ands r0, r1 - cmp r0, 0 - bne _0802EF72 - b _0802F34C -_0802EF72: - movs r0, 0x5 - bl PlaySE - ldr r0, _0802F2E8 @ =gMoveSelectionCursor - mov r10, r0 - ldr r1, _0802F2EC @ =gActiveBattler - mov r8, r1 - ldrb r1, [r1] - adds r2, r1, r0 - ldr r5, _0802F2F0 @ =gUnknown_3004FF4 - ldrb r0, [r2] - ldrb r3, [r5] - cmp r0, r3 - bne _0802EF90 - b _0802F2C8 -_0802EF90: - lsls r1, 9 - ldr r0, _0802F2F4 @ =gUnknown_2022BC8 - 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, _0802F2F8 @ =gDisableStructs - adds r6, r0, r2 - ldrb r4, [r6, 0x18] - lsls r3, r4, 24 - lsrs r2, r3, 28 - ldr r0, _0802F2FC @ =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 _0802F04A - 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, _0802F2F8 @ =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] -_0802F04A: - bl sub_8030830 - movs r6, 0 - mov r12, r7 - mov r5, sp - adds r5, 0x18 - str r5, [sp, 0x1C] - ldr r2, _0802F300 @ =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 -_0802F06E: - 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 _0802F06E - ldr r1, _0802F2E8 @ =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, _0802F2F0 @ =gUnknown_3004FF4 - 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] -_0802F0BE: - 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 _0802F0BE - 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 -_0802F0F8: - 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 _0802F0F8 - ldr r2, _0802F2EC @ =gActiveBattler - 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 _0802F13A - b _0802F2C8 -_0802F13A: - movs r6, 0 - mov r1, sp - adds r1, 0x4 - str r1, [sp, 0x20] - add r3, sp, 0xC - mov r10, r3 - ldr r5, _0802F304 @ =gBattlerPartyIndexes - mov r9, r5 - mov r8, r2 - movs r7, 0x64 - ldr r5, _0802F308 @ =gPlayerParty - adds r4, r1, 0 -_0802F152: - 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 _0802F152 - ldr r1, _0802F304 @ =gBattlerPartyIndexes - ldr r0, _0802F2EC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802F308 @ =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] -_0802F1B2: - 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 _0802F1B2 - ldr r4, _0802F2E8 @ =gMoveSelectionCursor - ldr r3, _0802F2EC @ =gActiveBattler - 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, _0802F2F0 @ =gUnknown_3004FF4 - 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] -_0802F23E: - 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 _0802F23E - movs r6, 0 - ldr r5, _0802F304 @ =gBattlerPartyIndexes - mov r10, r5 - ldr r0, _0802F2EC @ =gActiveBattler - mov r9, r0 - movs r1, 0x64 - mov r8, r1 - ldr r7, _0802F308 @ =gPlayerParty - ldr r5, [sp, 0x20] - adds r5, 0x8 - ldr r4, [sp, 0x20] -_0802F26A: - 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 _0802F26A - ldr r1, _0802F304 @ =gBattlerPartyIndexes - ldr r0, _0802F2EC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802F308 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - ldr r2, [sp, 0x1C] - bl SetMonData -_0802F2C8: - ldr r0, _0802F30C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802F318 - ldr r1, _0802F310 @ =gBattlerControllerFuncs - ldr r2, _0802F2EC @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802F314 @ =sub_80E7988 - b _0802F324 - .align 2, 0 -_0802F2E4: .4byte gMain -_0802F2E8: .4byte gMoveSelectionCursor -_0802F2EC: .4byte gActiveBattler -_0802F2F0: .4byte gUnknown_3004FF4 -_0802F2F4: .4byte gUnknown_2022BC8 -_0802F2F8: .4byte gDisableStructs -_0802F2FC: .4byte gBitTable -_0802F300: .4byte gBattleMons -_0802F304: .4byte gBattlerPartyIndexes -_0802F308: .4byte gPlayerParty -_0802F30C: .4byte gBattleTypeFlags -_0802F310: .4byte gBattlerControllerFuncs -_0802F314: .4byte sub_80E7988 -_0802F318: - ldr r1, _0802F390 @ =gBattlerControllerFuncs - ldr r2, _0802F394 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802F398 @ =sub_802EA10 -_0802F324: - str r1, [r0] - adds r7, r2, 0 - ldr r2, _0802F39C @ =gMoveSelectionCursor - ldrb r0, [r7] - adds r0, r2 - ldr r1, _0802F3A0 @ =gUnknown_3004FF4 - ldrb r1, [r1] - strb r1, [r0] - ldrb r0, [r7] - adds r0, r2 - ldrb r0, [r0] - movs r1, 0 - bl MoveSelectionCreateCursorAt - bl MoveSelectionDisplayPpString - bl MoveSelectionDisplayPpNumber - bl MoveSelectionDisplayMoveType -_0802F34C: - ldr r0, _0802F3A4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802F3C8 - movs r0, 0x5 - bl PlaySE - ldr r0, _0802F3A0 @ =gUnknown_3004FF4 - ldrb r0, [r0] - bl MoveSelectionDestroyCursorAt - ldr r1, _0802F39C @ =gMoveSelectionCursor - ldr r4, _0802F394 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl MoveSelectionCreateCursorAt - ldr r0, _0802F3A8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802F3B0 - ldr r0, _0802F390 @ =gBattlerControllerFuncs - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _0802F3AC @ =sub_80E7988 - b _0802F3BA - .align 2, 0 -_0802F390: .4byte gBattlerControllerFuncs -_0802F394: .4byte gActiveBattler -_0802F398: .4byte sub_802EA10 -_0802F39C: .4byte gMoveSelectionCursor -_0802F3A0: .4byte gUnknown_3004FF4 -_0802F3A4: .4byte gMain -_0802F3A8: .4byte gBattleTypeFlags -_0802F3AC: .4byte sub_80E7988 -_0802F3B0: - ldr r0, _0802F3F8 @ =gBattlerControllerFuncs - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _0802F3FC @ =sub_802EA10 -_0802F3BA: - str r0, [r1] - bl MoveSelectionDisplayPpString - bl MoveSelectionDisplayPpNumber - bl MoveSelectionDisplayMoveType -_0802F3C8: - ldr r0, _0802F400 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0802F454 - ldr r3, _0802F404 @ =gUnknown_3004FF4 - ldrb r2, [r3] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _0802F454 - ldr r0, _0802F408 @ =gMoveSelectionCursor - ldr r1, _0802F40C @ =gActiveBattler - ldrb r1, [r1] - adds r1, r0 - ldrb r5, [r1] - cmp r2, r5 - bne _0802F410 - ldrb r0, [r1] - movs r1, 0x1D - bl MoveSelectionCreateCursorAt - b _0802F416 - .align 2, 0 -_0802F3F8: .4byte gBattlerControllerFuncs -_0802F3FC: .4byte sub_802EA10 -_0802F400: .4byte gMain -_0802F404: .4byte gUnknown_3004FF4 -_0802F408: .4byte gMoveSelectionCursor -_0802F40C: .4byte gActiveBattler -_0802F410: - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt -_0802F416: - ldr r4, _0802F440 @ =gUnknown_3004FF4 - ldrb r0, [r4] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4] - movs r0, 0x5 - bl PlaySE - ldr r1, _0802F444 @ =gMoveSelectionCursor - ldr r0, _0802F448 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - bne _0802F44C - adds r0, r1, 0 - movs r1, 0 - bl MoveSelectionCreateCursorAt - b _0802F454 - .align 2, 0 -_0802F440: .4byte gUnknown_3004FF4 -_0802F444: .4byte gMoveSelectionCursor -_0802F448: .4byte gActiveBattler -_0802F44C: - ldrb r0, [r4] - movs r1, 0x1B - bl MoveSelectionCreateCursorAt -_0802F454: - ldr r0, _0802F490 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802F4E8 - ldr r3, _0802F494 @ =gUnknown_3004FF4 - ldrb r2, [r3] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _0802F4E8 - ldr r1, _0802F498 @ =gUnknown_3004FF8 - movs r0, 0x1 - eors r0, r2 - ldrb r1, [r1] - cmp r0, r1 - bcs _0802F4E8 - ldr r0, _0802F49C @ =gMoveSelectionCursor - ldr r1, _0802F4A0 @ =gActiveBattler - ldrb r1, [r1] - adds r1, r0 - ldrb r0, [r1] - cmp r2, r0 - bne _0802F4A4 - ldrb r0, [r1] - movs r1, 0x1D - bl MoveSelectionCreateCursorAt - b _0802F4AA - .align 2, 0 -_0802F490: .4byte gMain -_0802F494: .4byte gUnknown_3004FF4 -_0802F498: .4byte gUnknown_3004FF8 -_0802F49C: .4byte gMoveSelectionCursor -_0802F4A0: .4byte gActiveBattler -_0802F4A4: - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt -_0802F4AA: - ldr r4, _0802F4D4 @ =gUnknown_3004FF4 - ldrb r0, [r4] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4] - movs r0, 0x5 - bl PlaySE - ldr r1, _0802F4D8 @ =gMoveSelectionCursor - ldr r0, _0802F4DC @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - bne _0802F4E0 - adds r0, r1, 0 - movs r1, 0 - bl MoveSelectionCreateCursorAt - b _0802F4E8 - .align 2, 0 -_0802F4D4: .4byte gUnknown_3004FF4 -_0802F4D8: .4byte gMoveSelectionCursor -_0802F4DC: .4byte gActiveBattler -_0802F4E0: - ldrb r0, [r4] - movs r1, 0x1B - bl MoveSelectionCreateCursorAt -_0802F4E8: - ldr r0, _0802F518 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802F56C - ldr r3, _0802F51C @ =gUnknown_3004FF4 - ldrb r2, [r3] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0802F56C - ldr r0, _0802F520 @ =gMoveSelectionCursor - ldr r1, _0802F524 @ =gActiveBattler - ldrb r1, [r1] - adds r1, r0 - ldrb r5, [r1] - cmp r2, r5 - bne _0802F528 - ldrb r0, [r1] - movs r1, 0x1D - bl MoveSelectionCreateCursorAt - b _0802F52E - .align 2, 0 -_0802F518: .4byte gMain -_0802F51C: .4byte gUnknown_3004FF4 -_0802F520: .4byte gMoveSelectionCursor -_0802F524: .4byte gActiveBattler -_0802F528: - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt -_0802F52E: - ldr r4, _0802F558 @ =gUnknown_3004FF4 - ldrb r0, [r4] - movs r1, 0x2 - eors r0, r1 - strb r0, [r4] - movs r0, 0x5 - bl PlaySE - ldr r1, _0802F55C @ =gMoveSelectionCursor - ldr r0, _0802F560 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - bne _0802F564 - adds r0, r1, 0 - movs r1, 0 - bl MoveSelectionCreateCursorAt - b _0802F56C - .align 2, 0 -_0802F558: .4byte gUnknown_3004FF4 -_0802F55C: .4byte gMoveSelectionCursor -_0802F560: .4byte gActiveBattler -_0802F564: - ldrb r0, [r4] - movs r1, 0x1B - bl MoveSelectionCreateCursorAt -_0802F56C: - ldr r0, _0802F5A8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802F600 - ldr r3, _0802F5AC @ =gUnknown_3004FF4 - ldrb r2, [r3] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _0802F600 - ldr r1, _0802F5B0 @ =gUnknown_3004FF8 - movs r0, 0x2 - eors r0, r2 - ldrb r1, [r1] - cmp r0, r1 - bcs _0802F600 - ldr r0, _0802F5B4 @ =gMoveSelectionCursor - ldr r1, _0802F5B8 @ =gActiveBattler - ldrb r1, [r1] - adds r1, r0 - ldrb r0, [r1] - cmp r2, r0 - bne _0802F5BC - ldrb r0, [r1] - movs r1, 0x1D - bl MoveSelectionCreateCursorAt - b _0802F5C2 - .align 2, 0 -_0802F5A8: .4byte gMain -_0802F5AC: .4byte gUnknown_3004FF4 -_0802F5B0: .4byte gUnknown_3004FF8 -_0802F5B4: .4byte gMoveSelectionCursor -_0802F5B8: .4byte gActiveBattler -_0802F5BC: - ldrb r0, [r3] - bl MoveSelectionDestroyCursorAt -_0802F5C2: - ldr r4, _0802F5EC @ =gUnknown_3004FF4 - ldrb r0, [r4] - movs r1, 0x2 - eors r0, r1 - strb r0, [r4] - movs r0, 0x5 - bl PlaySE - ldr r1, _0802F5F0 @ =gMoveSelectionCursor - ldr r0, _0802F5F4 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r4] - ldrb r0, [r0] - cmp r1, r0 - bne _0802F5F8 - adds r0, r1, 0 - movs r1, 0 - bl MoveSelectionCreateCursorAt - b _0802F600 - .align 2, 0 -_0802F5EC: .4byte gUnknown_3004FF4 -_0802F5F0: .4byte gMoveSelectionCursor -_0802F5F4: .4byte gActiveBattler -_0802F5F8: - ldrb r0, [r4] - movs r1, 0x1B - bl MoveSelectionCreateCursorAt -_0802F600: - 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_802EF58 - - thumb_func_start sub_802F610 -sub_802F610: @ 802F610 - push {lr} - ldr r0, _0802F64C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0802F664 - ldr r0, _0802F650 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0802F694 - movs r0, 0x53 - bl m4aSongNumStop - ldr r3, _0802F654 @ =gMain - ldr r0, _0802F658 @ =0x00000439 - adds r2, r3, r0 - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _0802F65C @ =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r3] - ldr r0, _0802F660 @ =sub_8011A1C - bl SetMainCallback2 - bl FreeAllWindowBuffers - b _0802F694 - .align 2, 0 -_0802F64C: .4byte gWirelessCommType -_0802F650: .4byte gReceivedRemoteLinkPlayers -_0802F654: .4byte gMain -_0802F658: .4byte 0x00000439 -_0802F65C: .4byte gPreBattleCallback1 -_0802F660: .4byte sub_8011A1C -_0802F664: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0802F694 - movs r0, 0x53 - bl m4aSongNumStop - ldr r3, _0802F698 @ =gMain - ldr r0, _0802F69C @ =0x00000439 - adds r2, r3, r0 - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _0802F6A0 @ =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r3] - ldr r0, _0802F6A4 @ =sub_8011A1C - bl SetMainCallback2 - bl FreeAllWindowBuffers -_0802F694: - pop {r0} - bx r0 - .align 2, 0 -_0802F698: .4byte gMain -_0802F69C: .4byte 0x00000439 -_0802F6A0: .4byte gPreBattleCallback1 -_0802F6A4: .4byte sub_8011A1C - thumb_func_end sub_802F610 - - thumb_func_start sub_802F6A8 -sub_802F6A8: @ 802F6A8 - push {lr} - ldr r0, _0802F6D0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802F71E - ldr r0, _0802F6D4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802F6FC - ldr r0, _0802F6D8 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0802F6DC - bl sub_800AAC0 - b _0802F6E0 - .align 2, 0 -_0802F6D0: .4byte gPaletteFade -_0802F6D4: .4byte gBattleTypeFlags -_0802F6D8: .4byte gWirelessCommType -_0802F6DC: - bl sub_800AB9C -_0802F6E0: - ldr r1, _0802F6F0 @ =gBattlerControllerFuncs - ldr r0, _0802F6F4 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802F6F8 @ =sub_802F610 - str r1, [r0] - b _0802F71E - .align 2, 0 -_0802F6F0: .4byte gBattlerControllerFuncs -_0802F6F4: .4byte gActiveBattler -_0802F6F8: .4byte sub_802F610 -_0802F6FC: - movs r0, 0x53 - bl m4aSongNumStop - ldr r2, _0802F724 @ =gMain - ldr r0, _0802F728 @ =0x00000439 - adds r3, r2, r0 - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - ldr r0, _0802F72C @ =gPreBattleCallback1 - ldr r0, [r0] - str r0, [r2] - ldr r0, [r2, 0x8] - bl SetMainCallback2 -_0802F71E: - pop {r0} - bx r0 - .align 2, 0 -_0802F724: .4byte gMain -_0802F728: .4byte 0x00000439 -_0802F72C: .4byte gPreBattleCallback1 - thumb_func_end sub_802F6A8 - - thumb_func_start sub_802F730 -sub_802F730: @ 802F730 - push {lr} - ldr r2, _0802F758 @ =gSprites - ldr r1, _0802F75C @ =gBattlerSpriteIds - ldr r0, _0802F760 @ =gActiveBattler - 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, _0802F764 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0802F754 - bl PlayerBufferExecCompleted -_0802F754: - pop {r0} - bx r0 - .align 2, 0 -_0802F758: .4byte gSprites -_0802F75C: .4byte gBattlerSpriteIds -_0802F760: .4byte gActiveBattler -_0802F764: .4byte SpriteCallbackDummy - thumb_func_end sub_802F730 - - thumb_func_start sub_802F768 -sub_802F768: @ 802F768 - push {lr} - ldr r2, _0802F790 @ =gSprites - ldr r1, _0802F794 @ =gBattlerSpriteIds - ldr r0, _0802F798 @ =gActiveBattler - 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, _0802F79C @ =SpriteCallbackDummy - cmp r1, r0 - bne _0802F78C - bl PlayerBufferExecCompleted -_0802F78C: - pop {r0} - bx r0 - .align 2, 0 -_0802F790: .4byte gSprites -_0802F794: .4byte gBattlerSpriteIds -_0802F798: .4byte gActiveBattler -_0802F79C: .4byte SpriteCallbackDummy - thumb_func_end sub_802F768 - - thumb_func_start sub_802F7A0 -sub_802F7A0: @ 802F7A0 - push {r4-r6,lr} - ldr r6, _0802F7FC @ =gSprites - ldr r5, _0802F800 @ =gBattlerSpriteIds - ldr r4, _0802F804 @ =gActiveBattler - 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, _0802F808 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0802F7F4 - ldr r0, _0802F80C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bl nullsub_16 - 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 -_0802F7F4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802F7FC: .4byte gSprites -_0802F800: .4byte gBattlerSpriteIds -_0802F804: .4byte gActiveBattler -_0802F808: .4byte SpriteCallbackDummy -_0802F80C: .4byte gSaveBlock2Ptr - thumb_func_end sub_802F7A0 - - thumb_func_start sub_802F810 -sub_802F810: @ 802F810 - push {r4,lr} - ldr r4, _0802F850 @ =gBattleSpritesDataPtr - ldr r1, [r4] - ldr r3, _0802F854 @ =gActiveBattler - 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 _0802F848 - 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 -_0802F848: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802F850: .4byte gBattleSpritesDataPtr -_0802F854: .4byte gActiveBattler - thumb_func_end sub_802F810 - - thumb_func_start sub_802F858 -sub_802F858: @ 802F858 - push {r4-r7,lr} - movs r6, 0 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0802F87C - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0802F8B0 - ldr r0, _0802F89C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802F8B0 -_0802F87C: - ldr r2, _0802F8A0 @ =gSprites - ldr r1, _0802F8A4 @ =gHealthboxSpriteIds - ldr r0, _0802F8A8 @ =gActiveBattler - 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, _0802F8AC @ =SpriteCallbackDummy - cmp r1, r0 - bne _0802F8E6 - b _0802F8E4 - .align 2, 0 -_0802F89C: .4byte gBattleTypeFlags -_0802F8A0: .4byte gSprites -_0802F8A4: .4byte gHealthboxSpriteIds -_0802F8A8: .4byte gActiveBattler -_0802F8AC: .4byte SpriteCallbackDummy -_0802F8B0: - ldr r2, _0802F9B0 @ =gSprites - ldr r5, _0802F9B4 @ =gHealthboxSpriteIds - ldr r0, _0802F9B8 @ =gActiveBattler - 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, _0802F9BC @ =SpriteCallbackDummy - cmp r4, r0 - bne _0802F8E6 - 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 _0802F8E6 -_0802F8E4: - movs r6, 0x1 -_0802F8E6: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _0802F8F2 - movs r6, 0 -_0802F8F2: - cmp r6, 0 - bne _0802F8F8 - b _0802FA32 -_0802F8F8: - ldr r0, _0802F9C0 @ =gBattleSpritesDataPtr - mov r12, r0 - ldr r0, [r0] - ldr r7, _0802F9B8 @ =gActiveBattler - ldrb r2, [r7] - 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 - bne _0802F91A - b _0802FA32 -_0802F91A: - movs r6, 0x2 - adds r1, r6, 0 - 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 - bne _0802F934 - b _0802FA32 -_0802F934: - ldrb r1, [r4] - movs r3, 0x7F - adds r0, r3, 0 - ands r0, r1 - strb r0, [r4] - mov r1, r12 - ldr r0, [r1] - 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 r4, 0x2 - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - strb r0, [r1, 0x1] - mov r0, r12 - ldr r2, [r0] - ldrb r0, [r7] - adds r1, r6, 0 - 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, r12 - ldr r2, [r1] - ldrb r0, [r7] - adds r1, r6, 0 - 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, _0802F9C4 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldr r0, _0802F9C8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802F9D0 - ldr r0, _0802F9CC @ =gMPlayInfo_BGM - bl m4aMPlayContinue - b _0802F9DC - .align 2, 0 -_0802F9B0: .4byte gSprites -_0802F9B4: .4byte gHealthboxSpriteIds -_0802F9B8: .4byte gActiveBattler -_0802F9BC: .4byte SpriteCallbackDummy -_0802F9C0: .4byte gBattleSpritesDataPtr -_0802F9C4: .4byte 0x000027f9 -_0802F9C8: .4byte gBattleTypeFlags -_0802F9CC: .4byte gMPlayInfo_BGM -_0802F9D0: - ldr r0, _0802FA38 @ =gMPlayInfo_BGM - ldr r1, _0802FA3C @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_0802F9DC: - ldr r7, _0802FA40 @ =gBattlerPartyIndexes - ldr r4, _0802FA44 @ =gActiveBattler - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0802FA48 @ =gPlayerParty - adds r0, r5 - bl HandleLowHpMusicChange - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0802FA12 - ldrb r0, [r4] - movs r1, 0x2 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - bl HandleLowHpMusicChange -_0802FA12: - ldr r0, _0802FA4C @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r1, [r4] - 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, _0802FA50 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FA54 @ =sub_802F810 - str r1, [r0] -_0802FA32: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FA38: .4byte gMPlayInfo_BGM -_0802FA3C: .4byte 0x0000ffff -_0802FA40: .4byte gBattlerPartyIndexes -_0802FA44: .4byte gActiveBattler -_0802FA48: .4byte gPlayerParty -_0802FA4C: .4byte gBattleSpritesDataPtr -_0802FA50: .4byte gBattlerControllerFuncs -_0802FA54: .4byte sub_802F810 - thumb_func_end sub_802F858 - - thumb_func_start sub_802FA58 -sub_802FA58: @ 802FA58 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802FBCC @ =gBattleSpritesDataPtr - mov r9, r0 - ldr r0, [r0] - ldr r1, _0802FBD0 @ =gActiveBattler - mov r8, r1 - ldrb r2, [r1] - ldr r3, [r0, 0x4] - lsls r5, r2, 1 - adds r0, r5, r2 - lsls r0, 2 - adds r0, r3 - ldrb r4, [r0] - movs r6, 0x8 - adds r0, r6, 0 - ands r0, r4 - cmp r0, 0 - beq _0802FA84 - b _0802FBBE -_0802FA84: - movs r7, 0x2 - adds r1, r2, 0 - eors r1, r7 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0802FA9E - b _0802FBBE -_0802FA9E: - movs r6, 0x80 - adds r0, r6, 0 - ands r0, r4 - cmp r0, 0 - bne _0802FABC - ldr r0, _0802FBD4 @ =gBattlerPartyIndexes - adds r0, r5, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0802FBD8 @ =gPlayerParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_0802FABC: - mov r2, r9 - ldr r1, [r2] - mov r2, r8 - ldrb r0, [r2] - adds r2, r7, 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, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0802FAF0 - ldr r0, _0802FBD4 @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0802FBD8 @ =gPlayerParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_0802FAF0: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0802FB5C - ldr r0, _0802FBDC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0802FB5C - ldr r1, _0802FBE0 @ =gUnknown_3004FFC - mov r2, r8 - ldrb r0, [r2] - eors r0, r7 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0802FBE4 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, _0802FBE8 @ =gHealthboxSpriteIds - mov r1, r8 - ldrb r0, [r1] - adds r1, r7, 0 - eors r1, r0 - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _0802FBD4 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0802FBD8 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - mov r2, r8 - ldrb r0, [r2] - eors r0, r7 - bl sub_804BD94 - mov r1, r8 - ldrb r0, [r1] - eors r0, r7 - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible -_0802FB5C: - ldr r1, _0802FBE0 @ =gUnknown_3004FFC - ldr r4, _0802FBD0 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0802FBE4 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r5, _0802FBE8 @ =gHealthboxSpriteIds - ldrb r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - ldr r2, _0802FBD4 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0802FBD8 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r4] - bl sub_804BD94 - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldr r0, _0802FBCC @ =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, _0802FBEC @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FBF0 @ =sub_802F858 - str r1, [r0] -_0802FBBE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FBCC: .4byte gBattleSpritesDataPtr -_0802FBD0: .4byte gActiveBattler -_0802FBD4: .4byte gBattlerPartyIndexes -_0802FBD8: .4byte gPlayerParty -_0802FBDC: .4byte gBattleTypeFlags -_0802FBE0: .4byte gUnknown_3004FFC -_0802FBE4: .4byte gSprites -_0802FBE8: .4byte gHealthboxSpriteIds -_0802FBEC: .4byte gBattlerControllerFuncs -_0802FBF0: .4byte sub_802F858 - thumb_func_end sub_802FA58 - - thumb_func_start sub_802FBF4 -sub_802FBF4: @ 802FBF4 - push {r4-r6,lr} - ldr r2, _0802FC8C @ =gSprites - ldr r0, _0802FC90 @ =gHealthboxSpriteIds - ldr r6, _0802FC94 @ =gActiveBattler - 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 r1, [r0] - ldr r0, _0802FC98 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0802FC84 - ldr r5, _0802FC9C @ =gBattleSpritesDataPtr - ldr r0, [r5] - ldr r1, [r0, 0x4] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802FC84 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - 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, _0802FCA0 @ =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 _0802FC78 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation -_0802FC78: - ldr r0, _0802FCA4 @ =gBattlerControllerFuncs - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _0802FCA8 @ =sub_802FCAC - str r0, [r1] -_0802FC84: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802FC8C: .4byte gSprites -_0802FC90: .4byte gHealthboxSpriteIds -_0802FC94: .4byte gActiveBattler -_0802FC98: .4byte SpriteCallbackDummy -_0802FC9C: .4byte gBattleSpritesDataPtr -_0802FCA0: .4byte 0x000027f9 -_0802FCA4: .4byte gBattlerControllerFuncs -_0802FCA8: .4byte sub_802FCAC - thumb_func_end sub_802FBF4 - - thumb_func_start sub_802FCAC -sub_802FCAC: @ 802FCAC - push {r4,lr} - ldr r0, _0802FD00 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r4, _0802FD04 @ =gActiveBattler - 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 _0802FCFA - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _0802FCFA - ldr r0, _0802FD08 @ =gMPlayInfo_BGM - ldr r1, _0802FD0C @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - ldr r2, _0802FD10 @ =gBattlerPartyIndexes - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0802FD14 @ =gPlayerParty - adds r0, r2 - bl HandleLowHpMusicChange - bl PlayerBufferExecCompleted -_0802FCFA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802FD00: .4byte gBattleSpritesDataPtr -_0802FD04: .4byte gActiveBattler -_0802FD08: .4byte gMPlayInfo_BGM -_0802FD0C: .4byte 0x0000ffff -_0802FD10: .4byte gBattlerPartyIndexes -_0802FD14: .4byte gPlayerParty - thumb_func_end sub_802FCAC - - thumb_func_start sub_802FD18 -sub_802FD18: @ 802FD18 - push {r4-r6,lr} - ldr r6, _0802FDCC @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r5, _0802FDD0 @ =gActiveBattler - 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 _0802FD4A - ldr r0, _0802FDD4 @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0802FDD8 @ =gPlayerParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_0802FD4A: - ldr r4, _0802FDDC @ =gSprites - ldr r0, _0802FDE0 @ =gUnknown_3004FFC - 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, _0802FDE4 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0802FDC4 - 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 _0802FDC4 - adds r0, r3, r4 - bl DestroySprite - ldr r4, _0802FDE8 @ =gHealthboxSpriteIds - ldrb r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _0802FDD4 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0802FDD8 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r5] - bl sub_804BD94 - ldrb r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldrb r0, [r5] - bl CopyBattleSpriteInvisibility - ldr r1, _0802FDEC @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0802FDF0 @ =sub_802FBF4 - str r1, [r0] -_0802FDC4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802FDCC: .4byte gBattleSpritesDataPtr -_0802FDD0: .4byte gActiveBattler -_0802FDD4: .4byte gBattlerPartyIndexes -_0802FDD8: .4byte gPlayerParty -_0802FDDC: .4byte gSprites -_0802FDE0: .4byte gUnknown_3004FFC -_0802FDE4: .4byte SpriteCallbackDummy -_0802FDE8: .4byte gHealthboxSpriteIds -_0802FDEC: .4byte gBattlerControllerFuncs -_0802FDF0: .4byte sub_802FBF4 - thumb_func_end sub_802FD18 - - thumb_func_start c3_0802FDF4 -c3_0802FDF4: @ 802FDF4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _0802FE16 - ldr r0, _0802FE1C @ =gMPlayInfo_BGM - ldr r1, _0802FE20 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - adds r0, r4, 0 - bl DestroyTask -_0802FE16: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802FE1C: .4byte gMPlayInfo_BGM -_0802FE20: .4byte 0x0000ffff - thumb_func_end c3_0802FDF4 - - thumb_func_start CompleteOnHealthbarDone -CompleteOnHealthbarDone: @ 802FE24 - push {r4-r6,lr} - ldr r5, _0802FE64 @ =gActiveBattler - ldrb r0, [r5] - ldr r6, _0802FE68 @ =gHealthboxSpriteIds - adds r1, r0, r6 - ldrb r1, [r1] - movs r2, 0 - movs r3, 0 - bl MoveBattleBar - 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 _0802FE6C - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - movs r2, 0 - bl UpdateHpTextInHealthbox - b _0802FE86 - .align 2, 0 -_0802FE64: .4byte gActiveBattler -_0802FE68: .4byte gHealthboxSpriteIds -_0802FE6C: - ldr r2, _0802FE8C @ =gBattlerPartyIndexes - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _0802FE90 @ =gPlayerParty - adds r0, r2 - bl HandleLowHpMusicChange - bl PlayerBufferExecCompleted -_0802FE86: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802FE8C: .4byte gBattlerPartyIndexes -_0802FE90: .4byte gPlayerParty - thumb_func_end CompleteOnHealthbarDone - - thumb_func_start sub_802FE94 -sub_802FE94: @ 802FE94 - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0802FEA6 - bl PlayerBufferExecCompleted -_0802FEA6: - pop {r0} - bx r0 - thumb_func_end sub_802FE94 - - thumb_func_start sub_802FEAC -sub_802FEAC: @ 802FEAC - 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, _0802FFAC @ =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 _0802FEF2 - ldr r1, _0802FFB0 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r10, r0 - bne _0802FEF2 - b _08030008 -_0802FEF2: - movs r0, 0x64 - mov r1, r10 - muls r1, r0 - ldr r0, _0802FFB4 @ =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, _0802FFB8 @ =gExperienceTables - adds r4, 0x1 - lsls r4, 2 - ldr r2, _0802FFBC @ =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 _0802FFE0 - 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, _0802FFC0 @ =gActiveBattler - ldrb r5, [r4] - strb r7, [r4] - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - movs r1, 0xB - bl BtlController_EmitTwoReturnValues - strb r5, [r4] - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802FFC8 - ldr r2, _0802FFB0 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r2 - mov r1, r10 - ldrh r0, [r0] - cmp r1, r0 - beq _0802FFA6 - movs r0, 0x2 - eors r7, r0 - lsls r0, r7, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r1, r0 - bne _0802FFC8 -_0802FFA6: - ldr r0, _0802FFC4 @ =sub_8030238 - b _0803000A - .align 2, 0 -_0802FFAC: .4byte gTasks -_0802FFB0: .4byte gBattlerPartyIndexes -_0802FFB4: .4byte gPlayerParty -_0802FFB8: .4byte gExperienceTables -_0802FFBC: .4byte gBaseStats -_0802FFC0: .4byte gActiveBattler -_0802FFC4: .4byte sub_8030238 -_0802FFC8: - ldr r0, _0802FFD8 @ =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldr r0, _0802FFDC @ =sub_8030350 - b _0803000C - .align 2, 0 -_0802FFD8: .4byte gTasks -_0802FFDC: .4byte sub_8030350 -_0802FFE0: - str r0, [sp, 0x4] - add r2, sp, 0x4 - adds r0, r6, 0 - movs r1, 0x19 - bl SetMonData - ldr r1, _08030000 @ =gBattlerControllerFuncs - ldr r3, [sp, 0x8] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, _08030004 @ =sub_802FE94 - str r1, [r0] - mov r0, r9 - bl DestroyTask - b _0803000E - .align 2, 0 -_08030000: .4byte gBattlerControllerFuncs -_08030004: .4byte sub_802FE94 -_08030008: - ldr r0, _08030020 @ =sub_8030024 -_0803000A: - mov r1, r8 -_0803000C: - str r0, [r1] -_0803000E: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030020: .4byte sub_8030024 - thumb_func_end sub_802FEAC - - thumb_func_start sub_8030024 -sub_8030024: @ 8030024 - 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, _080300DC @ =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, _080300E0 @ =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, _080300E4 @ =gExperienceTables - lsls r1, r4, 2 - ldr r2, _080300E8 @ =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, _080300EC @ =gHealthboxSpriteIds - add r0, r10 - ldrb r1, [r0] - mov r0, r9 - negs r0, r0 - str r0, [sp] - mov r0, r10 - bl SetBattleBarStruct - movs r0, 0x1B - bl PlaySE - ldr r0, _080300F0 @ =sub_80300F4 - 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 - .align 2, 0 -_080300DC: .4byte gTasks -_080300E0: .4byte gPlayerParty -_080300E4: .4byte gExperienceTables -_080300E8: .4byte gBaseStats -_080300EC: .4byte gHealthboxSpriteIds -_080300F0: .4byte sub_80300F4 - thumb_func_end sub_8030024 - - thumb_func_start sub_80300F4 -sub_80300F4: @ 80300F4 - 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, _08030120 @ =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 _08030124 - adds r0, r1, 0x1 - strh r0, [r6, 0x1C] - b _08030220 - .align 2, 0 -_08030120: .4byte gTasks -_08030124: - ldrb r0, [r6, 0x8] - mov r9, r0 - ldrh r2, [r6, 0xA] - mov r10, r2 - ldrb r7, [r6, 0xC] - ldr r5, _080301EC @ =gHealthboxSpriteIds - adds r5, r7, r5 - ldrb r1, [r5] - adds r0, r7, 0 - movs r2, 0x1 - movs r3, 0 - bl MoveBattleBar - 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 _08030220 - movs r0, 0x1B - bl m4aSongNumStop - movs r0, 0x64 - mov r1, r9 - muls r1, r0 - ldr r0, _080301F0 @ =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, _080301F4 @ =gExperienceTables - adds r4, 0x1 - lsls r4, 2 - ldr r2, _080301F8 @ =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 _08030204 - 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, _080301FC @ =gActiveBattler - ldrb r5, [r4] - strb r7, [r4] - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - movs r1, 0xB - bl BtlController_EmitTwoReturnValues - strb r5, [r4] - ldr r0, _08030200 @ =sub_8030238 - str r0, [r6] - b _08030220 - .align 2, 0 -_080301EC: .4byte gHealthboxSpriteIds -_080301F0: .4byte gPlayerParty -_080301F4: .4byte gExperienceTables -_080301F8: .4byte gBaseStats -_080301FC: .4byte gActiveBattler -_08030200: .4byte sub_8030238 -_08030204: - str r0, [sp, 0x4] - add r2, sp, 0x4 - adds r0, r5, 0 - movs r1, 0x19 - bl SetMonData - ldr r1, _08030230 @ =gBattlerControllerFuncs - lsls r0, r7, 2 - adds r0, r1 - ldr r1, _08030234 @ =sub_802FE94 - str r1, [r0] - mov r0, r8 - bl DestroyTask -_08030220: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030230: .4byte gBattlerControllerFuncs -_08030234: .4byte sub_802FE94 - thumb_func_end sub_80300F4 - - thumb_func_start sub_8030238 -sub_8030238: @ 8030238 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0803028C @ =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 _0803026C - ldr r1, _08030290 @ =gBattlerPartyIndexes - movs r0, 0x2 - adds r2, r4, 0 - eors r2, r0 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r6, r0 - bne _0803026C - adds r4, r2, 0 -_0803026C: - adds r0, r4, 0 - adds r1, r4, 0 - adds r2, r4, 0 - movs r3, 0 - bl InitAndLaunchSpecialAnimation - ldr r0, _0803028C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _08030294 @ =sub_8030298 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803028C: .4byte gTasks -_08030290: .4byte gBattlerPartyIndexes -_08030294: .4byte sub_8030298 - thumb_func_end sub_8030238 - - thumb_func_start sub_8030298 -sub_8030298: @ 8030298 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _08030304 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r2, r0, r1 - ldrb r5, [r2, 0xC] - ldr r0, _08030308 @ =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 _0803033A - ldrb r4, [r2, 0x8] - movs r0, 0x64 - adds r1, r4, 0 - muls r1, r0 - ldr r0, _0803030C @ =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 _08030318 - ldr r1, _08030310 @ =gBattlerPartyIndexes - movs r0, 0x2 - adds r2, r5, 0 - eors r2, r0 - lsls r0, r2, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r4, r0 - bne _08030318 - ldr r0, _08030314 @ =gHealthboxSpriteIds - adds r0, r2, r0 - ldrb r0, [r0] - adds r1, r7, 0 - movs r2, 0 - bl UpdateHealthboxAttribute - b _0803032C - .align 2, 0 -_08030304: .4byte gTasks -_08030308: .4byte gBattleSpritesDataPtr -_0803030C: .4byte gPlayerParty -_08030310: .4byte gBattlerPartyIndexes -_08030314: .4byte gHealthboxSpriteIds -_08030318: - ldr r0, _08030340 @ =gHealthboxSpriteIds - adds r0, r5, r0 - ldrb r0, [r0] - movs r1, 0x64 - muls r1, r4 - ldr r2, _08030344 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute -_0803032C: - ldr r0, _08030348 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0803034C @ =sub_8030350 - str r0, [r1] -_0803033A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030340: .4byte gHealthboxSpriteIds -_08030344: .4byte gPlayerParty -_08030348: .4byte gTasks -_0803034C: .4byte sub_8030350 - thumb_func_end sub_8030298 - - thumb_func_start sub_8030350 -sub_8030350: @ 8030350 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08030380 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0xC - ldrsh r6, [r4, r0] - lsls r0, r6, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08030388 - ldr r0, _08030384 @ =sub_80303A8 - str r0, [r4] - movs r0, 0 - strh r0, [r4, 0x26] - b _08030398 - .align 2, 0 -_08030380: .4byte gTasks -_08030384: .4byte sub_80303A8 -_08030388: - ldr r0, _080303A0 @ =gBattlerControllerFuncs - lsls r1, r6, 2 - adds r1, r0 - ldr r0, _080303A4 @ =sub_802FE94 - str r0, [r1] - adds r0, r5, 0 - bl DestroyTask -_08030398: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080303A0: .4byte gBattlerControllerFuncs -_080303A4: .4byte sub_802FE94 - thumb_func_end sub_8030350 - - thumb_func_start sub_80303A8 -sub_80303A8: @ 80303A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _080303FC @ =gTasks+0x8 - adds r5, r0, r1 - ldrb r7, [r5, 0x4] - adds r0, r7, 0 - bl sub_80768B0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r1, r0 - orrs r1, r0 - lsrs r6, r1, 31 - ldr r0, _08030400 @ =gBattlerSpriteIds - adds r0, r7, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08030404 @ =gSprites - adds r4, r0, r1 - movs r1, 0x1E - ldrsh r0, [r5, r1] - cmp r0, 0x6 - bls _080303F0 - b _0803051C -_080303F0: - lsls r0, 2 - ldr r1, _08030408 @ =_0803040C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080303FC: .4byte gTasks+0x8 -_08030400: .4byte gBattlerSpriteIds -_08030404: .4byte gSprites -_08030408: .4byte _0803040C - .align 2, 0 -_0803040C: - .4byte _08030428 - .4byte _0803047C - .4byte _08030486 - .4byte _080304C0 - .4byte _080304E0 - .4byte _080304DA - .4byte _080304E8 -_08030428: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0803051C - cmp r6, 0 - bne _0803044C - ldr r1, _08030444 @ =gBattle_BG1_X - ldrh r0, [r1] - strh r0, [r5, 0x1C] - ldr r2, _08030448 @ =gBattle_BG1_Y - b _08030454 - .align 2, 0 -_08030444: .4byte gBattle_BG1_X -_08030448: .4byte gBattle_BG1_Y -_0803044C: - ldr r1, _08030474 @ =gBattle_BG2_X - ldrh r0, [r1] - strh r0, [r5, 0x1C] - ldr r2, _08030478 @ =gBattle_BG2_Y -_08030454: - ldrh r0, [r2] - strh r0, [r5, 0x1A] - ldrh r0, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r0, r3 - negs r0, r0 - adds r0, 0x20 - strh r0, [r1] - ldrh r0, [r4, 0x26] - ldrh r4, [r4, 0x22] - adds r0, r4 - negs r0, r0 - adds r0, 0x20 - strh r0, [r2] - b _080304E0 - .align 2, 0 -_08030474: .4byte gBattle_BG2_X -_08030478: .4byte gBattle_BG2_Y -_0803047C: - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8072E48 - b _080304E0 -_08030486: - movs r0, 0x58 - bl PlaySE - bl IsMonGettingExpSentOut - cmp r0, 0 - beq _080304E0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x26] - ldrh r4, [r4, 0x22] - adds r1, r4 - lsls r1, 16 - lsrs r1, 16 - ldr r3, _080304BC @ =0x00002710 - movs r2, 0x1 - str r2, [sp] - movs r2, 0 - str r2, [sp, 0x4] - adds r2, r3, 0 - bl sub_811E5B8 - b _080304E0 - .align 2, 0 -_080304BC: .4byte 0x00002710 -_080304C0: - bl sub_811E680 - lsls r0, 24 - cmp r0, 0 - bne _0803051C - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _080304E0 -_080304DA: - adds r0, r6, 0 - bl sub_8073128 -_080304E0: - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - b _0803051C -_080304E8: - cmp r6, 0 - bne _08030500 - ldr r1, _080304F8 @ =gBattle_BG1_X - ldrh r0, [r5, 0x1C] - strh r0, [r1] - ldr r1, _080304FC @ =gBattle_BG1_Y - b _08030508 - .align 2, 0 -_080304F8: .4byte gBattle_BG1_X -_080304FC: .4byte gBattle_BG1_Y -_08030500: - ldr r1, _08030528 @ =gBattle_BG2_X - ldrh r0, [r5, 0x1C] - strh r0, [r1] - ldr r1, _0803052C @ =gBattle_BG2_Y -_08030508: - ldrh r0, [r5, 0x1A] - strh r0, [r1] - ldr r0, _08030530 @ =gBattlerControllerFuncs - lsls r1, r7, 2 - adds r1, r0 - ldr r0, _08030534 @ =sub_802FE94 - str r0, [r1] - mov r0, r8 - bl DestroyTask -_0803051C: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030528: .4byte gBattle_BG2_X -_0803052C: .4byte gBattle_BG2_Y -_08030530: .4byte gBattlerControllerFuncs -_08030534: .4byte sub_802FE94 - thumb_func_end sub_80303A8 - - thumb_func_start sub_8030538 -sub_8030538: @ 8030538 - push {r4-r6,lr} - ldr r6, _08030590 @ =gSprites - ldr r5, _08030594 @ =gBattlerSpriteIds - ldr r4, _08030598 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r6 - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - cmp r0, 0xA0 - ble _08030588 - ldrb r0, [r2, 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, _0803059C @ =gHealthboxSpriteIds - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl PlayerBufferExecCompleted -_08030588: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08030590: .4byte gSprites -_08030594: .4byte gBattlerSpriteIds -_08030598: .4byte gActiveBattler -_0803059C: .4byte gHealthboxSpriteIds - thumb_func_end sub_8030538 - - thumb_func_start sub_80305A0 -sub_80305A0: @ 80305A0 - push {r4-r6,lr} - ldr r0, _080305FC @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r6, _08030600 @ =gActiveBattler - 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 _080305F4 - ldr r5, _08030604 @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08030608 @ =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, _0803060C @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl PlayerBufferExecCompleted -_080305F4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080305FC: .4byte gBattleSpritesDataPtr -_08030600: .4byte gActiveBattler -_08030604: .4byte gBattlerSpriteIds -_08030608: .4byte gSprites -_0803060C: .4byte gHealthboxSpriteIds - thumb_func_end sub_80305A0 - - thumb_func_start sub_8030610 -sub_8030610: @ 8030610 - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _08030622 - bl PlayerBufferExecCompleted -_08030622: - pop {r0} - bx r0 - thumb_func_end sub_8030610 - - thumb_func_start sub_8030628 -sub_8030628: @ 8030628 - push {r4,lr} - ldr r0, _0803066C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08030666 - ldr r1, _08030670 @ =gBattlerControllerFuncs - ldr r2, _08030674 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030678 @ =sub_8030684 - str r1, [r0] - ldr r3, _0803067C @ =gTasks - ldr r1, _08030680 @ =gUnknown_3004FFC - 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_81278DC -_08030666: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803066C: .4byte gPaletteFade -_08030670: .4byte gBattlerControllerFuncs -_08030674: .4byte gActiveBattler -_08030678: .4byte sub_8030684 -_0803067C: .4byte gTasks -_08030680: .4byte gUnknown_3004FFC - thumb_func_end sub_8030628 - - thumb_func_start sub_8030684 -sub_8030684: @ 8030684 - push {lr} - ldr r0, _080306B4 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _080306B8 @ =BattleMainCB2 - cmp r1, r0 - bne _080306F4 - ldr r0, _080306BC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080306F4 - ldr r0, _080306C0 @ =gUnknown_203B0C0 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080306CC - ldr r0, _080306C4 @ =gUnknown_203B0C1 - ldrb r1, [r0] - ldr r2, _080306C8 @ =gUnknown_203B0DC - movs r0, 0x1 - bl BtlController_EmitChosenMonReturnValue - b _080306D6 - .align 2, 0 -_080306B4: .4byte gMain -_080306B8: .4byte BattleMainCB2 -_080306BC: .4byte gPaletteFade -_080306C0: .4byte gUnknown_203B0C0 -_080306C4: .4byte gUnknown_203B0C1 -_080306C8: .4byte gUnknown_203B0DC -_080306CC: - movs r0, 0x1 - movs r1, 0x6 - movs r2, 0 - bl BtlController_EmitChosenMonReturnValue -_080306D6: - ldr r1, _080306F8 @ =gBattleBufferA - ldr r0, _080306FC @ =gActiveBattler - 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 _080306F0 - bl PrintLinkStandbyMsg -_080306F0: - bl PlayerBufferExecCompleted -_080306F4: - pop {r0} - bx r0 - .align 2, 0 -_080306F8: .4byte gBattleBufferA -_080306FC: .4byte gActiveBattler - thumb_func_end sub_8030684 - - thumb_func_start sub_8030700 -sub_8030700: @ 8030700 - push {lr} - ldr r0, _0803072C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08030728 - ldr r1, _08030730 @ =gBattlerControllerFuncs - ldr r0, _08030734 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08030738 @ =CompleteWhenChoseItem - str r1, [r0] - bl nullsub_44 - bl FreeAllWindowBuffers - bl sub_8107ECC -_08030728: - pop {r0} - bx r0 - .align 2, 0 -_0803072C: .4byte gPaletteFade -_08030730: .4byte gBattlerControllerFuncs -_08030734: .4byte gActiveBattler -_08030738: .4byte CompleteWhenChoseItem - thumb_func_end sub_8030700 - - thumb_func_start CompleteWhenChoseItem -CompleteWhenChoseItem: @ 803073C - push {lr} - ldr r0, _08030768 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0803076C @ =BattleMainCB2 - cmp r1, r0 - bne _08030762 - ldr r0, _08030770 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08030762 - ldr r0, _08030774 @ =gSpecialVar_ItemId - ldrh r1, [r0] - movs r0, 0x1 - bl BtlController_EmitOneReturnValue - bl PlayerBufferExecCompleted -_08030762: - pop {r0} - bx r0 - .align 2, 0 -_08030768: .4byte gMain -_0803076C: .4byte BattleMainCB2 -_08030770: .4byte gPaletteFade -_08030774: .4byte gSpecialVar_ItemId - thumb_func_end CompleteWhenChoseItem - - thumb_func_start CompleteOnSpecialAnimDone -CompleteOnSpecialAnimDone: @ 8030778 - push {lr} - ldr r0, _080307A8 @ =gDoingBattleAnim - ldrb r0, [r0] - cmp r0, 0 - beq _0803079E - ldr r0, _080307AC @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080307B0 @ =gActiveBattler - 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 _080307A2 -_0803079E: - bl PlayerBufferExecCompleted -_080307A2: - pop {r0} - bx r0 - .align 2, 0 -_080307A8: .4byte gDoingBattleAnim -_080307AC: .4byte gBattleSpritesDataPtr -_080307B0: .4byte gActiveBattler - thumb_func_end CompleteOnSpecialAnimDone - - thumb_func_start DoHitAnimBlinkSpriteEffect -DoHitAnimBlinkSpriteEffect: @ 80307B4 - push {r4,lr} - ldr r1, _080307F0 @ =gBattlerSpriteIds - ldr r0, _080307F4 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _080307F8 @ =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 _08030800 - 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, _080307FC @ =gDoingBattleAnim - strb r3, [r0] - bl PlayerBufferExecCompleted - b _0803082A - .align 2, 0 -_080307F0: .4byte gBattlerSpriteIds -_080307F4: .4byte gActiveBattler -_080307F8: .4byte gSprites -_080307FC: .4byte gDoingBattleAnim -_08030800: - ldrh r0, [r4, 0x30] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08030824 - 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] -_08030824: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_0803082A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end DoHitAnimBlinkSpriteEffect - - thumb_func_start sub_8030830 -sub_8030830: @ 8030830 - push {r4-r7,lr} - ldr r0, _08030890 @ =gActiveBattler - ldrb r1, [r0] - lsls r1, 9 - ldr r3, _08030894 @ =gUnknown_2022BC8 - ldr r2, _08030898 @ =gUnknown_3004FF8 - movs r0, 0 - strb r0, [r2] - movs r5, 0 - ldr r6, _0803089C @ =gDisplayedStringBattle - adds r4, r1, r3 - adds r7, r2, 0 -_08030848: - lsls r0, r5, 24 - lsrs r0, 24 - bl MoveSelectionDestroyCursorAt - adds r0, r6, 0 - ldr r1, _080308A0 @ =gUnknown_83FE770 - bl StringCopy - ldrh r1, [r4] - movs r0, 0xD - muls r1, r0 - ldr r0, _080308A4 @ =gMoveNames - adds r1, r0 - adds r0, r6, 0 - bl StringAppend - adds r1, r5, 0x3 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl BattlePutTextOnWindow - ldrh r0, [r4] - cmp r0, 0 - beq _08030880 - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] -_08030880: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08030848 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030890: .4byte gActiveBattler -_08030894: .4byte gUnknown_2022BC8 -_08030898: .4byte gUnknown_3004FF8 -_0803089C: .4byte gDisplayedStringBattle -_080308A0: .4byte gUnknown_83FE770 -_080308A4: .4byte gMoveNames - thumb_func_end sub_8030830 - - thumb_func_start MoveSelectionDisplayPpString -MoveSelectionDisplayPpString: @ 80308A8 - push {r4,lr} - ldr r4, _080308C4 @ =gDisplayedStringBattle - ldr r1, _080308C8 @ =gUnknown_83FE766 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - movs r1, 0x7 - bl BattlePutTextOnWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080308C4: .4byte gDisplayedStringBattle -_080308C8: .4byte gUnknown_83FE766 - thumb_func_end MoveSelectionDisplayPpString - - thumb_func_start MoveSelectionDisplayPpNumber -MoveSelectionDisplayPpNumber: @ 80308CC - push {r4-r7,lr} - ldr r5, _08030930 @ =gBattleBufferA - ldr r7, _08030934 @ =gActiveBattler - ldrb r0, [r7] - lsls r0, 9 - adds r1, r5, 0x2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08030928 - bl SetPpNumbersPaletteInMoveSelection - ldrb r1, [r7] - lsls r4, r1, 9 - adds r0, r5, 0x4 - adds r4, r0 - ldr r6, _08030938 @ =gDisplayedStringBattle - ldr r5, _0803093C @ =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 BattlePutTextOnWindow -_08030928: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030930: .4byte gBattleBufferA -_08030934: .4byte gActiveBattler -_08030938: .4byte gDisplayedStringBattle -_0803093C: .4byte gMoveSelectionCursor - thumb_func_end MoveSelectionDisplayPpNumber - - thumb_func_start MoveSelectionDisplayMoveType -MoveSelectionDisplayMoveType: @ 8030940 - push {r4-r6,lr} - ldr r5, _080309AC @ =gActiveBattler - ldrb r4, [r5] - lsls r4, 9 - ldr r0, _080309B0 @ =gUnknown_2022BC8 - adds r4, r0 - ldr r6, _080309B4 @ =gDisplayedStringBattle - ldr r1, _080309B8 @ =gUnknown_83FE76A - adds r0, r6, 0 - bl StringCopy - adds r3, r0, 0 - movs r0, 0xFC - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x6 - strb r0, [r3] - adds r3, 0x1 - movs r0, 0x1 - strb r0, [r3] - adds r3, 0x1 - ldr r1, _080309BC @ =gUnknown_83FE770 - adds r0, r3, 0 - bl StringCopy - adds r3, r0, 0 - ldr r2, _080309C0 @ =gBattleMoves - ldr r1, _080309C4 @ =gMoveSelectionCursor - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r0 - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - lsls r1, r0, 3 - subs r1, r0 - ldr r0, _080309C8 @ =gUnknown_824F1A0 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - adds r0, r6, 0 - movs r1, 0x8 - bl BattlePutTextOnWindow - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080309AC: .4byte gActiveBattler -_080309B0: .4byte gUnknown_2022BC8 -_080309B4: .4byte gDisplayedStringBattle -_080309B8: .4byte gUnknown_83FE76A -_080309BC: .4byte gUnknown_83FE770 -_080309C0: .4byte gBattleMoves -_080309C4: .4byte gMoveSelectionCursor -_080309C8: .4byte gUnknown_824F1A0 - thumb_func_end MoveSelectionDisplayMoveType - - thumb_func_start MoveSelectionCreateCursorAt -MoveSelectionCreateCursorAt: @ 80309CC - 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 MoveSelectionCreateCursorAt - - thumb_func_start MoveSelectionDestroyCursorAt -MoveSelectionDestroyCursorAt: @ 8030A14 - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - add r0, sp, 0xC - movs r1, 0x20 - 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 - thumb_func_end MoveSelectionDestroyCursorAt - - thumb_func_start ActionSelectionCreateCursorAt -ActionSelectionCreateCursorAt: @ 8030A54 - 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: @ 8030A98 - push {lr} - sub sp, 0x10 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - add r0, sp, 0xC - movs r1, 0x20 - 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 - thumb_func_end ActionSelectionDestroyCursorAt - - thumb_func_start sub_8030ADC -sub_8030ADC: @ 8030ADC - push {lr} - ldr r0, _08030AE8 @ =ReshowBattleScreenAfterMenu - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08030AE8: .4byte ReshowBattleScreenAfterMenu - thumb_func_end sub_8030ADC - - thumb_func_start sub_8030AEC -sub_8030AEC: @ 8030AEC - push {lr} - ldr r0, _08030AF8 @ =ReshowBattleScreenAfterMenu - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_08030AF8: .4byte ReshowBattleScreenAfterMenu - thumb_func_end sub_8030AEC - - thumb_func_start CompleteOnFinishedStatusAnimation -CompleteOnFinishedStatusAnimation: @ 8030AFC - push {lr} - ldr r0, _08030B24 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _08030B28 @ =gActiveBattler - 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 _08030B1E - bl PlayerBufferExecCompleted -_08030B1E: - pop {r0} - bx r0 - .align 2, 0 -_08030B24: .4byte gBattleSpritesDataPtr -_08030B28: .4byte gActiveBattler - thumb_func_end CompleteOnFinishedStatusAnimation - - thumb_func_start CompleteOnFinishedBattleAnimation -CompleteOnFinishedBattleAnimation: @ 8030B2C - push {lr} - ldr r0, _08030B54 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _08030B58 @ =gActiveBattler - 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 _08030B4E - bl PlayerBufferExecCompleted -_08030B4E: - pop {r0} - bx r0 - .align 2, 0 -_08030B54: .4byte gBattleSpritesDataPtr -_08030B58: .4byte gActiveBattler - thumb_func_end CompleteOnFinishedBattleAnimation - - thumb_func_start PrintLinkStandbyMsg -PrintLinkStandbyMsg: @ 8030B5C - push {lr} - ldr r0, _08030B80 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08030B7C - ldr r0, _08030B84 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _08030B88 @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _08030B8C @ =gUnknown_83FE714 - movs r1, 0 - bl BattlePutTextOnWindow -_08030B7C: - pop {r0} - bx r0 - .align 2, 0 -_08030B80: .4byte gBattleTypeFlags -_08030B84: .4byte gBattle_BG0_X -_08030B88: .4byte gBattle_BG0_Y -_08030B8C: .4byte gUnknown_83FE714 - thumb_func_end PrintLinkStandbyMsg - - thumb_func_start PlayerHandleGetMonData -PlayerHandleGetMonData: @ 8030B90 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _08030BBC @ =gBattleBufferA - ldr r0, _08030BC0 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _08030BC8 - ldr r0, _08030BC4 @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl CopyPlayerMonData - adds r6, r0, 0 - b _08030BEA - .align 2, 0 -_08030BBC: .4byte gBattleBufferA -_08030BC0: .4byte gActiveBattler -_08030BC4: .4byte gBattlerPartyIndexes -_08030BC8: - ldrb r4, [r1] - movs r5, 0 -_08030BCC: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08030BE2 - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl CopyPlayerMonData - adds r6, r0 -_08030BE2: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _08030BCC -_08030BEA: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl BtlController_EmitDataTransfer - bl PlayerBufferExecCompleted - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PlayerHandleGetMonData - - thumb_func_start CopyPlayerMonData -CopyPlayerMonData: @ 8030C04 - 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, _08030C38 @ =gBattleBufferA - ldr r3, _08030C3C @ =gActiveBattler - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _08030C2E - bl _0803139A -_08030C2E: - lsls r0, 2 - ldr r1, _08030C40 @ =_08030C44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08030C38: .4byte gBattleBufferA -_08030C3C: .4byte gActiveBattler -_08030C40: .4byte _08030C44 - .align 2, 0 -_08030C44: - .4byte _08030D34 - .4byte _08030F58 - .4byte _08030F68 - .4byte _08030F78 - .4byte _08030FE0 - .4byte _08030FE0 - .4byte _08030FE0 - .4byte _08030FE0 - .4byte _08030FFC - .4byte _08031038 - .4byte _08031038 - .4byte _08031038 - .4byte _08031038 - .4byte _0803139A - .4byte _0803139A - .4byte _0803139A - .4byte _0803139A - .4byte _08031054 - .4byte _08031064 - .4byte _08031094 - .4byte _080310A4 - .4byte _080310B4 - .4byte _080310C4 - .4byte _080310D4 - .4byte _080310E4 - .4byte _080310F4 - .4byte _08031104 - .4byte _08031114 - .4byte _08031124 - .4byte _08031134 - .4byte _08031144 - .4byte _08031154 - .4byte _080311A4 - .4byte _080311B4 - .4byte _080311C4 - .4byte _080311D4 - .4byte _080311E4 - .4byte _080311F4 - .4byte _08031204 - .4byte _08031214 - .4byte _08031224 - .4byte _08031258 - .4byte _08031268 - .4byte _08031278 - .4byte _08031288 - .4byte _08031298 - .4byte _080312A8 - .4byte _080312B8 - .4byte _080312C8 - .4byte _080312E8 - .4byte _080312F8 - .4byte _08031308 - .4byte _08031318 - .4byte _08031328 - .4byte _08031338 - .4byte _08031348 - .4byte _08031358 - .4byte _08031368 - .4byte _08031378 - .4byte _08031388 -_08030D34: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08030F48 @ =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 -_08030D80: - 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 _08030D80 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08030F48 @ =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, _08030F4C @ =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, _08030F50 @ =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, _08030F54 @ =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 -_08030F38: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _08030F38 - b _0803139A - .align 2, 0 -_08030F48: .4byte gPlayerParty -_08030F4C: .4byte 0xfffffc1f -_08030F50: .4byte 0xfff07fff -_08030F54: .4byte 0xfffffe0f -_08030F58: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08030F64 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - b _080312D2 - .align 2, 0 -_08030F64: .4byte gPlayerParty -_08030F68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08030F74 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - b _080312D2 - .align 2, 0 -_08030F74: .4byte gPlayerParty -_08030F78: - 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, _08030FDC @ =gPlayerParty - adds r4, r1, r0 - mov r8, r9 -_08030F8E: - 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 _08030F8E - movs r0, 0x64 - muls r0, r5 - ldr r1, _08030FDC @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_08030FCC: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _08030FCC - b _0803139A - .align 2, 0 -_08030FDC: .4byte gPlayerParty -_08030FE0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08030FF8 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _080312D2 - .align 2, 0 -_08030FF8: .4byte gPlayerParty -_08030FFC: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _08031034 @ =gPlayerParty - mov r8, r2 -_08031008: - 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 _08031008 - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031034 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _0803139A - .align 2, 0 -_08031034: .4byte gPlayerParty -_08031038: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031050 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _08031392 - .align 2, 0 -_08031050: .4byte gPlayerParty -_08031054: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031060 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1 - b _0803106E - .align 2, 0 -_08031060: .4byte gPlayerParty -_08031064: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031090 @ =gPlayerParty - adds r0, r1 - movs r1, 0x19 -_0803106E: - 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 _0803139A - .align 2, 0 -_08031090: .4byte gPlayerParty -_08031094: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080310A0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1A - b _08031392 - .align 2, 0 -_080310A0: .4byte gPlayerParty -_080310A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080310B0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1B - b _08031392 - .align 2, 0 -_080310B0: .4byte gPlayerParty -_080310B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080310C0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1C - b _08031392 - .align 2, 0 -_080310C0: .4byte gPlayerParty -_080310C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080310D0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1D - b _08031392 - .align 2, 0 -_080310D0: .4byte gPlayerParty -_080310D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080310E0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1E - b _08031392 - .align 2, 0 -_080310E0: .4byte gPlayerParty -_080310E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080310F0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1F - b _08031392 - .align 2, 0 -_080310F0: .4byte gPlayerParty -_080310F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031100 @ =gPlayerParty - adds r0, r1 - movs r1, 0x20 - b _08031392 - .align 2, 0 -_08031100: .4byte gPlayerParty -_08031104: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031110 @ =gPlayerParty - adds r0, r1 - movs r1, 0x22 - b _08031392 - .align 2, 0 -_08031110: .4byte gPlayerParty -_08031114: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031120 @ =gPlayerParty - adds r0, r1 - movs r1, 0x23 - b _08031392 - .align 2, 0 -_08031120: .4byte gPlayerParty -_08031124: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031130 @ =gPlayerParty - adds r0, r1 - movs r1, 0x24 - b _08031392 - .align 2, 0 -_08031130: .4byte gPlayerParty -_08031134: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031140 @ =gPlayerParty - adds r0, r1 - movs r1, 0x25 - b _08031392 - .align 2, 0 -_08031140: .4byte gPlayerParty -_08031144: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031150 @ =gPlayerParty - adds r0, r1 - movs r1, 0x26 - b _08031392 - .align 2, 0 -_08031150: .4byte gPlayerParty -_08031154: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080311A0 @ =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 _0803139A - .align 2, 0 -_080311A0: .4byte gPlayerParty -_080311A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080311B0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x27 - b _08031392 - .align 2, 0 -_080311B0: .4byte gPlayerParty -_080311B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080311C0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x28 - b _08031392 - .align 2, 0 -_080311C0: .4byte gPlayerParty -_080311C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080311D0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x29 - b _08031392 - .align 2, 0 -_080311D0: .4byte gPlayerParty -_080311D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080311E0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2A - b _08031392 - .align 2, 0 -_080311E0: .4byte gPlayerParty -_080311E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080311F0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2B - b _08031392 - .align 2, 0 -_080311F0: .4byte gPlayerParty -_080311F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031200 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2C - b _08031392 - .align 2, 0 -_08031200: .4byte gPlayerParty -_08031204: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031210 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - b _0803122E - .align 2, 0 -_08031210: .4byte gPlayerParty -_08031214: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031220 @ =gPlayerParty - adds r0, r1 - movs r1, 0x9 - b _080312D2 - .align 2, 0 -_08031220: .4byte gPlayerParty -_08031224: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031254 @ =gPlayerParty - adds r0, r1 - movs r1, 0x37 -_0803122E: - 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 _0803139A - .align 2, 0 -_08031254: .4byte gPlayerParty -_08031258: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031264 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - b _08031392 - .align 2, 0 -_08031264: .4byte gPlayerParty -_08031268: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031274 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - b _080312D2 - .align 2, 0 -_08031274: .4byte gPlayerParty -_08031278: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031284 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - b _080312D2 - .align 2, 0 -_08031284: .4byte gPlayerParty -_08031288: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031294 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3B - b _080312D2 - .align 2, 0 -_08031294: .4byte gPlayerParty -_08031298: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080312A4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3C - b _080312D2 - .align 2, 0 -_080312A4: .4byte gPlayerParty -_080312A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080312B4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3D - b _080312D2 - .align 2, 0 -_080312B4: .4byte gPlayerParty -_080312B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080312C4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3E - b _080312D2 - .align 2, 0 -_080312C4: .4byte gPlayerParty -_080312C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080312E4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3F -_080312D2: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _0803139A - .align 2, 0 -_080312E4: .4byte gPlayerParty -_080312E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080312F4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - b _08031392 - .align 2, 0 -_080312F4: .4byte gPlayerParty -_080312F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031304 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - b _08031392 - .align 2, 0 -_08031304: .4byte gPlayerParty -_08031308: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031314 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - b _08031392 - .align 2, 0 -_08031314: .4byte gPlayerParty -_08031318: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031324 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - b _08031392 - .align 2, 0 -_08031324: .4byte gPlayerParty -_08031328: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031334 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - b _08031392 - .align 2, 0 -_08031334: .4byte gPlayerParty -_08031338: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031344 @ =gPlayerParty - adds r0, r1 - movs r1, 0x30 - b _08031392 - .align 2, 0 -_08031344: .4byte gPlayerParty -_08031348: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031354 @ =gPlayerParty - adds r0, r1 - movs r1, 0x32 - b _08031392 - .align 2, 0 -_08031354: .4byte gPlayerParty -_08031358: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031364 @ =gPlayerParty - adds r0, r1 - movs r1, 0x33 - b _08031392 - .align 2, 0 -_08031364: .4byte gPlayerParty -_08031368: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031374 @ =gPlayerParty - adds r0, r1 - movs r1, 0x34 - b _08031392 - .align 2, 0 -_08031374: .4byte gPlayerParty -_08031378: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031384 @ =gPlayerParty - adds r0, r1 - movs r1, 0x35 - b _08031392 - .align 2, 0 -_08031384: .4byte gPlayerParty -_08031388: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080313AC @ =gPlayerParty - adds r0, r1 - movs r1, 0x36 -_08031392: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_0803139A: - 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 - .align 2, 0 -_080313AC: .4byte gPlayerParty - thumb_func_end CopyPlayerMonData - - thumb_func_start PlayerHandleGetRawMonData -PlayerHandleGetRawMonData: @ 80313B0 - push {r4-r7,lr} - sub sp, 0x58 - ldr r2, _08031428 @ =gBattlerPartyIndexes - ldr r5, _0803142C @ =gActiveBattler - 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, _08031430 @ =gBattleBufferA - lsls r1, 9 - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r2, [r0] - ldr r0, _08031434 @ =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 _08031406 - adds r3, r0, 0 -_080313EC: - 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 _080313EC -_08031406: - 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 BtlController_EmitDataTransfer - bl PlayerBufferExecCompleted - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031428: .4byte gBattlerPartyIndexes -_0803142C: .4byte gActiveBattler -_08031430: .4byte gBattleBufferA -_08031434: .4byte gPlayerParty - thumb_func_end PlayerHandleGetRawMonData - - thumb_func_start PlayerHandleSetMonData -PlayerHandleSetMonData: @ 8031438 - push {r4,r5,lr} - ldr r1, _0803145C @ =gBattleBufferA - ldr r0, _08031460 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _08031468 - ldr r0, _08031464 @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl SetPlayerMonData - b _08031486 - .align 2, 0 -_0803145C: .4byte gBattleBufferA -_08031460: .4byte gActiveBattler -_08031464: .4byte gBattlerPartyIndexes -_08031468: - ldrb r4, [r1] - movs r5, 0 -_0803146C: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0803147A - adds r0, r5, 0 - bl SetPlayerMonData -_0803147A: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0803146C -_08031486: - bl PlayerBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end PlayerHandleSetMonData - - thumb_func_start SetPlayerMonData -SetPlayerMonData: @ 8031490 - 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, _080314C8 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - ldr r2, _080314CC @ =gUnknown_2022BC7 - 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 _080314BC - bl _08031E56 -_080314BC: - lsls r0, 2 - ldr r1, _080314D0 @ =_080314D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080314C8: .4byte gActiveBattler -_080314CC: .4byte gUnknown_2022BC7 -_080314D0: .4byte _080314D4 - .align 2, 0 -_080314D4: - .4byte _080315C4 - .4byte _0803175C - .4byte _0803177C - .4byte _0803179C - .4byte _080317F4 - .4byte _080317F4 - .4byte _080317F4 - .4byte _080317F4 - .4byte _0803181C - .4byte _08031880 - .4byte _08031880 - .4byte _08031880 - .4byte _08031880 - .4byte _08031E56 - .4byte _08031E56 - .4byte _08031E56 - .4byte _08031E56 - .4byte _080318B0 - .4byte _080318D0 - .4byte _080318F0 - .4byte _08031910 - .4byte _08031930 - .4byte _08031950 - .4byte _08031970 - .4byte _08031990 - .4byte _080319B0 - .4byte _080319D0 - .4byte _080319F0 - .4byte _08031A10 - .4byte _08031A30 - .4byte _08031A50 - .4byte _08031A70 - .4byte _08031AE0 - .4byte _08031B00 - .4byte _08031B20 - .4byte _08031B40 - .4byte _08031B60 - .4byte _08031B80 - .4byte _08031BA0 - .4byte _08031BC0 - .4byte _08031BE0 - .4byte _08031C00 - .4byte _08031C20 - .4byte _08031C40 - .4byte _08031C60 - .4byte _08031C80 - .4byte _08031CA0 - .4byte _08031CC0 - .4byte _08031CE0 - .4byte _08031D00 - .4byte _08031D20 - .4byte _08031D40 - .4byte _08031D60 - .4byte _08031D80 - .4byte _08031DA0 - .4byte _08031DC0 - .4byte _08031DE0 - .4byte _08031E00 - .4byte _08031E20 - .4byte _08031E40 -_080315C4: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08031758 @ =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 -_0803162A: - 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 _0803162A - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08031758 @ =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 _08031E56 - .align 2, 0 -_08031758: .4byte gPlayerParty -_0803175C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031774 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031778 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xB - bl SetMonData - b _08031E56 - .align 2, 0 -_08031774: .4byte gPlayerParty -_08031778: .4byte gActiveBattler -_0803177C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031794 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031798 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xC - bl SetMonData - b _08031E56 - .align 2, 0 -_08031794: .4byte gPlayerParty -_08031798: .4byte gActiveBattler -_0803179C: - 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, _080317F0 @ =gPlayerParty - adds r7, r1, r0 - adds r6, r3, 0 - adds r6, 0x8 - adds r4, r3, 0 -_080317B6: - 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 _080317B6 - movs r0, 0x64 - muls r0, r5 - ldr r1, _080317F0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _08031E56 - .align 2, 0 -_080317F0: .4byte gPlayerParty -_080317F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031810 @ =gPlayerParty - adds r0, r1 - ldr r3, _08031814 @ =gBattleBufferA - ldr r1, _08031818 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _08031898 - .align 2, 0 -_08031810: .4byte gPlayerParty -_08031814: .4byte gBattleBufferA -_08031818: .4byte gActiveBattler -_0803181C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08031878 @ =gPlayerParty - adds r4, r0 - ldr r5, _0803187C @ =gActiveBattler - 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 _08031E56 - .align 2, 0 -_08031878: .4byte gPlayerParty -_0803187C: .4byte gActiveBattler -_08031880: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080318A4 @ =gPlayerParty - adds r0, r1 - ldr r3, _080318A8 @ =gBattleBufferA - ldr r1, _080318AC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_08031898: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _08031E56 - .align 2, 0 -_080318A4: .4byte gPlayerParty -_080318A8: .4byte gBattleBufferA -_080318AC: .4byte gActiveBattler -_080318B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080318C8 @ =gPlayerParty - adds r0, r1 - ldr r1, _080318CC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1 - bl SetMonData - b _08031E56 - .align 2, 0 -_080318C8: .4byte gPlayerParty -_080318CC: .4byte gActiveBattler -_080318D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080318E8 @ =gPlayerParty - adds r0, r1 - ldr r1, _080318EC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x19 - bl SetMonData - b _08031E56 - .align 2, 0 -_080318E8: .4byte gPlayerParty -_080318EC: .4byte gActiveBattler -_080318F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031908 @ =gPlayerParty - adds r0, r1 - ldr r1, _0803190C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1A - bl SetMonData - b _08031E56 - .align 2, 0 -_08031908: .4byte gPlayerParty -_0803190C: .4byte gActiveBattler -_08031910: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031928 @ =gPlayerParty - adds r0, r1 - ldr r1, _0803192C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1B - bl SetMonData - b _08031E56 - .align 2, 0 -_08031928: .4byte gPlayerParty -_0803192C: .4byte gActiveBattler -_08031930: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031948 @ =gPlayerParty - adds r0, r1 - ldr r1, _0803194C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1C - bl SetMonData - b _08031E56 - .align 2, 0 -_08031948: .4byte gPlayerParty -_0803194C: .4byte gActiveBattler -_08031950: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031968 @ =gPlayerParty - adds r0, r1 - ldr r1, _0803196C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1D - bl SetMonData - b _08031E56 - .align 2, 0 -_08031968: .4byte gPlayerParty -_0803196C: .4byte gActiveBattler -_08031970: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031988 @ =gPlayerParty - adds r0, r1 - ldr r1, _0803198C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1E - bl SetMonData - b _08031E56 - .align 2, 0 -_08031988: .4byte gPlayerParty -_0803198C: .4byte gActiveBattler -_08031990: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080319A8 @ =gPlayerParty - adds r0, r1 - ldr r1, _080319AC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1F - bl SetMonData - b _08031E56 - .align 2, 0 -_080319A8: .4byte gPlayerParty -_080319AC: .4byte gActiveBattler -_080319B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080319C8 @ =gPlayerParty - adds r0, r1 - ldr r1, _080319CC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x20 - bl SetMonData - b _08031E56 - .align 2, 0 -_080319C8: .4byte gPlayerParty -_080319CC: .4byte gActiveBattler -_080319D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080319E8 @ =gPlayerParty - adds r0, r1 - ldr r1, _080319EC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x22 - bl SetMonData - b _08031E56 - .align 2, 0 -_080319E8: .4byte gPlayerParty -_080319EC: .4byte gActiveBattler -_080319F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031A08 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031A0C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x23 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031A08: .4byte gPlayerParty -_08031A0C: .4byte gActiveBattler -_08031A10: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031A28 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031A2C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x24 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031A28: .4byte gPlayerParty -_08031A2C: .4byte gActiveBattler -_08031A30: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031A48 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031A4C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x25 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031A48: .4byte gPlayerParty -_08031A4C: .4byte gActiveBattler -_08031A50: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031A68 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031A6C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x26 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031A68: .4byte gPlayerParty -_08031A6C: .4byte gActiveBattler -_08031A70: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _08031AD8 @ =gPlayerParty - adds r4, r0 - ldr r5, _08031ADC @ =gActiveBattler - 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 _08031B90 - .align 2, 0 -_08031AD8: .4byte gPlayerParty -_08031ADC: .4byte gActiveBattler -_08031AE0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031AF8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031AFC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x27 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031AF8: .4byte gPlayerParty -_08031AFC: .4byte gActiveBattler -_08031B00: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031B18 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031B1C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x28 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031B18: .4byte gPlayerParty -_08031B1C: .4byte gActiveBattler -_08031B20: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031B38 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031B3C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x29 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031B38: .4byte gPlayerParty -_08031B3C: .4byte gActiveBattler -_08031B40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031B58 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031B5C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2A - bl SetMonData - b _08031E56 - .align 2, 0 -_08031B58: .4byte gPlayerParty -_08031B5C: .4byte gActiveBattler -_08031B60: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031B78 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031B7C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2B - bl SetMonData - b _08031E56 - .align 2, 0 -_08031B78: .4byte gPlayerParty -_08031B7C: .4byte gActiveBattler -_08031B80: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031B98 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031B9C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 -_08031B90: - movs r1, 0x2C - bl SetMonData - b _08031E56 - .align 2, 0 -_08031B98: .4byte gPlayerParty -_08031B9C: .4byte gActiveBattler -_08031BA0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031BB8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031BBC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031BB8: .4byte gPlayerParty -_08031BBC: .4byte gActiveBattler -_08031BC0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031BD8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031BDC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x9 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031BD8: .4byte gPlayerParty -_08031BDC: .4byte gActiveBattler -_08031BE0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031BF8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031BFC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x37 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031BF8: .4byte gPlayerParty -_08031BFC: .4byte gActiveBattler -_08031C00: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031C18 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031C1C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x38 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031C18: .4byte gPlayerParty -_08031C1C: .4byte gActiveBattler -_08031C20: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031C38 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031C3C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x39 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031C38: .4byte gPlayerParty -_08031C3C: .4byte gActiveBattler -_08031C40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031C58 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031C5C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3A - bl SetMonData - b _08031E56 - .align 2, 0 -_08031C58: .4byte gPlayerParty -_08031C5C: .4byte gActiveBattler -_08031C60: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031C78 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031C7C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3B - bl SetMonData - b _08031E56 - .align 2, 0 -_08031C78: .4byte gPlayerParty -_08031C7C: .4byte gActiveBattler -_08031C80: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031C98 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031C9C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3C - bl SetMonData - b _08031E56 - .align 2, 0 -_08031C98: .4byte gPlayerParty -_08031C9C: .4byte gActiveBattler -_08031CA0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031CB8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031CBC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3D - bl SetMonData - b _08031E56 - .align 2, 0 -_08031CB8: .4byte gPlayerParty -_08031CBC: .4byte gActiveBattler -_08031CC0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031CD8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031CDC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3E - bl SetMonData - b _08031E56 - .align 2, 0 -_08031CD8: .4byte gPlayerParty -_08031CDC: .4byte gActiveBattler -_08031CE0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031CF8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031CFC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3F - bl SetMonData - b _08031E56 - .align 2, 0 -_08031CF8: .4byte gPlayerParty -_08031CFC: .4byte gActiveBattler -_08031D00: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031D18 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031D1C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x16 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031D18: .4byte gPlayerParty -_08031D1C: .4byte gActiveBattler -_08031D20: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031D38 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031D3C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x17 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031D38: .4byte gPlayerParty -_08031D3C: .4byte gActiveBattler -_08031D40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031D58 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031D5C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x18 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031D58: .4byte gPlayerParty -_08031D5C: .4byte gActiveBattler -_08031D60: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031D78 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031D7C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x21 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031D78: .4byte gPlayerParty -_08031D7C: .4byte gActiveBattler -_08031D80: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031D98 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031D9C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2F - bl SetMonData - b _08031E56 - .align 2, 0 -_08031D98: .4byte gPlayerParty -_08031D9C: .4byte gActiveBattler -_08031DA0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031DB8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031DBC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x30 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031DB8: .4byte gPlayerParty -_08031DBC: .4byte gActiveBattler -_08031DC0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031DD8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031DDC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x32 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031DD8: .4byte gPlayerParty -_08031DDC: .4byte gActiveBattler -_08031DE0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031DF8 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031DFC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x33 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031DF8: .4byte gPlayerParty -_08031DFC: .4byte gActiveBattler -_08031E00: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031E18 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031E1C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x34 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031E18: .4byte gPlayerParty -_08031E1C: .4byte gActiveBattler -_08031E20: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031E38 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031E3C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x35 - bl SetMonData - b _08031E56 - .align 2, 0 -_08031E38: .4byte gPlayerParty -_08031E3C: .4byte gActiveBattler -_08031E40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _08031E80 @ =gPlayerParty - adds r0, r1 - ldr r1, _08031E84 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x36 - bl SetMonData -_08031E56: - ldr r2, _08031E88 @ =gBattlerPartyIndexes - ldr r0, _08031E84 @ =gActiveBattler - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _08031E80 @ =gPlayerParty - adds r0, r2 - bl HandleLowHpMusicChange - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031E80: .4byte gPlayerParty -_08031E84: .4byte gActiveBattler -_08031E88: .4byte gBattlerPartyIndexes - thumb_func_end SetPlayerMonData - - thumb_func_start PlayerHandleSetRawMonData -PlayerHandleSetRawMonData: @ 8031E8C - push {r4-r7,lr} - ldr r1, _08031EF0 @ =gBattlerPartyIndexes - ldr r7, _08031EF4 @ =gActiveBattler - 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, _08031EF8 @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _08031EFC @ =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 _08031EE4 - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_08031EC2: - 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 _08031EC2 -_08031EE4: - bl PlayerBufferExecCompleted - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031EF0: .4byte gBattlerPartyIndexes -_08031EF4: .4byte gActiveBattler -_08031EF8: .4byte gBattleBufferA -_08031EFC: .4byte gPlayerParty - thumb_func_end PlayerHandleSetRawMonData - - thumb_func_start PlayerHandleLoadMonSprite -PlayerHandleLoadMonSprite: @ 8031F00 - push {r4,lr} - ldr r2, _08031F4C @ =gBattlerPartyIndexes - ldr r4, _08031F50 @ =gActiveBattler - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _08031F54 @ =gPlayerParty - adds r0, r2 - bl BattleLoadPlayerMonSpriteGfx - ldr r2, _08031F58 @ =gSprites - ldr r0, _08031F5C @ =gBattlerSpriteIds - 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, _08031F60 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08031F64 @ =CompleteOnBankSpritePosX_0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08031F4C: .4byte gBattlerPartyIndexes -_08031F50: .4byte gActiveBattler -_08031F54: .4byte gPlayerParty -_08031F58: .4byte gSprites -_08031F5C: .4byte gBattlerSpriteIds -_08031F60: .4byte gBattlerControllerFuncs -_08031F64: .4byte CompleteOnBankSpritePosX_0 - thumb_func_end PlayerHandleLoadMonSprite - - thumb_func_start PlayerHandleSwitchInAnim -PlayerHandleSwitchInAnim: @ 8031F68 - push {r4-r6,lr} - ldr r5, _08031FD4 @ =gActiveBattler - ldrb r0, [r5] - ldr r4, _08031FD8 @ =gBattleBufferA - lsls r1, r0, 9 - adds r6, r4, 0x2 - adds r1, r6 - ldrb r1, [r1] - bl ClearTemporarySpeciesSpriteData - ldr r2, _08031FDC @ =gBattlerPartyIndexes - 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, _08031FE0 @ =gPlayerParty - adds r0, r2 - bl BattleLoadPlayerMonSpriteGfx - ldr r1, _08031FE4 @ =gActionSelectionCursor - ldrb r0, [r5] - adds r0, r1 - strb r4, [r0] - ldr r1, _08031FE8 @ =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_8031FF4 - ldr r1, _08031FEC @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08031FF0 @ =sub_802FD18 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08031FD4: .4byte gActiveBattler -_08031FD8: .4byte gBattleBufferA -_08031FDC: .4byte gBattlerPartyIndexes -_08031FE0: .4byte gPlayerParty -_08031FE4: .4byte gActionSelectionCursor -_08031FE8: .4byte gMoveSelectionCursor -_08031FEC: .4byte gBattlerControllerFuncs -_08031FF0: .4byte sub_802FD18 - thumb_func_end PlayerHandleSwitchInAnim - - thumb_func_start sub_8031FF4 -sub_8031FF4: @ 8031FF4 - 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 ClearTemporarySpeciesSpriteData - ldr r0, _08032138 @ =gBattlerPartyIndexes - lsls r2, r6, 1 - adds r2, r0 - ldr r0, _0803213C @ =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, _08032140 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _08032144 @ =sub_8033E3C - bl CreateInvisibleSpriteWithCallback - ldr r1, _08032148 @ =gUnknown_3004FFC - mov r9, r1 - add r9, r6 - mov r1, r9 - strb r0, [r1] - adds r0, r6, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, _0803214C @ =gMultiuseSpriteTemplate - mov r10, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl GetBattlerSpriteDefault_Y - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl GetBattlerSpriteSubpriority - 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, _08032150 @ =gBattlerSpriteIds - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _08032154 @ =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] - 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, _08032158 @ =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, _0803215C @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFF - bl DoPokeballSendOutAnimation - 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 - .align 2, 0 -_08032138: .4byte gBattlerPartyIndexes -_0803213C: .4byte gBattleBufferA -_08032140: .4byte gPlayerParty -_08032144: .4byte sub_8033E3C -_08032148: .4byte gUnknown_3004FFC -_0803214C: .4byte gMultiuseSpriteTemplate -_08032150: .4byte gBattlerSpriteIds -_08032154: .4byte gSprites -_08032158: .4byte gBattleMonForms -_0803215C: .4byte SpriteCallbackDummy - thumb_func_end sub_8031FF4 - - thumb_func_start PlayerHandleReturnPokeToBall -PlayerHandleReturnPokeToBall: @ 8032160 - push {r4-r6,lr} - ldr r1, _08032194 @ =gBattleBufferA - ldr r6, _08032198 @ =gActiveBattler - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _080321A8 - ldr r0, _0803219C @ =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, _080321A0 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _080321A4 @ =sub_80321F0 - str r1, [r0] - b _080321DE - .align 2, 0 -_08032194: .4byte gBattleBufferA -_08032198: .4byte gActiveBattler -_0803219C: .4byte gBattleSpritesDataPtr -_080321A0: .4byte gBattlerControllerFuncs -_080321A4: .4byte sub_80321F0 -_080321A8: - ldr r5, _080321E4 @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080321E8 @ =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, _080321EC @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl PlayerBufferExecCompleted -_080321DE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080321E4: .4byte gBattlerSpriteIds -_080321E8: .4byte gSprites -_080321EC: .4byte gHealthboxSpriteIds - thumb_func_end PlayerHandleReturnPokeToBall - - thumb_func_start sub_80321F0 -sub_80321F0: @ 80321F0 - push {r4-r6,lr} - ldr r6, _08032210 @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _08032214 @ =gActiveBattler - 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 _08032218 - cmp r0, 0x1 - beq _08032246 - b _0803226E - .align 2, 0 -_08032210: .4byte gBattleSpritesDataPtr -_08032214: .4byte gActiveBattler -_08032218: - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08032232 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_08032232: - 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 _0803226E -_08032246: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0803226E - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x1 - bl InitAndLaunchSpecialAnimation - ldr r1, _08032274 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032278 @ =sub_80305A0 - str r1, [r0] -_0803226E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08032274: .4byte gBattlerControllerFuncs -_08032278: .4byte sub_80305A0 - thumb_func_end sub_80321F0 - - thumb_func_start sub_803227C -sub_803227C: @ 803227C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _080322A4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080322AC - ldr r0, _080322A8 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - movs r1, 0x2 - ands r1, r0 - movs r7, 0x20 - cmp r1, 0 - beq _080322AE - movs r7, 0x5A - b _080322AE - .align 2, 0 -_080322A4: .4byte gBattleTypeFlags -_080322A8: .4byte gActiveBattler -_080322AC: - movs r7, 0x50 -_080322AE: - ldr r0, _08032320 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803233C - bl GetMultiplayerId - ldr r5, _08032324 @ =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, 0x2 - beq _08032306 - 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, 0x1 - beq _08032306 - 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, 0x3 - bne _08032328 -_08032306: - bl GetMultiplayerId - ldr r2, _08032324 @ =gLinkPlayers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x13] - adds r4, r0, 0x2 - b _08032342 - .align 2, 0 -_08032320: .4byte gBattleTypeFlags -_08032324: .4byte gLinkPlayers -_08032328: - 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 _08032342 -_0803233C: - ldr r0, _08032400 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r4, [r0, 0x8] -_08032342: - ldr r5, _08032404 @ =gActiveBattler - ldrb r1, [r5] - adds r0, r4, 0 - bl DecompressTrainerBackPalette - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r6, _08032408 @ =gMultiuseSpriteTemplate - mov r8, r7 - ldr r0, _0803240C @ =gTrainerBackPicCoords - lsls r4, 2 - adds r4, r0 - ldrb r0, [r4] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 15 - adds r4, r0 - asrs r4, 16 - ldrb r0, [r5] - bl GetBattlerSpriteSubpriority - 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, _08032410 @ =gBattlerSpriteIds - ldrb r1, [r5] - adds r1, r6 - strb r0, [r1] - ldr r4, _08032414 @ =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, _08032418 @ =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, _0803241C @ =sub_8033EEC - str r1, [r0] - ldr r1, _08032420 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032424 @ =sub_802F730 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08032400: .4byte gSaveBlock2Ptr -_08032404: .4byte gActiveBattler -_08032408: .4byte gMultiuseSpriteTemplate -_0803240C: .4byte gTrainerBackPicCoords -_08032410: .4byte gBattlerSpriteIds -_08032414: .4byte gSprites -_08032418: .4byte 0x0000fffe -_0803241C: .4byte sub_8033EEC -_08032420: .4byte gBattlerControllerFuncs -_08032424: .4byte sub_802F730 - thumb_func_end sub_803227C - - thumb_func_start sub_8032428 -sub_8032428: @ 8032428 - push {r4-r6,lr} - ldr r0, _0803249C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080324B8 - bl GetMultiplayerId - ldr r5, _080324A0 @ =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, 0x2 - beq _08032482 - 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, 0x1 - beq _08032482 - 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, 0x3 - bne _080324A4 -_08032482: - bl GetMultiplayerId - ldr r2, _080324A0 @ =gLinkPlayers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x13] - adds r4, r0, 0x2 - b _080324BE - .align 2, 0 -_0803249C: .4byte gBattleTypeFlags -_080324A0: .4byte gLinkPlayers -_080324A4: - 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 _080324BE -_080324B8: - ldr r0, _08032568 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r4, [r0, 0x8] -_080324BE: - ldr r5, _0803256C @ =gActiveBattler - ldrb r1, [r5] - adds r0, r4, 0 - bl DecompressTrainerBackPalette - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r0, _08032570 @ =gMultiuseSpriteTemplate - ldr r1, _08032574 @ =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, _08032578 @ =gBattlerSpriteIds - ldrb r1, [r5] - adds r1, r6 - strb r0, [r1] - ldr r4, _0803257C @ =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, _08032580 @ =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, _08032584 @ =sub_8033EEC - str r1, [r0] - ldr r1, _08032588 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803258C @ =sub_802F768 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08032568: .4byte gSaveBlock2Ptr -_0803256C: .4byte gActiveBattler -_08032570: .4byte gMultiuseSpriteTemplate -_08032574: .4byte gTrainerBackPicCoords -_08032578: .4byte gBattlerSpriteIds -_0803257C: .4byte gSprites -_08032580: .4byte 0x0000ffa0 -_08032584: .4byte sub_8033EEC -_08032588: .4byte gBattlerControllerFuncs -_0803258C: .4byte sub_802F768 - thumb_func_end sub_8032428 - - thumb_func_start PlayerHandleTrainerSlideBack -PlayerHandleTrainerSlideBack: @ 8032590 - push {r4-r6,lr} - ldr r5, _08032630 @ =gBattlerSpriteIds - ldr r6, _08032634 @ =gActiveBattler - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08032638 @ =gSprites - adds r0, r4 - bl SetSpritePrimaryCoordsFromSecondaryCoords - 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, _0803263C @ =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, _08032640 @ =StartAnimLinearTranslation - 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, _08032644 @ =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, _08032648 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803264C @ =sub_802F7A0 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08032630: .4byte gBattlerSpriteIds -_08032634: .4byte gActiveBattler -_08032638: .4byte gSprites -_0803263C: .4byte 0x0000ffd8 -_08032640: .4byte StartAnimLinearTranslation -_08032644: .4byte SpriteCallbackDummy -_08032648: .4byte gBattlerControllerFuncs -_0803264C: .4byte sub_802F7A0 - thumb_func_end PlayerHandleTrainerSlideBack - - thumb_func_start sub_8032650 -sub_8032650: @ 8032650 - push {r4-r6,lr} - ldr r6, _0803269C @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _080326A0 @ =gActiveBattler - 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 _080326A4 - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08032684 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_08032684: - 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 _0803271A - .align 2, 0 -_0803269C: .4byte gBattleSpritesDataPtr -_080326A0: .4byte gActiveBattler -_080326A4: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0803271A - strb r4, [r3, 0x4] - ldr r2, _08032720 @ =gBattlerPartyIndexes - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _08032724 @ =gPlayerParty - adds r0, r2 - bl HandleLowHpMusicChange - movs r1, 0x40 - negs r1, r1 - movs r0, 0x10 - bl PlaySE12WithPanning - ldr r2, _08032728 @ =gSprites - ldr r3, _0803272C @ =gBattlerSpriteIds - 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, _08032730 @ =sub_8012110 - str r1, [r0] - ldr r1, _08032734 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032738 @ =sub_8030538 - str r1, [r0] -_0803271A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08032720: .4byte gBattlerPartyIndexes -_08032724: .4byte gPlayerParty -_08032728: .4byte gSprites -_0803272C: .4byte gBattlerSpriteIds -_08032730: .4byte sub_8012110 -_08032734: .4byte gBattlerControllerFuncs -_08032738: .4byte sub_8030538 - thumb_func_end sub_8032650 - - thumb_func_start PlayerHandlePaletteFade -PlayerHandlePaletteFade: @ 803273C - 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 PlayerHandlePaletteFade - - thumb_func_start sub_803275C -sub_803275C: @ 803275C - push {r4,r5,lr} - ldr r0, _0803279C @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x8] - movs r0, 0x4 - strb r0, [r1, 0x8] - ldr r1, _080327A0 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldr r5, _080327A4 @ =gActiveBattler - ldrb r4, [r5] - movs r0, 0x1 - bl GetBattlerAtPosition - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x3 - bl InitAndLaunchSpecialAnimation - ldr r1, _080327A8 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080327AC @ =CompleteOnSpecialAnimDone - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803279C: .4byte gBattleSpritesDataPtr -_080327A0: .4byte gDoingBattleAnim -_080327A4: .4byte gActiveBattler -_080327A8: .4byte gBattlerControllerFuncs -_080327AC: .4byte CompleteOnSpecialAnimDone - thumb_func_end sub_803275C - - thumb_func_start PlayerHandleBallThrowAnim -PlayerHandleBallThrowAnim: @ 80327B0 - push {r4,r5,lr} - ldr r1, _080327F8 @ =gBattleBufferA - ldr r5, _080327FC @ =gActiveBattler - ldrb r0, [r5] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r1, [r0] - ldr r0, _08032800 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - strb r1, [r0, 0x8] - ldr r1, _08032804 @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldrb r4, [r5] - movs r0, 0x1 - bl GetBattlerAtPosition - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r4, 0 - adds r1, r4, 0 - movs r3, 0x3 - bl InitAndLaunchSpecialAnimation - ldr r1, _08032808 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803280C @ =CompleteOnSpecialAnimDone - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080327F8: .4byte gBattleBufferA -_080327FC: .4byte gActiveBattler -_08032800: .4byte gBattleSpritesDataPtr -_08032804: .4byte gDoingBattleAnim -_08032808: .4byte gBattlerControllerFuncs -_0803280C: .4byte CompleteOnSpecialAnimDone - thumb_func_end PlayerHandleBallThrowAnim - - thumb_func_start PlayerHandlePause -PlayerHandlePause: @ 8032810 - push {lr} - ldr r1, _08032838 @ =gBattleBufferA - ldr r0, _0803283C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0803282E -_08032824: - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08032824 -_0803282E: - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08032838: .4byte gBattleBufferA -_0803283C: .4byte gActiveBattler - thumb_func_end PlayerHandlePause - - thumb_func_start PlayerHandleMoveAnimation -PlayerHandleMoveAnimation: @ 8032840 - push {r4-r6,lr} - ldr r6, _08032924 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _08032852 - b _08032966 -_08032852: - ldr r0, _08032928 @ =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, _0803292C @ =gAnimMoveTurn - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _08032930 @ =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, _08032934 @ =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, _08032938 @ =gAnimFriendship - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _0803293C @ =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, _08032940 @ =gAnimDisableStructPtr - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _08032944 @ =gTransformedPersonalities - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl IsMoveWithoutAnimation - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08032948 - bl PlayerBufferExecCompleted - b _08032966 - .align 2, 0 -_08032924: .4byte gActiveBattler -_08032928: .4byte gBattleBufferA -_0803292C: .4byte gAnimMoveTurn -_08032930: .4byte gAnimMovePower -_08032934: .4byte gAnimMoveDmg -_08032938: .4byte gAnimFriendship -_0803293C: .4byte gWeatherMoveAnim -_08032940: .4byte gAnimDisableStructPtr -_08032944: .4byte gTransformedPersonalities -_08032948: - ldr r0, _0803296C @ =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, _08032970 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032974 @ =sub_8032978 - str r1, [r0] -_08032966: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803296C: .4byte gBattleSpritesDataPtr -_08032970: .4byte gBattlerControllerFuncs -_08032974: .4byte sub_8032978 - thumb_func_end PlayerHandleMoveAnimation - - thumb_func_start sub_8032978 -sub_8032978: @ 8032978 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _080329C4 @ =gBattleBufferA - ldr r6, _080329C8 @ =gActiveBattler - 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, _080329CC @ =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 _08032A10 - cmp r2, 0x1 - bgt _080329D0 - cmp r2, 0 - beq _080329DA - b _08032AEC - .align 2, 0 -_080329C4: .4byte gBattleBufferA -_080329C8: .4byte gActiveBattler -_080329CC: .4byte gBattleSpritesDataPtr -_080329D0: - cmp r2, 0x2 - beq _08032A3A - cmp r2, 0x3 - beq _08032AB0 - b _08032AEC -_080329DA: - ldr r1, [r5] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrb r2, [r1] - movs r0, 0xC - ands r0, r2 - cmp r0, 0x4 - bne _080329FC - movs r0, 0x8 - orrs r0, r2 - strb r0, [r1] - ldrb r2, [r6] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_080329FC: - 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 _08032AEC -_08032A10: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08032AEC - movs r0, 0 - bl sub_8035450 - 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 _08032AEC -_08032A3A: - ldr r0, _08032AA0 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08032AA4 @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _08032AEC - movs r0, 0x1 - bl sub_8035450 - 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 _08032A88 - mov r0, r8 - cmp r0, 0x1 - bhi _08032A88 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation - 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] -_08032A88: - ldr r0, _08032AA8 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _08032AAC @ =gActiveBattler - 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 _08032AEC - .align 2, 0 -_08032AA0: .4byte gAnimScriptCallback -_08032AA4: .4byte gAnimScriptActive -_08032AA8: .4byte gBattleSpritesDataPtr -_08032AAC: .4byte gActiveBattler -_08032AB0: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08032AEC - bl CopyAllBattleSpritesInvisibilities - 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 TrySetBehindSubstituteSpriteBit - 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 -_08032AEC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8032978 - - thumb_func_start sub_8032AFC -sub_8032AFC: @ 8032AFC - push {r4,lr} - ldr r0, _08032B30 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _08032B34 @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _08032B38 @ =gActiveBattler - ldrb r4, [r0] - lsls r4, 9 - ldr r0, _08032B3C @ =gUnknown_2022BC6 - adds r4, r0 - ldrh r0, [r4] - bl BufferStringBattle - ldrh r0, [r4] - bl sub_80D89B0 - lsls r0, 24 - cmp r0, 0 - beq _08032B44 - ldr r0, _08032B40 @ =gDisplayedStringBattle - movs r1, 0x40 - bl BattlePutTextOnWindow - b _08032B4C - .align 2, 0 -_08032B30: .4byte gBattle_BG0_X -_08032B34: .4byte gBattle_BG0_Y -_08032B38: .4byte gActiveBattler -_08032B3C: .4byte gUnknown_2022BC6 -_08032B40: .4byte gDisplayedStringBattle -_08032B44: - ldr r0, _08032B60 @ =gDisplayedStringBattle - movs r1, 0 - bl BattlePutTextOnWindow -_08032B4C: - ldr r1, _08032B64 @ =gBattlerControllerFuncs - ldr r0, _08032B68 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032B6C @ =sub_8030610 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08032B60: .4byte gDisplayedStringBattle -_08032B64: .4byte gBattlerControllerFuncs -_08032B68: .4byte gActiveBattler -_08032B6C: .4byte sub_8030610 - thumb_func_end sub_8032AFC - - thumb_func_start sub_8032B70 -sub_8032B70: @ 8032B70 - push {lr} - ldr r0, _08032B88 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08032B8C - bl sub_8032AFC - b _08032B90 - .align 2, 0 -_08032B88: .4byte gActiveBattler -_08032B8C: - bl PlayerBufferExecCompleted -_08032B90: - pop {r0} - bx r0 - thumb_func_end sub_8032B70 - - thumb_func_start sub_8032B94 -sub_8032B94: @ 8032B94 - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08032BBA - ldr r0, _08032BC0 @ =gBattle_BG0_X - strh r1, [r0] - ldr r1, _08032BC4 @ =gBattle_BG0_Y - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _08032BC8 @ =gBattlerControllerFuncs - ldr r0, _08032BCC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032BD0 @ =sub_802E438 - str r1, [r0] -_08032BBA: - pop {r0} - bx r0 - .align 2, 0 -_08032BC0: .4byte gBattle_BG0_X -_08032BC4: .4byte gBattle_BG0_Y -_08032BC8: .4byte gBattlerControllerFuncs -_08032BCC: .4byte gActiveBattler -_08032BD0: .4byte sub_802E438 - thumb_func_end sub_8032B94 - - thumb_func_start sub_8032BD4 -sub_8032BD4: @ 8032BD4 - push {r4,lr} - ldr r1, _08032C28 @ =gBattlerControllerFuncs - ldr r0, _08032C2C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032C30 @ =sub_8032B94 - str r1, [r0] - ldr r0, _08032C34 @ =gUnknown_83FDA4C - movs r1, 0 - bl BattlePutTextOnWindow - ldr r0, _08032C38 @ =gUnknown_83FE725 - movs r1, 0x2 - bl BattlePutTextOnWindow - movs r4, 0 -_08032BF6: - lsls r0, r4, 24 - lsrs r0, 24 - bl ActionSelectionDestroyCursorAt - adds r4, 0x1 - cmp r4, 0x3 - ble _08032BF6 - ldr r1, _08032C3C @ =gActionSelectionCursor - ldr r0, _08032C2C @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl ActionSelectionCreateCursorAt - ldr r0, _08032C40 @ =gUnknown_83FE6D5 - bl BattleStringExpandPlaceholdersToDisplayedString - ldr r0, _08032C44 @ =gDisplayedStringBattle - movs r1, 0x1 - bl BattlePutTextOnWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08032C28: .4byte gBattlerControllerFuncs -_08032C2C: .4byte gActiveBattler -_08032C30: .4byte sub_8032B94 -_08032C34: .4byte gUnknown_83FDA4C -_08032C38: .4byte gUnknown_83FE725 -_08032C3C: .4byte gActionSelectionCursor -_08032C40: .4byte gUnknown_83FE6D5 -_08032C44: .4byte gDisplayedStringBattle - thumb_func_end sub_8032BD4 - - thumb_func_start nullsub_14 -nullsub_14: @ 8032C48 - bx lr - thumb_func_end nullsub_14 - - thumb_func_start sub_8032C4C -sub_8032C4C: @ 8032C4C - push {lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08032C76 - ldr r0, _08032C7C @ =gBattle_BG0_X - strh r1, [r0] - ldr r1, _08032C80 @ =gBattle_BG0_Y - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08032C84 @ =gBattlerControllerFuncs - ldr r0, _08032C88 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032C8C @ =sub_802EA10 - str r1, [r0] -_08032C76: - pop {r0} - bx r0 - .align 2, 0 -_08032C7C: .4byte gBattle_BG0_X -_08032C80: .4byte gBattle_BG0_Y -_08032C84: .4byte gBattlerControllerFuncs -_08032C88: .4byte gActiveBattler -_08032C8C: .4byte sub_802EA10 - thumb_func_end sub_8032C4C - - thumb_func_start sub_8032C90 -sub_8032C90: @ 8032C90 - push {lr} - bl sub_8032CB4 - ldr r1, _08032CA8 @ =gBattlerControllerFuncs - ldr r0, _08032CAC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032CB0 @ =sub_8032C4C - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_08032CA8: .4byte gBattlerControllerFuncs -_08032CAC: .4byte gActiveBattler -_08032CB0: .4byte sub_8032C4C - thumb_func_end sub_8032C90 - - thumb_func_start sub_8032CB4 -sub_8032CB4: @ 8032CB4 - push {lr} - bl sub_8030830 - ldr r1, _08032CE0 @ =gUnknown_3004FF4 - movs r0, 0xFF - strb r0, [r1] - ldr r1, _08032CE4 @ =gMoveSelectionCursor - ldr r0, _08032CE8 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl MoveSelectionCreateCursorAt - bl MoveSelectionDisplayPpString - bl MoveSelectionDisplayPpNumber - bl MoveSelectionDisplayMoveType - pop {r0} - bx r0 - .align 2, 0 -_08032CE0: .4byte gUnknown_3004FF4 -_08032CE4: .4byte gMoveSelectionCursor -_08032CE8: .4byte gActiveBattler - thumb_func_end sub_8032CB4 - - thumb_func_start sub_8032CEC -sub_8032CEC: @ 8032CEC - 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, _08032D38 @ =gBattlerControllerFuncs - ldr r2, _08032D3C @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032D40 @ =sub_8030700 - str r1, [r0] - ldr r1, _08032D44 @ =gBattlerInMenuId - ldrb r0, [r2] - strb r0, [r1] - movs r3, 0 - ldr r5, _08032D48 @ =gUnknown_203B0DC - ldr r4, _08032D4C @ =gBattleBufferA -_08032D1A: - 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 _08032D1A - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08032D38: .4byte gBattlerControllerFuncs -_08032D3C: .4byte gActiveBattler -_08032D40: .4byte sub_8030700 -_08032D44: .4byte gBattlerInMenuId -_08032D48: .4byte gUnknown_203B0DC -_08032D4C: .4byte gBattleBufferA - thumb_func_end sub_8032CEC - - thumb_func_start sub_8032D50 -sub_8032D50: @ 8032D50 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _08032E00 @ =TaskDummy - movs r1, 0xFF - bl CreateTask - ldr r3, _08032E04 @ =gUnknown_3004FFC - ldr r4, _08032E08 @ =gActiveBattler - ldrb r1, [r4] - adds r1, r3 - strb r0, [r1] - ldr r5, _08032E0C @ =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, _08032E10 @ =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, _08032E14 @ =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 r2, [r3] - adds r2, 0xAC - ldrb r0, [r4] - lsls r0, 9 - adds r1, r5, 0x3 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - movs r2, 0 - ldr r3, _08032E18 @ =gUnknown_203B0DC -_08032DBC: - adds r0, r2, r3 - ldrb r1, [r4] - lsls r1, 9 - adds r1, 0x4 - adds r1, r2, r1 - adds r1, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _08032DBC - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08032E1C @ =gBattlerControllerFuncs - ldr r2, _08032E08 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032E20 @ =sub_8030628 - str r1, [r0] - ldr r1, _08032E24 @ =gBattlerInMenuId - ldrb r0, [r2] - strb r0, [r1] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08032E00: .4byte TaskDummy -_08032E04: .4byte gUnknown_3004FFC -_08032E08: .4byte gActiveBattler -_08032E0C: .4byte gTasks -_08032E10: .4byte gBattleBufferA -_08032E14: .4byte gBattleStruct -_08032E18: .4byte gUnknown_203B0DC -_08032E1C: .4byte gBattlerControllerFuncs -_08032E20: .4byte sub_8030628 -_08032E24: .4byte gBattlerInMenuId - thumb_func_end sub_8032D50 - - thumb_func_start sub_8032E28 -sub_8032E28: @ 8032E28 - push {lr} - sub sp, 0x4 - bl BattleStopLowHpSound - 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_8032E28 - - thumb_func_start sub_8032E4C -sub_8032E4C: @ 8032E4C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl LoadBattleBarGfx - ldr r3, _08032EC4 @ =gBattleBufferA - ldr r0, _08032EC8 @ =gActiveBattler - 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, _08032ECC @ =0x00007fff - cmp r7, r0 - beq _08032EDC - ldr r6, _08032ED0 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _08032ED4 @ =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, _08032ED8 @ =gHealthboxSpriteIds - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl SetBattleBarStruct - b _08032F16 - .align 2, 0 -_08032EC4: .4byte gBattleBufferA -_08032EC8: .4byte gActiveBattler -_08032ECC: .4byte 0x00007fff -_08032ED0: .4byte gBattlerPartyIndexes -_08032ED4: .4byte gPlayerParty -_08032ED8: .4byte gHealthboxSpriteIds -_08032EDC: - ldr r1, _08032F34 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08032F38 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r4, _08032F3C @ =gHealthboxSpriteIds - 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 -_08032F16: - ldr r1, _08032F40 @ =gBattlerControllerFuncs - ldr r0, _08032F44 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032F48 @ =CompleteOnHealthbarDone - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08032F34: .4byte gBattlerPartyIndexes -_08032F38: .4byte gPlayerParty -_08032F3C: .4byte gHealthboxSpriteIds -_08032F40: .4byte gBattlerControllerFuncs -_08032F44: .4byte gActiveBattler -_08032F48: .4byte CompleteOnHealthbarDone - thumb_func_end sub_8032E4C - - thumb_func_start PlayerHandleExpUpdate -PlayerHandleExpUpdate: @ 8032F4C - push {r4-r7,lr} - ldr r5, _08032F78 @ =gBattleBufferA - ldr r6, _08032F7C @ =gActiveBattler - 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, _08032F80 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x63 - bls _08032F84 - bl PlayerBufferExecCompleted - b _08032FD0 - .align 2, 0 -_08032F78: .4byte gBattleBufferA -_08032F7C: .4byte gActiveBattler -_08032F80: .4byte gPlayerParty -_08032F84: - 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, _08032FD8 @ =sub_802FEAC - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08032FDC @ =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, _08032FE0 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _08032FE4 @ =nullsub_13 - str r1, [r0] -_08032FD0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08032FD8: .4byte sub_802FEAC -_08032FDC: .4byte gTasks -_08032FE0: .4byte gBattlerControllerFuncs -_08032FE4: .4byte nullsub_13 - thumb_func_end PlayerHandleExpUpdate - - thumb_func_start sub_8032FE8 -sub_8032FE8: @ 8032FE8 - push {r4,lr} - ldr r4, _08033044 @ =gActiveBattler - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _0803303C - ldr r0, _08033048 @ =gHealthboxSpriteIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _0803304C @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08033050 @ =gPlayerParty - adds r1, r2 - movs r2, 0x9 - bl UpdateHealthboxAttribute - ldrb r2, [r4] - ldr r0, _08033054 @ =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, _08033058 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803305C @ =CompleteOnFinishedStatusAnimation - str r1, [r0] -_0803303C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033044: .4byte gActiveBattler -_08033048: .4byte gHealthboxSpriteIds -_0803304C: .4byte gBattlerPartyIndexes -_08033050: .4byte gPlayerParty -_08033054: .4byte gBattleSpritesDataPtr -_08033058: .4byte gBattlerControllerFuncs -_0803305C: .4byte CompleteOnFinishedStatusAnimation - thumb_func_end sub_8032FE8 - - thumb_func_start sub_8033060 -sub_8033060: @ 8033060 - push {r4,r5,lr} - ldr r5, _080330B8 @ =gActiveBattler - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _080330B0 - ldr r4, _080330BC @ =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 InitAndLaunchChosenStatusAnimation - ldr r1, _080330C0 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080330C4 @ =CompleteOnFinishedStatusAnimation - str r1, [r0] -_080330B0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080330B8: .4byte gActiveBattler -_080330BC: .4byte gBattleBufferA -_080330C0: .4byte gBattlerControllerFuncs -_080330C4: .4byte CompleteOnFinishedStatusAnimation - thumb_func_end sub_8033060 - - thumb_func_start PlayerHandleStatusXor -PlayerHandleStatusXor: @ 80330C8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - ldr r0, _08033124 @ =gBattlerPartyIndexes - mov r8, r0 - ldr r4, _08033128 @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _0803312C @ =gPlayerParty - adds r0, r5 - movs r1, 0x37 - bl GetMonData - ldr r2, _08033130 @ =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 - .align 2, 0 -_08033124: .4byte gBattlerPartyIndexes -_08033128: .4byte gActiveBattler -_0803312C: .4byte gPlayerParty -_08033130: .4byte gBattleBufferA - thumb_func_end PlayerHandleStatusXor - - thumb_func_start sub_8033134 -sub_8033134: @ 8033134 - push {lr} - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8033134 - - thumb_func_start PlayerHandleDMA3Transfer -PlayerHandleDMA3Transfer: @ 8033140 - push {r4,r5,lr} - ldr r3, _080331A4 @ =gBattleBufferA - ldr r0, _080331A8 @ =gActiveBattler - 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 _080331B0 - ldr r0, _080331AC @ =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 _080331DC - .align 2, 0 -_080331A4: .4byte gBattleBufferA -_080331A8: .4byte gActiveBattler -_080331AC: .4byte 0x040000d4 -_080331B0: - ldr r3, _080331E8 @ =0x040000d4 - str r2, [r3] - str r5, [r3, 0x4] - ldr r0, _080331EC @ =0x80000800 - str r0, [r3, 0x8] - ldr r0, [r3, 0x8] - movs r0, 0x80 - lsls r0, 5 - adds r2, r0 - adds r5, r0 - ldr r1, _080331F0 @ =0xfffff000 - adds r4, r1 - cmp r4, r0 - bhi _080331B0 - 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] -_080331DC: - bl PlayerBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080331E8: .4byte 0x040000d4 -_080331EC: .4byte 0x80000800 -_080331F0: .4byte 0xfffff000 - thumb_func_end PlayerHandleDMA3Transfer - - thumb_func_start PlayerHandlePlayBGM -PlayerHandlePlayBGM: @ 80331F4 - push {lr} - ldr r2, _0803321C @ =gBattleBufferA - ldr r0, _08033220 @ =gActiveBattler - 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 - .align 2, 0 -_0803321C: .4byte gBattleBufferA -_08033220: .4byte gActiveBattler - thumb_func_end PlayerHandlePlayBGM - - thumb_func_start sub_8033224 -sub_8033224: @ 8033224 - push {lr} - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8033224 - - thumb_func_start PlayerHandleTwoReturnValues -PlayerHandleTwoReturnValues: @ 8033230 - push {lr} - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl BtlController_EmitTwoReturnValues - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end PlayerHandleTwoReturnValues - - thumb_func_start PlayerHandleChosenMonReturnValue -PlayerHandleChosenMonReturnValue: @ 8033244 - push {lr} - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl BtlController_EmitChosenMonReturnValue - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end PlayerHandleChosenMonReturnValue - - thumb_func_start PlayerHandleOneReturnValue -PlayerHandleOneReturnValue: @ 8033258 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl BtlController_EmitOneReturnValue - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end PlayerHandleOneReturnValue - - thumb_func_start PlayerHandleOneReturnValue_Duplicate -PlayerHandleOneReturnValue_Duplicate: @ 803326C - push {lr} - movs r0, 0x1 - movs r1, 0 - bl BtlController_EmitOneReturnValue_Duplicate - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end PlayerHandleOneReturnValue_Duplicate - - thumb_func_start PlayerHandleCmd37 -PlayerHandleCmd37: @ 8033280 - push {lr} - ldr r2, _08033298 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_08033298: .4byte gUnknown_2022870 - thumb_func_end PlayerHandleCmd37 - - thumb_func_start PlayerHandleCmd38 -PlayerHandleCmd38: @ 803329C - push {lr} - ldr r3, _080332C8 @ =gUnknown_2022870 - ldr r1, _080332CC @ =gBattleBufferA - ldr r0, _080332D0 @ =gActiveBattler - 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 - .align 2, 0 -_080332C8: .4byte gUnknown_2022870 -_080332CC: .4byte gBattleBufferA -_080332D0: .4byte gActiveBattler - thumb_func_end PlayerHandleCmd38 - - thumb_func_start PlayerHandleCmd39 -PlayerHandleCmd39: @ 80332D4 - push {lr} - ldr r2, _080332E8 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080332E8: .4byte gUnknown_2022870 - thumb_func_end PlayerHandleCmd39 - - thumb_func_start PlayerHandleCmd40 -PlayerHandleCmd40: @ 80332EC - push {lr} - ldr r3, _08033310 @ =gUnknown_2022870 - 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 - .align 2, 0 -_08033310: .4byte gUnknown_2022870 - thumb_func_end PlayerHandleCmd40 - - thumb_func_start PlayerHandleHitAnimation -PlayerHandleHitAnimation: @ 8033314 - push {r4,lr} - ldr r3, _0803333C @ =gSprites - ldr r2, _08033340 @ =gBattlerSpriteIds - ldr r4, _08033344 @ =gActiveBattler - 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 _08033348 - bl PlayerBufferExecCompleted - b _08033372 - .align 2, 0 -_0803333C: .4byte gSprites -_08033340: .4byte gBattlerSpriteIds -_08033344: .4byte gActiveBattler -_08033348: - ldr r1, _08033378 @ =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 DoHitAnimHealthboxEffect - ldr r1, _0803337C @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08033380 @ =DoHitAnimBlinkSpriteEffect - str r1, [r0] -_08033372: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033378: .4byte gDoingBattleAnim -_0803337C: .4byte gBattlerControllerFuncs -_08033380: .4byte DoHitAnimBlinkSpriteEffect - thumb_func_end PlayerHandleHitAnimation - - thumb_func_start sub_8033384 -sub_8033384: @ 8033384 - push {lr} - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_8033384 - - thumb_func_start PlayerHandlePlaySE -PlayerHandlePlaySE: @ 8033390 - push {r4,lr} - ldr r4, _080333CC @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _080333A4 - movs r3, 0xC0 -_080333A4: - ldr r2, _080333D0 @ =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 - .align 2, 0 -_080333CC: .4byte gActiveBattler -_080333D0: .4byte gBattleBufferA - thumb_func_end PlayerHandlePlaySE - - thumb_func_start PlayerHandlecmd44 -PlayerHandlecmd44: @ 80333D4 - push {lr} - ldr r2, _080333FC @ =gBattleBufferA - ldr r0, _08033400 @ =gActiveBattler - 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 PlayFanfare - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080333FC: .4byte gBattleBufferA -_08033400: .4byte gActiveBattler - thumb_func_end PlayerHandlecmd44 - - thumb_func_start PlayerHandleFaintingCry -PlayerHandleFaintingCry: @ 8033404 - push {lr} - ldr r1, _08033438 @ =gBattlerPartyIndexes - ldr r0, _0803343C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08033440 @ =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 - .align 2, 0 -_08033438: .4byte gBattlerPartyIndexes -_0803343C: .4byte gActiveBattler -_08033440: .4byte gPlayerParty - thumb_func_end PlayerHandleFaintingCry - - thumb_func_start PlayerHandleIntroSlide -PlayerHandleIntroSlide: @ 8033444 - push {lr} - ldr r1, _0803346C @ =gBattleBufferA - ldr r0, _08033470 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl HandleIntroSlide - ldr r2, _08033474 @ =gIntroSlideFlags - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803346C: .4byte gBattleBufferA -_08033470: .4byte gActiveBattler -_08033474: .4byte gIntroSlideFlags - thumb_func_end PlayerHandleIntroSlide - - thumb_func_start PlayerHandleIntroTrainerBallThrow -PlayerHandleIntroTrainerBallThrow: @ 8033478 - push {r4-r7,lr} - ldr r6, _080335B8 @ =gBattlerSpriteIds - ldr r7, _080335BC @ =gActiveBattler - ldrb r0, [r7] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _080335C0 @ =gSprites - adds r0, r5 - bl SetSpritePrimaryCoordsFromSecondaryCoords - 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, _080335C4 @ =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, _080335C8 @ =sub_80755B8 - 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, _080335CC @ =sub_80335F8 - 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, _080335D0 @ =0x0000d6f8 - bl AllocSpritePalette - adds r4, r0, 0 - lsls r4, 24 - ldr r1, _080335D4 @ =gUnknown_8239FD4 - ldr r0, _080335D8 @ =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, _080335DC @ =task05_08033660 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080335E0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r7] - strh r0, [r1, 0x8] - ldr r3, _080335E4 @ =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 _0803359A - ldr r0, _080335E8 @ =gBattlerStatusSummaryTaskId - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _080335EC @ =Task_HidePartyStatusSummary - str r1, [r0] -_0803359A: - ldr r0, [r3] - ldr r2, [r0, 0x8] - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _080335F0 @ =gBattlerControllerFuncs - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r1, _080335F4 @ =nullsub_13 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080335B8: .4byte gBattlerSpriteIds -_080335BC: .4byte gActiveBattler -_080335C0: .4byte gSprites -_080335C4: .4byte 0x0000ffd8 -_080335C8: .4byte sub_80755B8 -_080335CC: .4byte sub_80335F8 -_080335D0: .4byte 0x0000d6f8 -_080335D4: .4byte gUnknown_8239FD4 -_080335D8: .4byte gSaveBlock2Ptr -_080335DC: .4byte task05_08033660 -_080335E0: .4byte gTasks -_080335E4: .4byte gBattleSpritesDataPtr -_080335E8: .4byte gBattlerStatusSummaryTaskId -_080335EC: .4byte Task_HidePartyStatusSummary -_080335F0: .4byte gBattlerControllerFuncs -_080335F4: .4byte nullsub_13 - thumb_func_end PlayerHandleIntroTrainerBallThrow - - thumb_func_start sub_80335F8 -sub_80335F8: @ 80335F8 - 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, _08033650 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08033654 @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadPlayerMonSpriteGfx - ldr r0, _08033658 @ =gBattlerSpriteIds - adds r4, r0 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803365C @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08033650: .4byte gBattlerPartyIndexes -_08033654: .4byte gPlayerParty -_08033658: .4byte gBattlerSpriteIds -_0803365C: .4byte gSprites - thumb_func_end sub_80335F8 - - thumb_func_start task05_08033660 -task05_08033660: @ 8033660 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _08033688 @ =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 _0803368C - adds r0, r2, 0x1 - strh r0, [r1, 0xA] - b _08033748 - .align 2, 0 -_08033688: .4byte gTasks -_0803368C: - ldr r7, _080336CC @ =gActiveBattler - ldrb r0, [r7] - mov r9, r0 - ldrh r0, [r1, 0x8] - strb r0, [r7] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080336AC - ldr r0, _080336D0 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080336DC -_080336AC: - ldr r0, _080336D4 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _080336D8 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_8031FF4 - b _08033730 - .align 2, 0 -_080336CC: .4byte gActiveBattler -_080336D0: .4byte gBattleTypeFlags -_080336D4: .4byte gBattleBufferA -_080336D8: .4byte gBattlerPartyIndexes -_080336DC: - ldr r4, _08033754 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r5, _08033758 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_8031FF4 - 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, _0803375C @ =gPlayerParty - adds r0, r2 - bl BattleLoadPlayerMonSpriteGfx - ldrb r0, [r7] - movs r1, 0 - bl sub_8031FF4 - ldrb r0, [r7] - eors r0, r6 - strb r0, [r7] -_08033730: - ldr r1, _08033760 @ =gBattlerControllerFuncs - ldr r2, _08033764 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _08033768 @ =sub_802FA58 - str r1, [r0] - mov r3, r9 - strb r3, [r2] - mov r0, r8 - bl DestroyTask -_08033748: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08033754: .4byte gBattleBufferA -_08033758: .4byte gBattlerPartyIndexes -_0803375C: .4byte gPlayerParty -_08033760: .4byte gBattlerControllerFuncs -_08033764: .4byte gActiveBattler -_08033768: .4byte sub_802FA58 - thumb_func_end task05_08033660 - - thumb_func_start PlayerHandleDrawPartyStatusSummary -PlayerHandleDrawPartyStatusSummary: @ 803376C - push {r4-r6,lr} - ldr r1, _08033794 @ =gBattleBufferA - ldr r0, _08033798 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0803379C - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0803379C - bl PlayerBufferExecCompleted - b _08033810 - .align 2, 0 -_08033794: .4byte gBattleBufferA -_08033798: .4byte gActiveBattler -_0803379C: - ldr r6, _08033818 @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r5, _0803381C @ =gActiveBattler - 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, _08033820 @ =gUnknown_2022BC8 - 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, _08033824 @ =gBattlerStatusSummaryTaskId - 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 _08033804 - 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] -_08033804: - ldr r0, _08033828 @ =gBattlerControllerFuncs - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, _0803382C @ =sub_8033830 - str r0, [r1] -_08033810: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08033818: .4byte gBattleSpritesDataPtr -_0803381C: .4byte gActiveBattler -_08033820: .4byte gUnknown_2022BC8 -_08033824: .4byte gBattlerStatusSummaryTaskId -_08033828: .4byte gBattlerControllerFuncs -_0803382C: .4byte sub_8033830 - thumb_func_end PlayerHandleDrawPartyStatusSummary - - thumb_func_start sub_8033830 -sub_8033830: @ 8033830 - push {r4,lr} - ldr r4, _08033870 @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r3, _08033874 @ =gActiveBattler - 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 _08033868 - 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 -_08033868: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033870: .4byte gBattleSpritesDataPtr -_08033874: .4byte gActiveBattler - thumb_func_end sub_8033830 - - thumb_func_start PlayerHandleCmd49 -PlayerHandleCmd49: @ 8033878 - push {lr} - ldr r0, _080338B4 @ =gBattleSpritesDataPtr - ldr r1, [r0] - ldr r0, _080338B8 @ =gActiveBattler - 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 _080338AA - ldr r2, _080338BC @ =gTasks - ldr r0, _080338C0 @ =gBattlerStatusSummaryTaskId - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080338C4 @ =Task_HidePartyStatusSummary - str r1, [r0] -_080338AA: - bl PlayerBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_080338B4: .4byte gBattleSpritesDataPtr -_080338B8: .4byte gActiveBattler -_080338BC: .4byte gTasks -_080338C0: .4byte gBattlerStatusSummaryTaskId -_080338C4: .4byte Task_HidePartyStatusSummary - thumb_func_end PlayerHandleCmd49 - - thumb_func_start sub_80338C8 -sub_80338C8: @ 80338C8 - push {r4,lr} - ldr r4, _080338E8 @ =gActiveBattler - 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 - .align 2, 0 -_080338E8: .4byte gActiveBattler - thumb_func_end sub_80338C8 - - thumb_func_start PlayerHandleSpriteInvisibility -PlayerHandleSpriteInvisibility: @ 80338EC - push {r4,lr} - ldr r4, _0803393C @ =gActiveBattler - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _08033932 - ldr r3, _08033940 @ =gSprites - ldr r0, _08033944 @ =gBattlerSpriteIds - 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, _08033948 @ =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 CopyBattleSpriteInvisibility -_08033932: - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803393C: .4byte gActiveBattler -_08033940: .4byte gSprites -_08033944: .4byte gBattlerSpriteIds -_08033948: .4byte gBattleBufferA - thumb_func_end PlayerHandleSpriteInvisibility - - thumb_func_start PlayerHandleBattleAnimation -PlayerHandleBattleAnimation: @ 803394C - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _08033990 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _080339A4 - ldr r5, _08033994 @ =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 TryHandleLaunchBattleTableAnimation - lsls r0, 24 - cmp r0, 0 - beq _08033998 - bl PlayerBufferExecCompleted - b _080339A4 - .align 2, 0 -_08033990: .4byte gActiveBattler -_08033994: .4byte gBattleBufferA -_08033998: - ldr r0, _080339AC @ =gBattlerControllerFuncs - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _080339B0 @ =CompleteOnFinishedBattleAnimation - str r0, [r1] -_080339A4: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080339AC: .4byte gBattlerControllerFuncs -_080339B0: .4byte CompleteOnFinishedBattleAnimation - thumb_func_end PlayerHandleBattleAnimation - - thumb_func_start PlayerHandleLinkStandbyMsg -PlayerHandleLinkStandbyMsg: @ 80339B4 - push {r4,lr} - ldr r1, _080339D4 @ =gBattleBufferA - ldr r0, _080339D8 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080339E6 - cmp r0, 0x1 - bgt _080339DC - cmp r0, 0 - beq _080339E2 - b _08033A04 - .align 2, 0 -_080339D4: .4byte gBattleBufferA -_080339D8: .4byte gActiveBattler -_080339DC: - cmp r0, 0x2 - beq _08033A00 - b _08033A04 -_080339E2: - bl PrintLinkStandbyMsg -_080339E6: - ldr r4, _080339FC @ =gActiveBattler - ldrb r0, [r4] - movs r1, 0x1 - bl dp11b_obj_free - ldrb r0, [r4] - movs r1, 0 - bl dp11b_obj_free - b _08033A04 - .align 2, 0 -_080339FC: .4byte gActiveBattler -_08033A00: - bl PrintLinkStandbyMsg -_08033A04: - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayerHandleLinkStandbyMsg - - thumb_func_start PlayerHandleResetActionMoveSelection -PlayerHandleResetActionMoveSelection: @ 8033A10 - push {r4,lr} - ldr r1, _08033A30 @ =gBattleBufferA - ldr r4, _08033A34 @ =gActiveBattler - ldrb r3, [r4] - lsls r0, r3, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r2, [r0] - cmp r2, 0x1 - beq _08033A58 - cmp r2, 0x1 - bgt _08033A38 - cmp r2, 0 - beq _08033A3E - b _08033A68 - .align 2, 0 -_08033A30: .4byte gBattleBufferA -_08033A34: .4byte gActiveBattler -_08033A38: - cmp r2, 0x2 - beq _08033A60 - b _08033A68 -_08033A3E: - ldr r0, _08033A50 @ =gActionSelectionCursor - adds r0, r3, r0 - strb r2, [r0] - ldr r1, _08033A54 @ =gMoveSelectionCursor - ldrb r0, [r4] - adds r0, r1 - strb r2, [r0] - b _08033A68 - .align 2, 0 -_08033A50: .4byte gActionSelectionCursor -_08033A54: .4byte gMoveSelectionCursor -_08033A58: - ldr r0, _08033A5C @ =gActionSelectionCursor - b _08033A62 - .align 2, 0 -_08033A5C: .4byte gActionSelectionCursor -_08033A60: - ldr r0, _08033A74 @ =gMoveSelectionCursor -_08033A62: - adds r0, r3, r0 - movs r1, 0 - strb r1, [r0] -_08033A68: - bl PlayerBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033A74: .4byte gMoveSelectionCursor - thumb_func_end PlayerHandleResetActionMoveSelection - - thumb_func_start PlayerHandlecmd55 -PlayerHandlecmd55: @ 8033A78 - push {r4,lr} - ldr r2, _08033AB0 @ =gBattleOutcome - ldr r1, _08033AB4 @ =gBattleBufferA - ldr r4, _08033AB8 @ =gActiveBattler - 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 PlayerBufferExecCompleted - ldr r1, _08033ABC @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _08033AC0 @ =sub_802F6A8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033AB0: .4byte gBattleOutcome -_08033AB4: .4byte gBattleBufferA -_08033AB8: .4byte gActiveBattler -_08033ABC: .4byte gBattlerControllerFuncs -_08033AC0: .4byte sub_802F6A8 - thumb_func_end PlayerHandlecmd55 - - thumb_func_start nullsub_15 -nullsub_15: @ 8033AC4 - bx lr - thumb_func_end nullsub_15 - - thumb_func_start sub_8033AC8 -sub_8033AC8: @ 8033AC8 - push {r4-r6,lr} - sub sp, 0x4 - movs r5, 0 - movs r6, 0 - ldr r0, _08033B14 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08033ADE - b _08033DA2 -_08033ADE: - ldr r3, _08033B18 @ =gActiveBattler - ldrb r1, [r3] - lsls r2, r1, 9 - ldr r0, _08033B1C @ =gUnknown_2022BC8 - adds r2, r0 - ldr r0, _08033B20 @ =gMoveSelectionCursor - adds r1, r0 - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2, r0 - ldrh r4, [r0] - cmp r4, 0xAE - bne _08033B24 - ldrb r0, [r2, 0x12] - movs r1, 0 - cmp r0, 0x7 - beq _08033B30 - ldrb r1, [r2, 0x13] - movs r0, 0x7 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - asrs r1, r0, 31 - movs r0, 0x10 - ands r1, r0 - b _08033B30 - .align 2, 0 -_08033B14: .4byte gBattleTypeFlags -_08033B18: .4byte gActiveBattler -_08033B1C: .4byte gUnknown_2022BC8 -_08033B20: .4byte gMoveSelectionCursor -_08033B24: - ldr r1, _08033B40 @ =gBattleMoves - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] -_08033B30: - cmp r1, 0x40 - bls _08033B36 - b _08033D92 -_08033B36: - lsls r0, r1, 2 - ldr r1, _08033B44 @ =_08033B48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033B40: .4byte gBattleMoves -_08033B44: .4byte _08033B48 - .align 2, 0 -_08033B48: - .4byte _08033C4C - .4byte _08033C4C - .4byte _08033C4C - .4byte _08033D92 - .4byte _08033C4C - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033C54 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033C80 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D4C - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033D92 - .4byte _08033C54 -_08033C4C: - movs r5, 0xF0 - lsls r5, 12 - movs r6, 0 - b _08033D92 -_08033C54: - movs r0, 0x1 - bl GetBattlerAtPosition - adds r4, r0, 0 - movs r0, 0x3 - bl GetBattlerAtPosition - ldr r1, _08033C7C @ =gBitTable - lsls r4, 24 - lsrs r4, 22 - adds r4, r1 - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldr r1, [r4] - ldr r0, [r0] - orrs r1, r0 - lsls r5, r1, 16 - b _08033D90 - .align 2, 0 -_08033C7C: .4byte gBitTable -_08033C80: - cmp r4, 0xDB - beq _08033CEA - cmp r4, 0xDB - bgt _08033CB2 - cmp r4, 0x73 - beq _08033CEA - cmp r4, 0x73 - bgt _08033C9E - cmp r4, 0x71 - beq _08033CEA - cmp r4, 0x71 - bgt _08033CE4 - cmp r4, 0x36 - beq _08033CEA - b _08033D38 -_08033C9E: - cmp r4, 0xC9 - beq _08033CE4 - cmp r4, 0xC9 - bgt _08033CAC - cmp r4, 0xC3 - beq _08033CE4 - b _08033D38 -_08033CAC: - cmp r4, 0xD7 - beq _08033CEA - b _08033D38 -_08033CB2: - movs r0, 0x87 - lsls r0, 1 - cmp r4, r0 - beq _08033D14 - cmp r4, r0 - bgt _08033CC8 - cmp r4, 0xF0 - blt _08033D38 - cmp r4, 0xF1 - ble _08033CE4 - b _08033CD4 -_08033CC8: - movs r0, 0x9C - lsls r0, 1 - cmp r4, r0 - beq _08033CEA - cmp r4, r0 - bgt _08033CDC -_08033CD4: - subs r0, 0xC - cmp r4, r0 - beq _08033CE4 - b _08033D38 -_08033CDC: - movs r0, 0xAD - lsls r0, 1 - cmp r4, r0 - bne _08033D38 -_08033CE4: - movs r5, 0xF0 - lsls r5, 12 - b _08033D90 -_08033CEA: - movs r0, 0 - bl GetBattlerAtPosition - adds r4, r0, 0 - movs r0, 0x2 - bl GetBattlerAtPosition - ldr r1, _08033D10 @ =gBitTable - lsls r4, 24 - lsrs r4, 22 - adds r4, r1 - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldr r1, [r4] - ldr r0, [r0] - orrs r1, r0 - lsls r5, r1, 16 - b _08033D90 - .align 2, 0 -_08033D10: .4byte gBitTable -_08033D14: - ldrb r0, [r3] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r1, _08033D34 @ =gBitTable - lsls r0, 24 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - b _08033D42 - .align 2, 0 -_08033D34: .4byte gBitTable -_08033D38: - ldr r0, _08033D48 @ =gBitTable - ldrb r1, [r3] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] -_08033D42: - lsls r5, r0, 16 - b _08033D90 - .align 2, 0 -_08033D48: .4byte gBitTable -_08033D4C: - movs r0, 0x1 - bl GetBattlerAtPosition - adds r5, r0, 0 - ldr r0, _08033DAC @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - adds r4, r0, 0 - movs r0, 0x3 - bl GetBattlerAtPosition - ldr r3, _08033DB0 @ =gBitTable - lsls r5, 24 - lsrs r5, 22 - adds r5, r3 - lsls r4, 24 - lsrs r4, 22 - adds r4, r3 - ldr r2, [r5] - ldr r1, [r4] - orrs r2, r1 - lsls r0, 24 - lsrs r0, 22 - adds r0, r3 - ldr r0, [r0] - orrs r2, r0 - lsls r5, r2, 16 -_08033D90: - movs r6, 0x8 -_08033D92: - ldr r0, _08033DB4 @ =0x00007fff - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x8 - adds r2, r6, 0 - movs r3, 0 - bl BeginNormalPaletteFade -_08033DA2: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08033DAC: .4byte gActiveBattler -_08033DB0: .4byte gBitTable -_08033DB4: .4byte 0x00007fff - thumb_func_end sub_8033AC8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 35684558a..1857d92c8 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -5191,7 +5191,7 @@ _08158B8E: ldrb r0, [r0] movs r1, 0 bl ActionSelectionCreateCursorAt - ldr r0, _08158BD4 @ =gUnknown_83FE6D5 + ldr r0, _08158BD4 @ =gText_WhatWillPkmnDo bl BattleStringExpandPlaceholdersToDisplayedString ldr r0, _08158BD8 @ =gDisplayedStringBattle movs r1, 0x1 @@ -5204,7 +5204,7 @@ _08158BC4: .4byte sub_8158B20 _08158BC8: .4byte gUnknown_83FDA4C _08158BCC: .4byte gUnknown_83FE725 _08158BD0: .4byte gActionSelectionCursor -_08158BD4: .4byte gUnknown_83FE6D5 +_08158BD4: .4byte gText_WhatWillPkmnDo _08158BD8: .4byte gDisplayedStringBattle _08158BDC: ldr r0, _08158BF0 @ =gBattlerControllerFuncs @@ -5272,7 +5272,7 @@ sub_8158C48: @ 8158C48 lsls r0, 24 cmp r0, 0 bne _08158C74 - bl sub_8032CB4 + bl InitMoveSelectionsVarsAndStrings ldr r0, _08158C6C @ =gBattlerControllerFuncs ldrb r1, [r4] lsls r1, 2 @@ -6198,7 +6198,7 @@ sub_8159304: @ 8159304 bl AllocSpritePalette adds r4, r0, 0 lsls r4, 24 - ldr r0, _08159458 @ =gUnknown_8239FD4 + ldr r0, _08159458 @ =gTrainerBackPicPaletteTable ldr r0, [r0, 0x20] lsrs r4, 20 movs r2, 0x80 @@ -6276,7 +6276,7 @@ _08159448: .4byte 0x0000ffd8 _0815944C: .4byte StartAnimLinearTranslation _08159450: .4byte sub_80335F8 _08159454: .4byte 0x0000d6f8 -_08159458: .4byte gUnknown_8239FD4 +_08159458: .4byte gTrainerBackPicPaletteTable _0815945C: .4byte sub_81595EC _08159460: .4byte gTasks _08159464: .4byte gBattleSpritesDataPtr @@ -6591,10 +6591,10 @@ sub_81596F0: @ 81596F0 ldr r4, _08159710 @ =gActiveBattler ldrb r0, [r4] movs r1, 0x1 - bl dp11b_obj_free + bl EndBounceEffect ldrb r0, [r4] movs r1, 0 - bl dp11b_obj_free + bl EndBounceEffect bl PlayerPartnerBufferExecCompleted pop {r4} pop {r0} @@ -6675,10 +6675,10 @@ sub_815977C: @ 815977C bgt _081597A4 adds r0, r2, 0 movs r1, 0x1 - bl dp11b_obj_free + bl EndBounceEffect ldrb r0, [r4] movs r1, 0 - bl dp11b_obj_free + bl EndBounceEffect _081597A4: bl PlayerPartnerBufferExecCompleted pop {r4} @@ -6765,12 +6765,12 @@ sub_8159824: @ 8159824 movs r1, 0x1 movs r2, 0x7 movs r3, 0x1 - bl dp11b_obj_instanciate + bl DoBounceEffect ldrb r0, [r4] movs r1, 0 movs r2, 0x7 movs r3, 0x1 - bl dp11b_obj_instanciate + bl DoBounceEffect _0815985C: ldr r6, _081598C0 @ =gUnknown_3005EE0 ldrb r2, [r4] diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 3e8044d2a..3de518630 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -1945,8 +1945,8 @@ _08048A44: .4byte 0x060100c0 _08048A48: .4byte 0x04000008 thumb_func_end sub_80487F8 - thumb_func_start sub_8048A4C -sub_8048A4C: @ 8048A4C + thumb_func_start SwapHpBarsWithHpText +SwapHpBarsWithHpText: @ 8048A4C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2277,7 +2277,7 @@ _08048D04: .4byte gEnemyParty _08048D08: .4byte gBattleTypeFlags _08048D0C: .4byte gHealthboxSpriteIds _08048D10: .4byte gBattlersCount - thumb_func_end sub_8048A4C + thumb_func_end SwapHpBarsWithHpText thumb_func_start CreatePartyStatusSummarySprites CreatePartyStatusSummarySprites: @ 8048D14 diff --git a/asm/battle_message.s b/asm/battle_message.s index b4a9e7a51..d3a688507 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -2304,10 +2304,10 @@ _080D8504: ldrb r0, [r0, 0x1] lsls r1, r0, 3 subs r1, r0 - ldr r0, _080D8510 @ =gUnknown_824F1A0 + ldr r0, _080D8510 @ =gTypeNames b _080D8616 .align 2, 0 -_080D8510: .4byte gUnknown_824F1A0 +_080D8510: .4byte gTypeNames _080D8514: ldrb r0, [r4, 0x1] bl GetBattlerSide diff --git a/asm/item_menu.s b/asm/item_menu.s index e85f63872..46fa08f33 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -154,14 +154,14 @@ _08107EC8: .4byte sub_80568A8 thumb_func_start sub_8107ECC sub_8107ECC: @ 8107ECC push {lr} - ldr r2, _08107EDC @ =sub_8030AEC + ldr r2, _08107EDC @ =SetCB2ToReshowScreenAfterMenu2 movs r0, 0x5 movs r1, 0x3 bl sub_8107DB4 pop {r0} bx r0 .align 2, 0 -_08107EDC: .4byte sub_8030AEC +_08107EDC: .4byte SetCB2ToReshowScreenAfterMenu2 thumb_func_end sub_8107ECC thumb_func_start sub_8107EE0 @@ -6124,14 +6124,14 @@ sub_810AF74: @ 810AF74 movs r0, 0x4 movs r1, 0x1 bl AddBagItem - ldr r2, _0810AF98 @ =sub_8030AEC + ldr r2, _0810AF98 @ =SetCB2ToReshowScreenAfterMenu2 movs r0, 0x6 movs r1, 0 bl sub_8107DB4 pop {r0} bx r0 .align 2, 0 -_0810AF98: .4byte sub_8030AEC +_0810AF98: .4byte SetCB2ToReshowScreenAfterMenu2 thumb_func_end sub_810AF74 thumb_func_start sub_810AF9C @@ -6348,13 +6348,13 @@ sub_810B108: @ 810B108 .align 2, 0 _0810B15C: .4byte CB2_ReturnToTeachyTV _0810B160: - ldr r2, _0810B168 @ =sub_8030AEC + ldr r2, _0810B168 @ =SetCB2ToReshowScreenAfterMenu2 movs r0, 0x7 b _0810B170 .align 2, 0 -_0810B168: .4byte sub_8030AEC +_0810B168: .4byte SetCB2ToReshowScreenAfterMenu2 _0810B16C: - ldr r2, _0810B17C @ =sub_8030AEC + ldr r2, _0810B17C @ =SetCB2ToReshowScreenAfterMenu2 movs r0, 0x8 _0810B170: movs r1, 0 @@ -6363,7 +6363,7 @@ _0810B170: pop {r0} bx r0 .align 2, 0 -_0810B17C: .4byte sub_8030AEC +_0810B17C: .4byte SetCB2ToReshowScreenAfterMenu2 thumb_func_end sub_810B108 thumb_func_start sub_810B180 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index a109515d6..f65efc5f7 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -7242,7 +7242,7 @@ _081196EC: lsrs r2, 2 lsls r1, r2, 3 subs r1, r2 - ldr r2, _0811972C @ =gUnknown_824F1A0 + ldr r2, _0811972C @ =gTypeNames adds r1, r2 bl StringCopy ldr r1, _08119730 @ =gUnknown_8458ED0 @@ -7250,7 +7250,7 @@ _081196EC: .align 2, 0 _08119724: .4byte gStringVar1 _08119728: .4byte gStringVar2 -_0811972C: .4byte gUnknown_824F1A0 +_0811972C: .4byte gTypeNames _08119730: .4byte gUnknown_8458ED0 _08119734: ldr r4, _08119774 @ =gStringVar1 @@ -7273,7 +7273,7 @@ _08119734: lsrs r2, 2 lsls r1, r2, 3 subs r1, r2 - ldr r2, _0811977C @ =gUnknown_824F1A0 + ldr r2, _0811977C @ =gTypeNames adds r1, r2 bl StringCopy ldr r1, _08119780 @ =gUnknown_8458F04 @@ -7284,7 +7284,7 @@ _0811976A: .align 2, 0 _08119774: .4byte gStringVar1 _08119778: .4byte gStringVar2 -_0811977C: .4byte gUnknown_824F1A0 +_0811977C: .4byte gTypeNames _08119780: .4byte gUnknown_8458F04 _08119784: adds r0, r6, 0 diff --git a/asm/party_menu.s b/asm/party_menu.s index 89c03fcff..c6cdfb567 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -17930,8 +17930,8 @@ _081278D6: bx r1 thumb_func_end sub_81278B4 - thumb_func_start sub_81278DC -sub_81278DC: @ 81278DC + thumb_func_start OpenPartyMenuInBattle +OpenPartyMenuInBattle: @ 81278DC push {r4,lr} sub sp, 0xC lsls r0, 24 @@ -17955,7 +17955,7 @@ sub_81278DC: @ 81278DC str r0, [sp] ldr r0, _08127928 @ =sub_8120C3C str r0, [sp, 0x4] - ldr r0, _0812792C @ =sub_8030ADC + ldr r0, _0812792C @ =SetCB2ToReshowScreenAfterMenu str r0, [sp, 0x8] movs r0, 0x1 adds r2, r4, 0 @@ -17967,7 +17967,7 @@ sub_81278DC: @ 81278DC .align 2, 0 _08127924: .4byte gBattleTypeFlags _08127928: .4byte sub_8120C3C -_0812792C: .4byte sub_8030ADC +_0812792C: .4byte SetCB2ToReshowScreenAfterMenu _08127930: bl sub_81278B4 adds r1, r0, 0 @@ -17977,7 +17977,7 @@ _08127930: str r0, [sp] ldr r0, _08127960 @ =sub_811FB28 str r0, [sp, 0x4] - ldr r0, _08127964 @ =sub_8030ADC + ldr r0, _08127964 @ =SetCB2ToReshowScreenAfterMenu str r0, [sp, 0x8] movs r0, 0x1 adds r2, r4, 0 @@ -17992,8 +17992,8 @@ _08127950: bx r0 .align 2, 0 _08127960: .4byte sub_811FB28 -_08127964: .4byte sub_8030ADC - thumb_func_end sub_81278DC +_08127964: .4byte SetCB2ToReshowScreenAfterMenu + thumb_func_end OpenPartyMenuInBattle thumb_func_start sub_8127968 sub_8127968: @ 8127968 @@ -18007,7 +18007,7 @@ sub_8127968: @ 8127968 str r0, [sp] ldr r0, _0812799C @ =sub_8120EBC str r0, [sp, 0x4] - ldr r0, _081279A0 @ =sub_8030ADC + ldr r0, _081279A0 @ =SetCB2ToReshowScreenAfterMenu str r0, [sp, 0x8] movs r0, 0x1 movs r2, 0 @@ -18020,7 +18020,7 @@ sub_8127968: @ 8127968 bx r0 .align 2, 0 _0812799C: .4byte sub_8120EBC -_081279A0: .4byte sub_8030ADC +_081279A0: .4byte SetCB2ToReshowScreenAfterMenu thumb_func_end sub_8127968 thumb_func_start sub_81279A4 @@ -19046,12 +19046,12 @@ _0812817A: sub_8128184: @ 8128184 push {lr} bl sub_8108CF0 - ldr r0, _08128194 @ =sub_8030ADC + ldr r0, _08128194 @ =SetCB2ToReshowScreenAfterMenu bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 -_08128194: .4byte sub_8030ADC +_08128194: .4byte SetCB2ToReshowScreenAfterMenu thumb_func_end sub_8128184 thumb_func_start sub_8128198 -- cgit v1.2.3 From 5f6a55e4fda5d038b3864b23136eb7cd9a8bdbcf Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Thu, 22 Aug 2019 14:21:56 +0800 Subject: battle_controller_link_opponent --- asm/battle_controller_link_opponent.s | 6260 --------------------------------- asm/battle_controller_link_partner.s | 20 +- asm/battle_message.s | 4 +- asm/battle_script_commands.s | 6 +- asm/pokeball.s | 2 +- 5 files changed, 16 insertions(+), 6276 deletions(-) delete mode 100644 asm/battle_controller_link_opponent.s (limited to 'asm') diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s deleted file mode 100644 index 7aba90e39..000000000 --- a/asm/battle_controller_link_opponent.s +++ /dev/null @@ -1,6260 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_19 -nullsub_19: @ 803A664 - bx lr - thumb_func_end nullsub_19 - - thumb_func_start SetControllerToLinkOpponent -SetControllerToLinkOpponent: @ 803A668 - ldr r1, _0803A678 @ =gBattlerControllerFuncs - ldr r0, _0803A67C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803A680 @ =sub_803A684 - str r1, [r0] - bx lr - .align 2, 0 -_0803A678: .4byte gBattlerControllerFuncs -_0803A67C: .4byte gActiveBattler -_0803A680: .4byte sub_803A684 - thumb_func_end SetControllerToLinkOpponent - - thumb_func_start sub_803A684 -sub_803A684: @ 803A684 - push {lr} - ldr r2, _0803A6B8 @ =gBattleControllerExecFlags - ldr r1, _0803A6BC @ =gBitTable - ldr r0, _0803A6C0 @ =gActiveBattler - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0803A6D0 - ldr r0, _0803A6C4 @ =gBattleBufferA - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _0803A6CC - ldr r0, _0803A6C8 @ =gUnknown_8250B20 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _0803A6D0 - .align 2, 0 -_0803A6B8: .4byte gBattleControllerExecFlags -_0803A6BC: .4byte gBitTable -_0803A6C0: .4byte gActiveBattler -_0803A6C4: .4byte gBattleBufferA -_0803A6C8: .4byte gUnknown_8250B20 -_0803A6CC: - bl RecordedOpponentBufferExecCompleted -_0803A6D0: - pop {r0} - bx r0 - thumb_func_end sub_803A684 - - thumb_func_start sub_803A6D4 -sub_803A6D4: @ 803A6D4 - push {lr} - ldr r2, _0803A6FC @ =gSprites - ldr r1, _0803A700 @ =gBattlerSpriteIds - ldr r0, _0803A704 @ =gActiveBattler - 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, _0803A708 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0803A6F8 - bl RecordedOpponentBufferExecCompleted -_0803A6F8: - pop {r0} - bx r0 - .align 2, 0 -_0803A6FC: .4byte gSprites -_0803A700: .4byte gBattlerSpriteIds -_0803A704: .4byte gActiveBattler -_0803A708: .4byte SpriteCallbackDummy - thumb_func_end sub_803A6D4 - - thumb_func_start sub_803A70C -sub_803A70C: @ 803A70C - push {r4-r6,lr} - ldr r4, _0803A784 @ =gSprites - ldr r6, _0803A788 @ =gBattlerSpriteIds - ldr r5, _0803A78C @ =gActiveBattler - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r2, r0, 2 - adds r0, r4, 0 - adds r0, 0x1C - adds r0, r2, r0 - ldr r1, [r0] - ldr r0, _0803A790 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0803A77C - adds r0, r2, r4 - ldrh r0, [r0, 0x6] - bl FreeTrainerFrontPicPaletteAndTile - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x38] - ldr r2, _0803A794 @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _0803A798 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r5] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - bl RecordedOpponentBufferExecCompleted -_0803A77C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803A784: .4byte gSprites -_0803A788: .4byte gBattlerSpriteIds -_0803A78C: .4byte gActiveBattler -_0803A790: .4byte SpriteCallbackDummy -_0803A794: .4byte 0x000003ff -_0803A798: .4byte 0xfffffc00 - thumb_func_end sub_803A70C - - thumb_func_start sub_803A79C -sub_803A79C: @ 803A79C - push {r4,lr} - ldr r4, _0803A7DC @ =gBattleSpritesDataPtr - ldr r1, [r4] - ldr r3, _0803A7E0 @ =gActiveBattler - 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 _0803A7D4 - 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 RecordedOpponentBufferExecCompleted -_0803A7D4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A7DC: .4byte gBattleSpritesDataPtr -_0803A7E0: .4byte gActiveBattler - thumb_func_end sub_803A79C - - thumb_func_start sub_803A7E4 -sub_803A7E4: @ 803A7E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0803A80C - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0803A840 - ldr r0, _0803A82C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803A840 -_0803A80C: - ldr r2, _0803A830 @ =gSprites - ldr r1, _0803A834 @ =gHealthboxSpriteIds - ldr r0, _0803A838 @ =gActiveBattler - 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, _0803A83C @ =SpriteCallbackDummy - cmp r1, r0 - bne _0803A876 - b _0803A874 - .align 2, 0 -_0803A82C: .4byte gBattleTypeFlags -_0803A830: .4byte gSprites -_0803A834: .4byte gHealthboxSpriteIds -_0803A838: .4byte gActiveBattler -_0803A83C: .4byte SpriteCallbackDummy -_0803A840: - ldr r2, _0803A95C @ =gSprites - ldr r5, _0803A960 @ =gHealthboxSpriteIds - ldr r0, _0803A964 @ =gActiveBattler - 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, _0803A968 @ =SpriteCallbackDummy - cmp r4, r0 - bne _0803A876 - 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 _0803A876 -_0803A874: - movs r6, 0x1 -_0803A876: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _0803A882 - movs r6, 0 -_0803A882: - cmp r6, 0 - bne _0803A888 - b _0803A9AA -_0803A888: - ldr r0, _0803A964 @ =gActiveBattler - mov r8, r0 - ldrb r0, [r0] - bl GetBattlerPosition - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bne _0803A936 - ldr r7, _0803A96C @ =gBattleSpritesDataPtr - ldr r0, [r7] - mov r1, r8 - ldrb r2, [r1] - ldr r5, [r0, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r5 - ldrb r1, [r4, 0x1] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0803A9AA - movs r6, 0x2 - adds r1, r6, 0 - eors r1, r2 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0803A9AA - ldrb r1, [r4] - movs r3, 0x7F - adds r0, r3, 0 - ands r0, r1 - strb r0, [r4] - ldr r0, [r7] - mov r1, r8 - ldrb r2, [r1] - 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] - ldr r2, [r7] - mov r1, r8 - ldrb r0, [r1] - adds r1, r6, 0 - 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] - ldr r2, [r7] - mov r1, r8 - ldrb r0, [r1] - adds r1, r6, 0 - 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, _0803A970 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag -_0803A936: - ldr r0, _0803A974 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803A97C - mov r1, r8 - ldrb r0, [r1] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0803A988 - ldr r0, _0803A978 @ =gMPlayInfo_BGM - bl m4aMPlayContinue - b _0803A988 - .align 2, 0 -_0803A95C: .4byte gSprites -_0803A960: .4byte gHealthboxSpriteIds -_0803A964: .4byte gActiveBattler -_0803A968: .4byte SpriteCallbackDummy -_0803A96C: .4byte gBattleSpritesDataPtr -_0803A970: .4byte 0x000027f9 -_0803A974: .4byte gBattleTypeFlags -_0803A978: .4byte gMPlayInfo_BGM -_0803A97C: - ldr r0, _0803A9B4 @ =gMPlayInfo_BGM - ldr r1, _0803A9B8 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_0803A988: - ldr r0, _0803A9BC @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r3, _0803A9C0 @ =gActiveBattler - 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, _0803A9C4 @ =gBattlerControllerFuncs - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803A9C8 @ =sub_803A79C - str r1, [r0] -_0803A9AA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A9B4: .4byte gMPlayInfo_BGM -_0803A9B8: .4byte 0x0000ffff -_0803A9BC: .4byte gBattleSpritesDataPtr -_0803A9C0: .4byte gActiveBattler -_0803A9C4: .4byte gBattlerControllerFuncs -_0803A9C8: .4byte sub_803A79C - thumb_func_end sub_803A7E4 - - thumb_func_start sub_803A9CC -sub_803A9CC: @ 803A9CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0803ABEC @ =gBattleSpritesDataPtr - mov r8, r0 - ldr r0, [r0] - ldr r7, _0803ABF0 @ =gActiveBattler - ldrb r2, [r7] - ldr r3, [r0, 0x4] - lsls r5, r2, 1 - adds r0, r5, r2 - lsls r0, 2 - adds r0, r3 - ldrb r4, [r0] - movs r6, 0x8 - adds r0, r6, 0 - ands r0, r4 - cmp r0, 0 - beq _0803A9F8 - b _0803ABDC -_0803A9F8: - movs r1, 0x2 - mov r9, r1 - adds r1, r2, 0 - mov r0, r9 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0] - adds r0, r6, 0 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - beq _0803AA1C - b _0803ABDC -_0803AA1C: - movs r6, 0x80 - adds r0, r6, 0 - ands r0, r4 - cmp r0, 0 - bne _0803AA3A - ldr r0, _0803ABF4 @ =gBattlerPartyIndexes - adds r0, r5, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0803ABF8 @ =gEnemyParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_0803AA3A: - mov r2, r8 - ldr r1, [r2] - ldrb r0, [r7] - mov r2, r9 - 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, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0803AA6C - ldr r0, _0803ABF4 @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0803ABF8 @ =gEnemyParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_0803AA6C: - ldr r0, _0803ABFC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803AABA - ldrb r0, [r7] - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0803AABA - mov r1, r8 - ldr r0, [r1] - ldrb r2, [r7] - ldr r0, [r0, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x9] - adds r0, 0x1 - strb r0, [r1, 0x9] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0803AAA6 - b _0803ABDC -_0803AAA6: - mov r2, r8 - ldr r0, [r2] - ldrb r1, [r7] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - mov r1, r10 - strb r1, [r0, 0x9] -_0803AABA: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0803AB50 - ldr r0, _0803ABFC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0803AB50 - ldr r1, _0803AC00 @ =gUnknown_3004FFC - ldr r5, _0803ABF0 @ =gActiveBattler - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803AC04 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r2, _0803AC08 @ =gHealthboxSpriteIds - mov r8, r2 - ldrb r0, [r5] - adds r1, r4, 0 - eors r1, r0 - adds r0, r1, r2 - ldrb r0, [r0] - ldr r2, _0803ABF4 @ =gBattlerPartyIndexes - mov r10, r2 - lsls r1, 1 - add r1, r10 - ldrh r1, [r1] - movs r2, 0x64 - mov r9, r2 - mov r2, r9 - muls r2, r1 - adds r1, r2, 0 - ldr r6, _0803ABF8 @ =gEnemyParty - adds r1, r6 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r5] - eors r0, r4 - bl sub_804BD94 - ldrb r0, [r5] - eors r0, r4 - add r0, r8 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldrb r0, [r5] - eors r4, r0 - lsls r0, r4, 1 - add r0, r10 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback -_0803AB50: - ldr r1, _0803AC00 @ =gUnknown_3004FFC - ldr r5, _0803ABF0 @ =gActiveBattler - ldrb r0, [r5] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803AC04 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, _0803AC08 @ =gHealthboxSpriteIds - ldrb r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _0803ABF4 @ =gBattlerPartyIndexes - mov r9, r2 - lsls r1, 1 - add r1, r9 - ldrh r1, [r1] - movs r2, 0x64 - mov r8, r2 - mov r2, r8 - muls r2, r1 - adds r1, r2, 0 - ldr r6, _0803ABF8 @ =gEnemyParty - adds r1, r6 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r5] - bl sub_804BD94 - ldrb r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldrb r4, [r5] - lsls r0, r4, 1 - add r0, r9 - ldrh r0, [r0] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r6 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback - ldr r0, _0803ABEC @ =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, _0803AC0C @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803AC10 @ =sub_803A7E4 - str r1, [r0] -_0803ABDC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803ABEC: .4byte gBattleSpritesDataPtr -_0803ABF0: .4byte gActiveBattler -_0803ABF4: .4byte gBattlerPartyIndexes -_0803ABF8: .4byte gEnemyParty -_0803ABFC: .4byte gBattleTypeFlags -_0803AC00: .4byte gUnknown_3004FFC -_0803AC04: .4byte gSprites -_0803AC08: .4byte gHealthboxSpriteIds -_0803AC0C: .4byte gBattlerControllerFuncs -_0803AC10: .4byte sub_803A7E4 - thumb_func_end sub_803A9CC - - thumb_func_start sub_803AC14 -sub_803AC14: @ 803AC14 - push {r4-r7,lr} - ldr r2, _0803AC70 @ =gSprites - ldr r0, _0803AC74 @ =gBattlerSpriteIds - ldr r7, _0803AC78 @ =gActiveBattler - ldrb r3, [r7] - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - lsrs r2, r0, 31 - cmp r2, 0x1 - bne _0803ACC0 - movs r4, 0x24 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _0803ACC0 - ldr r6, _0803AC7C @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r1, [r0, 0x4] - lsls r4, r3, 1 - adds r0, r4, r3 - lsls r0, 2 - adds r1, r0, r1 - ldrb r5, [r1] - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - bne _0803AC88 - ldr r0, _0803AC80 @ =gBattlerPartyIndexes - adds r0, r4, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0803AC84 @ =gEnemyParty - adds r1, r0 - adds r0, r3, 0 - bl sub_80F1720 - b _0803ACC0 - .align 2, 0 -_0803AC70: .4byte gSprites -_0803AC74: .4byte gBattlerSpriteIds -_0803AC78: .4byte gActiveBattler -_0803AC7C: .4byte gBattleSpritesDataPtr -_0803AC80: .4byte gBattlerPartyIndexes -_0803AC84: .4byte gEnemyParty -_0803AC88: - ldrb r0, [r1, 0x1] - ands r2, r0 - cmp r2, 0 - beq _0803ACC0 - movs r0, 0x7F - ands r0, r5 - strb r0, [r1] - ldr r0, [r6] - 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, _0803ACC8 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - bl RecordedOpponentBufferExecCompleted -_0803ACC0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803ACC8: .4byte 0x000027f9 - thumb_func_end sub_803AC14 - - thumb_func_start CompleteOnHealthbarDone_4 -CompleteOnHealthbarDone_4: @ 803ACCC - push {r4-r6,lr} - ldr r6, _0803AD0C @ =gActiveBattler - ldrb r0, [r6] - ldr r5, _0803AD10 @ =gHealthboxSpriteIds - adds r1, r0, r5 - ldrb r1, [r1] - movs r2, 0 - movs r3, 0 - bl MoveBattleBar - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r6] - adds r0, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - lsls r4, 16 - asrs r1, r4, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0803AD14 - ldrb r0, [r6] - adds r0, r5 - ldrb r0, [r0] - movs r2, 0 - bl UpdateHpTextInHealthbox - b _0803AD18 - .align 2, 0 -_0803AD0C: .4byte gActiveBattler -_0803AD10: .4byte gHealthboxSpriteIds -_0803AD14: - bl RecordedOpponentBufferExecCompleted -_0803AD18: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end CompleteOnHealthbarDone_4 - - thumb_func_start sub_803AD20 -sub_803AD20: @ 803AD20 - push {lr} - ldr r2, _0803AD54 @ =gSprites - ldr r0, _0803AD58 @ =gBattlerSpriteIds - ldr r1, _0803AD5C @ =gActiveBattler - ldrb r3, [r1] - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0803AD4E - ldr r0, _0803AD60 @ =gHealthboxSpriteIds - adds r0, r3, r0 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl RecordedOpponentBufferExecCompleted -_0803AD4E: - pop {r0} - bx r0 - .align 2, 0 -_0803AD54: .4byte gSprites -_0803AD58: .4byte gBattlerSpriteIds -_0803AD5C: .4byte gActiveBattler -_0803AD60: .4byte gHealthboxSpriteIds - thumb_func_end sub_803AD20 - - thumb_func_start sub_803AD64 -sub_803AD64: @ 803AD64 - push {r4-r6,lr} - ldr r0, _0803ADC4 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r6, _0803ADC8 @ =gActiveBattler - 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 _0803ADBE - ldr r5, _0803ADCC @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0803ADD0 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldrb r0, [r6] - bl HideBattlerShadowSprite - ldr r1, _0803ADD4 @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl RecordedOpponentBufferExecCompleted -_0803ADBE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803ADC4: .4byte gBattleSpritesDataPtr -_0803ADC8: .4byte gActiveBattler -_0803ADCC: .4byte gBattlerSpriteIds -_0803ADD0: .4byte gSprites -_0803ADD4: .4byte gHealthboxSpriteIds - thumb_func_end sub_803AD64 - - thumb_func_start CompleteOnInactiveTextPrinter_5 -CompleteOnInactiveTextPrinter_5: @ 803ADD8 - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0803ADEA - bl RecordedOpponentBufferExecCompleted -_0803ADEA: - pop {r0} - bx r0 - thumb_func_end CompleteOnInactiveTextPrinter_5 - - thumb_func_start DoHitAnimBlinkSpriteEffect_4 -DoHitAnimBlinkSpriteEffect_4: @ 803ADF0 - push {r4,lr} - ldr r1, _0803AE2C @ =gBattlerSpriteIds - ldr r0, _0803AE30 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _0803AE34 @ =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 _0803AE3C - 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, _0803AE38 @ =gDoingBattleAnim - strb r3, [r0] - bl RecordedOpponentBufferExecCompleted - b _0803AE66 - .align 2, 0 -_0803AE2C: .4byte gBattlerSpriteIds -_0803AE30: .4byte gActiveBattler -_0803AE34: .4byte gSprites -_0803AE38: .4byte gDoingBattleAnim -_0803AE3C: - ldrh r0, [r4, 0x30] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0803AE60 - 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] -_0803AE60: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_0803AE66: - pop {r4} - pop {r0} - bx r0 - thumb_func_end DoHitAnimBlinkSpriteEffect_4 - - thumb_func_start sub_803AE6C -sub_803AE6C: @ 803AE6C - push {r4,lr} - ldr r2, _0803AEC0 @ =gSprites - ldr r0, _0803AEC4 @ =gHealthboxSpriteIds - ldr r4, _0803AEC8 @ =gActiveBattler - 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, _0803AECC @ =SpriteCallbackDummy - cmp r1, r0 - bne _0803AEB8 - ldr r0, _0803AED0 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803AEAC - adds r0, r3, 0 - adds r1, r3, 0 - adds r2, r3, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation -_0803AEAC: - ldr r0, _0803AED4 @ =gBattlerControllerFuncs - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _0803AED8 @ =sub_803AEDC - str r0, [r1] -_0803AEB8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803AEC0: .4byte gSprites -_0803AEC4: .4byte gHealthboxSpriteIds -_0803AEC8: .4byte gActiveBattler -_0803AECC: .4byte SpriteCallbackDummy -_0803AED0: .4byte gBattleSpritesDataPtr -_0803AED4: .4byte gBattlerControllerFuncs -_0803AED8: .4byte sub_803AEDC - thumb_func_end sub_803AE6C - - thumb_func_start sub_803AEDC -sub_803AEDC: @ 803AEDC - push {lr} - ldr r0, _0803AF18 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _0803AF1C @ =gActiveBattler - 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 _0803AF14 - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _0803AF14 - ldr r0, _0803AF20 @ =gMPlayInfo_BGM - ldr r1, _0803AF24 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - bl RecordedOpponentBufferExecCompleted -_0803AF14: - pop {r0} - bx r0 - .align 2, 0 -_0803AF18: .4byte gBattleSpritesDataPtr -_0803AF1C: .4byte gActiveBattler -_0803AF20: .4byte gMPlayInfo_BGM -_0803AF24: .4byte 0x0000ffff - thumb_func_end sub_803AEDC - - thumb_func_start sub_803AF28 -sub_803AF28: @ 803AF28 - push {r4,r5,lr} - ldr r3, _0803AFD4 @ =gBattleSpritesDataPtr - ldr r0, [r3] - ldr r5, _0803AFD8 @ =gActiveBattler - ldrb r1, [r5] - 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 _0803AFCC - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldr r0, [r3] - 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 r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1] - ldr r4, _0803AFDC @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldr r1, _0803AFE0 @ =gBattlerSpriteIds - ldrb r0, [r5] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803AFE4 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - ldr r4, _0803AFE8 @ =gHealthboxSpriteIds - ldrb r1, [r5] - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _0803AFEC @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0803AFF0 @ =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r5] - bl sub_804BD94 - ldrb r0, [r5] - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldrb r0, [r5] - bl CopyBattleSpriteInvisibility - ldr r1, _0803AFF4 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803AFF8 @ =sub_803AE6C - str r1, [r0] -_0803AFCC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803AFD4: .4byte gBattleSpritesDataPtr -_0803AFD8: .4byte gActiveBattler -_0803AFDC: .4byte 0x000027f9 -_0803AFE0: .4byte gBattlerSpriteIds -_0803AFE4: .4byte gSprites -_0803AFE8: .4byte gHealthboxSpriteIds -_0803AFEC: .4byte gBattlerPartyIndexes -_0803AFF0: .4byte gEnemyParty -_0803AFF4: .4byte gBattlerControllerFuncs -_0803AFF8: .4byte sub_803AE6C - thumb_func_end sub_803AF28 - - thumb_func_start sub_803AFFC -sub_803AFFC: @ 803AFFC - push {r4-r6,lr} - ldr r6, _0803B0A0 @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r5, _0803B0A4 @ =gActiveBattler - 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 _0803B02E - ldr r0, _0803B0A8 @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0803B0AC @ =gEnemyParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_0803B02E: - ldr r4, _0803B0B0 @ =gSprites - ldr r0, _0803B0B4 @ =gUnknown_3004FFC - 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, _0803B0B8 @ =SpriteCallbackDummy - cmp r1, r0 - bne _0803B098 - 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 _0803B098 - adds r0, r3, r4 - bl DestroySprite - ldrb r4, [r5] - ldr r1, _0803B0A8 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0803B0AC @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback - ldr r1, _0803B0BC @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803B0C0 @ =sub_803AF28 - str r1, [r0] -_0803B098: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803B0A0: .4byte gBattleSpritesDataPtr -_0803B0A4: .4byte gActiveBattler -_0803B0A8: .4byte gBattlerPartyIndexes -_0803B0AC: .4byte gEnemyParty -_0803B0B0: .4byte gSprites -_0803B0B4: .4byte gUnknown_3004FFC -_0803B0B8: .4byte SpriteCallbackDummy -_0803B0BC: .4byte gBattlerControllerFuncs -_0803B0C0: .4byte sub_803AF28 - thumb_func_end sub_803AFFC - - thumb_func_start CompleteOnFinishedStatusAnimation_5 -CompleteOnFinishedStatusAnimation_5: @ 803B0C4 - push {lr} - ldr r0, _0803B0EC @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _0803B0F0 @ =gActiveBattler - 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 _0803B0E6 - bl RecordedOpponentBufferExecCompleted -_0803B0E6: - pop {r0} - bx r0 - .align 2, 0 -_0803B0EC: .4byte gBattleSpritesDataPtr -_0803B0F0: .4byte gActiveBattler - thumb_func_end CompleteOnFinishedStatusAnimation_5 - - thumb_func_start CompleteOnFinishedBattleAnimation_5 -CompleteOnFinishedBattleAnimation_5: @ 803B0F4 - push {lr} - ldr r0, _0803B11C @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _0803B120 @ =gActiveBattler - 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 _0803B116 - bl RecordedOpponentBufferExecCompleted -_0803B116: - pop {r0} - bx r0 - .align 2, 0 -_0803B11C: .4byte gBattleSpritesDataPtr -_0803B120: .4byte gActiveBattler - thumb_func_end CompleteOnFinishedBattleAnimation_5 - - thumb_func_start RecordedOpponentBufferExecCompleted -RecordedOpponentBufferExecCompleted: @ 803B124 - push {r4,lr} - sub sp, 0x4 - ldr r1, _0803B164 @ =gBattlerControllerFuncs - ldr r4, _0803B168 @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803B16C @ =sub_803A684 - str r1, [r0] - ldr r0, _0803B170 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803B178 - bl GetMultiplayerId - mov r1, sp - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - mov r2, sp - bl PrepareBufferDataTransferLink - ldr r1, _0803B174 @ =gBattleBufferA - ldrb r0, [r4] - lsls r0, 9 - adds r0, r1 - movs r1, 0x38 - strb r1, [r0] - b _0803B18A - .align 2, 0 -_0803B164: .4byte gBattlerControllerFuncs -_0803B168: .4byte gActiveBattler -_0803B16C: .4byte sub_803A684 -_0803B170: .4byte gBattleTypeFlags -_0803B174: .4byte gBattleBufferA -_0803B178: - ldr r2, _0803B194 @ =gBattleControllerExecFlags - ldr r1, _0803B198 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] -_0803B18A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803B194: .4byte gBattleControllerExecFlags -_0803B198: .4byte gBitTable - thumb_func_end RecordedOpponentBufferExecCompleted - - thumb_func_start RecordedOpponentHandleGetMonData -RecordedOpponentHandleGetMonData: @ 803B19C - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _0803B1C8 @ =gBattleBufferA - ldr r0, _0803B1CC @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0803B1D4 - ldr r0, _0803B1D0 @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - mov r1, sp - bl CopyRecordedOpponentMonData - adds r6, r0, 0 - b _0803B1F6 - .align 2, 0 -_0803B1C8: .4byte gBattleBufferA -_0803B1CC: .4byte gActiveBattler -_0803B1D0: .4byte gBattlerPartyIndexes -_0803B1D4: - ldrb r4, [r1] - movs r5, 0 -_0803B1D8: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0803B1EE - lsls r0, r5, 24 - lsrs r0, 24 - mov r2, sp - adds r1, r2, r6 - bl CopyRecordedOpponentMonData - adds r6, r0 -_0803B1EE: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _0803B1D8 -_0803B1F6: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl BtlController_EmitDataTransfer - bl RecordedOpponentBufferExecCompleted - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end RecordedOpponentHandleGetMonData - - thumb_func_start CopyRecordedOpponentMonData -CopyRecordedOpponentMonData: @ 803B210 - 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, _0803B244 @ =gBattleBufferA - ldr r3, _0803B248 @ =gActiveBattler - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _0803B23A - bl _0803B9A6 -_0803B23A: - lsls r0, 2 - ldr r1, _0803B24C @ =_0803B250 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803B244: .4byte gBattleBufferA -_0803B248: .4byte gActiveBattler -_0803B24C: .4byte _0803B250 - .align 2, 0 -_0803B250: - .4byte _0803B340 - .4byte _0803B564 - .4byte _0803B574 - .4byte _0803B584 - .4byte _0803B5EC - .4byte _0803B5EC - .4byte _0803B5EC - .4byte _0803B5EC - .4byte _0803B608 - .4byte _0803B644 - .4byte _0803B644 - .4byte _0803B644 - .4byte _0803B644 - .4byte _0803B9A6 - .4byte _0803B9A6 - .4byte _0803B9A6 - .4byte _0803B9A6 - .4byte _0803B660 - .4byte _0803B670 - .4byte _0803B6A0 - .4byte _0803B6B0 - .4byte _0803B6C0 - .4byte _0803B6D0 - .4byte _0803B6E0 - .4byte _0803B6F0 - .4byte _0803B700 - .4byte _0803B710 - .4byte _0803B720 - .4byte _0803B730 - .4byte _0803B740 - .4byte _0803B750 - .4byte _0803B760 - .4byte _0803B7B0 - .4byte _0803B7C0 - .4byte _0803B7D0 - .4byte _0803B7E0 - .4byte _0803B7F0 - .4byte _0803B800 - .4byte _0803B810 - .4byte _0803B820 - .4byte _0803B830 - .4byte _0803B864 - .4byte _0803B874 - .4byte _0803B884 - .4byte _0803B894 - .4byte _0803B8A4 - .4byte _0803B8B4 - .4byte _0803B8C4 - .4byte _0803B8D4 - .4byte _0803B8F4 - .4byte _0803B904 - .4byte _0803B914 - .4byte _0803B924 - .4byte _0803B934 - .4byte _0803B944 - .4byte _0803B954 - .4byte _0803B964 - .4byte _0803B974 - .4byte _0803B984 - .4byte _0803B994 -_0803B340: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803B554 @ =gEnemyParty - 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 -_0803B38C: - 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 _0803B38C - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803B554 @ =gEnemyParty - 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, _0803B558 @ =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, _0803B55C @ =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, _0803B560 @ =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 -_0803B544: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _0803B544 - b _0803B9A6 - .align 2, 0 -_0803B554: .4byte gEnemyParty -_0803B558: .4byte 0xfffffc1f -_0803B55C: .4byte 0xfff07fff -_0803B560: .4byte 0xfffffe0f -_0803B564: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B570 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - b _0803B8DE - .align 2, 0 -_0803B570: .4byte gEnemyParty -_0803B574: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B580 @ =gEnemyParty - adds r0, r1 - movs r1, 0xC - b _0803B8DE - .align 2, 0 -_0803B580: .4byte gEnemyParty -_0803B584: - 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, _0803B5E8 @ =gEnemyParty - adds r4, r1, r0 - mov r8, r9 -_0803B59A: - 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 _0803B59A - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B5E8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_0803B5D8: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _0803B5D8 - b _0803B9A6 - .align 2, 0 -_0803B5E8: .4byte gEnemyParty -_0803B5EC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B604 @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _0803B8DE - .align 2, 0 -_0803B604: .4byte gEnemyParty -_0803B608: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _0803B640 @ =gEnemyParty - mov r8, r2 -_0803B614: - 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 _0803B614 - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B640 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _0803B9A6 - .align 2, 0 -_0803B640: .4byte gEnemyParty -_0803B644: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B65C @ =gEnemyParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _0803B99E - .align 2, 0 -_0803B65C: .4byte gEnemyParty -_0803B660: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B66C @ =gEnemyParty - adds r0, r1 - movs r1, 0x1 - b _0803B67A - .align 2, 0 -_0803B66C: .4byte gEnemyParty -_0803B670: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B69C @ =gEnemyParty - adds r0, r1 - movs r1, 0x19 -_0803B67A: - 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 _0803B9A6 - .align 2, 0 -_0803B69C: .4byte gEnemyParty -_0803B6A0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B6AC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1A - b _0803B99E - .align 2, 0 -_0803B6AC: .4byte gEnemyParty -_0803B6B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B6BC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1B - b _0803B99E - .align 2, 0 -_0803B6BC: .4byte gEnemyParty -_0803B6C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B6CC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1C - b _0803B99E - .align 2, 0 -_0803B6CC: .4byte gEnemyParty -_0803B6D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B6DC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1D - b _0803B99E - .align 2, 0 -_0803B6DC: .4byte gEnemyParty -_0803B6E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B6EC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1E - b _0803B99E - .align 2, 0 -_0803B6EC: .4byte gEnemyParty -_0803B6F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B6FC @ =gEnemyParty - adds r0, r1 - movs r1, 0x1F - b _0803B99E - .align 2, 0 -_0803B6FC: .4byte gEnemyParty -_0803B700: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B70C @ =gEnemyParty - adds r0, r1 - movs r1, 0x20 - b _0803B99E - .align 2, 0 -_0803B70C: .4byte gEnemyParty -_0803B710: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B71C @ =gEnemyParty - adds r0, r1 - movs r1, 0x22 - b _0803B99E - .align 2, 0 -_0803B71C: .4byte gEnemyParty -_0803B720: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B72C @ =gEnemyParty - adds r0, r1 - movs r1, 0x23 - b _0803B99E - .align 2, 0 -_0803B72C: .4byte gEnemyParty -_0803B730: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B73C @ =gEnemyParty - adds r0, r1 - movs r1, 0x24 - b _0803B99E - .align 2, 0 -_0803B73C: .4byte gEnemyParty -_0803B740: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B74C @ =gEnemyParty - adds r0, r1 - movs r1, 0x25 - b _0803B99E - .align 2, 0 -_0803B74C: .4byte gEnemyParty -_0803B750: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B75C @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - b _0803B99E - .align 2, 0 -_0803B75C: .4byte gEnemyParty -_0803B760: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803B7AC @ =gEnemyParty - 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 _0803B9A6 - .align 2, 0 -_0803B7AC: .4byte gEnemyParty -_0803B7B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B7BC @ =gEnemyParty - adds r0, r1 - movs r1, 0x27 - b _0803B99E - .align 2, 0 -_0803B7BC: .4byte gEnemyParty -_0803B7C0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B7CC @ =gEnemyParty - adds r0, r1 - movs r1, 0x28 - b _0803B99E - .align 2, 0 -_0803B7CC: .4byte gEnemyParty -_0803B7D0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B7DC @ =gEnemyParty - adds r0, r1 - movs r1, 0x29 - b _0803B99E - .align 2, 0 -_0803B7DC: .4byte gEnemyParty -_0803B7E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B7EC @ =gEnemyParty - adds r0, r1 - movs r1, 0x2A - b _0803B99E - .align 2, 0 -_0803B7EC: .4byte gEnemyParty -_0803B7F0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B7FC @ =gEnemyParty - adds r0, r1 - movs r1, 0x2B - b _0803B99E - .align 2, 0 -_0803B7FC: .4byte gEnemyParty -_0803B800: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B80C @ =gEnemyParty - adds r0, r1 - movs r1, 0x2C - b _0803B99E - .align 2, 0 -_0803B80C: .4byte gEnemyParty -_0803B810: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B81C @ =gEnemyParty - adds r0, r1 - movs r1, 0 - b _0803B83A - .align 2, 0 -_0803B81C: .4byte gEnemyParty -_0803B820: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B82C @ =gEnemyParty - adds r0, r1 - movs r1, 0x9 - b _0803B8DE - .align 2, 0 -_0803B82C: .4byte gEnemyParty -_0803B830: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B860 @ =gEnemyParty - adds r0, r1 - movs r1, 0x37 -_0803B83A: - 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 _0803B9A6 - .align 2, 0 -_0803B860: .4byte gEnemyParty -_0803B864: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B870 @ =gEnemyParty - adds r0, r1 - movs r1, 0x38 - b _0803B99E - .align 2, 0 -_0803B870: .4byte gEnemyParty -_0803B874: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B880 @ =gEnemyParty - adds r0, r1 - movs r1, 0x39 - b _0803B8DE - .align 2, 0 -_0803B880: .4byte gEnemyParty -_0803B884: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B890 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - b _0803B8DE - .align 2, 0 -_0803B890: .4byte gEnemyParty -_0803B894: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B8A0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3B - b _0803B8DE - .align 2, 0 -_0803B8A0: .4byte gEnemyParty -_0803B8A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B8B0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3C - b _0803B8DE - .align 2, 0 -_0803B8B0: .4byte gEnemyParty -_0803B8B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B8C0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3D - b _0803B8DE - .align 2, 0 -_0803B8C0: .4byte gEnemyParty -_0803B8C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B8D0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3E - b _0803B8DE - .align 2, 0 -_0803B8D0: .4byte gEnemyParty -_0803B8D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B8F0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3F -_0803B8DE: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _0803B9A6 - .align 2, 0 -_0803B8F0: .4byte gEnemyParty -_0803B8F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B900 @ =gEnemyParty - adds r0, r1 - movs r1, 0x16 - b _0803B99E - .align 2, 0 -_0803B900: .4byte gEnemyParty -_0803B904: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B910 @ =gEnemyParty - adds r0, r1 - movs r1, 0x17 - b _0803B99E - .align 2, 0 -_0803B910: .4byte gEnemyParty -_0803B914: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B920 @ =gEnemyParty - adds r0, r1 - movs r1, 0x18 - b _0803B99E - .align 2, 0 -_0803B920: .4byte gEnemyParty -_0803B924: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B930 @ =gEnemyParty - adds r0, r1 - movs r1, 0x21 - b _0803B99E - .align 2, 0 -_0803B930: .4byte gEnemyParty -_0803B934: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B940 @ =gEnemyParty - adds r0, r1 - movs r1, 0x2F - b _0803B99E - .align 2, 0 -_0803B940: .4byte gEnemyParty -_0803B944: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B950 @ =gEnemyParty - adds r0, r1 - movs r1, 0x30 - b _0803B99E - .align 2, 0 -_0803B950: .4byte gEnemyParty -_0803B954: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B960 @ =gEnemyParty - adds r0, r1 - movs r1, 0x32 - b _0803B99E - .align 2, 0 -_0803B960: .4byte gEnemyParty -_0803B964: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B970 @ =gEnemyParty - adds r0, r1 - movs r1, 0x33 - b _0803B99E - .align 2, 0 -_0803B970: .4byte gEnemyParty -_0803B974: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B980 @ =gEnemyParty - adds r0, r1 - movs r1, 0x34 - b _0803B99E - .align 2, 0 -_0803B980: .4byte gEnemyParty -_0803B984: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B990 @ =gEnemyParty - adds r0, r1 - movs r1, 0x35 - b _0803B99E - .align 2, 0 -_0803B990: .4byte gEnemyParty -_0803B994: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803B9B8 @ =gEnemyParty - adds r0, r1 - movs r1, 0x36 -_0803B99E: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_0803B9A6: - 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 - .align 2, 0 -_0803B9B8: .4byte gEnemyParty - thumb_func_end CopyRecordedOpponentMonData - - thumb_func_start sub_803B9BC -sub_803B9BC: @ 803B9BC - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803B9BC - - thumb_func_start RecordedOpponentHandleSetMonData -RecordedOpponentHandleSetMonData: @ 803B9C8 - push {r4,r5,lr} - ldr r1, _0803B9EC @ =gBattleBufferA - ldr r0, _0803B9F0 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _0803B9F8 - ldr r0, _0803B9F4 @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl SetRecordedOpponentMonData - b _0803BA16 - .align 2, 0 -_0803B9EC: .4byte gBattleBufferA -_0803B9F0: .4byte gActiveBattler -_0803B9F4: .4byte gBattlerPartyIndexes -_0803B9F8: - ldrb r4, [r1] - movs r5, 0 -_0803B9FC: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0803BA0A - adds r0, r5, 0 - bl SetRecordedOpponentMonData -_0803BA0A: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0803B9FC -_0803BA16: - bl RecordedOpponentBufferExecCompleted - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end RecordedOpponentHandleSetMonData - - thumb_func_start SetRecordedOpponentMonData -SetRecordedOpponentMonData: @ 803BA20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x38 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r3, _0803BA58 @ =gActiveBattler - ldrb r0, [r3] - lsls r0, 9 - ldr r2, _0803BA5C @ =gUnknown_2022BC7 - adds r4, r0, r2 - adds r7, r4, 0 - subs r1, r2, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r6, r3, 0 - adds r3, r2, 0 - cmp r0, 0x3B - bls _0803BA4E - bl _0803C32C -_0803BA4E: - lsls r0, 2 - ldr r1, _0803BA60 @ =_0803BA64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803BA58: .4byte gActiveBattler -_0803BA5C: .4byte gUnknown_2022BC7 -_0803BA60: .4byte _0803BA64 - .align 2, 0 -_0803BA64: - .4byte _0803BB54 - .4byte _0803BCEC - .4byte _0803BD08 - .4byte _0803BD24 - .4byte _0803BD78 - .4byte _0803BD78 - .4byte _0803BD78 - .4byte _0803BD78 - .4byte _0803BD98 - .4byte _0803BE00 - .4byte _0803BE00 - .4byte _0803BE00 - .4byte _0803BE00 - .4byte _0803C32C - .4byte _0803C32C - .4byte _0803C32C - .4byte _0803C32C - .4byte _0803BE28 - .4byte _0803BE44 - .4byte _0803BE60 - .4byte _0803BE7C - .4byte _0803BE98 - .4byte _0803BEB4 - .4byte _0803BED0 - .4byte _0803BEEC - .4byte _0803BF08 - .4byte _0803BF24 - .4byte _0803BF40 - .4byte _0803BF5C - .4byte _0803BF78 - .4byte _0803BF94 - .4byte _0803BFB0 - .4byte _0803C024 - .4byte _0803C040 - .4byte _0803C05C - .4byte _0803C078 - .4byte _0803C094 - .4byte _0803C0B0 - .4byte _0803C0CC - .4byte _0803C0E8 - .4byte _0803C104 - .4byte _0803C120 - .4byte _0803C13C - .4byte _0803C158 - .4byte _0803C174 - .4byte _0803C190 - .4byte _0803C1AC - .4byte _0803C1C8 - .4byte _0803C1E4 - .4byte _0803C200 - .4byte _0803C21C - .4byte _0803C238 - .4byte _0803C254 - .4byte _0803C270 - .4byte _0803C28C - .4byte _0803C2A8 - .4byte _0803C2C4 - .4byte _0803C2E0 - .4byte _0803C2FC - .4byte _0803C318 -_0803BB54: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803BCE8 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - adds r2, r7, 0 - bl SetMonData - adds r2, r7, 0 - adds r2, 0x2E - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - movs r0, 0 - mov r8, r0 - movs r0, 0x3B - adds r0, r7 - mov r10, r0 - adds r0, r7, 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, r7, 0x2 - str r0, [sp, 0x4] - adds r0, r7, 0x4 - str r0, [sp, 0x8] - adds r0, r7, 0x6 - str r0, [sp, 0xC] - adds r0, 0x2 - str r0, [sp, 0x10] - adds r0, 0x2 - str r0, [sp, 0x14] - mov r9, r4 - adds r6, r7, 0 - adds r6, 0x24 - adds r4, r7, 0 - adds r4, 0xC -_0803BBBA: - 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, r6, 0 - bl SetMonData - adds r6, 0x1 - adds r4, 0x2 - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x3 - ble _0803BBBA - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803BCE8 @ =gEnemyParty - 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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, [r7, 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 _0803C32C - .align 2, 0 -_0803BCE8: .4byte gEnemyParty -_0803BCEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BD04 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xB - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BD04: .4byte gEnemyParty -_0803BD08: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BD20 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0xC - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BD20: .4byte gEnemyParty -_0803BD24: - movs r0, 0 - mov r8, r0 - movs r0, 0xC - adds r0, r4 - mov r9, r0 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0803BD74 @ =gEnemyParty - adds r7, r1, r0 - adds r6, r4, 0 - adds r6, 0x8 -_0803BD3C: - 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 _0803BD3C - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BD74 @ =gEnemyParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BD74: .4byte gEnemyParty -_0803BD78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BD90 @ =gEnemyParty - adds r0, r1 - ldr r3, _0803BD94 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _0803BE16 - .align 2, 0 -_0803BD90: .4byte gEnemyParty -_0803BD94: .4byte gBattleBufferA -_0803BD98: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803BDFC @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x11 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x12 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x13 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x14 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x15 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BDFC: .4byte gEnemyParty -_0803BE00: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BE20 @ =gEnemyParty - adds r0, r1 - ldr r3, _0803BE24 @ =gBattleBufferA - ldrb r2, [r6] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_0803BE16: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BE20: .4byte gEnemyParty -_0803BE24: .4byte gBattleBufferA -_0803BE28: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BE40 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BE40: .4byte gEnemyParty -_0803BE44: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BE5C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x19 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BE5C: .4byte gEnemyParty -_0803BE60: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BE78 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1A - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BE78: .4byte gEnemyParty -_0803BE7C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BE94 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1B - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BE94: .4byte gEnemyParty -_0803BE98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BEB0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1C - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BEB0: .4byte gEnemyParty -_0803BEB4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BECC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1D - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BECC: .4byte gEnemyParty -_0803BED0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BEE8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1E - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BEE8: .4byte gEnemyParty -_0803BEEC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BF04 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x1F - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BF04: .4byte gEnemyParty -_0803BF08: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BF20 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x20 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BF20: .4byte gEnemyParty -_0803BF24: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BF3C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x22 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BF3C: .4byte gEnemyParty -_0803BF40: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BF58 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x23 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BF58: .4byte gEnemyParty -_0803BF5C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BF74 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x24 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BF74: .4byte gEnemyParty -_0803BF78: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BF90 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x25 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BF90: .4byte gEnemyParty -_0803BF94: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803BFAC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x26 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803BFAC: .4byte gEnemyParty -_0803BFB0: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _0803C020 @ =gEnemyParty - adds r4, r0 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - adds r0, r4, 0 - movs r1, 0x27 - str r3, [sp, 0x34] - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x1 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x28 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x2 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x29 - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x3 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2A - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x4 - adds r2, r0 - adds r0, r4, 0 - movs r1, 0x2B - bl SetMonData - ldrb r2, [r6] - lsls r2, 9 - ldr r3, [sp, 0x34] - adds r0, r3, 0x5 - adds r2, r0 - adds r0, r4, 0 - b _0803C0BE - .align 2, 0 -_0803C020: .4byte gEnemyParty -_0803C024: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C03C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x27 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C03C: .4byte gEnemyParty -_0803C040: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C058 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x28 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C058: .4byte gEnemyParty -_0803C05C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C074 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x29 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C074: .4byte gEnemyParty -_0803C078: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C090 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2A - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C090: .4byte gEnemyParty -_0803C094: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C0AC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2B - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C0AC: .4byte gEnemyParty -_0803C0B0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C0C8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 -_0803C0BE: - movs r1, 0x2C - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C0C8: .4byte gEnemyParty -_0803C0CC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C0E4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C0E4: .4byte gEnemyParty -_0803C0E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C100 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x9 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C100: .4byte gEnemyParty -_0803C104: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C11C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x37 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C11C: .4byte gEnemyParty -_0803C120: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C138 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x38 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C138: .4byte gEnemyParty -_0803C13C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C154 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x39 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C154: .4byte gEnemyParty -_0803C158: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C170 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3A - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C170: .4byte gEnemyParty -_0803C174: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C18C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3B - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C18C: .4byte gEnemyParty -_0803C190: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C1A8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3C - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C1A8: .4byte gEnemyParty -_0803C1AC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C1C4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3D - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C1C4: .4byte gEnemyParty -_0803C1C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C1E0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3E - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C1E0: .4byte gEnemyParty -_0803C1E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C1FC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x3F - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C1FC: .4byte gEnemyParty -_0803C200: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C218 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x16 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C218: .4byte gEnemyParty -_0803C21C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C234 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x17 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C234: .4byte gEnemyParty -_0803C238: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C250 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x18 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C250: .4byte gEnemyParty -_0803C254: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C26C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x21 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C26C: .4byte gEnemyParty -_0803C270: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C288 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x2F - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C288: .4byte gEnemyParty -_0803C28C: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C2A4 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x30 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C2A4: .4byte gEnemyParty -_0803C2A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C2C0 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x32 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C2C0: .4byte gEnemyParty -_0803C2C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C2DC @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x33 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C2DC: .4byte gEnemyParty -_0803C2E0: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C2F8 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x34 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C2F8: .4byte gEnemyParty -_0803C2FC: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C314 @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x35 - bl SetMonData - b _0803C32C - .align 2, 0 -_0803C314: .4byte gEnemyParty -_0803C318: - movs r0, 0x64 - muls r0, r5 - ldr r1, _0803C33C @ =gEnemyParty - adds r0, r1 - ldrb r2, [r6] - lsls r2, 9 - adds r2, r3 - movs r1, 0x36 - bl SetMonData -_0803C32C: - add sp, 0x38 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803C33C: .4byte gEnemyParty - thumb_func_end SetRecordedOpponentMonData - - thumb_func_start RecordedOpponentHandleSetRawMonData -RecordedOpponentHandleSetRawMonData: @ 803C340 - push {r4-r7,lr} - ldr r1, _0803C3A4 @ =gBattlerPartyIndexes - ldr r7, _0803C3A8 @ =gActiveBattler - 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, _0803C3AC @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _0803C3B0 @ =gEnemyParty - adds r0, r1 - adds r5, r3, r0 - movs r3, 0 - adds r0, r4, 0x2 - adds r2, r0 - ldrb r2, [r2] - cmp r3, r2 - bcs _0803C398 - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_0803C376: - 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 _0803C376 -_0803C398: - bl RecordedOpponentBufferExecCompleted - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803C3A4: .4byte gBattlerPartyIndexes -_0803C3A8: .4byte gActiveBattler -_0803C3AC: .4byte gBattleBufferA -_0803C3B0: .4byte gEnemyParty - thumb_func_end RecordedOpponentHandleSetRawMonData - - thumb_func_start LinkOpponentHandleLoadPokeSprite -LinkOpponentHandleLoadPokeSprite: @ 803C3B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, _0803C4DC @ =gBattlerPartyIndexes - ldr r6, _0803C4E0 @ =gActiveBattler - ldrb r0, [r6] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r1, 0x64 - mov r10, r1 - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - ldr r1, _0803C4E4 @ =gEnemyParty - mov r9, r1 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r7 - ldrh r0, [r0] - mov r2, r10 - muls r2, r0 - adds r0, r2, 0 - add r0, r9 - bl BattleLoadOpponentMonSpriteGfx - ldrb r0, [r6] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, _0803C4E8 @ =gMultiuseSpriteTemplate - mov r8, r0 - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r6] - bl GetBattlerSpriteDefault_Y - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6] - bl GetBattlerSpriteSubpriority - 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, _0803C4EC @ =gBattlerSpriteIds - ldrb r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r5, _0803C4F0 @ =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, _0803C4F4 @ =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, _0803C4F8 @ =gBattleMonForms - adds r2, r1 - ldrb r1, [r2] - bl StartSpriteAnim - ldrb r4, [r6] - lsls r0, r4, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r10 - muls r1, r0 - adds r0, r1, 0 - add r0, r9 - movs r1, 0xB - bl GetMonData - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl SetBattlerShadowSpriteCallback - ldr r1, _0803C4FC @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803C500 @ =sub_803AC14 - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803C4DC: .4byte gBattlerPartyIndexes -_0803C4E0: .4byte gActiveBattler -_0803C4E4: .4byte gEnemyParty -_0803C4E8: .4byte gMultiuseSpriteTemplate -_0803C4EC: .4byte gBattlerSpriteIds -_0803C4F0: .4byte gSprites -_0803C4F4: .4byte 0x0000ff10 -_0803C4F8: .4byte gBattleMonForms -_0803C4FC: .4byte gBattlerControllerFuncs -_0803C500: .4byte sub_803AC14 - thumb_func_end LinkOpponentHandleLoadPokeSprite - - thumb_func_start LinkOpponentHandleSendOutPoke -LinkOpponentHandleSendOutPoke: @ 803C504 - push {r4,lr} - ldr r1, _0803C53C @ =gBattlerPartyIndexes - ldr r4, _0803C540 @ =gActiveBattler - ldrb r0, [r4] - lsls r2, r0, 1 - adds r2, r1 - ldr r3, _0803C544 @ =gBattleBufferA - lsls r0, 9 - adds r1, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2] - ldrb r0, [r4] - lsls r1, r0, 9 - adds r3, 0x2 - adds r1, r3 - ldrb r1, [r1] - bl sub_803C550 - ldr r1, _0803C548 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803C54C @ =sub_803AFFC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803C53C: .4byte gBattlerPartyIndexes -_0803C540: .4byte gActiveBattler -_0803C544: .4byte gBattleBufferA -_0803C548: .4byte gBattlerControllerFuncs -_0803C54C: .4byte sub_803AFFC - thumb_func_end LinkOpponentHandleSendOutPoke - - thumb_func_start sub_803C550 -sub_803C550: @ 803C550 - 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 ClearTemporarySpeciesSpriteData - ldr r0, _0803C6AC @ =gBattlerPartyIndexes - lsls r4, r6, 1 - adds r4, r0 - ldr r0, _0803C6B0 @ =gBattleBufferA - lsls r1, r6, 9 - adds r0, 0x1 - adds r1, r0 - ldrb r0, [r1] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0x64 - mov r9, r1 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - ldr r5, _0803C6B4 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _0803C6B8 @ =sub_8033E3C - bl CreateInvisibleSpriteWithCallback - ldr r1, _0803C6BC @ =gUnknown_3004FFC - mov r10, r1 - add r10, r6 - mov r1, r10 - strb r0, [r1] - ldrh r0, [r4] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - adds r0, r5 - adds r1, r6, 0 - bl BattleLoadOpponentMonSpriteGfx - adds r0, r6, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, _0803C6C0 @ =gMultiuseSpriteTemplate - mov r9, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl GetBattlerSpriteDefault_Y - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl GetBattlerSpriteSubpriority - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - mov r0, r9 - adds r1, r5, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r4, _0803C6C4 @ =gBattlerSpriteIds - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _0803C6C8 @ =gSprites - mov r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r4] - strh r1, [r0, 0x30] - 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, _0803C6CC @ =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, _0803C6D0 @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFE - bl DoPokeballSendOutAnimation - mov r1, r10 - 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 - .align 2, 0 -_0803C6AC: .4byte gBattlerPartyIndexes -_0803C6B0: .4byte gBattleBufferA -_0803C6B4: .4byte gEnemyParty -_0803C6B8: .4byte sub_8033E3C -_0803C6BC: .4byte gUnknown_3004FFC -_0803C6C0: .4byte gMultiuseSpriteTemplate -_0803C6C4: .4byte gBattlerSpriteIds -_0803C6C8: .4byte gSprites -_0803C6CC: .4byte gBattleMonForms -_0803C6D0: .4byte SpriteCallbackDummy - thumb_func_end sub_803C550 - - thumb_func_start LinkOpponentHandleReturnPokeToBall -LinkOpponentHandleReturnPokeToBall: @ 803C6D4 - push {r4-r6,lr} - ldr r1, _0803C708 @ =gBattleBufferA - ldr r6, _0803C70C @ =gActiveBattler - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _0803C71C - ldr r0, _0803C710 @ =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, _0803C714 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803C718 @ =sub_803C76C - str r1, [r0] - b _0803C758 - .align 2, 0 -_0803C708: .4byte gBattleBufferA -_0803C70C: .4byte gActiveBattler -_0803C710: .4byte gBattleSpritesDataPtr -_0803C714: .4byte gBattlerControllerFuncs -_0803C718: .4byte sub_803C76C -_0803C71C: - ldr r5, _0803C760 @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0803C764 @ =gSprites - adds r0, r4 - bl FreeSpriteOamMatrix - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldrb r0, [r6] - bl HideBattlerShadowSprite - ldr r1, _0803C768 @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl RecordedOpponentBufferExecCompleted -_0803C758: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803C760: .4byte gBattlerSpriteIds -_0803C764: .4byte gSprites -_0803C768: .4byte gHealthboxSpriteIds - thumb_func_end LinkOpponentHandleReturnPokeToBall - - thumb_func_start sub_803C76C -sub_803C76C: @ 803C76C - push {r4-r6,lr} - ldr r6, _0803C78C @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _0803C790 @ =gActiveBattler - 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 _0803C794 - cmp r0, 0x1 - beq _0803C7C2 - b _0803C7EA - .align 2, 0 -_0803C78C: .4byte gBattleSpritesDataPtr -_0803C790: .4byte gActiveBattler -_0803C794: - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803C7AE - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_0803C7AE: - 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 _0803C7EA -_0803C7C2: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0803C7EA - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x2 - bl InitAndLaunchSpecialAnimation - ldr r1, _0803C7F0 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803C7F4 @ =sub_803AD64 - str r1, [r0] -_0803C7EA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803C7F0: .4byte gBattlerControllerFuncs -_0803C7F4: .4byte sub_803AD64 - thumb_func_end sub_803C76C - - thumb_func_start sub_803C7F8 -sub_803C7F8: @ 803C7F8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0803C884 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803C8C0 - ldr r6, _0803C888 @ =gActiveBattler - ldrb r0, [r6] - bl GetBattlerPosition - movs r1, 0x2 - ands r1, r0 - movs r7, 0xC8 - cmp r1, 0 - beq _0803C820 - movs r7, 0x98 -_0803C820: - ldrb r0, [r6] - bl GetBankMultiplayerId - ldr r5, _0803C88C @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - movs r4, 0xFF - ldrb r0, [r1] - cmp r0, 0x2 - beq _0803C866 - ldrb r0, [r6] - bl GetBankMultiplayerId - 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, 0x1 - beq _0803C866 - ldrb r0, [r6] - bl GetBankMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r1] - ands r4, r0 - cmp r4, 0x3 - bne _0803C8A0 -_0803C866: - ldr r4, _0803C88C @ =gLinkPlayers - ldr r0, _0803C888 @ =gActiveBattler - ldrb r0, [r0] - bl GetBankMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _0803C894 - ldr r0, _0803C890 @ =gFacilityClassToPicIndex - adds r0, 0x3D - b _0803C990 - .align 2, 0 -_0803C884: .4byte gBattleTypeFlags -_0803C888: .4byte gActiveBattler -_0803C88C: .4byte gLinkPlayers -_0803C890: .4byte gFacilityClassToPicIndex -_0803C894: - ldr r0, _0803C89C @ =gFacilityClassToPicIndex - adds r0, 0x3A - b _0803C990 - .align 2, 0 -_0803C89C: .4byte gFacilityClassToPicIndex -_0803C8A0: - ldrb r0, [r6] - bl GetBankMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _0803C98C - ldr r0, _0803C8BC @ =gFacilityClassToPicIndex - adds r0, 0x87 - b _0803C990 - .align 2, 0 -_0803C8BC: .4byte gFacilityClassToPicIndex -_0803C8C0: - movs r7, 0xB0 - ldr r0, _0803C8D8 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0xC0 - lsls r0, 4 - cmp r1, r0 - bne _0803C8DC - bl sub_80447AC - lsls r0, 16 - lsrs r0, 16 - b _0803C992 - .align 2, 0 -_0803C8D8: .4byte gTrainerBattleOpponent_A -_0803C8DC: - bl GetMultiplayerId - ldr r6, _0803C954 @ =gLinkPlayers - movs r5, 0x1 - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - movs r4, 0xFF - ldrb r0, [r1] - cmp r0, 0x2 - beq _0803C930 - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r1, [r1] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0x1 - beq _0803C930 - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r1] - ands r4, r0 - cmp r4, 0x3 - bne _0803C968 -_0803C930: - ldr r4, _0803C954 @ =gLinkPlayers - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _0803C95C - ldr r0, _0803C958 @ =gFacilityClassToPicIndex - adds r0, 0x3D - b _0803C990 - .align 2, 0 -_0803C954: .4byte gLinkPlayers -_0803C958: .4byte gFacilityClassToPicIndex -_0803C95C: - ldr r0, _0803C964 @ =gFacilityClassToPicIndex - adds r0, 0x3A - b _0803C990 - .align 2, 0 -_0803C964: .4byte gFacilityClassToPicIndex -_0803C968: - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _0803C98C - ldr r0, _0803C988 @ =gFacilityClassToPicIndex - adds r0, 0x87 - b _0803C990 - .align 2, 0 -_0803C988: .4byte gFacilityClassToPicIndex -_0803C98C: - ldr r0, _0803CAC8 @ =gFacilityClassToPicIndex - adds r0, 0x86 -_0803C990: - ldrb r0, [r0] -_0803C992: - mov r9, r0 - ldr r0, _0803CACC @ =gActiveBattler - mov r8, r0 - ldrb r1, [r0] - mov r0, r9 - bl DecompressTrainerFrontPic - mov r1, r8 - ldrb r0, [r1] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r9 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r5, _0803CAD0 @ =gMultiuseSpriteTemplate - adds r6, r7, 0 - ldr r1, _0803CAD4 @ =gTrainerFrontPicCoords - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrb r0, [r0] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 14 - adds r4, r0 - asrs r4, 16 - mov r1, r8 - ldrb r0, [r1] - bl GetBattlerSpriteSubpriority - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r4, 0 - bl CreateSprite - ldr r5, _0803CAD8 @ =gBattlerSpriteIds - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - strb r0, [r1] - ldr r4, _0803CADC @ =gSprites - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, _0803CAE0 @ =0x0000ff10 - strh r1, [r0, 0x24] - ldrb r0, [r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldr r0, _0803CAE4 @ =gTrainerFrontPicPaletteTable - mov r1, r9 - lsls r6, r1, 3 - adds r0, r6, r0 - ldrh r0, [r0, 0x4] - bl IndexOfSpritePaletteTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r1, [r1] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r4 - lsls r0, 4 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0x5] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x4] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r1, 0x38] - ldr r0, _0803CAE8 @ =gTrainerFrontPicTable - adds r6, r0 - ldrh r0, [r6, 0x6] - bl GetSpriteTileStartByTag - mov r2, r8 - ldrb r1, [r2] - adds r1, r5 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldr r2, _0803CAEC @ =0x000003ff - ands r2, r0 - ldrh r3, [r1, 0x4] - ldr r0, _0803CAF0 @ =0xfffffc00 - ands r0, r3 - orrs r0, r2 - strh r0, [r1, 0x4] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r9 - strh r2, [r0, 0x6] - mov r1, r8 - ldrb r0, [r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, 0x1C - adds r0, r4 - ldr r1, _0803CAF4 @ =sub_8033EEC - str r1, [r0] - ldr r1, _0803CAF8 @ =gBattlerControllerFuncs - mov r2, r8 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803CAFC @ =sub_803A6D4 - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803CAC8: .4byte gFacilityClassToPicIndex -_0803CACC: .4byte gActiveBattler -_0803CAD0: .4byte gMultiuseSpriteTemplate -_0803CAD4: .4byte gTrainerFrontPicCoords -_0803CAD8: .4byte gBattlerSpriteIds -_0803CADC: .4byte gSprites -_0803CAE0: .4byte 0x0000ff10 -_0803CAE4: .4byte gTrainerFrontPicPaletteTable -_0803CAE8: .4byte gTrainerFrontPicTable -_0803CAEC: .4byte 0x000003ff -_0803CAF0: .4byte 0xfffffc00 -_0803CAF4: .4byte sub_8033EEC -_0803CAF8: .4byte gBattlerControllerFuncs -_0803CAFC: .4byte sub_803A6D4 - thumb_func_end sub_803C7F8 - - thumb_func_start sub_803CB00 -sub_803CB00: @ 803CB00 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CB00 - - thumb_func_start sub_803CB0C -sub_803CB0C: @ 803CB0C - push {r4-r6,lr} - ldr r6, _0803CB9C @ =gBattlerSpriteIds - ldr r4, _0803CBA0 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0803CBA4 @ =gSprites - adds r0, r5 - bl SetSpritePrimaryCoordsFromSecondaryCoords - 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 - movs r1, 0x8C - lsls r1, 1 - 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, _0803CBA8 @ =StartAnimLinearTranslation - 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, _0803CBAC @ =SpriteCallbackDummy - bl StoreSpriteCallbackInData6 - ldr r1, _0803CBB0 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803CBB4 @ =sub_803A70C - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803CB9C: .4byte gBattlerSpriteIds -_0803CBA0: .4byte gActiveBattler -_0803CBA4: .4byte gSprites -_0803CBA8: .4byte StartAnimLinearTranslation -_0803CBAC: .4byte SpriteCallbackDummy -_0803CBB0: .4byte gBattlerControllerFuncs -_0803CBB4: .4byte sub_803A70C - thumb_func_end sub_803CB0C - - thumb_func_start sub_803CBB8 -sub_803CBB8: @ 803CBB8 - push {r4-r6,lr} - ldr r6, _0803CC04 @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _0803CC08 @ =gActiveBattler - 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 _0803CC0C - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803CBEC - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_0803CBEC: - 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 _0803CC48 - .align 2, 0 -_0803CC04: .4byte gBattleSpritesDataPtr -_0803CC08: .4byte gActiveBattler -_0803CC0C: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0803CC48 - strb r0, [r3, 0x4] - movs r0, 0x10 - movs r1, 0x3F - bl PlaySE12WithPanning - ldr r2, _0803CC50 @ =gSprites - ldr r1, _0803CC54 @ =gBattlerSpriteIds - 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, _0803CC58 @ =SpriteCB_FaintOpponentMon - str r1, [r0] - ldr r1, _0803CC5C @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803CC60 @ =sub_803AD20 - str r1, [r0] -_0803CC48: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803CC50: .4byte gSprites -_0803CC54: .4byte gBattlerSpriteIds -_0803CC58: .4byte SpriteCB_FaintOpponentMon -_0803CC5C: .4byte gBattlerControllerFuncs -_0803CC60: .4byte sub_803AD20 - thumb_func_end sub_803CBB8 - - thumb_func_start sub_803CC64 -sub_803CC64: @ 803CC64 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CC64 - - thumb_func_start sub_803CC70 -sub_803CC70: @ 803CC70 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CC70 - - thumb_func_start sub_803CC7C -sub_803CC7C: @ 803CC7C - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CC7C - - thumb_func_start sub_803CC88 -sub_803CC88: @ 803CC88 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CC88 - - thumb_func_start RecordedOpponentHandleMoveAnimation -RecordedOpponentHandleMoveAnimation: @ 803CC94 - push {r4-r6,lr} - ldr r6, _0803CD78 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _0803CCA6 - b _0803CDBA -_0803CCA6: - ldr r0, _0803CD7C @ =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, _0803CD80 @ =gAnimMoveTurn - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _0803CD84 @ =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, _0803CD88 @ =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, _0803CD8C @ =gAnimFriendship - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _0803CD90 @ =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, _0803CD94 @ =gAnimDisableStructPtr - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _0803CD98 @ =gTransformedPersonalities - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl IsMoveWithoutAnimation - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _0803CD9C - bl RecordedOpponentBufferExecCompleted - b _0803CDBA - .align 2, 0 -_0803CD78: .4byte gActiveBattler -_0803CD7C: .4byte gBattleBufferA -_0803CD80: .4byte gAnimMoveTurn -_0803CD84: .4byte gAnimMovePower -_0803CD88: .4byte gAnimMoveDmg -_0803CD8C: .4byte gAnimFriendship -_0803CD90: .4byte gWeatherMoveAnim -_0803CD94: .4byte gAnimDisableStructPtr -_0803CD98: .4byte gTransformedPersonalities -_0803CD9C: - ldr r0, _0803CDC0 @ =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, _0803CDC4 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803CDC8 @ =RecordedOpponentDoMoveAnimation - str r1, [r0] -_0803CDBA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803CDC0: .4byte gBattleSpritesDataPtr -_0803CDC4: .4byte gBattlerControllerFuncs -_0803CDC8: .4byte RecordedOpponentDoMoveAnimation - thumb_func_end RecordedOpponentHandleMoveAnimation - - thumb_func_start RecordedOpponentDoMoveAnimation -RecordedOpponentDoMoveAnimation: @ 803CDCC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _0803CE18 @ =gBattleBufferA - ldr r6, _0803CE1C @ =gActiveBattler - 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, _0803CE20 @ =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 _0803CE64 - cmp r2, 0x1 - bgt _0803CE24 - cmp r2, 0 - beq _0803CE2E - b _0803CF40 - .align 2, 0 -_0803CE18: .4byte gBattleBufferA -_0803CE1C: .4byte gActiveBattler -_0803CE20: .4byte gBattleSpritesDataPtr -_0803CE24: - cmp r2, 0x2 - beq _0803CE8E - cmp r2, 0x3 - beq _0803CF04 - b _0803CF40 -_0803CE2E: - ldr r1, [r5] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrb r2, [r1] - movs r0, 0xC - ands r0, r2 - cmp r0, 0x4 - bne _0803CE50 - movs r0, 0x8 - orrs r0, r2 - strb r0, [r1] - ldrb r2, [r6] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_0803CE50: - 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 _0803CF40 -_0803CE64: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0803CF40 - movs r0, 0 - bl sub_8035450 - 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 _0803CF40 -_0803CE8E: - ldr r0, _0803CEF4 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _0803CEF8 @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _0803CF40 - movs r0, 0x1 - bl sub_8035450 - 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 _0803CEDC - mov r0, r8 - cmp r0, 0x1 - bhi _0803CEDC - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation - 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] -_0803CEDC: - ldr r0, _0803CEFC @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _0803CF00 @ =gActiveBattler - 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 _0803CF40 - .align 2, 0 -_0803CEF4: .4byte gAnimScriptCallback -_0803CEF8: .4byte gAnimScriptActive -_0803CEFC: .4byte gBattleSpritesDataPtr -_0803CF00: .4byte gActiveBattler -_0803CF04: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0803CF40 - bl CopyAllBattleSpritesInvisibilities - 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 TrySetBehindSubstituteSpriteBit - 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 RecordedOpponentBufferExecCompleted -_0803CF40: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end RecordedOpponentDoMoveAnimation - - thumb_func_start sub_803CF50 -sub_803CF50: @ 803CF50 - push {r4,lr} - ldr r0, _0803CF84 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _0803CF88 @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _0803CF8C @ =gActiveBattler - ldrb r4, [r0] - lsls r4, 9 - ldr r0, _0803CF90 @ =gUnknown_2022BC6 - adds r4, r0 - ldrh r0, [r4] - bl BufferStringBattle - ldrh r0, [r4] - bl sub_80D89B0 - lsls r0, 24 - cmp r0, 0 - beq _0803CF98 - ldr r0, _0803CF94 @ =gDisplayedStringBattle - movs r1, 0x40 - bl BattlePutTextOnWindow - b _0803CFA0 - .align 2, 0 -_0803CF84: .4byte gBattle_BG0_X -_0803CF88: .4byte gBattle_BG0_Y -_0803CF8C: .4byte gActiveBattler -_0803CF90: .4byte gUnknown_2022BC6 -_0803CF94: .4byte gDisplayedStringBattle -_0803CF98: - ldr r0, _0803CFB4 @ =gDisplayedStringBattle - movs r1, 0 - bl BattlePutTextOnWindow -_0803CFA0: - ldr r1, _0803CFB8 @ =gBattlerControllerFuncs - ldr r0, _0803CFBC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803CFC0 @ =CompleteOnInactiveTextPrinter_5 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803CFB4: .4byte gDisplayedStringBattle -_0803CFB8: .4byte gBattlerControllerFuncs -_0803CFBC: .4byte gActiveBattler -_0803CFC0: .4byte CompleteOnInactiveTextPrinter_5 - thumb_func_end sub_803CF50 - - thumb_func_start sub_803CFC4 -sub_803CFC4: @ 803CFC4 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CFC4 - - thumb_func_start sub_803CFD0 -sub_803CFD0: @ 803CFD0 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CFD0 - - thumb_func_start sub_803CFDC -sub_803CFDC: @ 803CFDC - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CFDC - - thumb_func_start sub_803CFE8 -sub_803CFE8: @ 803CFE8 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CFE8 - - thumb_func_start sub_803CFF4 -sub_803CFF4: @ 803CFF4 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803CFF4 - - thumb_func_start sub_803D000 -sub_803D000: @ 803D000 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D000 - - thumb_func_start sub_803D00C -sub_803D00C: @ 803D00C - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D00C - - thumb_func_start sub_803D018 -sub_803D018: @ 803D018 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl LoadBattleBarGfx - ldr r3, _0803D090 @ =gBattleBufferA - ldr r0, _0803D094 @ =gActiveBattler - 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, _0803D098 @ =0x00007fff - cmp r7, r0 - beq _0803D0A8 - ldr r6, _0803D09C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _0803D0A0 @ =gEnemyParty - 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, _0803D0A4 @ =gHealthboxSpriteIds - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl SetBattleBarStruct - b _0803D0D2 - .align 2, 0 -_0803D090: .4byte gBattleBufferA -_0803D094: .4byte gActiveBattler -_0803D098: .4byte 0x00007fff -_0803D09C: .4byte gBattlerPartyIndexes -_0803D0A0: .4byte gEnemyParty -_0803D0A4: .4byte gHealthboxSpriteIds -_0803D0A8: - ldr r1, _0803D0F0 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0803D0F4 @ =gEnemyParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _0803D0F8 @ =gHealthboxSpriteIds - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl SetBattleBarStruct -_0803D0D2: - ldr r1, _0803D0FC @ =gBattlerControllerFuncs - ldr r0, _0803D100 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803D104 @ =CompleteOnHealthbarDone_4 - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803D0F0: .4byte gBattlerPartyIndexes -_0803D0F4: .4byte gEnemyParty -_0803D0F8: .4byte gHealthboxSpriteIds -_0803D0FC: .4byte gBattlerControllerFuncs -_0803D100: .4byte gActiveBattler -_0803D104: .4byte CompleteOnHealthbarDone_4 - thumb_func_end sub_803D018 - - thumb_func_start sub_803D108 -sub_803D108: @ 803D108 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D108 - - thumb_func_start sub_803D114 -sub_803D114: @ 803D114 - push {r4,lr} - ldr r4, _0803D170 @ =gActiveBattler - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _0803D168 - ldr r0, _0803D174 @ =gHealthboxSpriteIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _0803D178 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _0803D17C @ =gEnemyParty - adds r1, r2 - movs r2, 0x9 - bl UpdateHealthboxAttribute - ldrb r2, [r4] - ldr r0, _0803D180 @ =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, _0803D184 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803D188 @ =CompleteOnFinishedStatusAnimation_5 - str r1, [r0] -_0803D168: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803D170: .4byte gActiveBattler -_0803D174: .4byte gHealthboxSpriteIds -_0803D178: .4byte gBattlerPartyIndexes -_0803D17C: .4byte gEnemyParty -_0803D180: .4byte gBattleSpritesDataPtr -_0803D184: .4byte gBattlerControllerFuncs -_0803D188: .4byte CompleteOnFinishedStatusAnimation_5 - thumb_func_end sub_803D114 - - thumb_func_start sub_803D18C -sub_803D18C: @ 803D18C - push {r4,r5,lr} - ldr r5, _0803D1E4 @ =gActiveBattler - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _0803D1DC - ldr r4, _0803D1E8 @ =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 InitAndLaunchChosenStatusAnimation - ldr r1, _0803D1EC @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803D1F0 @ =CompleteOnFinishedStatusAnimation_5 - str r1, [r0] -_0803D1DC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803D1E4: .4byte gActiveBattler -_0803D1E8: .4byte gBattleBufferA -_0803D1EC: .4byte gBattlerControllerFuncs -_0803D1F0: .4byte CompleteOnFinishedStatusAnimation_5 - thumb_func_end sub_803D18C - - thumb_func_start sub_803D1F4 -sub_803D1F4: @ 803D1F4 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D1F4 - - thumb_func_start sub_803D200 -sub_803D200: @ 803D200 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D200 - - thumb_func_start sub_803D20C -sub_803D20C: @ 803D20C - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D20C - - thumb_func_start sub_803D218 -sub_803D218: @ 803D218 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D218 - - thumb_func_start sub_803D224 -sub_803D224: @ 803D224 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D224 - - thumb_func_start sub_803D230 -sub_803D230: @ 803D230 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D230 - - thumb_func_start sub_803D23C -sub_803D23C: @ 803D23C - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D23C - - thumb_func_start sub_803D248 -sub_803D248: @ 803D248 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D248 - - thumb_func_start sub_803D254 -sub_803D254: @ 803D254 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D254 - - thumb_func_start RecordedOpponentHandleCmd37 -RecordedOpponentHandleCmd37: @ 803D260 - push {lr} - ldr r2, _0803D278 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D278: .4byte gUnknown_2022870 - thumb_func_end RecordedOpponentHandleCmd37 - - thumb_func_start RecordedOpponentHandleCmd38 -RecordedOpponentHandleCmd38: @ 803D27C - push {lr} - ldr r3, _0803D2A8 @ =gUnknown_2022870 - ldr r1, _0803D2AC @ =gBattleBufferA - ldr r0, _0803D2B0 @ =gActiveBattler - 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 RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D2A8: .4byte gUnknown_2022870 -_0803D2AC: .4byte gBattleBufferA -_0803D2B0: .4byte gActiveBattler - thumb_func_end RecordedOpponentHandleCmd38 - - thumb_func_start RecordedOpponentHandleCmd39 -RecordedOpponentHandleCmd39: @ 803D2B4 - push {lr} - ldr r2, _0803D2C8 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D2C8: .4byte gUnknown_2022870 - thumb_func_end RecordedOpponentHandleCmd39 - - thumb_func_start RecordedOpponentHandleCmd40 -RecordedOpponentHandleCmd40: @ 803D2CC - push {lr} - ldr r3, _0803D2F0 @ =gUnknown_2022870 - 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 RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D2F0: .4byte gUnknown_2022870 - thumb_func_end RecordedOpponentHandleCmd40 - - thumb_func_start RecordedOpponentHandleHitAnimation -RecordedOpponentHandleHitAnimation: @ 803D2F4 - push {r4,lr} - ldr r3, _0803D31C @ =gSprites - ldr r2, _0803D320 @ =gBattlerSpriteIds - ldr r4, _0803D324 @ =gActiveBattler - 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 _0803D328 - bl RecordedOpponentBufferExecCompleted - b _0803D352 - .align 2, 0 -_0803D31C: .4byte gSprites -_0803D320: .4byte gBattlerSpriteIds -_0803D324: .4byte gActiveBattler -_0803D328: - ldr r1, _0803D358 @ =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 DoHitAnimHealthboxEffect - ldr r1, _0803D35C @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803D360 @ =DoHitAnimBlinkSpriteEffect_4 - str r1, [r0] -_0803D352: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803D358: .4byte gDoingBattleAnim -_0803D35C: .4byte gBattlerControllerFuncs -_0803D360: .4byte DoHitAnimBlinkSpriteEffect_4 - thumb_func_end RecordedOpponentHandleHitAnimation - - thumb_func_start sub_803D364 -sub_803D364: @ 803D364 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D364 - - thumb_func_start RecordedOpponentHandlePlaySE -RecordedOpponentHandlePlaySE: @ 803D370 - push {r4,lr} - ldr r4, _0803D3AC @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _0803D384 - movs r3, 0xC0 -_0803D384: - ldr r2, _0803D3B0 @ =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 RecordedOpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803D3AC: .4byte gActiveBattler -_0803D3B0: .4byte gBattleBufferA - thumb_func_end RecordedOpponentHandlePlaySE - - thumb_func_start LinkOpponentHandlePlayFanfare -LinkOpponentHandlePlayFanfare: @ 803D3B4 - push {lr} - ldr r2, _0803D3DC @ =gBattleBufferA - ldr r0, _0803D3E0 @ =gActiveBattler - 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 PlayFanfare - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D3DC: .4byte gBattleBufferA -_0803D3E0: .4byte gActiveBattler - thumb_func_end LinkOpponentHandlePlayFanfare - - thumb_func_start RecordedOpponentHandleFaintingCry -RecordedOpponentHandleFaintingCry: @ 803D3E4 - push {lr} - ldr r1, _0803D414 @ =gBattlerPartyIndexes - ldr r0, _0803D418 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0803D41C @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - movs r2, 0x5 - bl PlayCry3 - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D414: .4byte gBattlerPartyIndexes -_0803D418: .4byte gActiveBattler -_0803D41C: .4byte gEnemyParty - thumb_func_end RecordedOpponentHandleFaintingCry - - thumb_func_start RecordedOpponentHandleIntroSlide -RecordedOpponentHandleIntroSlide: @ 803D420 - push {lr} - ldr r1, _0803D448 @ =gBattleBufferA - ldr r0, _0803D44C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl HandleIntroSlide - ldr r2, _0803D450 @ =gIntroSlideFlags - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D448: .4byte gBattleBufferA -_0803D44C: .4byte gActiveBattler -_0803D450: .4byte gIntroSlideFlags - thumb_func_end RecordedOpponentHandleIntroSlide - - thumb_func_start sub_803D454 -sub_803D454: @ 803D454 - push {r4-r6,lr} - ldr r5, _0803D534 @ =gBattlerSpriteIds - ldr r6, _0803D538 @ =gActiveBattler - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0803D53C @ =gSprites - adds r0, r4 - bl SetSpritePrimaryCoordsFromSecondaryCoords - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x23 - 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 - movs r1, 0x8C - lsls r1, 1 - 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, _0803D540 @ =StartAnimLinearTranslation - 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, _0803D544 @ =sub_803D648 - bl StoreSpriteCallbackInData6 - ldr r0, _0803D548 @ =sub_803D564 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0803D54C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r6] - strh r0, [r1, 0x8] - ldr r3, _0803D550 @ =gBattleSpritesDataPtr - ldr r0, [r3] - 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, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803D516 - ldr r0, _0803D554 @ =gBattlerStatusSummaryTaskId - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _0803D558 @ =Task_HidePartyStatusSummary - str r1, [r0] -_0803D516: - ldr r0, [r3] - ldr r2, [r0, 0x8] - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _0803D55C @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803D560 @ =nullsub_19 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803D534: .4byte gBattlerSpriteIds -_0803D538: .4byte gActiveBattler -_0803D53C: .4byte gSprites -_0803D540: .4byte StartAnimLinearTranslation -_0803D544: .4byte sub_803D648 -_0803D548: .4byte sub_803D564 -_0803D54C: .4byte gTasks -_0803D550: .4byte gBattleSpritesDataPtr -_0803D554: .4byte gBattlerStatusSummaryTaskId -_0803D558: .4byte Task_HidePartyStatusSummary -_0803D55C: .4byte gBattlerControllerFuncs -_0803D560: .4byte nullsub_19 - thumb_func_end sub_803D454 - - thumb_func_start sub_803D564 -sub_803D564: @ 803D564 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r7, _0803D5BC @ =gActiveBattler - ldrb r0, [r7] - mov r9, r0 - ldr r1, _0803D5C0 @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strb r0, [r7] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0803D59E - ldr r0, _0803D5C4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803D5D0 -_0803D59E: - ldr r0, _0803D5C8 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _0803D5CC @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_803C550 - b _0803D610 - .align 2, 0 -_0803D5BC: .4byte gActiveBattler -_0803D5C0: .4byte gTasks -_0803D5C4: .4byte gBattleTypeFlags -_0803D5C8: .4byte gBattleBufferA -_0803D5CC: .4byte gBattlerPartyIndexes -_0803D5D0: - ldr r4, _0803D634 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r6, _0803D638 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_803C550 - ldrb r0, [r7] - movs r5, 0x2 - eors r0, r5 - strb r0, [r7] - ldrb r0, [r7] - lsls r1, r0, 9 - adds r1, r4 - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_803C550 - ldrb r0, [r7] - eors r0, r5 - strb r0, [r7] -_0803D610: - ldr r1, _0803D63C @ =gBattlerControllerFuncs - ldr r2, _0803D640 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803D644 @ =sub_803A9CC - str r1, [r0] - mov r0, r9 - strb r0, [r2] - mov r0, r8 - bl DestroyTask - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803D634: .4byte gBattleBufferA -_0803D638: .4byte gBattlerPartyIndexes -_0803D63C: .4byte gBattlerControllerFuncs -_0803D640: .4byte gActiveBattler -_0803D644: .4byte sub_803A9CC - thumb_func_end sub_803D564 - - thumb_func_start sub_803D648 -sub_803D648: @ 803D648 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x6] - bl FreeTrainerFrontPicPaletteAndTile - ldrh r0, [r4, 0x38] - ldr r1, _0803D674 @ =0x000003ff - ands r1, r0 - ldrh r2, [r4, 0x4] - ldr r0, _0803D678 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803D674: .4byte 0x000003ff -_0803D678: .4byte 0xfffffc00 - thumb_func_end sub_803D648 - - thumb_func_start RecordedOpponentHandleDrawPartyStatusSummary -RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C - push {r4-r7,lr} - ldr r1, _0803D6A4 @ =gBattleBufferA - ldr r0, _0803D6A8 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0803D6AC - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0803D6AC - bl RecordedOpponentBufferExecCompleted - b _0803D776 - .align 2, 0 -_0803D6A4: .4byte gBattleBufferA -_0803D6A8: .4byte gActiveBattler -_0803D6AC: - ldr r4, _0803D704 @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r3, _0803D708 @ =gActiveBattler - ldrb r1, [r3] - 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] - ldr r1, _0803D70C @ =gBattleBufferA - ldrb r2, [r3] - lsls r0, r2, 9 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - adds r7, r3, 0 - cmp r0, 0 - beq _0803D718 - ldr r0, [r4] - ldr r1, [r0, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r1 - ldrb r2, [r3, 0x1] - lsls r1, r2, 26 - lsrs r0, r1, 27 - cmp r0, 0x1 - bhi _0803D710 - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - lsls r0, 1 - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - b _0803D776 - .align 2, 0 -_0803D704: .4byte gBattleSpritesDataPtr -_0803D708: .4byte gActiveBattler -_0803D70C: .4byte gBattleBufferA -_0803D710: - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - strb r0, [r3, 0x1] -_0803D718: - adds r5, r7, 0 - ldrb r0, [r5] - lsls r3, r0, 9 - ldr r4, _0803D77C @ =gUnknown_2022BC8 - 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, _0803D780 @ =gBattlerStatusSummaryTaskId - ldrb r1, [r5] - adds r1, r2 - movs r3, 0 - strb r0, [r1] - ldr r6, _0803D784 @ =gBattleSpritesDataPtr - 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 _0803D76A - 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] -_0803D76A: - ldr r0, _0803D788 @ =gBattlerControllerFuncs - ldrb r1, [r7] - lsls r1, 2 - adds r1, r0 - ldr r0, _0803D78C @ =sub_803D790 - str r0, [r1] -_0803D776: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803D77C: .4byte gUnknown_2022BC8 -_0803D780: .4byte gBattlerStatusSummaryTaskId -_0803D784: .4byte gBattleSpritesDataPtr -_0803D788: .4byte gBattlerControllerFuncs -_0803D78C: .4byte sub_803D790 - thumb_func_end RecordedOpponentHandleDrawPartyStatusSummary - - thumb_func_start sub_803D790 -sub_803D790: @ 803D790 - push {r4,lr} - ldr r4, _0803D7D0 @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r3, _0803D7D4 @ =gActiveBattler - 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 _0803D7C8 - 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 RecordedOpponentBufferExecCompleted -_0803D7C8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803D7D0: .4byte gBattleSpritesDataPtr -_0803D7D4: .4byte gActiveBattler - thumb_func_end sub_803D790 - - thumb_func_start RecordedOpponentHandleCmd49 -RecordedOpponentHandleCmd49: @ 803D7D8 - push {lr} - ldr r0, _0803D814 @ =gBattleSpritesDataPtr - ldr r1, [r0] - ldr r0, _0803D818 @ =gActiveBattler - 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 _0803D80A - ldr r2, _0803D81C @ =gTasks - ldr r0, _0803D820 @ =gBattlerStatusSummaryTaskId - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _0803D824 @ =Task_HidePartyStatusSummary - str r1, [r0] -_0803D80A: - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - .align 2, 0 -_0803D814: .4byte gBattleSpritesDataPtr -_0803D818: .4byte gActiveBattler -_0803D81C: .4byte gTasks -_0803D820: .4byte gBattlerStatusSummaryTaskId -_0803D824: .4byte Task_HidePartyStatusSummary - thumb_func_end RecordedOpponentHandleCmd49 - - thumb_func_start sub_803D828 -sub_803D828: @ 803D828 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D828 - - thumb_func_start RecordedOpponentHandleSpriteInvisibility -RecordedOpponentHandleSpriteInvisibility: @ 803D834 - push {r4,lr} - ldr r4, _0803D884 @ =gActiveBattler - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _0803D87A - ldr r3, _0803D888 @ =gSprites - ldr r0, _0803D88C @ =gBattlerSpriteIds - 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, _0803D890 @ =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 CopyBattleSpriteInvisibility -_0803D87A: - bl RecordedOpponentBufferExecCompleted - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803D884: .4byte gActiveBattler -_0803D888: .4byte gSprites -_0803D88C: .4byte gBattlerSpriteIds -_0803D890: .4byte gBattleBufferA - thumb_func_end RecordedOpponentHandleSpriteInvisibility - - thumb_func_start RecordedOpponentHandleBattleAnimation -RecordedOpponentHandleBattleAnimation: @ 803D894 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _0803D8D8 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _0803D8EC - ldr r5, _0803D8DC @ =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 TryHandleLaunchBattleTableAnimation - lsls r0, 24 - cmp r0, 0 - beq _0803D8E0 - bl RecordedOpponentBufferExecCompleted - b _0803D8EC - .align 2, 0 -_0803D8D8: .4byte gActiveBattler -_0803D8DC: .4byte gBattleBufferA -_0803D8E0: - ldr r0, _0803D8F4 @ =gBattlerControllerFuncs - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _0803D8F8 @ =CompleteOnFinishedBattleAnimation_5 - str r0, [r1] -_0803D8EC: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803D8F4: .4byte gBattlerControllerFuncs -_0803D8F8: .4byte CompleteOnFinishedBattleAnimation_5 - thumb_func_end RecordedOpponentHandleBattleAnimation - - thumb_func_start sub_803D8FC -sub_803D8FC: @ 803D8FC - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D8FC - - thumb_func_start sub_803D908 -sub_803D908: @ 803D908 - push {lr} - bl RecordedOpponentBufferExecCompleted - pop {r0} - bx r0 - thumb_func_end sub_803D908 - - thumb_func_start RecordedOpponentHandleCmd55 -RecordedOpponentHandleCmd55: @ 803D914 - push {lr} - ldr r1, _0803D930 @ =gBattleBufferA - ldr r0, _0803D934 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r2, [r0] - cmp r2, 0x3 - bne _0803D93C - ldr r0, _0803D938 @ =gBattleOutcome - strb r2, [r0] - b _0803D944 - .align 2, 0 -_0803D930: .4byte gBattleBufferA -_0803D934: .4byte gActiveBattler -_0803D938: .4byte gBattleOutcome -_0803D93C: - ldr r0, _0803D968 @ =gBattleOutcome - movs r1, 0x3 - eors r1, r2 - strb r1, [r0] -_0803D944: - movs r0, 0x5 - bl FadeOutMapMusic - movs r0, 0x3 - bl BeginFastPaletteFade - bl RecordedOpponentBufferExecCompleted - ldr r1, _0803D96C @ =gBattlerControllerFuncs - ldr r0, _0803D970 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _0803D974 @ =sub_802F6A8 - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0803D968: .4byte gBattleOutcome -_0803D96C: .4byte gBattlerControllerFuncs -_0803D970: .4byte gActiveBattler -_0803D974: .4byte sub_802F6A8 - thumb_func_end RecordedOpponentHandleCmd55 - - thumb_func_start nullsub_20 -nullsub_20: @ 803D978 - bx lr - thumb_func_end nullsub_20 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 24500abfd..ce445bbb9 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -3838,7 +3838,7 @@ sub_80D61C8: @ 80D61C8 movs r7, 0x5A _080D61E2: ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId ldr r5, _080D6244 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 @@ -3849,7 +3849,7 @@ _080D61E2: cmp r0, 0x2 beq _080D6228 ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -3860,7 +3860,7 @@ _080D61E2: cmp r0, 0x1 beq _080D6228 ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -3872,7 +3872,7 @@ _080D61E2: _080D6228: ldr r0, _080D6240 @ =gActiveBattler ldrb r0, [r0] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId ldr r2, _080D6244 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 @@ -3886,7 +3886,7 @@ _080D6240: .4byte gActiveBattler _080D6244: .4byte gLinkPlayers _080D6248: ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -5314,7 +5314,7 @@ sub_80D6CD4: @ 80D6CD4 lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId ldr r4, _080D6DF8 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 @@ -5325,7 +5325,7 @@ sub_80D6CD4: @ 80D6CD4 cmp r0, 0x2 beq _080D6DC2 ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -5336,7 +5336,7 @@ sub_80D6CD4: @ 80D6CD4 cmp r0, 0x1 beq _080D6DC2 ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -5348,7 +5348,7 @@ sub_80D6CD4: @ 80D6CD4 _080D6DC2: ldr r0, _080D6DE0 @ =gActiveBattler ldrb r0, [r0] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId ldr r2, _080D6DF8 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 @@ -5368,7 +5368,7 @@ _080D6DF4: .4byte 0x0000d6f9 _080D6DF8: .4byte gLinkPlayers _080D6DFC: ldrb r0, [r6] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 diff --git a/asm/battle_message.s b/asm/battle_message.s index d3a688507..bd1011f9a 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -1871,7 +1871,7 @@ _080D819C: movs r0, 0x3 _080D81AA: eors r0, r1 - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -1883,7 +1883,7 @@ _080D81BC: .4byte gLinkPlayers _080D81C0: ldr r0, _080D81D4 @ =gBattleScripting ldrb r0, [r0, 0x17] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId _080D81C8: lsls r1, r0, 3 subs r1, r0 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 3155a9a5d..4bc9cd976 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -13395,7 +13395,7 @@ _08024204: _08024228: movs r5, 0 ldrb r0, [r4] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r0, 24 lsrs r0, 24 bl GetLinkTrainerFlankId @@ -21517,7 +21517,7 @@ _08028336: movs r7, 0 movs r6, 0 ldrb r0, [r5] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r0, 24 lsrs r0, 24 bl GetLinkTrainerFlankId @@ -21662,7 +21662,7 @@ _08028458: lsrs r6, r0, 24 ldr r0, _08028490 @ =gBattlerTarget ldrb r0, [r0] - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r0, 24 lsrs r0, 24 bl GetLinkTrainerFlankId diff --git a/asm/pokeball.s b/asm/pokeball.s index 3bbf3568b..1d01b5c7e 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -132,7 +132,7 @@ _0804AA12: beq _0804AA60 ldr r4, _0804AA5C @ =gLinkPlayers adds r0, r6, 0 - bl GetBankMultiplayerId + bl GetBattlerMultiplayerId lsls r1, r0, 3 subs r1, r0 lsls r1, 2 -- cgit v1.2.3 From 23b2a0cc9f673363d4a6dc3d0c9e26fe50cce0c1 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 23 Aug 2019 02:32:15 +0800 Subject: battle_controller_link_partner --- asm/battle_controller_link_partner.s | 5929 ---------------------------------- 1 file changed, 5929 deletions(-) delete mode 100644 asm/battle_controller_link_partner.s (limited to 'asm') diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s deleted file mode 100644 index ce445bbb9..000000000 --- a/asm/battle_controller_link_partner.s +++ /dev/null @@ -1,5929 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_77 -nullsub_77: @ 80D4200 - bx lr - thumb_func_end nullsub_77 - - thumb_func_start SetControllerToLinkPartner -SetControllerToLinkPartner: @ 80D4204 - ldr r1, _080D4214 @ =gBattlerControllerFuncs - ldr r0, _080D4218 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D421C @ =LinkPartnerBufferRunCommand - str r1, [r0] - bx lr - .align 2, 0 -_080D4214: .4byte gBattlerControllerFuncs -_080D4218: .4byte gActiveBattler -_080D421C: .4byte LinkPartnerBufferRunCommand - thumb_func_end SetControllerToLinkPartner - - thumb_func_start LinkPartnerBufferRunCommand -LinkPartnerBufferRunCommand: @ 80D4220 - push {lr} - ldr r2, _080D4254 @ =gBattleControllerExecFlags - ldr r1, _080D4258 @ =gBitTable - ldr r0, _080D425C @ =gActiveBattler - ldrb r3, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080D426C - ldr r0, _080D4260 @ =gBattleBufferA - lsls r1, r3, 9 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x38 - bhi _080D4268 - ldr r0, _080D4264 @ =gUnknown_83FB134 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl _call_via_r0 - b _080D426C - .align 2, 0 -_080D4254: .4byte gBattleControllerExecFlags -_080D4258: .4byte gBitTable -_080D425C: .4byte gActiveBattler -_080D4260: .4byte gBattleBufferA -_080D4264: .4byte gUnknown_83FB134 -_080D4268: - bl sub_80D49E8 -_080D426C: - pop {r0} - bx r0 - thumb_func_end LinkPartnerBufferRunCommand - - thumb_func_start sub_80D4270 -sub_80D4270: @ 80D4270 - push {lr} - ldr r2, _080D4298 @ =gSprites - ldr r1, _080D429C @ =gBattlerSpriteIds - ldr r0, _080D42A0 @ =gActiveBattler - 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, _080D42A4 @ =SpriteCallbackDummy - cmp r1, r0 - bne _080D4294 - bl sub_80D49E8 -_080D4294: - pop {r0} - bx r0 - .align 2, 0 -_080D4298: .4byte gSprites -_080D429C: .4byte gBattlerSpriteIds -_080D42A0: .4byte gActiveBattler -_080D42A4: .4byte SpriteCallbackDummy - thumb_func_end sub_80D4270 - - thumb_func_start sub_80D42A8 -sub_80D42A8: @ 80D42A8 - push {r4-r6,lr} - ldr r6, _080D4300 @ =gSprites - ldr r5, _080D4304 @ =gBattlerSpriteIds - ldr r4, _080D4308 @ =gActiveBattler - 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, _080D430C @ =SpriteCallbackDummy - cmp r1, r0 - bne _080D42F8 - movs r0, 0 - bl nullsub_16 - 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 sub_80D49E8 -_080D42F8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D4300: .4byte gSprites -_080D4304: .4byte gBattlerSpriteIds -_080D4308: .4byte gActiveBattler -_080D430C: .4byte SpriteCallbackDummy - thumb_func_end sub_80D42A8 - - thumb_func_start sub_80D4310 -sub_80D4310: @ 80D4310 - push {r4,lr} - ldr r4, _080D4350 @ =gBattleSpritesDataPtr - ldr r1, [r4] - ldr r3, _080D4354 @ =gActiveBattler - 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 _080D4348 - 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 sub_80D49E8 -_080D4348: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D4350: .4byte gBattleSpritesDataPtr -_080D4354: .4byte gActiveBattler - thumb_func_end sub_80D4310 - - thumb_func_start sub_80D4358 -sub_80D4358: @ 80D4358 - push {r4-r6,lr} - movs r6, 0 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080D437C - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080D43B0 - ldr r0, _080D439C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080D43B0 -_080D437C: - ldr r2, _080D43A0 @ =gSprites - ldr r1, _080D43A4 @ =gHealthboxSpriteIds - ldr r0, _080D43A8 @ =gActiveBattler - 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, _080D43AC @ =SpriteCallbackDummy - cmp r1, r0 - bne _080D43E8 - b _080D43E6 - .align 2, 0 -_080D439C: .4byte gBattleTypeFlags -_080D43A0: .4byte gSprites -_080D43A4: .4byte gHealthboxSpriteIds -_080D43A8: .4byte gActiveBattler -_080D43AC: .4byte SpriteCallbackDummy -_080D43B0: - ldr r2, _080D4420 @ =gSprites - ldr r5, _080D4424 @ =gHealthboxSpriteIds - ldr r0, _080D4428 @ =gActiveBattler - 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, _080D442C @ =SpriteCallbackDummy - cmp r2, r0 - bne _080D43E8 - 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 _080D43E8 -_080D43E6: - movs r6, 0x1 -_080D43E8: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _080D43F4 - movs r6, 0 -_080D43F4: - cmp r6, 0 - beq _080D441A - ldr r0, _080D4430 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r3, _080D4428 @ =gActiveBattler - 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, _080D4434 @ =gBattlerControllerFuncs - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D4438 @ =sub_80D4310 - str r1, [r0] -_080D441A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D4420: .4byte gSprites -_080D4424: .4byte gHealthboxSpriteIds -_080D4428: .4byte gActiveBattler -_080D442C: .4byte SpriteCallbackDummy -_080D4430: .4byte gBattleSpritesDataPtr -_080D4434: .4byte gBattlerControllerFuncs -_080D4438: .4byte sub_80D4310 - thumb_func_end sub_80D4358 - - thumb_func_start sub_80D443C -sub_80D443C: @ 80D443C - push {r4-r7,lr} - ldr r0, _080D4568 @ =gBattleSpritesDataPtr - mov r12, r0 - ldr r0, [r0] - ldr r6, _080D456C @ =gActiveBattler - ldrb r2, [r6] - ldr r4, [r0, 0x4] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r3, r0, r4 - ldrb r1, [r3] - movs r5, 0x8 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080D4460 - b _080D4562 -_080D4460: - movs r7, 0x2 - adds r1, r7, 0 - eors r1, r2 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - adds r0, r5, 0 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080D4562 - ldrb r0, [r3, 0x9] - adds r0, 0x1 - strb r0, [r3, 0x9] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080D4562 - mov r1, r12 - ldr r0, [r1] - ldrb r1, [r6] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strb r4, [r0, 0x9] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080D4500 - ldr r0, _080D4570 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080D4500 - ldr r1, _080D4574 @ =gUnknown_3004FFC - ldrb r0, [r6] - eors r0, r7 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080D4578 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r4, _080D457C @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r1, r7, 0 - eors r1, r0 - adds r0, r1, r4 - ldrb r0, [r0] - ldr r2, _080D4580 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080D4584 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r6] - eors r0, r7 - bl sub_804BD94 - ldrb r0, [r6] - eors r0, r7 - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible -_080D4500: - ldr r1, _080D4574 @ =gUnknown_3004FFC - ldr r4, _080D456C @ =gActiveBattler - ldrb r0, [r4] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080D4578 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r5, _080D457C @ =gHealthboxSpriteIds - ldrb r1, [r4] - adds r0, r1, r5 - ldrb r0, [r0] - ldr r2, _080D4580 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080D4584 @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - ldrb r0, [r4] - bl sub_804BD94 - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldr r0, _080D4568 @ =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, _080D4588 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D458C @ =sub_80D4358 - str r1, [r0] -_080D4562: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D4568: .4byte gBattleSpritesDataPtr -_080D456C: .4byte gActiveBattler -_080D4570: .4byte gBattleTypeFlags -_080D4574: .4byte gUnknown_3004FFC -_080D4578: .4byte gSprites -_080D457C: .4byte gHealthboxSpriteIds -_080D4580: .4byte gBattlerPartyIndexes -_080D4584: .4byte gPlayerParty -_080D4588: .4byte gBattlerControllerFuncs -_080D458C: .4byte sub_80D4358 - thumb_func_end sub_80D443C - - thumb_func_start sub_80D4590 -sub_80D4590: @ 80D4590 - push {lr} - ldr r2, _080D45C4 @ =gSprites - ldr r1, _080D45C8 @ =gBattlerSpriteIds - ldr r0, _080D45CC @ =gActiveBattler - 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 _080D45BE - movs r2, 0x24 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080D45BE - bl sub_80D49E8 -_080D45BE: - pop {r0} - bx r0 - .align 2, 0 -_080D45C4: .4byte gSprites -_080D45C8: .4byte gBattlerSpriteIds -_080D45CC: .4byte gActiveBattler - thumb_func_end sub_80D4590 - - thumb_func_start sub_80D45D0 -sub_80D45D0: @ 80D45D0 - push {r4-r6,lr} - ldr r5, _080D4610 @ =gActiveBattler - ldrb r0, [r5] - ldr r6, _080D4614 @ =gHealthboxSpriteIds - adds r1, r0, r6 - ldrb r1, [r1] - movs r2, 0 - movs r3, 0 - bl MoveBattleBar - 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 _080D4618 - ldrb r0, [r5] - adds r0, r6 - ldrb r0, [r0] - movs r2, 0 - bl UpdateHpTextInHealthbox - b _080D4632 - .align 2, 0 -_080D4610: .4byte gActiveBattler -_080D4614: .4byte gHealthboxSpriteIds -_080D4618: - ldr r2, _080D4638 @ =gBattlerPartyIndexes - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _080D463C @ =gPlayerParty - adds r0, r2 - bl HandleLowHpMusicChange - bl sub_80D49E8 -_080D4632: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D4638: .4byte gBattlerPartyIndexes -_080D463C: .4byte gPlayerParty - thumb_func_end sub_80D45D0 - - thumb_func_start sub_80D4640 -sub_80D4640: @ 80D4640 - push {r4-r6,lr} - ldr r6, _080D4698 @ =gSprites - ldr r5, _080D469C @ =gBattlerSpriteIds - ldr r4, _080D46A0 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r6 - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r3, 0x26 - ldrsh r1, [r2, r3] - adds r0, r1 - cmp r0, 0xA0 - ble _080D4690 - ldrb r0, [r2, 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, _080D46A4 @ =gHealthboxSpriteIds - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl sub_80D49E8 -_080D4690: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D4698: .4byte gSprites -_080D469C: .4byte gBattlerSpriteIds -_080D46A0: .4byte gActiveBattler -_080D46A4: .4byte gHealthboxSpriteIds - thumb_func_end sub_80D4640 - - thumb_func_start sub_80D46A8 -sub_80D46A8: @ 80D46A8 - push {r4-r6,lr} - ldr r0, _080D4704 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r6, _080D4708 @ =gActiveBattler - 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 _080D46FC - ldr r5, _080D470C @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080D4710 @ =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, _080D4714 @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl sub_80D49E8 -_080D46FC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D4704: .4byte gBattleSpritesDataPtr -_080D4708: .4byte gActiveBattler -_080D470C: .4byte gBattlerSpriteIds -_080D4710: .4byte gSprites -_080D4714: .4byte gHealthboxSpriteIds - thumb_func_end sub_80D46A8 - - thumb_func_start sub_80D4718 -sub_80D4718: @ 80D4718 - push {lr} - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _080D472A - bl sub_80D49E8 -_080D472A: - pop {r0} - bx r0 - thumb_func_end sub_80D4718 - - thumb_func_start sub_80D4730 -sub_80D4730: @ 80D4730 - push {r4,lr} - ldr r1, _080D476C @ =gBattlerSpriteIds - ldr r0, _080D4770 @ =gActiveBattler - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _080D4774 @ =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 _080D477C - 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, _080D4778 @ =gDoingBattleAnim - strb r3, [r0] - bl sub_80D49E8 - b _080D47A6 - .align 2, 0 -_080D476C: .4byte gBattlerSpriteIds -_080D4770: .4byte gActiveBattler -_080D4774: .4byte gSprites -_080D4778: .4byte gDoingBattleAnim -_080D477C: - ldrh r0, [r4, 0x30] - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _080D47A0 - 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] -_080D47A0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_080D47A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D4730 - - thumb_func_start sub_80D47AC -sub_80D47AC: @ 80D47AC - push {r4,lr} - ldr r2, _080D4800 @ =gSprites - ldr r0, _080D4804 @ =gHealthboxSpriteIds - ldr r4, _080D4808 @ =gActiveBattler - 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, _080D480C @ =SpriteCallbackDummy - cmp r1, r0 - bne _080D47F8 - ldr r0, _080D4810 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D47EC - adds r0, r3, 0 - adds r1, r3, 0 - adds r2, r3, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation -_080D47EC: - ldr r0, _080D4814 @ =gBattlerControllerFuncs - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, _080D4818 @ =sub_80D481C - str r0, [r1] -_080D47F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D4800: .4byte gSprites -_080D4804: .4byte gHealthboxSpriteIds -_080D4808: .4byte gActiveBattler -_080D480C: .4byte SpriteCallbackDummy -_080D4810: .4byte gBattleSpritesDataPtr -_080D4814: .4byte gBattlerControllerFuncs -_080D4818: .4byte sub_80D481C - thumb_func_end sub_80D47AC - - thumb_func_start sub_80D481C -sub_80D481C: @ 80D481C - push {lr} - ldr r0, _080D4844 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080D4848 @ =gActiveBattler - 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 _080D483E - bl sub_80D49E8 -_080D483E: - pop {r0} - bx r0 - .align 2, 0 -_080D4844: .4byte gBattleSpritesDataPtr -_080D4848: .4byte gActiveBattler - thumb_func_end sub_80D481C - - thumb_func_start sub_80D484C -sub_80D484C: @ 80D484C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r3, _080D4918 @ =gBattleSpritesDataPtr - ldr r0, [r3] - ldr r7, _080D491C @ =gActiveBattler - 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 _080D490E - 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, _080D4920 @ =0x000027f9 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - ldr r0, _080D4924 @ =c3_0802FDF4 - movs r1, 0xA - bl CreateTask - ldr r0, _080D4928 @ =gBattlerPartyIndexes - mov r8, r0 - ldrb r1, [r7] - lsls r0, r1, 1 - add r0, r8 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080D492C @ =gPlayerParty - adds r0, r5 - bl HandleLowHpMusicChange - ldr r1, _080D4930 @ =gBattlerSpriteIds - ldrb r0, [r7] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080D4934 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - ldr r4, _080D4938 @ =gHealthboxSpriteIds - 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_804BD94 - ldrb r0, [r7] - adds r0, r4 - ldrb r0, [r0] - bl SetHealthboxSpriteVisible - ldrb r0, [r7] - bl CopyBattleSpriteInvisibility - ldr r1, _080D493C @ =gBattlerControllerFuncs - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D4940 @ =sub_80D47AC - str r1, [r0] -_080D490E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D4918: .4byte gBattleSpritesDataPtr -_080D491C: .4byte gActiveBattler -_080D4920: .4byte 0x000027f9 -_080D4924: .4byte c3_0802FDF4 -_080D4928: .4byte gBattlerPartyIndexes -_080D492C: .4byte gPlayerParty -_080D4930: .4byte gBattlerSpriteIds -_080D4934: .4byte gSprites -_080D4938: .4byte gHealthboxSpriteIds -_080D493C: .4byte gBattlerControllerFuncs -_080D4940: .4byte sub_80D47AC - thumb_func_end sub_80D484C - - thumb_func_start sub_80D4944 -sub_80D4944: @ 80D4944 - push {r4-r6,lr} - ldr r6, _080D49C4 @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r4, _080D49C8 @ =gActiveBattler - 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 _080D4976 - ldr r0, _080D49CC @ =gBattlerPartyIndexes - adds r0, r3, r0 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080D49D0 @ =gPlayerParty - adds r1, r0 - adds r0, r2, 0 - bl sub_80F1720 -_080D4976: - ldr r5, _080D49D4 @ =gSprites - ldr r0, _080D49D8 @ =gUnknown_3004FFC - 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, _080D49DC @ =SpriteCallbackDummy - cmp r1, r0 - bne _080D49BC - 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 _080D49BC - adds r0, r3, r5 - bl DestroySprite - ldr r1, _080D49E0 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D49E4 @ =sub_80D484C - str r1, [r0] -_080D49BC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D49C4: .4byte gBattleSpritesDataPtr -_080D49C8: .4byte gActiveBattler -_080D49CC: .4byte gBattlerPartyIndexes -_080D49D0: .4byte gPlayerParty -_080D49D4: .4byte gSprites -_080D49D8: .4byte gUnknown_3004FFC -_080D49DC: .4byte SpriteCallbackDummy -_080D49E0: .4byte gBattlerControllerFuncs -_080D49E4: .4byte sub_80D484C - thumb_func_end sub_80D4944 - - thumb_func_start sub_80D49E8 -sub_80D49E8: @ 80D49E8 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080D4A28 @ =gBattlerControllerFuncs - ldr r4, _080D4A2C @ =gActiveBattler - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D4A30 @ =LinkPartnerBufferRunCommand - str r1, [r0] - ldr r0, _080D4A34 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D4A3C - bl GetMultiplayerId - mov r1, sp - strb r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - mov r2, sp - bl PrepareBufferDataTransferLink - ldr r1, _080D4A38 @ =gBattleBufferA - ldrb r0, [r4] - lsls r0, 9 - adds r0, r1 - movs r1, 0x38 - strb r1, [r0] - b _080D4A4E - .align 2, 0 -_080D4A28: .4byte gBattlerControllerFuncs -_080D4A2C: .4byte gActiveBattler -_080D4A30: .4byte LinkPartnerBufferRunCommand -_080D4A34: .4byte gBattleTypeFlags -_080D4A38: .4byte gBattleBufferA -_080D4A3C: - ldr r2, _080D4A58 @ =gBattleControllerExecFlags - ldr r1, _080D4A5C @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] -_080D4A4E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D4A58: .4byte gBattleControllerExecFlags -_080D4A5C: .4byte gBitTable - thumb_func_end sub_80D49E8 - - thumb_func_start sub_80D4A60 -sub_80D4A60: @ 80D4A60 - push {lr} - ldr r0, _080D4A88 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080D4A8C @ =gActiveBattler - 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 _080D4A82 - bl sub_80D49E8 -_080D4A82: - pop {r0} - bx r0 - .align 2, 0 -_080D4A88: .4byte gBattleSpritesDataPtr -_080D4A8C: .4byte gActiveBattler - thumb_func_end sub_80D4A60 - - thumb_func_start sub_80D4A90 -sub_80D4A90: @ 80D4A90 - push {lr} - ldr r0, _080D4AB8 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080D4ABC @ =gActiveBattler - 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 _080D4AB2 - bl sub_80D49E8 -_080D4AB2: - pop {r0} - bx r0 - .align 2, 0 -_080D4AB8: .4byte gBattleSpritesDataPtr -_080D4ABC: .4byte gActiveBattler - thumb_func_end sub_80D4A90 - - thumb_func_start LinkPartnerHandleGetAttributes -LinkPartnerHandleGetAttributes: @ 80D4AC0 - push {r4-r6,lr} - sub sp, 0x100 - movs r6, 0 - ldr r1, _080D4AEC @ =gBattleBufferA - ldr r0, _080D4AF0 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080D4AF8 - ldr r0, _080D4AF4 @ =gBattlerPartyIndexes - 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 _080D4B1A - .align 2, 0 -_080D4AEC: .4byte gBattleBufferA -_080D4AF0: .4byte gActiveBattler -_080D4AF4: .4byte gBattlerPartyIndexes -_080D4AF8: - ldrb r4, [r1] - movs r5, 0 -_080D4AFC: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080D4B12 - 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 -_080D4B12: - lsrs r4, 1 - adds r5, 0x1 - cmp r5, 0x5 - ble _080D4AFC -_080D4B1A: - lsls r1, r6, 16 - lsrs r1, 16 - movs r0, 0x1 - mov r2, sp - bl BtlController_EmitDataTransfer - bl sub_80D49E8 - add sp, 0x100 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end LinkPartnerHandleGetAttributes - - thumb_func_start dp01_getattr_by_ch1_for_player_pokemon -dp01_getattr_by_ch1_for_player_pokemon: @ 80D4B34 - 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, _080D4B68 @ =gBattleBufferA - ldr r3, _080D4B6C @ =gActiveBattler - ldrb r0, [r3] - lsls r0, 9 - adds r1, r2, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3B - bls _080D4B5E - bl _080D52CA -_080D4B5E: - lsls r0, 2 - ldr r1, _080D4B70 @ =_080D4B74 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080D4B68: .4byte gBattleBufferA -_080D4B6C: .4byte gActiveBattler -_080D4B70: .4byte _080D4B74 - .align 2, 0 -_080D4B74: - .4byte _080D4C64 - .4byte _080D4E88 - .4byte _080D4E98 - .4byte _080D4EA8 - .4byte _080D4F10 - .4byte _080D4F10 - .4byte _080D4F10 - .4byte _080D4F10 - .4byte _080D4F2C - .4byte _080D4F68 - .4byte _080D4F68 - .4byte _080D4F68 - .4byte _080D4F68 - .4byte _080D52CA - .4byte _080D52CA - .4byte _080D52CA - .4byte _080D52CA - .4byte _080D4F84 - .4byte _080D4F94 - .4byte _080D4FC4 - .4byte _080D4FD4 - .4byte _080D4FE4 - .4byte _080D4FF4 - .4byte _080D5004 - .4byte _080D5014 - .4byte _080D5024 - .4byte _080D5034 - .4byte _080D5044 - .4byte _080D5054 - .4byte _080D5064 - .4byte _080D5074 - .4byte _080D5084 - .4byte _080D50D4 - .4byte _080D50E4 - .4byte _080D50F4 - .4byte _080D5104 - .4byte _080D5114 - .4byte _080D5124 - .4byte _080D5134 - .4byte _080D5144 - .4byte _080D5154 - .4byte _080D5188 - .4byte _080D5198 - .4byte _080D51A8 - .4byte _080D51B8 - .4byte _080D51C8 - .4byte _080D51D8 - .4byte _080D51E8 - .4byte _080D51F8 - .4byte _080D5218 - .4byte _080D5228 - .4byte _080D5238 - .4byte _080D5248 - .4byte _080D5258 - .4byte _080D5268 - .4byte _080D5278 - .4byte _080D5288 - .4byte _080D5298 - .4byte _080D52A8 - .4byte _080D52B8 -_080D4C64: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080D4E78 @ =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 -_080D4CB0: - 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 _080D4CB0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080D4E78 @ =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, _080D4E7C @ =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, _080D4E80 @ =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, _080D4E84 @ =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 -_080D4E68: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0x57 - bls _080D4E68 - b _080D52CA - .align 2, 0 -_080D4E78: .4byte gPlayerParty -_080D4E7C: .4byte 0xfffffc1f -_080D4E80: .4byte 0xfff07fff -_080D4E84: .4byte 0xfffffe0f -_080D4E88: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4E94 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - b _080D5202 - .align 2, 0 -_080D4E94: .4byte gPlayerParty -_080D4E98: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4EA4 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - b _080D5202 - .align 2, 0 -_080D4EA4: .4byte gPlayerParty -_080D4EA8: - 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, _080D4F0C @ =gPlayerParty - adds r4, r1, r0 - mov r8, r9 -_080D4EBE: - 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 _080D4EBE - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4F0C @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - mov r1, r9 - strb r0, [r1, 0xC] - mov r2, r9 - movs r6, 0 -_080D4EFC: - adds r0, r7, r6 - adds r1, r2, r6 - ldrb r1, [r1] - strb r1, [r0] - adds r6, 0x1 - cmp r6, 0xF - bls _080D4EFC - b _080D52CA - .align 2, 0 -_080D4F0C: .4byte gPlayerParty -_080D4F10: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4F28 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x9 - b _080D5202 - .align 2, 0 -_080D4F28: .4byte gPlayerParty -_080D4F2C: - movs r6, 0 - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r2, _080D4F64 @ =gPlayerParty - mov r8, r2 -_080D4F38: - 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 _080D4F38 - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4F64 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - bl GetMonData - adds r1, r7, r6 - strb r0, [r1] - adds r6, 0x1 - b _080D52CA - .align 2, 0 -_080D4F64: .4byte gPlayerParty -_080D4F68: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4F80 @ =gPlayerParty - adds r0, r1 - ldrb r1, [r3] - lsls r1, 9 - adds r2, 0x1 - adds r1, r2 - ldrb r1, [r1] - adds r1, 0x8 - b _080D52C2 - .align 2, 0 -_080D4F80: .4byte gPlayerParty -_080D4F84: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4F90 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1 - b _080D4F9E - .align 2, 0 -_080D4F90: .4byte gPlayerParty -_080D4F94: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4FC0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x19 -_080D4F9E: - 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 _080D52CA - .align 2, 0 -_080D4FC0: .4byte gPlayerParty -_080D4FC4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4FD0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1A - b _080D52C2 - .align 2, 0 -_080D4FD0: .4byte gPlayerParty -_080D4FD4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4FE0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1B - b _080D52C2 - .align 2, 0 -_080D4FE0: .4byte gPlayerParty -_080D4FE4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D4FF0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1C - b _080D52C2 - .align 2, 0 -_080D4FF0: .4byte gPlayerParty -_080D4FF4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5000 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1D - b _080D52C2 - .align 2, 0 -_080D5000: .4byte gPlayerParty -_080D5004: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5010 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1E - b _080D52C2 - .align 2, 0 -_080D5010: .4byte gPlayerParty -_080D5014: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5020 @ =gPlayerParty - adds r0, r1 - movs r1, 0x1F - b _080D52C2 - .align 2, 0 -_080D5020: .4byte gPlayerParty -_080D5024: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5030 @ =gPlayerParty - adds r0, r1 - movs r1, 0x20 - b _080D52C2 - .align 2, 0 -_080D5030: .4byte gPlayerParty -_080D5034: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5040 @ =gPlayerParty - adds r0, r1 - movs r1, 0x22 - b _080D52C2 - .align 2, 0 -_080D5040: .4byte gPlayerParty -_080D5044: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5050 @ =gPlayerParty - adds r0, r1 - movs r1, 0x23 - b _080D52C2 - .align 2, 0 -_080D5050: .4byte gPlayerParty -_080D5054: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5060 @ =gPlayerParty - adds r0, r1 - movs r1, 0x24 - b _080D52C2 - .align 2, 0 -_080D5060: .4byte gPlayerParty -_080D5064: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5070 @ =gPlayerParty - adds r0, r1 - movs r1, 0x25 - b _080D52C2 - .align 2, 0 -_080D5070: .4byte gPlayerParty -_080D5074: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5080 @ =gPlayerParty - adds r0, r1 - movs r1, 0x26 - b _080D52C2 - .align 2, 0 -_080D5080: .4byte gPlayerParty -_080D5084: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080D50D0 @ =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 _080D52CA - .align 2, 0 -_080D50D0: .4byte gPlayerParty -_080D50D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D50E0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x27 - b _080D52C2 - .align 2, 0 -_080D50E0: .4byte gPlayerParty -_080D50E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D50F0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x28 - b _080D52C2 - .align 2, 0 -_080D50F0: .4byte gPlayerParty -_080D50F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5100 @ =gPlayerParty - adds r0, r1 - movs r1, 0x29 - b _080D52C2 - .align 2, 0 -_080D5100: .4byte gPlayerParty -_080D5104: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5110 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2A - b _080D52C2 - .align 2, 0 -_080D5110: .4byte gPlayerParty -_080D5114: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5120 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2B - b _080D52C2 - .align 2, 0 -_080D5120: .4byte gPlayerParty -_080D5124: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5130 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2C - b _080D52C2 - .align 2, 0 -_080D5130: .4byte gPlayerParty -_080D5134: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5140 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - b _080D515E - .align 2, 0 -_080D5140: .4byte gPlayerParty -_080D5144: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5150 @ =gPlayerParty - adds r0, r1 - movs r1, 0x9 - b _080D5202 - .align 2, 0 -_080D5150: .4byte gPlayerParty -_080D5154: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5184 @ =gPlayerParty - adds r0, r1 - movs r1, 0x37 -_080D515E: - 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 _080D52CA - .align 2, 0 -_080D5184: .4byte gPlayerParty -_080D5188: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5194 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - b _080D52C2 - .align 2, 0 -_080D5194: .4byte gPlayerParty -_080D5198: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D51A4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - b _080D5202 - .align 2, 0 -_080D51A4: .4byte gPlayerParty -_080D51A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D51B4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - b _080D5202 - .align 2, 0 -_080D51B4: .4byte gPlayerParty -_080D51B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D51C4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3B - b _080D5202 - .align 2, 0 -_080D51C4: .4byte gPlayerParty -_080D51C8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D51D4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3C - b _080D5202 - .align 2, 0 -_080D51D4: .4byte gPlayerParty -_080D51D8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D51E4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3D - b _080D5202 - .align 2, 0 -_080D51E4: .4byte gPlayerParty -_080D51E8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D51F4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3E - b _080D5202 - .align 2, 0 -_080D51F4: .4byte gPlayerParty -_080D51F8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5214 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3F -_080D5202: - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - strb r0, [r7] - lsrs r0, 8 - strb r0, [r7, 0x1] - movs r6, 0x2 - b _080D52CA - .align 2, 0 -_080D5214: .4byte gPlayerParty -_080D5218: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5224 @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - b _080D52C2 - .align 2, 0 -_080D5224: .4byte gPlayerParty -_080D5228: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5234 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - b _080D52C2 - .align 2, 0 -_080D5234: .4byte gPlayerParty -_080D5238: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5244 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - b _080D52C2 - .align 2, 0 -_080D5244: .4byte gPlayerParty -_080D5248: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5254 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - b _080D52C2 - .align 2, 0 -_080D5254: .4byte gPlayerParty -_080D5258: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5264 @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - b _080D52C2 - .align 2, 0 -_080D5264: .4byte gPlayerParty -_080D5268: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5274 @ =gPlayerParty - adds r0, r1 - movs r1, 0x30 - b _080D52C2 - .align 2, 0 -_080D5274: .4byte gPlayerParty -_080D5278: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5284 @ =gPlayerParty - adds r0, r1 - movs r1, 0x32 - b _080D52C2 - .align 2, 0 -_080D5284: .4byte gPlayerParty -_080D5288: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5294 @ =gPlayerParty - adds r0, r1 - movs r1, 0x33 - b _080D52C2 - .align 2, 0 -_080D5294: .4byte gPlayerParty -_080D5298: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D52A4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x34 - b _080D52C2 - .align 2, 0 -_080D52A4: .4byte gPlayerParty -_080D52A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D52B4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x35 - b _080D52C2 - .align 2, 0 -_080D52B4: .4byte gPlayerParty -_080D52B8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D52DC @ =gPlayerParty - adds r0, r1 - movs r1, 0x36 -_080D52C2: - bl GetMonData - strb r0, [r7] - movs r6, 0x1 -_080D52CA: - 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 - .align 2, 0 -_080D52DC: .4byte gPlayerParty - thumb_func_end dp01_getattr_by_ch1_for_player_pokemon - - thumb_func_start sub_80D52E0 -sub_80D52E0: @ 80D52E0 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D52E0 - - thumb_func_start LinkPartnerHandleSetAttributes -LinkPartnerHandleSetAttributes: @ 80D52EC - push {r4,r5,lr} - ldr r1, _080D5310 @ =gBattleBufferA - ldr r0, _080D5314 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x2 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080D531C - ldr r0, _080D5318 @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrb r0, [r1] - bl sub_80D5344 - b _080D533A - .align 2, 0 -_080D5310: .4byte gBattleBufferA -_080D5314: .4byte gActiveBattler -_080D5318: .4byte gBattlerPartyIndexes -_080D531C: - ldrb r4, [r1] - movs r5, 0 -_080D5320: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080D532E - adds r0, r5, 0 - bl sub_80D5344 -_080D532E: - lsrs r4, 1 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080D5320 -_080D533A: - bl sub_80D49E8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end LinkPartnerHandleSetAttributes - - thumb_func_start sub_80D5344 -sub_80D5344: @ 80D5344 - 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, _080D537C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - ldr r2, _080D5380 @ =gUnknown_2022BC7 - 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 _080D5370 - bl _080D5D0A -_080D5370: - lsls r0, 2 - ldr r1, _080D5384 @ =_080D5388 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080D537C: .4byte gActiveBattler -_080D5380: .4byte gUnknown_2022BC7 -_080D5384: .4byte _080D5388 - .align 2, 0 -_080D5388: - .4byte _080D5478 - .4byte _080D5610 - .4byte _080D5630 - .4byte _080D5650 - .4byte _080D56A8 - .4byte _080D56A8 - .4byte _080D56A8 - .4byte _080D56A8 - .4byte _080D56D0 - .4byte _080D5734 - .4byte _080D5734 - .4byte _080D5734 - .4byte _080D5734 - .4byte _080D5D0A - .4byte _080D5D0A - .4byte _080D5D0A - .4byte _080D5D0A - .4byte _080D5764 - .4byte _080D5784 - .4byte _080D57A4 - .4byte _080D57C4 - .4byte _080D57E4 - .4byte _080D5804 - .4byte _080D5824 - .4byte _080D5844 - .4byte _080D5864 - .4byte _080D5884 - .4byte _080D58A4 - .4byte _080D58C4 - .4byte _080D58E4 - .4byte _080D5904 - .4byte _080D5924 - .4byte _080D5994 - .4byte _080D59B4 - .4byte _080D59D4 - .4byte _080D59F4 - .4byte _080D5A14 - .4byte _080D5A34 - .4byte _080D5A54 - .4byte _080D5A74 - .4byte _080D5A94 - .4byte _080D5AB4 - .4byte _080D5AD4 - .4byte _080D5AF4 - .4byte _080D5B14 - .4byte _080D5B34 - .4byte _080D5B54 - .4byte _080D5B74 - .4byte _080D5B94 - .4byte _080D5BB4 - .4byte _080D5BD4 - .4byte _080D5BF4 - .4byte _080D5C14 - .4byte _080D5C34 - .4byte _080D5C54 - .4byte _080D5C74 - .4byte _080D5C94 - .4byte _080D5CB4 - .4byte _080D5CD4 - .4byte _080D5CF4 -_080D5478: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080D560C @ =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 -_080D54DE: - 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 _080D54DE - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080D560C @ =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 _080D5D0A - .align 2, 0 -_080D560C: .4byte gPlayerParty -_080D5610: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5628 @ =gPlayerParty - adds r0, r1 - ldr r1, _080D562C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xB - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5628: .4byte gPlayerParty -_080D562C: .4byte gActiveBattler -_080D5630: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5648 @ =gPlayerParty - adds r0, r1 - ldr r1, _080D564C @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0xC - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5648: .4byte gPlayerParty -_080D564C: .4byte gActiveBattler -_080D5650: - 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, _080D56A4 @ =gPlayerParty - adds r7, r1, r0 - adds r6, r3, 0 - adds r6, 0x8 - adds r4, r3, 0 -_080D566A: - 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 _080D566A - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D56A4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x15 - mov r2, r9 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D56A4: .4byte gPlayerParty -_080D56A8: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D56C4 @ =gPlayerParty - adds r0, r1 - ldr r3, _080D56C8 @ =gBattleBufferA - ldr r1, _080D56CC @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x9 - b _080D574C - .align 2, 0 -_080D56C4: .4byte gPlayerParty -_080D56C8: .4byte gBattleBufferA -_080D56CC: .4byte gActiveBattler -_080D56D0: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080D572C @ =gPlayerParty - adds r4, r0 - ldr r5, _080D5730 @ =gActiveBattler - 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 _080D5D0A - .align 2, 0 -_080D572C: .4byte gPlayerParty -_080D5730: .4byte gActiveBattler -_080D5734: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5758 @ =gPlayerParty - adds r0, r1 - ldr r3, _080D575C @ =gBattleBufferA - ldr r1, _080D5760 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r1, r3, 0x1 - adds r1, r2, r1 - ldrb r1, [r1] - adds r1, 0x8 -_080D574C: - adds r3, 0x3 - adds r2, r3 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5758: .4byte gPlayerParty -_080D575C: .4byte gBattleBufferA -_080D5760: .4byte gActiveBattler -_080D5764: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D577C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5780 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D577C: .4byte gPlayerParty -_080D5780: .4byte gActiveBattler -_080D5784: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D579C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D57A0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x19 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D579C: .4byte gPlayerParty -_080D57A0: .4byte gActiveBattler -_080D57A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D57BC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D57C0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1A - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D57BC: .4byte gPlayerParty -_080D57C0: .4byte gActiveBattler -_080D57C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D57DC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D57E0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1B - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D57DC: .4byte gPlayerParty -_080D57E0: .4byte gActiveBattler -_080D57E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D57FC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5800 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1C - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D57FC: .4byte gPlayerParty -_080D5800: .4byte gActiveBattler -_080D5804: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D581C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5820 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1D - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D581C: .4byte gPlayerParty -_080D5820: .4byte gActiveBattler -_080D5824: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D583C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5840 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1E - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D583C: .4byte gPlayerParty -_080D5840: .4byte gActiveBattler -_080D5844: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D585C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5860 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x1F - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D585C: .4byte gPlayerParty -_080D5860: .4byte gActiveBattler -_080D5864: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D587C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5880 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x20 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D587C: .4byte gPlayerParty -_080D5880: .4byte gActiveBattler -_080D5884: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D589C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D58A0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x22 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D589C: .4byte gPlayerParty -_080D58A0: .4byte gActiveBattler -_080D58A4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D58BC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D58C0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x23 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D58BC: .4byte gPlayerParty -_080D58C0: .4byte gActiveBattler -_080D58C4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D58DC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D58E0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x24 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D58DC: .4byte gPlayerParty -_080D58E0: .4byte gActiveBattler -_080D58E4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D58FC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5900 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x25 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D58FC: .4byte gPlayerParty -_080D5900: .4byte gActiveBattler -_080D5904: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D591C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5920 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x26 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D591C: .4byte gPlayerParty -_080D5920: .4byte gActiveBattler -_080D5924: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - ldr r0, _080D598C @ =gPlayerParty - adds r4, r0 - ldr r5, _080D5990 @ =gActiveBattler - 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 _080D5A44 - .align 2, 0 -_080D598C: .4byte gPlayerParty -_080D5990: .4byte gActiveBattler -_080D5994: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D59AC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D59B0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x27 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D59AC: .4byte gPlayerParty -_080D59B0: .4byte gActiveBattler -_080D59B4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D59CC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D59D0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x28 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D59CC: .4byte gPlayerParty -_080D59D0: .4byte gActiveBattler -_080D59D4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D59EC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D59F0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x29 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D59EC: .4byte gPlayerParty -_080D59F0: .4byte gActiveBattler -_080D59F4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5A0C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5A10 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2A - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5A0C: .4byte gPlayerParty -_080D5A10: .4byte gActiveBattler -_080D5A14: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5A2C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5A30 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2B - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5A2C: .4byte gPlayerParty -_080D5A30: .4byte gActiveBattler -_080D5A34: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5A4C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5A50 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 -_080D5A44: - movs r1, 0x2C - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5A4C: .4byte gPlayerParty -_080D5A50: .4byte gActiveBattler -_080D5A54: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5A6C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5A70 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5A6C: .4byte gPlayerParty -_080D5A70: .4byte gActiveBattler -_080D5A74: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5A8C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5A90 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x9 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5A8C: .4byte gPlayerParty -_080D5A90: .4byte gActiveBattler -_080D5A94: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5AAC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5AB0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x37 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5AAC: .4byte gPlayerParty -_080D5AB0: .4byte gActiveBattler -_080D5AB4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5ACC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5AD0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x38 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5ACC: .4byte gPlayerParty -_080D5AD0: .4byte gActiveBattler -_080D5AD4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5AEC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5AF0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x39 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5AEC: .4byte gPlayerParty -_080D5AF0: .4byte gActiveBattler -_080D5AF4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5B0C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5B10 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3A - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5B0C: .4byte gPlayerParty -_080D5B10: .4byte gActiveBattler -_080D5B14: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5B2C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5B30 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3B - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5B2C: .4byte gPlayerParty -_080D5B30: .4byte gActiveBattler -_080D5B34: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5B4C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5B50 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3C - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5B4C: .4byte gPlayerParty -_080D5B50: .4byte gActiveBattler -_080D5B54: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5B6C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5B70 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3D - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5B6C: .4byte gPlayerParty -_080D5B70: .4byte gActiveBattler -_080D5B74: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5B8C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5B90 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3E - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5B8C: .4byte gPlayerParty -_080D5B90: .4byte gActiveBattler -_080D5B94: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5BAC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5BB0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x3F - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5BAC: .4byte gPlayerParty -_080D5BB0: .4byte gActiveBattler -_080D5BB4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5BCC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5BD0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x16 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5BCC: .4byte gPlayerParty -_080D5BD0: .4byte gActiveBattler -_080D5BD4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5BEC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5BF0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x17 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5BEC: .4byte gPlayerParty -_080D5BF0: .4byte gActiveBattler -_080D5BF4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5C0C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5C10 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x18 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5C0C: .4byte gPlayerParty -_080D5C10: .4byte gActiveBattler -_080D5C14: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5C2C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5C30 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x21 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5C2C: .4byte gPlayerParty -_080D5C30: .4byte gActiveBattler -_080D5C34: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5C4C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5C50 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x2F - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5C4C: .4byte gPlayerParty -_080D5C50: .4byte gActiveBattler -_080D5C54: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5C6C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5C70 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x30 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5C6C: .4byte gPlayerParty -_080D5C70: .4byte gActiveBattler -_080D5C74: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5C8C @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5C90 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x32 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5C8C: .4byte gPlayerParty -_080D5C90: .4byte gActiveBattler -_080D5C94: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5CAC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5CB0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x33 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5CAC: .4byte gPlayerParty -_080D5CB0: .4byte gActiveBattler -_080D5CB4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5CCC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5CD0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x34 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5CCC: .4byte gPlayerParty -_080D5CD0: .4byte gActiveBattler -_080D5CD4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5CEC @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5CF0 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x35 - bl SetMonData - b _080D5D0A - .align 2, 0 -_080D5CEC: .4byte gPlayerParty -_080D5CF0: .4byte gActiveBattler -_080D5CF4: - movs r0, 0x64 - muls r0, r5 - ldr r1, _080D5D34 @ =gPlayerParty - adds r0, r1 - ldr r1, _080D5D38 @ =gActiveBattler - ldrb r2, [r1] - lsls r2, 9 - adds r2, r7 - movs r1, 0x36 - bl SetMonData -_080D5D0A: - ldr r2, _080D5D3C @ =gBattlerPartyIndexes - ldr r0, _080D5D38 @ =gActiveBattler - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _080D5D34 @ =gPlayerParty - adds r0, r2 - bl HandleLowHpMusicChange - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D5D34: .4byte gPlayerParty -_080D5D38: .4byte gActiveBattler -_080D5D3C: .4byte gBattlerPartyIndexes - thumb_func_end sub_80D5344 - - thumb_func_start LinkPartnerHandlecmd3 -LinkPartnerHandlecmd3: @ 80D5D40 - push {r4-r7,lr} - ldr r1, _080D5DA4 @ =gBattlerPartyIndexes - ldr r7, _080D5DA8 @ =gActiveBattler - 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, _080D5DAC @ =gBattleBufferA - lsls r2, 9 - adds r0, r4, 0x1 - adds r0, r2, r0 - ldrb r0, [r0] - ldr r1, _080D5DB0 @ =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 _080D5D98 - adds r6, r4, 0 - adds r2, r7, 0 - adds r4, r0, 0 -_080D5D76: - 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 _080D5D76 -_080D5D98: - bl sub_80D49E8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D5DA4: .4byte gBattlerPartyIndexes -_080D5DA8: .4byte gActiveBattler -_080D5DAC: .4byte gBattleBufferA -_080D5DB0: .4byte gPlayerParty - thumb_func_end LinkPartnerHandlecmd3 - - thumb_func_start LinkPartnerHandleLoadPokeSprite -LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _080D5EA8 @ =gBattlerPartyIndexes - mov r8, r0 - ldr r6, _080D5EAC @ =gActiveBattler - ldrb r1, [r6] - lsls r0, r1, 1 - add r0, r8 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080D5EB0 @ =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 GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, _080D5EB4 @ =gMultiuseSpriteTemplate - mov r8, r0 - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r6] - bl GetBattlerSpriteDefault_Y - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6] - bl GetBattlerSpriteSubpriority - 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, _080D5EB8 @ =gBattlerSpriteIds - ldrb r1, [r6] - adds r1, r4 - strb r0, [r1] - ldr r5, _080D5EBC @ =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, _080D5EC0 @ =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, _080D5EC4 @ =gBattleMonForms - adds r2, r1 - ldrb r1, [r2] - bl StartSpriteAnim - ldr r1, _080D5EC8 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D5ECC @ =sub_80D4590 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D5EA8: .4byte gBattlerPartyIndexes -_080D5EAC: .4byte gActiveBattler -_080D5EB0: .4byte gPlayerParty -_080D5EB4: .4byte gMultiuseSpriteTemplate -_080D5EB8: .4byte gBattlerSpriteIds -_080D5EBC: .4byte gSprites -_080D5EC0: .4byte 0x0000ff10 -_080D5EC4: .4byte gBattleMonForms -_080D5EC8: .4byte gBattlerControllerFuncs -_080D5ECC: .4byte sub_80D4590 - thumb_func_end LinkPartnerHandleLoadPokeSprite - - thumb_func_start LinkPartnerHandleSendOutPoke -LinkPartnerHandleSendOutPoke: @ 80D5ED0 - push {r4-r6,lr} - ldr r5, _080D5F28 @ =gActiveBattler - ldrb r0, [r5] - ldr r4, _080D5F2C @ =gBattleBufferA - lsls r1, r0, 9 - adds r6, r4, 0x2 - adds r1, r6 - ldrb r1, [r1] - bl ClearTemporarySpeciesSpriteData - ldr r2, _080D5F30 @ =gBattlerPartyIndexes - 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, _080D5F34 @ =gPlayerParty - adds r0, r2 - bl BattleLoadPlayerMonSpriteGfx - ldrb r0, [r5] - lsls r1, r0, 9 - adds r1, r6 - ldrb r1, [r1] - bl sub_80D5F40 - ldr r1, _080D5F38 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D5F3C @ =sub_80D4944 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D5F28: .4byte gActiveBattler -_080D5F2C: .4byte gBattleBufferA -_080D5F30: .4byte gBattlerPartyIndexes -_080D5F34: .4byte gPlayerParty -_080D5F38: .4byte gBattlerControllerFuncs -_080D5F3C: .4byte sub_80D4944 - thumb_func_end LinkPartnerHandleSendOutPoke - - thumb_func_start sub_80D5F40 -sub_80D5F40: @ 80D5F40 - 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 ClearTemporarySpeciesSpriteData - ldr r0, _080D6084 @ =gBattlerPartyIndexes - lsls r2, r6, 1 - adds r2, r0 - ldr r0, _080D6088 @ =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, _080D608C @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, _080D6090 @ =sub_8033E3C - bl CreateInvisibleSpriteWithCallback - ldr r1, _080D6094 @ =gUnknown_3004FFC - mov r9, r1 - add r9, r6 - mov r1, r9 - strb r0, [r1] - adds r0, r6, 0 - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, _080D6098 @ =gMultiuseSpriteTemplate - mov r10, r0 - adds r0, r6, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - bl GetBattlerSpriteDefault_Y - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - bl GetBattlerSpriteSubpriority - 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, _080D609C @ =gBattlerSpriteIds - adds r4, r6, r4 - strb r0, [r4] - ldr r5, _080D60A0 @ =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] - 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, _080D60A4 @ =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, _080D60A8 @ =SpriteCallbackDummy - str r1, [r0] - movs r0, 0 - movs r1, 0xFF - bl DoPokeballSendOutAnimation - 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 - .align 2, 0 -_080D6084: .4byte gBattlerPartyIndexes -_080D6088: .4byte gBattleBufferA -_080D608C: .4byte gPlayerParty -_080D6090: .4byte sub_8033E3C -_080D6094: .4byte gUnknown_3004FFC -_080D6098: .4byte gMultiuseSpriteTemplate -_080D609C: .4byte gBattlerSpriteIds -_080D60A0: .4byte gSprites -_080D60A4: .4byte gBattleMonForms -_080D60A8: .4byte SpriteCallbackDummy - thumb_func_end sub_80D5F40 - - thumb_func_start LinkPartnerHandleReturnPokeToBall -LinkPartnerHandleReturnPokeToBall: @ 80D60AC - push {r4-r6,lr} - ldr r1, _080D60E0 @ =gBattleBufferA - ldr r6, _080D60E4 @ =gActiveBattler - ldrb r2, [r6] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r3, [r0] - cmp r3, 0 - bne _080D60F4 - ldr r0, _080D60E8 @ =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, _080D60EC @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D60F0 @ =sub_80D613C - str r1, [r0] - b _080D612A - .align 2, 0 -_080D60E0: .4byte gBattleBufferA -_080D60E4: .4byte gActiveBattler -_080D60E8: .4byte gBattleSpritesDataPtr -_080D60EC: .4byte gBattlerControllerFuncs -_080D60F0: .4byte sub_80D613C -_080D60F4: - ldr r5, _080D6130 @ =gBattlerSpriteIds - adds r0, r2, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080D6134 @ =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, _080D6138 @ =gHealthboxSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible - bl sub_80D49E8 -_080D612A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D6130: .4byte gBattlerSpriteIds -_080D6134: .4byte gSprites -_080D6138: .4byte gHealthboxSpriteIds - thumb_func_end LinkPartnerHandleReturnPokeToBall - - thumb_func_start sub_80D613C -sub_80D613C: @ 80D613C - push {r4-r6,lr} - ldr r6, _080D615C @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _080D6160 @ =gActiveBattler - 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 _080D6164 - cmp r0, 0x1 - beq _080D6192 - b _080D61BA - .align 2, 0 -_080D615C: .4byte gBattleSpritesDataPtr -_080D6160: .4byte gActiveBattler -_080D6164: - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D617E - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_080D617E: - 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 _080D61BA -_080D6192: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080D61BA - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x1 - bl InitAndLaunchSpecialAnimation - ldr r1, _080D61C0 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D61C4 @ =sub_80D46A8 - str r1, [r0] -_080D61BA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D61C0: .4byte gBattlerControllerFuncs -_080D61C4: .4byte sub_80D46A8 - thumb_func_end sub_80D613C - - thumb_func_start sub_80D61C8 -sub_80D61C8: @ 80D61C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r6, _080D6240 @ =gActiveBattler - ldrb r0, [r6] - bl GetBattlerPosition - movs r1, 0x2 - ands r1, r0 - movs r7, 0x20 - cmp r1, 0 - beq _080D61E2 - movs r7, 0x5A -_080D61E2: - ldrb r0, [r6] - bl GetBattlerMultiplayerId - ldr r5, _080D6244 @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - movs r4, 0xFF - ldrb r0, [r1] - cmp r0, 0x2 - beq _080D6228 - ldrb r0, [r6] - bl GetBattlerMultiplayerId - 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, 0x1 - beq _080D6228 - ldrb r0, [r6] - bl GetBattlerMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r1] - ands r4, r0 - cmp r4, 0x3 - bne _080D6248 -_080D6228: - ldr r0, _080D6240 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerMultiplayerId - ldr r2, _080D6244 @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x13] - adds r4, r0, 0x2 - b _080D6258 - .align 2, 0 -_080D6240: .4byte gActiveBattler -_080D6244: .4byte gLinkPlayers -_080D6248: - ldrb r0, [r6] - bl GetBattlerMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r4, [r1, 0x13] -_080D6258: - ldr r5, _080D6318 @ =gActiveBattler - ldrb r1, [r5] - adds r0, r4, 0 - bl DecompressTrainerBackPalette - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl SetMultiuseSpriteTemplateToTrainerBack - ldr r6, _080D631C @ =gMultiuseSpriteTemplate - mov r8, r7 - ldr r0, _080D6320 @ =gTrainerBackPicCoords - lsls r4, 2 - adds r4, r0 - ldrb r0, [r4] - movs r4, 0x8 - subs r4, r0 - lsls r4, 18 - movs r0, 0xA0 - lsls r0, 15 - adds r4, r0 - asrs r4, 16 - ldrb r0, [r5] - bl GetBattlerSpriteSubpriority - 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, _080D6324 @ =gBattlerSpriteIds - ldrb r1, [r5] - adds r1, r6 - strb r0, [r1] - ldr r4, _080D6328 @ =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, _080D632C @ =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, _080D6330 @ =sub_8033EEC - str r1, [r0] - ldr r1, _080D6334 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6338 @ =sub_80D4270 - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D6318: .4byte gActiveBattler -_080D631C: .4byte gMultiuseSpriteTemplate -_080D6320: .4byte gTrainerBackPicCoords -_080D6324: .4byte gBattlerSpriteIds -_080D6328: .4byte gSprites -_080D632C: .4byte 0x0000fffe -_080D6330: .4byte sub_8033EEC -_080D6334: .4byte gBattlerControllerFuncs -_080D6338: .4byte sub_80D4270 - thumb_func_end sub_80D61C8 - - thumb_func_start sub_80D633C -sub_80D633C: @ 80D633C - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D633C - - thumb_func_start sub_80D6348 -sub_80D6348: @ 80D6348 - push {r4-r6,lr} - ldr r6, _080D63D4 @ =gBattlerSpriteIds - ldr r4, _080D63D8 @ =gActiveBattler - ldrb r0, [r4] - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _080D63DC @ =gSprites - adds r0, r5 - bl SetSpritePrimaryCoordsFromSecondaryCoords - 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, _080D63E0 @ =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, _080D63E4 @ =StartAnimLinearTranslation - 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, _080D63E8 @ =SpriteCallbackDummy - bl StoreSpriteCallbackInData6 - ldr r1, _080D63EC @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D63F0 @ =sub_80D42A8 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D63D4: .4byte gBattlerSpriteIds -_080D63D8: .4byte gActiveBattler -_080D63DC: .4byte gSprites -_080D63E0: .4byte 0x0000ffd8 -_080D63E4: .4byte StartAnimLinearTranslation -_080D63E8: .4byte SpriteCallbackDummy -_080D63EC: .4byte gBattlerControllerFuncs -_080D63F0: .4byte sub_80D42A8 - thumb_func_end sub_80D6348 - - thumb_func_start sub_80D63F4 -sub_80D63F4: @ 80D63F4 - push {r4-r6,lr} - ldr r6, _080D6440 @ =gBattleSpritesDataPtr - ldr r4, [r6] - ldr r5, _080D6444 @ =gActiveBattler - 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 _080D6448 - ldr r1, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080D6428 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_080D6428: - 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 _080D64BE - .align 2, 0 -_080D6440: .4byte gBattleSpritesDataPtr -_080D6444: .4byte gActiveBattler -_080D6448: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080D64BE - strb r4, [r3, 0x4] - ldr r2, _080D64C4 @ =gBattlerPartyIndexes - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r2, _080D64C8 @ =gPlayerParty - adds r0, r2 - bl HandleLowHpMusicChange - movs r1, 0x40 - negs r1, r1 - movs r0, 0x10 - bl PlaySE12WithPanning - ldr r2, _080D64CC @ =gSprites - ldr r3, _080D64D0 @ =gBattlerSpriteIds - 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, _080D64D4 @ =sub_8012110 - str r1, [r0] - ldr r1, _080D64D8 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D64DC @ =sub_80D4640 - str r1, [r0] -_080D64BE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D64C4: .4byte gBattlerPartyIndexes -_080D64C8: .4byte gPlayerParty -_080D64CC: .4byte gSprites -_080D64D0: .4byte gBattlerSpriteIds -_080D64D4: .4byte sub_8012110 -_080D64D8: .4byte gBattlerControllerFuncs -_080D64DC: .4byte sub_80D4640 - thumb_func_end sub_80D63F4 - - thumb_func_start sub_80D64E0 -sub_80D64E0: @ 80D64E0 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D64E0 - - thumb_func_start sub_80D64EC -sub_80D64EC: @ 80D64EC - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D64EC - - thumb_func_start sub_80D64F8 -sub_80D64F8: @ 80D64F8 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D64F8 - - thumb_func_start sub_80D6504 -sub_80D6504: @ 80D6504 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6504 - - thumb_func_start sub_80D6510 -sub_80D6510: @ 80D6510 - push {r4-r6,lr} - ldr r6, _080D65F4 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - beq _080D6522 - b _080D6636 -_080D6522: - ldr r0, _080D65F8 @ =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, _080D65FC @ =gAnimMoveTurn - mov r1, r12 - adds r1, 0x3 - adds r2, r1 - ldrb r1, [r2] - strb r1, [r5] - ldr r4, _080D6600 @ =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, _080D6604 @ =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, _080D6608 @ =gAnimFriendship - ldrb r1, [r6] - lsls r1, 9 - mov r2, r12 - adds r2, 0xA - adds r1, r2 - ldrb r1, [r1] - strb r1, [r3] - ldr r4, _080D660C @ =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, _080D6610 @ =gAnimDisableStructPtr - ldrb r2, [r6] - lsls r2, 9 - mov r1, r12 - adds r1, 0x10 - adds r2, r1 - str r2, [r3] - ldr r3, _080D6614 @ =gTransformedPersonalities - ldrb r1, [r6] - lsls r1, 2 - adds r1, r3 - ldr r2, [r2] - str r2, [r1] - ldrb r1, [r5] - bl IsMoveWithoutAnimation - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _080D6618 - bl sub_80D49E8 - b _080D6636 - .align 2, 0 -_080D65F4: .4byte gActiveBattler -_080D65F8: .4byte gBattleBufferA -_080D65FC: .4byte gAnimMoveTurn -_080D6600: .4byte gAnimMovePower -_080D6604: .4byte gAnimMoveDmg -_080D6608: .4byte gAnimFriendship -_080D660C: .4byte gWeatherMoveAnim -_080D6610: .4byte gAnimDisableStructPtr -_080D6614: .4byte gTransformedPersonalities -_080D6618: - ldr r0, _080D663C @ =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, _080D6640 @ =gBattlerControllerFuncs - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6644 @ =sub_80D6648 - str r1, [r0] -_080D6636: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D663C: .4byte gBattleSpritesDataPtr -_080D6640: .4byte gBattlerControllerFuncs -_080D6644: .4byte sub_80D6648 - thumb_func_end sub_80D6510 - - thumb_func_start sub_80D6648 -sub_80D6648: @ 80D6648 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r2, _080D6694 @ =gBattleBufferA - ldr r6, _080D6698 @ =gActiveBattler - 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, _080D669C @ =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 _080D66E0 - cmp r2, 0x1 - bgt _080D66A0 - cmp r2, 0 - beq _080D66AA - b _080D67BC - .align 2, 0 -_080D6694: .4byte gBattleBufferA -_080D6698: .4byte gActiveBattler -_080D669C: .4byte gBattleSpritesDataPtr -_080D66A0: - cmp r2, 0x2 - beq _080D670A - cmp r2, 0x3 - beq _080D6780 - b _080D67BC -_080D66AA: - ldr r1, [r5] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrb r2, [r1] - movs r0, 0xC - ands r0, r2 - cmp r0, 0x4 - bne _080D66CC - movs r0, 0x8 - orrs r0, r2 - strb r0, [r1] - ldrb r2, [r6] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl InitAndLaunchSpecialAnimation -_080D66CC: - 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 _080D67BC -_080D66E0: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _080D67BC - movs r0, 0 - bl sub_8035450 - 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 _080D67BC -_080D670A: - ldr r0, _080D6770 @ =gAnimScriptCallback - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _080D6774 @ =gAnimScriptActive - ldrb r0, [r0] - cmp r0, 0 - bne _080D67BC - movs r0, 0x1 - bl sub_8035450 - 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 _080D6758 - mov r0, r8 - cmp r0, 0x1 - bhi _080D6758 - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x6 - bl InitAndLaunchSpecialAnimation - 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] -_080D6758: - ldr r0, _080D6778 @ =gBattleSpritesDataPtr - ldr r2, [r0] - ldr r0, _080D677C @ =gActiveBattler - 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 _080D67BC - .align 2, 0 -_080D6770: .4byte gAnimScriptCallback -_080D6774: .4byte gAnimScriptActive -_080D6778: .4byte gBattleSpritesDataPtr -_080D677C: .4byte gActiveBattler -_080D6780: - ldrb r1, [r0] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080D67BC - bl CopyAllBattleSpritesInvisibilities - 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 TrySetBehindSubstituteSpriteBit - 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 sub_80D49E8 -_080D67BC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80D6648 - - thumb_func_start sub_80D67CC -sub_80D67CC: @ 80D67CC - push {r4,lr} - ldr r0, _080D6800 @ =gBattle_BG0_X - movs r1, 0 - strh r1, [r0] - ldr r0, _080D6804 @ =gBattle_BG0_Y - strh r1, [r0] - ldr r0, _080D6808 @ =gActiveBattler - ldrb r4, [r0] - lsls r4, 9 - ldr r0, _080D680C @ =gUnknown_2022BC6 - adds r4, r0 - ldrh r0, [r4] - bl BufferStringBattle - ldrh r0, [r4] - bl sub_80D89B0 - lsls r0, 24 - cmp r0, 0 - beq _080D6814 - ldr r0, _080D6810 @ =gDisplayedStringBattle - movs r1, 0x40 - bl BattlePutTextOnWindow - b _080D681C - .align 2, 0 -_080D6800: .4byte gBattle_BG0_X -_080D6804: .4byte gBattle_BG0_Y -_080D6808: .4byte gActiveBattler -_080D680C: .4byte gUnknown_2022BC6 -_080D6810: .4byte gDisplayedStringBattle -_080D6814: - ldr r0, _080D6830 @ =gDisplayedStringBattle - movs r1, 0 - bl BattlePutTextOnWindow -_080D681C: - ldr r1, _080D6834 @ =gBattlerControllerFuncs - ldr r0, _080D6838 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D683C @ =sub_80D4718 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D6830: .4byte gDisplayedStringBattle -_080D6834: .4byte gBattlerControllerFuncs -_080D6838: .4byte gActiveBattler -_080D683C: .4byte sub_80D4718 - thumb_func_end sub_80D67CC - - thumb_func_start sub_80D6840 -sub_80D6840: @ 80D6840 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6840 - - thumb_func_start sub_80D684C -sub_80D684C: @ 80D684C - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D684C - - thumb_func_start sub_80D6858 -sub_80D6858: @ 80D6858 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6858 - - thumb_func_start sub_80D6864 -sub_80D6864: @ 80D6864 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6864 - - thumb_func_start sub_80D6870 -sub_80D6870: @ 80D6870 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6870 - - thumb_func_start sub_80D687C -sub_80D687C: @ 80D687C - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D687C - - thumb_func_start sub_80D6888 -sub_80D6888: @ 80D6888 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6888 - - thumb_func_start sub_80D6894 -sub_80D6894: @ 80D6894 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r0, 0 - bl LoadBattleBarGfx - ldr r3, _080D690C @ =gBattleBufferA - ldr r0, _080D6910 @ =gActiveBattler - 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, _080D6914 @ =0x00007fff - cmp r7, r0 - beq _080D6924 - ldr r6, _080D6918 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r6 - ldrh r0, [r0] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080D691C @ =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, _080D6920 @ =gHealthboxSpriteIds - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - mov r2, r8 - bl SetBattleBarStruct - b _080D694E - .align 2, 0 -_080D690C: .4byte gBattleBufferA -_080D6910: .4byte gActiveBattler -_080D6914: .4byte 0x00007fff -_080D6918: .4byte gBattlerPartyIndexes -_080D691C: .4byte gPlayerParty -_080D6920: .4byte gHealthboxSpriteIds -_080D6924: - ldr r1, _080D696C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080D6970 @ =gPlayerParty - adds r0, r1 - movs r1, 0x3A - bl GetMonData - adds r2, r0, 0 - mov r1, r9 - ldrb r0, [r1] - ldr r1, _080D6974 @ =gHealthboxSpriteIds - adds r1, r0, r1 - ldrb r1, [r1] - str r7, [sp] - movs r3, 0 - bl SetBattleBarStruct -_080D694E: - ldr r1, _080D6978 @ =gBattlerControllerFuncs - ldr r0, _080D697C @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6980 @ =sub_80D45D0 - str r1, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D696C: .4byte gBattlerPartyIndexes -_080D6970: .4byte gPlayerParty -_080D6974: .4byte gHealthboxSpriteIds -_080D6978: .4byte gBattlerControllerFuncs -_080D697C: .4byte gActiveBattler -_080D6980: .4byte sub_80D45D0 - thumb_func_end sub_80D6894 - - thumb_func_start sub_80D6984 -sub_80D6984: @ 80D6984 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6984 - - thumb_func_start sub_80D6990 -sub_80D6990: @ 80D6990 - push {r4,lr} - ldr r4, _080D69EC @ =gActiveBattler - ldrb r0, [r4] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _080D69E4 - ldr r0, _080D69F0 @ =gHealthboxSpriteIds - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _080D69F4 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _080D69F8 @ =gPlayerParty - adds r1, r2 - movs r2, 0x9 - bl UpdateHealthboxAttribute - ldrb r2, [r4] - ldr r0, _080D69FC @ =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, _080D6A00 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6A04 @ =sub_80D4A60 - str r1, [r0] -_080D69E4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D69EC: .4byte gActiveBattler -_080D69F0: .4byte gHealthboxSpriteIds -_080D69F4: .4byte gBattlerPartyIndexes -_080D69F8: .4byte gPlayerParty -_080D69FC: .4byte gBattleSpritesDataPtr -_080D6A00: .4byte gBattlerControllerFuncs -_080D6A04: .4byte sub_80D4A60 - thumb_func_end sub_80D6990 - - thumb_func_start sub_80D6A08 -sub_80D6A08: @ 80D6A08 - push {r4,r5,lr} - ldr r5, _080D6A60 @ =gActiveBattler - ldrb r0, [r5] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _080D6A58 - ldr r4, _080D6A64 @ =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 InitAndLaunchChosenStatusAnimation - ldr r1, _080D6A68 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6A6C @ =sub_80D4A60 - str r1, [r0] -_080D6A58: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D6A60: .4byte gActiveBattler -_080D6A64: .4byte gBattleBufferA -_080D6A68: .4byte gBattlerControllerFuncs -_080D6A6C: .4byte sub_80D4A60 - thumb_func_end sub_80D6A08 - - thumb_func_start sub_80D6A70 -sub_80D6A70: @ 80D6A70 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6A70 - - thumb_func_start sub_80D6A7C -sub_80D6A7C: @ 80D6A7C - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6A7C - - thumb_func_start sub_80D6A88 -sub_80D6A88: @ 80D6A88 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6A88 - - thumb_func_start sub_80D6A94 -sub_80D6A94: @ 80D6A94 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6A94 - - thumb_func_start sub_80D6AA0 -sub_80D6AA0: @ 80D6AA0 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6AA0 - - thumb_func_start sub_80D6AAC -sub_80D6AAC: @ 80D6AAC - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6AAC - - thumb_func_start sub_80D6AB8 -sub_80D6AB8: @ 80D6AB8 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6AB8 - - thumb_func_start sub_80D6AC4 -sub_80D6AC4: @ 80D6AC4 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6AC4 - - thumb_func_start sub_80D6AD0 -sub_80D6AD0: @ 80D6AD0 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6AD0 - - thumb_func_start LinkPartnerHandlecmd37 -LinkPartnerHandlecmd37: @ 80D6ADC - push {lr} - ldr r2, _080D6AF4 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - bl sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D6AF4: .4byte gUnknown_2022870 - thumb_func_end LinkPartnerHandlecmd37 - - thumb_func_start LinkPartnerHandlecmd38 -LinkPartnerHandlecmd38: @ 80D6AF8 - push {lr} - ldr r3, _080D6B24 @ =gUnknown_2022870 - ldr r1, _080D6B28 @ =gBattleBufferA - ldr r0, _080D6B2C @ =gActiveBattler - 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 sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D6B24: .4byte gUnknown_2022870 -_080D6B28: .4byte gBattleBufferA -_080D6B2C: .4byte gActiveBattler - thumb_func_end LinkPartnerHandlecmd38 - - thumb_func_start LinkPartnerHandlecmd39 -LinkPartnerHandlecmd39: @ 80D6B30 - push {lr} - ldr r2, _080D6B44 @ =gUnknown_2022870 - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bl sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D6B44: .4byte gUnknown_2022870 - thumb_func_end LinkPartnerHandlecmd39 - - thumb_func_start LinkPartnerHandlecmd40 -LinkPartnerHandlecmd40: @ 80D6B48 - push {lr} - ldr r3, _080D6B6C @ =gUnknown_2022870 - 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 sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D6B6C: .4byte gUnknown_2022870 - thumb_func_end LinkPartnerHandlecmd40 - - thumb_func_start LinkPartnerHandleHitAnimation -LinkPartnerHandleHitAnimation: @ 80D6B70 - push {r4,lr} - ldr r3, _080D6B98 @ =gSprites - ldr r2, _080D6B9C @ =gBattlerSpriteIds - ldr r4, _080D6BA0 @ =gActiveBattler - 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 _080D6BA4 - bl sub_80D49E8 - b _080D6BCE - .align 2, 0 -_080D6B98: .4byte gSprites -_080D6B9C: .4byte gBattlerSpriteIds -_080D6BA0: .4byte gActiveBattler -_080D6BA4: - ldr r1, _080D6BD4 @ =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 DoHitAnimHealthboxEffect - ldr r1, _080D6BD8 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6BDC @ =sub_80D4730 - str r1, [r0] -_080D6BCE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D6BD4: .4byte gDoingBattleAnim -_080D6BD8: .4byte gBattlerControllerFuncs -_080D6BDC: .4byte sub_80D4730 - thumb_func_end LinkPartnerHandleHitAnimation - - thumb_func_start sub_80D6BE0 -sub_80D6BE0: @ 80D6BE0 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D6BE0 - - thumb_func_start LinkPartnerHandleEffectivenessSound -LinkPartnerHandleEffectivenessSound: @ 80D6BEC - push {r4,lr} - ldr r4, _080D6C28 @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - movs r3, 0x3F - cmp r0, 0 - bne _080D6C00 - movs r3, 0xC0 -_080D6C00: - ldr r2, _080D6C2C @ =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 sub_80D49E8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D6C28: .4byte gActiveBattler -_080D6C2C: .4byte gBattleBufferA - thumb_func_end LinkPartnerHandleEffectivenessSound - - thumb_func_start LinkPartnerHandlecmd44 -LinkPartnerHandlecmd44: @ 80D6C30 - push {lr} - ldr r2, _080D6C58 @ =gBattleBufferA - ldr r0, _080D6C5C @ =gActiveBattler - 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 PlayFanfare - bl sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D6C58: .4byte gBattleBufferA -_080D6C5C: .4byte gActiveBattler - thumb_func_end LinkPartnerHandlecmd44 - - thumb_func_start LinkPartnerHandleFaintingCry -LinkPartnerHandleFaintingCry: @ 80D6C60 - push {lr} - ldr r1, _080D6C94 @ =gBattlerPartyIndexes - ldr r0, _080D6C98 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080D6C9C @ =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 sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D6C94: .4byte gBattlerPartyIndexes -_080D6C98: .4byte gActiveBattler -_080D6C9C: .4byte gPlayerParty - thumb_func_end LinkPartnerHandleFaintingCry - - thumb_func_start LinkPartnerHandleIntroSlide -LinkPartnerHandleIntroSlide: @ 80D6CA0 - push {lr} - ldr r1, _080D6CC8 @ =gBattleBufferA - ldr r0, _080D6CCC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - bl HandleIntroSlide - ldr r2, _080D6CD0 @ =gIntroSlideFlags - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - bl sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D6CC8: .4byte gBattleBufferA -_080D6CCC: .4byte gActiveBattler -_080D6CD0: .4byte gIntroSlideFlags - thumb_func_end LinkPartnerHandleIntroSlide - - thumb_func_start sub_80D6CD4 -sub_80D6CD4: @ 80D6CD4 - push {r4-r7,lr} - ldr r5, _080D6DDC @ =gBattlerSpriteIds - ldr r6, _080D6DE0 @ =gActiveBattler - ldrb r0, [r6] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080D6DE4 @ =gSprites - adds r0, r4 - bl SetSpritePrimaryCoordsFromSecondaryCoords - 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, _080D6DE8 @ =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, _080D6DEC @ =StartAnimLinearTranslation - 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, _080D6DF0 @ =sub_80335F8 - 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, _080D6DF4 @ =0x0000d6f9 - bl AllocSpritePalette - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r6] - bl GetBattlerMultiplayerId - ldr r4, _080D6DF8 @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - movs r5, 0xFF - ldrb r0, [r1] - cmp r0, 0x2 - beq _080D6DC2 - ldrb r0, [r6] - bl GetBattlerMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x1 - beq _080D6DC2 - ldrb r0, [r6] - bl GetBattlerMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1] - ands r5, r0 - cmp r5, 0x3 - bne _080D6DFC -_080D6DC2: - ldr r0, _080D6DE0 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerMultiplayerId - ldr r2, _080D6DF8 @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x13] - adds r0, 0x2 - b _080D6E0C - .align 2, 0 -_080D6DDC: .4byte gBattlerSpriteIds -_080D6DE0: .4byte gActiveBattler -_080D6DE4: .4byte gSprites -_080D6DE8: .4byte 0x0000ffd8 -_080D6DEC: .4byte StartAnimLinearTranslation -_080D6DF0: .4byte sub_80335F8 -_080D6DF4: .4byte 0x0000d6f9 -_080D6DF8: .4byte gLinkPlayers -_080D6DFC: - ldrb r0, [r6] - bl GetBattlerMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x13] -_080D6E0C: - ldr r1, _080D6EA4 @ =gTrainerBackPicPaletteTable - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - lsls r4, r7, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, r2 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r2, _080D6EA8 @ =gSprites - ldr r1, _080D6EAC @ =gBattlerSpriteIds - ldr r5, _080D6EB0 @ =gActiveBattler - 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, _080D6EB4 @ =sub_80D6ED0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080D6EB8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - ldrb r0, [r5] - strh r0, [r1, 0x8] - ldr r3, _080D6EBC @ =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 _080D6E86 - ldr r0, _080D6EC0 @ =gBattlerStatusSummaryTaskId - adds r0, r2, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - ldr r1, _080D6EC4 @ =Task_HidePartyStatusSummary - str r1, [r0] -_080D6E86: - ldr r0, [r3] - ldr r2, [r0, 0x8] - ldrb r0, [r2, 0x9] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - ldr r1, _080D6EC8 @ =gBattlerControllerFuncs - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6ECC @ =nullsub_77 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D6EA4: .4byte gTrainerBackPicPaletteTable -_080D6EA8: .4byte gSprites -_080D6EAC: .4byte gBattlerSpriteIds -_080D6EB0: .4byte gActiveBattler -_080D6EB4: .4byte sub_80D6ED0 -_080D6EB8: .4byte gTasks -_080D6EBC: .4byte gBattleSpritesDataPtr -_080D6EC0: .4byte gBattlerStatusSummaryTaskId -_080D6EC4: .4byte Task_HidePartyStatusSummary -_080D6EC8: .4byte gBattlerControllerFuncs -_080D6ECC: .4byte nullsub_77 - thumb_func_end sub_80D6CD4 - - thumb_func_start sub_80D6ED0 -sub_80D6ED0: @ 80D6ED0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _080D6EF8 @ =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 _080D6EFC - adds r0, r2, 0x1 - strh r0, [r1, 0xA] - b _080D6FB8 - .align 2, 0 -_080D6EF8: .4byte gTasks -_080D6EFC: - ldr r7, _080D6F3C @ =gActiveBattler - ldrb r0, [r7] - mov r9, r0 - ldrh r0, [r1, 0x8] - strb r0, [r7] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080D6F1C - ldr r0, _080D6F40 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080D6F4C -_080D6F1C: - ldr r0, _080D6F44 @ =gBattleBufferA - ldrb r1, [r7] - lsls r2, r1, 9 - adds r0, 0x1 - adds r2, r0 - ldr r0, _080D6F48 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - strb r0, [r2] - ldrb r0, [r7] - movs r1, 0 - bl sub_80D5F40 - b _080D6FA0 - .align 2, 0 -_080D6F3C: .4byte gActiveBattler -_080D6F40: .4byte gBattleTypeFlags -_080D6F44: .4byte gBattleBufferA -_080D6F48: .4byte gBattlerPartyIndexes -_080D6F4C: - ldr r4, _080D6FC4 @ =gBattleBufferA - ldrb r0, [r7] - lsls r1, r0, 9 - adds r4, 0x1 - adds r1, r4 - ldr r5, _080D6FC8 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - movs r1, 0 - bl sub_80D5F40 - 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, _080D6FCC @ =gPlayerParty - adds r0, r2 - bl BattleLoadPlayerMonSpriteGfx - ldrb r0, [r7] - movs r1, 0 - bl sub_80D5F40 - ldrb r0, [r7] - eors r0, r6 - strb r0, [r7] -_080D6FA0: - ldr r1, _080D6FD0 @ =gBattlerControllerFuncs - ldr r2, _080D6FD4 @ =gActiveBattler - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D6FD8 @ =sub_80D443C - str r1, [r0] - mov r3, r9 - strb r3, [r2] - mov r0, r8 - bl DestroyTask -_080D6FB8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D6FC4: .4byte gBattleBufferA -_080D6FC8: .4byte gBattlerPartyIndexes -_080D6FCC: .4byte gPlayerParty -_080D6FD0: .4byte gBattlerControllerFuncs -_080D6FD4: .4byte gActiveBattler -_080D6FD8: .4byte sub_80D443C - thumb_func_end sub_80D6ED0 - - thumb_func_start sub_80D6FDC -sub_80D6FDC: @ 80D6FDC - push {r4-r6,lr} - ldr r1, _080D7004 @ =gBattleBufferA - ldr r0, _080D7008 @ =gActiveBattler - ldrb r2, [r0] - lsls r0, r2, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080D700C - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080D700C - bl sub_80D49E8 - b _080D7080 - .align 2, 0 -_080D7004: .4byte gBattleBufferA -_080D7008: .4byte gActiveBattler -_080D700C: - ldr r6, _080D7088 @ =gBattleSpritesDataPtr - ldr r0, [r6] - ldr r5, _080D708C @ =gActiveBattler - 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, _080D7090 @ =gUnknown_2022BC8 - 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, _080D7094 @ =gBattlerStatusSummaryTaskId - 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 _080D7074 - 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] -_080D7074: - ldr r0, _080D7098 @ =gBattlerControllerFuncs - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, _080D709C @ =sub_80D70A0 - str r0, [r1] -_080D7080: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D7088: .4byte gBattleSpritesDataPtr -_080D708C: .4byte gActiveBattler -_080D7090: .4byte gUnknown_2022BC8 -_080D7094: .4byte gBattlerStatusSummaryTaskId -_080D7098: .4byte gBattlerControllerFuncs -_080D709C: .4byte sub_80D70A0 - thumb_func_end sub_80D6FDC - - thumb_func_start sub_80D70A0 -sub_80D70A0: @ 80D70A0 - push {r4,lr} - ldr r4, _080D70E0 @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r3, _080D70E4 @ =gActiveBattler - 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 _080D70D8 - 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 sub_80D49E8 -_080D70D8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D70E0: .4byte gBattleSpritesDataPtr -_080D70E4: .4byte gActiveBattler - thumb_func_end sub_80D70A0 - - thumb_func_start sub_80D70E8 -sub_80D70E8: @ 80D70E8 - push {lr} - ldr r0, _080D7124 @ =gBattleSpritesDataPtr - ldr r1, [r0] - ldr r0, _080D7128 @ =gActiveBattler - 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 _080D711A - ldr r2, _080D712C @ =gTasks - ldr r0, _080D7130 @ =gBattlerStatusSummaryTaskId - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080D7134 @ =Task_HidePartyStatusSummary - str r1, [r0] -_080D711A: - bl sub_80D49E8 - pop {r0} - bx r0 - .align 2, 0 -_080D7124: .4byte gBattleSpritesDataPtr -_080D7128: .4byte gActiveBattler -_080D712C: .4byte gTasks -_080D7130: .4byte gBattlerStatusSummaryTaskId -_080D7134: .4byte Task_HidePartyStatusSummary - thumb_func_end sub_80D70E8 - - thumb_func_start sub_80D7138 -sub_80D7138: @ 80D7138 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D7138 - - thumb_func_start LinkPartnerHandleSpriteInvisibility -LinkPartnerHandleSpriteInvisibility: @ 80D7144 - push {r4,lr} - ldr r4, _080D7194 @ =gActiveBattler - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _080D718A - ldr r3, _080D7198 @ =gSprites - ldr r0, _080D719C @ =gBattlerSpriteIds - 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, _080D71A0 @ =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 CopyBattleSpriteInvisibility -_080D718A: - bl sub_80D49E8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D7194: .4byte gActiveBattler -_080D7198: .4byte gSprites -_080D719C: .4byte gBattlerSpriteIds -_080D71A0: .4byte gBattleBufferA - thumb_func_end LinkPartnerHandleSpriteInvisibility - - thumb_func_start LinkPartnerHandleBattleAnimation -LinkPartnerHandleBattleAnimation: @ 80D71A4 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _080D71E8 @ =gActiveBattler - ldrb r0, [r6] - bl mplay_80342A4 - lsls r0, 24 - cmp r0, 0 - bne _080D71FC - ldr r5, _080D71EC @ =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 TryHandleLaunchBattleTableAnimation - lsls r0, 24 - cmp r0, 0 - beq _080D71F0 - bl sub_80D49E8 - b _080D71FC - .align 2, 0 -_080D71E8: .4byte gActiveBattler -_080D71EC: .4byte gBattleBufferA -_080D71F0: - ldr r0, _080D7204 @ =gBattlerControllerFuncs - ldrb r1, [r6] - lsls r1, 2 - adds r1, r0 - ldr r0, _080D7208 @ =sub_80D4A90 - str r0, [r1] -_080D71FC: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D7204: .4byte gBattlerControllerFuncs -_080D7208: .4byte sub_80D4A90 - thumb_func_end LinkPartnerHandleBattleAnimation - - thumb_func_start sub_80D720C -sub_80D720C: @ 80D720C - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D720C - - thumb_func_start sub_80D7218 -sub_80D7218: @ 80D7218 - push {lr} - bl sub_80D49E8 - pop {r0} - bx r0 - thumb_func_end sub_80D7218 - - thumb_func_start LinkPartnerHandlecmd55 -LinkPartnerHandlecmd55: @ 80D7224 - push {r4,lr} - ldr r2, _080D725C @ =gBattleOutcome - ldr r1, _080D7260 @ =gBattleBufferA - ldr r4, _080D7264 @ =gActiveBattler - 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 sub_80D49E8 - ldr r1, _080D7268 @ =gBattlerControllerFuncs - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, _080D726C @ =sub_802F6A8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D725C: .4byte gBattleOutcome -_080D7260: .4byte gBattleBufferA -_080D7264: .4byte gActiveBattler -_080D7268: .4byte gBattlerControllerFuncs -_080D726C: .4byte sub_802F6A8 - thumb_func_end LinkPartnerHandlecmd55 - - thumb_func_start nullsub_78 -nullsub_78: @ 80D7270 - bx lr - thumb_func_end nullsub_78 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 3459fbb9a39d267c4d566e80cbab9a1d334135ab Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Fri, 23 Aug 2019 15:54:19 +0800 Subject: battle_script_commands data decomp --- asm/battle_2.s | 4 +- asm/battle_script_commands.s | 462 +++++++++++++++++++++---------------------- asm/evolution_scene.s | 16 +- asm/macros/battle_script.inc | 2 +- 4 files changed, 242 insertions(+), 242 deletions(-) (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index c87c81841..af4b972ab 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -12250,14 +12250,14 @@ _08016048: cmp r0, 0x1F bne _08016096 adds r0, r2, 0 - bl BankGetTurnOrder + bl GetBattlerTurnOrderNum lsls r0, 24 lsrs r0, 24 ldr r3, [sp] cmp r0, r3 bcs _08016096 ldrb r0, [r4] - bl BankGetTurnOrder + bl GetBattlerTurnOrderNum lsls r0, 24 lsrs r0, 24 str r0, [sp] diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 4bc9cd976..a7a115c1f 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -783,8 +783,8 @@ _0801DDBA: bx r1 thumb_func_end AccuracyCalcHelper - thumb_func_start sub_801DDC4 -sub_801DDC4: @ 801DDC4 + thumb_func_start atk01_accuracycheck +atk01_accuracycheck: @ 801DDC4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1074,7 +1074,7 @@ _0801DFC0: movs r0, 0x32 mov r8, r0 _0801E012: - ldr r1, _0801E108 @ =gUnknown_82504FC + ldr r1, _0801E108 @ =sAccuracyStageRatios lsls r0, r5, 24 asrs r0, 22 adds r0, r1 @@ -1191,7 +1191,7 @@ _0801E0D4: _0801E0FC: .4byte gBattlerAttacker _0801E100: .4byte gBattleMoves _0801E104: .4byte gBattleWeather -_0801E108: .4byte gUnknown_82504FC +_0801E108: .4byte sAccuracyStageRatios _0801E10C: .4byte gBattleMons _0801E110: .4byte gBattlerTarget _0801E114: .4byte gEnigmaBerries @@ -1286,7 +1286,7 @@ _0801E1C2: bx r0 .align 2, 0 _0801E1D4: .4byte gBattleCommunication - thumb_func_end sub_801DDC4 + thumb_func_end atk01_accuracycheck thumb_func_start atk02_attackstring atk02_attackstring: @ 801E1D8 @@ -1563,8 +1563,8 @@ _0801E400: .4byte 0xfffff7ff _0801E404: .4byte gBattlescriptCurrInstr thumb_func_end atk03_ppreduce - thumb_func_start sub_801E408 -sub_801E408: @ 801E408 + thumb_func_start atk04_critcalc +atk04_critcalc: @ 801E408 push {r4-r7,lr} ldr r1, _0801E42C @ =gBattleMons ldr r0, _0801E430 @ =gBattlerAttacker @@ -1714,7 +1714,7 @@ _0801E4F0: cmp r0, 0 bne _0801E580 bl Random - ldr r2, _0801E578 @ =gUnknown_8250530 + ldr r2, _0801E578 @ =sCriticalHitChance lsls r1, r5, 1 adds r1, r2 lsls r0, 16 @@ -1748,7 +1748,7 @@ _0801E55A: _0801E56C: .4byte gBattlerTarget _0801E570: .4byte gStatuses3 _0801E574: .4byte gBattleTypeFlags -_0801E578: .4byte gUnknown_8250530 +_0801E578: .4byte sCriticalHitChance _0801E57C: .4byte gCritMultiplier _0801E580: ldr r1, _0801E594 @ =gCritMultiplier @@ -1765,7 +1765,7 @@ _0801E584: .align 2, 0 _0801E594: .4byte gCritMultiplier _0801E598: .4byte gBattlescriptCurrInstr - thumb_func_end sub_801E408 + thumb_func_end atk04_critcalc thumb_func_start atk05_damagecalc atk05_damagecalc: @ 801E59C @@ -3788,8 +3788,8 @@ _0801F580: .4byte gBattlescriptCurrInstr _0801F584: .4byte gUnknown_81D89F1 thumb_func_end atk09_attackanimation - thumb_func_start sub_801F588 -sub_801F588: @ 801F588 + thumb_func_start atk0A_waitanimation +atk0A_waitanimation: @ 801F588 push {lr} ldr r0, _0801F5A0 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -3805,7 +3805,7 @@ _0801F59A: .align 2, 0 _0801F5A0: .4byte gBattleControllerExecFlags _0801F5A4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_801F588 + thumb_func_end atk0A_waitanimation thumb_func_start atk0B_healthbarupdate atk0B_healthbarupdate: @ 801F5A8 @@ -4979,8 +4979,8 @@ _0801FEE0: .4byte gActiveBattler _0801FEE4: .4byte gBattlerAttacker thumb_func_end atk14_printselectionstringfromtable - thumb_func_start BankGetTurnOrder -BankGetTurnOrder: @ 801FEE8 + thumb_func_start GetBattlerTurnOrderNum +GetBattlerTurnOrderNum: @ 801FEE8 push {r4,lr} lsls r0, 24 lsrs r2, r0, 24 @@ -5010,7 +5010,7 @@ _0801FF0E: .align 2, 0 _0801FF18: .4byte gBattlersCount _0801FF1C: .4byte gBattlerByTurnOrder - thumb_func_end BankGetTurnOrder + thumb_func_end GetBattlerTurnOrderNum thumb_func_start SetMoveEffect SetMoveEffect: @ 801FF20 @@ -5180,7 +5180,7 @@ _08020068: bls _08020074 b _080206A2 _08020074: - ldr r1, _080200B8 @ =gUnknown_825053C + ldr r1, _080200B8 @ =sStatusFlagsForMoveEffects ldrb r0, [r6, 0x3] lsls r0, 2 adds r0, r1 @@ -5208,7 +5208,7 @@ _080200A8: .4byte gBattleMons _080200AC: .4byte gHitMarker _080200B0: .4byte gBattleCommunication _080200B4: .4byte gSideStatuses -_080200B8: .4byte gUnknown_825053C +_080200B8: .4byte sStatusFlagsForMoveEffects _080200BC: cmp r0, 0x40 bne _080200C2 @@ -5838,7 +5838,7 @@ _08020578: ldr r0, [r0] adds r0, 0x1 bl BattleScriptPush - ldr r1, _080205BC @ =gUnknown_825053C + ldr r1, _080205BC @ =sStatusFlagsForMoveEffects ldr r0, _080205C0 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -5864,7 +5864,7 @@ _08020578: .align 2, 0 _080205B4: .4byte gMoveResultFlags _080205B8: .4byte gBattlescriptCurrInstr -_080205BC: .4byte gUnknown_825053C +_080205BC: .4byte sStatusFlagsForMoveEffects _080205C0: .4byte gBattleCommunication _080205C4: .4byte gBattleMons _080205C8: .4byte gEffectBattler @@ -5881,7 +5881,7 @@ _080205CC: str r0, [r1] _080205E0: ldr r2, _08020638 @ =gBattlescriptCurrInstr - ldr r1, _0802063C @ =gUnknown_825062C + ldr r1, _0802063C @ =sMoveEffectBS_Ptrs ldr r5, _08020640 @ =gBattleCommunication ldrb r0, [r5, 0x3] lsls r0, 2 @@ -5922,7 +5922,7 @@ _080205E0: _08020630: .4byte gBattleMons _08020634: .4byte gEffectBattler _08020638: .4byte gBattlescriptCurrInstr -_0802063C: .4byte gUnknown_825062C +_0802063C: .4byte sMoveEffectBS_Ptrs _08020640: .4byte gBattleCommunication _08020644: .4byte gActiveBattler _08020648: .4byte gUnknown_2023C30 @@ -5973,7 +5973,7 @@ _080206A2: mov r0, r8 adds r0, 0x50 adds r1, r0 - ldr r2, _080206DC @ =gUnknown_825053C + ldr r2, _080206DC @ =sStatusFlagsForMoveEffects ldrb r3, [r6, 0x3] lsls r0, r3, 2 adds r0, r2 @@ -5995,7 +5995,7 @@ _080206D0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080206DC: .4byte gUnknown_825053C +_080206DC: .4byte sStatusFlagsForMoveEffects _080206E0: .4byte _080206E4 .align 2, 0 _080206E4: @@ -6095,7 +6095,7 @@ _080207E6: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020824 @ =gUnknown_825062C + ldr r1, _08020824 @ =sMoveEffectBS_Ptrs ldr r0, _08020828 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6104,7 +6104,7 @@ _080207E6: bl _08021108 .align 2, 0 _08020820: .4byte gBattlescriptCurrInstr -_08020824: .4byte gUnknown_825062C +_08020824: .4byte sMoveEffectBS_Ptrs _08020828: .4byte gBattleCommunication _0802082C: mov r0, r9 @@ -6139,7 +6139,7 @@ _08020868: .4byte gBattlescriptCurrInstr _0802086C: .4byte gUnknown_81D9452 _08020870: adds r0, r2, 0 - bl BankGetTurnOrder + bl GetBattlerTurnOrderNum ldr r1, _080208AC @ =gUnknown_2023BE2 lsls r0, 24 lsrs r0, 24 @@ -6155,7 +6155,7 @@ _08020886: mov r0, r8 adds r0, 0x50 adds r2, r0 - ldr r1, _080208B0 @ =gUnknown_825053C + ldr r1, _080208B0 @ =sStatusFlagsForMoveEffects ldr r0, _080208B4 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6167,7 +6167,7 @@ _08020886: bl _080210EC .align 2, 0 _080208AC: .4byte gUnknown_2023BE2 -_080208B0: .4byte gUnknown_825053C +_080208B0: .4byte sStatusFlagsForMoveEffects _080208B4: .4byte gBattleCommunication _080208B8: mov r3, r9 @@ -6212,7 +6212,7 @@ _080208D4: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _0802092C @ =gUnknown_825062C + ldr r1, _0802092C @ =sMoveEffectBS_Ptrs ldr r0, _08020930 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6223,7 +6223,7 @@ _080208D4: _08020920: .4byte gUnknown_2023DB8 _08020924: .4byte gCurrentMove _08020928: .4byte gBattlescriptCurrInstr -_0802092C: .4byte gUnknown_825062C +_0802092C: .4byte sMoveEffectBS_Ptrs _08020930: .4byte gBattleCommunication _08020934: ldr r5, _08020984 @ =gBattlerAttacker @@ -6258,7 +6258,7 @@ _0802096C: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020998 @ =gUnknown_825062C + ldr r1, _08020998 @ =sMoveEffectBS_Ptrs ldr r0, _0802099C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6271,7 +6271,7 @@ _08020988: .4byte gUnknown_2023E7E _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff _08020994: .4byte gBattlescriptCurrInstr -_08020998: .4byte gUnknown_825062C +_08020998: .4byte sMoveEffectBS_Ptrs _0802099C: .4byte gBattleCommunication _080209A0: mov r4, r9 @@ -6390,7 +6390,7 @@ _08020A3C: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020AE0 @ =gUnknown_825062C + ldr r1, _08020AE0 @ =sMoveEffectBS_Ptrs ldr r2, _08020AE4 @ =gBattleCommunication ldrb r0, [r2, 0x3] lsls r0, 2 @@ -6430,7 +6430,7 @@ _08020AD0: .4byte gBattleStruct _08020AD4: .4byte gCurrentMove _08020AD8: .4byte gBattlerAttacker _08020ADC: .4byte gBattlescriptCurrInstr -_08020AE0: .4byte gUnknown_825062C +_08020AE0: .4byte sMoveEffectBS_Ptrs _08020AE4: .4byte gBattleCommunication _08020AE8: .4byte gUnknown_83FE664 _08020AEC: @@ -6452,7 +6452,7 @@ _08020B04: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020B28 @ =gUnknown_825062C + ldr r1, _08020B28 @ =sMoveEffectBS_Ptrs ldr r0, _08020B2C @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -6463,7 +6463,7 @@ _08020B04: _08020B1C: .4byte gBattleMoveDamage _08020B20: .4byte gUnknown_2023D54 _08020B24: .4byte gBattlescriptCurrInstr -_08020B28: .4byte gUnknown_825062C +_08020B28: .4byte sMoveEffectBS_Ptrs _08020B2C: .4byte gBattleCommunication _08020B30: ldrb r1, [r6, 0x3] @@ -6993,7 +6993,7 @@ _08020F8E: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r1, _08020FB4 @ =gUnknown_825062C + ldr r1, _08020FB4 @ =sMoveEffectBS_Ptrs ldr r0, _08020FB8 @ =gBattleCommunication ldrb r0, [r0, 0x3] lsls r0, 2 @@ -7004,7 +7004,7 @@ _08020F8E: _08020FA8: .4byte gBattleMoveDamage _08020FAC: .4byte gUnknown_2023D54 _08020FB0: .4byte gBattlescriptCurrInstr -_08020FB4: .4byte gUnknown_825062C +_08020FB4: .4byte sMoveEffectBS_Ptrs _08020FB8: .4byte gBattleCommunication _08020FBC: mov r4, r9 @@ -7344,7 +7344,7 @@ _08021264: adds r1, 0x50 _0802126E: adds r2, r1 - ldr r1, _0802129C @ =gUnknown_825053C + ldr r1, _0802129C @ =sStatusFlagsForMoveEffects ldrb r0, [r3, 0x3] lsls r0, 2 adds r0, r1 @@ -7365,7 +7365,7 @@ _0802126E: bx r0 .align 2, 0 _08021298: .4byte gBattleMons -_0802129C: .4byte gUnknown_825053C +_0802129C: .4byte sStatusFlagsForMoveEffects _080212A0: .4byte gBattleCommunication _080212A4: .4byte gBattlescriptCurrInstr _080212A8: .4byte gBattleScripting @@ -7723,8 +7723,8 @@ _08021592: bx r0 thumb_func_end atk19_tryfaintmon - thumb_func_start atk1A_faint_animation -atk1A_faint_animation: @ 80215A0 + thumb_func_start atk1A_dofaintanimation +atk1A_dofaintanimation: @ 80215A0 push {r4,r5,lr} ldr r0, _080215D0 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -7751,10 +7751,10 @@ _080215CA: _080215D0: .4byte gBattleControllerExecFlags _080215D4: .4byte gBattlescriptCurrInstr _080215D8: .4byte gActiveBattler - thumb_func_end atk1A_faint_animation + thumb_func_end atk1A_dofaintanimation - thumb_func_start atk1B_faint_effects_clear -atk1B_faint_effects_clear: @ 80215DC + thumb_func_start atk1B_cleareffectsonfaint +atk1B_cleareffectsonfaint: @ 80215DC push {r4-r6,lr} sub sp, 0x4 ldr r0, _08021630 @ =gBattleControllerExecFlags @@ -7799,7 +7799,7 @@ _08021630: .4byte gBattleControllerExecFlags _08021634: .4byte gBattlescriptCurrInstr _08021638: .4byte gActiveBattler _0802163C: .4byte gBattleMons - thumb_func_end atk1B_faint_effects_clear + thumb_func_end atk1B_cleareffectsonfaint thumb_func_start atk1C_jumpifstatus atk1C_jumpifstatus: @ 8021640 @@ -8347,8 +8347,8 @@ _08021A60: bx r0 thumb_func_end atk22_jumpiftype - thumb_func_start sub_8021A68 -sub_8021A68: @ 8021A68 + thumb_func_start atk23_getexp +atk23_getexp: @ 8021A68 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -9476,10 +9476,10 @@ _080223E8: .4byte gBattleControllerExecFlags _080223EC: .4byte gBattleMons _080223F0: .4byte gBattlerFainted _080223F4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8021A68 + thumb_func_end atk23_getexp - thumb_func_start sub_80223F8 -sub_80223F8: @ 80223F8 + thumb_func_start atk24 +atk24: @ 80223F8 push {r4-r7,lr} mov r7, r8 push {r7} @@ -9691,7 +9691,7 @@ _0802258A: bx r0 .align 2, 0 _08022594: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80223F8 + thumb_func_end atk24 thumb_func_start MoveValuesCleanUp MoveValuesCleanUp: @ 8022598 @@ -10641,8 +10641,8 @@ _08022C40: .4byte gBattlescriptCurrInstr _08022C44: .4byte gUnknown_2023E7C thumb_func_end atk39_pause - thumb_func_start sub_8022C48 -sub_8022C48: @ 8022C48 + thumb_func_start atk3A_waitstate +atk3A_waitstate: @ 8022C48 push {lr} ldr r0, _08022C60 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -10658,7 +10658,7 @@ _08022C5A: .align 2, 0 _08022C60: .4byte gBattleControllerExecFlags _08022C64: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8022C48 + thumb_func_end atk3A_waitstate thumb_func_start atk3B_healthbar_update atk3B_healthbar_update: @ 8022C68 @@ -10905,8 +10905,8 @@ _08022E2C: .4byte gBattlerAttacker _08022E30: .4byte gBattleStruct thumb_func_end atk44_endselectionscript - thumb_func_start sub_8022E34 -sub_8022E34: @ 8022E34 + thumb_func_start atk45_playanimation +atk45_playanimation: @ 8022E34 push {r4-r6,lr} ldr r4, _08022E84 @ =gBattlescriptCurrInstr ldr r0, [r4] @@ -10998,7 +10998,7 @@ _08022EEC: pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_8022E34 + thumb_func_end atk45_playanimation thumb_func_start atk46_playanimation2 atk46_playanimation2: @ 8022EF4 @@ -13042,8 +13042,8 @@ _08023F40: .4byte gBattleStruct _08023F44: .4byte gBitTable thumb_func_end atk4C_getswitchedmondata - thumb_func_start sub_8023F48 -sub_8023F48: @ 8023F48 + thumb_func_start atk4D_switchindataupdate +atk4D_switchindataupdate: @ 8023F48 push {r4-r7,lr} sub sp, 0x58 ldr r0, _080240A0 @ =gBattleControllerExecFlags @@ -13231,10 +13231,10 @@ _080240C4: .4byte gBattleMoves _080240C8: .4byte gCurrentMove _080240CC: .4byte gBattleScripting _080240D0: .4byte gBattleTextBuff1 - thumb_func_end sub_8023F48 + thumb_func_end atk4D_switchindataupdate - thumb_func_start sub_80240D4 -sub_80240D4: @ 80240D4 + thumb_func_start atk4E_switchinanim +atk4E_switchinanim: @ 80240D4 push {r4-r6,lr} ldr r0, _08024168 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -13314,10 +13314,10 @@ _0802417C: .4byte gBattleMons _08024180: .4byte gAbsentBattlerFlags _08024184: .4byte gBitTable _08024188: .4byte gBattlerPartyIndexes - thumb_func_end sub_80240D4 + thumb_func_end atk4E_switchinanim - thumb_func_start sub_802418C -sub_802418C: @ 802418C + thumb_func_start atk4F_jumpifcantswitch +atk4F_jumpifcantswitch: @ 802418C push {r4-r7,lr} mov r7, r8 push {r7} @@ -13573,7 +13573,7 @@ _08024388: bx r0 .align 2, 0 _08024394: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802418C + thumb_func_end atk4F_jumpifcantswitch thumb_func_start sub_8024398 sub_8024398: @ 8024398 @@ -13616,8 +13616,8 @@ _080243E4: .4byte gBattleStruct _080243E8: .4byte gBattlerPartyIndexes thumb_func_end sub_8024398 - thumb_func_start sub_80243EC -sub_80243EC: @ 80243EC + thumb_func_start atk50_openpartyscreen +atk50_openpartyscreen: @ 80243EC push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -14618,10 +14618,10 @@ _08024C2E: _08024C3C: .4byte gActiveBattler _08024C40: .4byte gAbsentBattlerFlags _08024C44: .4byte gBitTable - thumb_func_end sub_80243EC + thumb_func_end atk50_openpartyscreen - thumb_func_start sub_8024C48 -sub_8024C48: @ 8024C48 + thumb_func_start atk51_switchhandleorder +atk51_switchhandleorder: @ 8024C48 push {r4-r7,lr} ldr r0, _08024C74 @ =gBattleControllerExecFlags ldr r0, [r0] @@ -14866,10 +14866,10 @@ _08024E28: .4byte gBattleTextBuff2 _08024E2C: .4byte gActiveBattler _08024E30: .4byte gBattleBufferB _08024E34: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8024C48 + thumb_func_end atk51_switchhandleorder - thumb_func_start sub_8024E38 -sub_8024E38: @ 8024E38 + thumb_func_start atk52_switchineffects +atk52_switchineffects: @ 8024E38 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -15186,10 +15186,10 @@ _080250C6: .align 2, 0 _080250D4: .4byte gBattlersCount _080250D8: .4byte gAbsentBattlerFlags - thumb_func_end sub_8024E38 + thumb_func_end atk52_switchineffects - thumb_func_start atk53_trainer_slide -atk53_trainer_slide: @ 80250DC + thumb_func_start atk53_trainerslidein +atk53_trainerslidein: @ 80250DC push {lr} ldr r0, _080250EC @ =gBattlescriptCurrInstr ldr r0, [r0] @@ -15220,7 +15220,7 @@ _080250F2: .align 2, 0 _08025114: .4byte gActiveBattler _08025118: .4byte gBattlescriptCurrInstr - thumb_func_end atk53_trainer_slide + thumb_func_end atk53_trainerslidein thumb_func_start atk54_playse atk54_playse: @ 802511C @@ -15251,8 +15251,8 @@ _08025150: .4byte gBattlerAttacker _08025154: .4byte gBattlescriptCurrInstr thumb_func_end atk54_playse - thumb_func_start atk55_play_sound -atk55_play_sound: @ 8025158 + thumb_func_start atk55_fanfare +atk55_fanfare: @ 8025158 push {r4,r5,lr} ldr r5, _08025188 @ =gActiveBattler ldr r0, _0802518C @ =gBattlerAttacker @@ -15278,7 +15278,7 @@ atk55_play_sound: @ 8025158 _08025188: .4byte gActiveBattler _0802518C: .4byte gBattlerAttacker _08025190: .4byte gBattlescriptCurrInstr - thumb_func_end atk55_play_sound + thumb_func_end atk55_fanfare thumb_func_start atk56_playfaintcry atk56_playfaintcry: @ 8025194 @@ -15516,8 +15516,8 @@ _08025374: .4byte gBattleTypeFlags _08025378: .4byte gBattlescriptCurrInstr thumb_func_end atk59_handlelearnnewmove - thumb_func_start sub_802537C -sub_802537C: @ 802537C + thumb_func_start atk5A_yesnoboxlearnmove +atk5A_yesnoboxlearnmove: @ 802537C push {r4-r7,lr} mov r7, r8 push {r7} @@ -15556,7 +15556,7 @@ _080253C4: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _080253F0 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -15566,7 +15566,7 @@ _080253C4: strb r0, [r1, 0x1F] ldr r0, _080253F8 @ =gBattleCommunication strb r4, [r0, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _080256D0 .align 2, 0 _080253F0: .4byte gUnknown_83FE791 @@ -15585,10 +15585,10 @@ _080253FC: beq _08025422 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025422: ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] @@ -15602,10 +15602,10 @@ _08025422: bne _08025448 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025448: ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] @@ -15625,7 +15625,7 @@ _08025448: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow movs r0, 0x1 negs r0, r0 str r4, [sp] @@ -15888,7 +15888,7 @@ _080256A4: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r1, _080256C0 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 @@ -15912,10 +15912,10 @@ _080256D0: bx r0 .align 2, 0 _080256DC: .4byte gBattleControllerExecFlags - thumb_func_end sub_802537C + thumb_func_end atk5A_yesnoboxlearnmove - thumb_func_start sub_80256E0 -sub_80256E0: @ 80256E0 + thumb_func_start atk5B_yesnoboxstoplearningmove +atk5B_yesnoboxstoplearningmove: @ 80256E0 push {r4,r5,lr} sub sp, 0x4 ldr r5, _080256F4 @ =gBattleScripting @@ -15933,7 +15933,7 @@ _080256F8: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _08025720 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -15942,7 +15942,7 @@ _080256F8: strb r0, [r5, 0x1F] ldr r0, _08025724 @ =gBattleCommunication strb r4, [r0, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _0802580E .align 2, 0 _08025720: .4byte gUnknown_83FE791 @@ -15960,10 +15960,10 @@ _08025728: beq _0802574E movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _0802574E: ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] @@ -15977,10 +15977,10 @@ _0802574E: bne _08025774 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025774: ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] @@ -16025,7 +16025,7 @@ _080257C0: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow b _0802580E .align 2, 0 _080257D4: .4byte gBattlescriptCurrInstr @@ -16054,7 +16054,7 @@ _080257D8: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow _0802580E: add sp, 0x4 pop {r4,r5} @@ -16062,10 +16062,10 @@ _0802580E: bx r0 .align 2, 0 _08025818: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80256E0 + thumb_func_end atk5B_yesnoboxstoplearningmove - thumb_func_start sub_802581C -sub_802581C: @ 802581C + thumb_func_start atk5C_hitanimation +atk5C_hitanimation: @ 802581C push {r4,lr} ldr r4, _08025888 @ =gBattlescriptCurrInstr ldr r0, [r4] @@ -16132,10 +16132,10 @@ _080258A6: pop {r4} pop {r0} bx r0 - thumb_func_end sub_802581C + thumb_func_end atk5C_hitanimation - thumb_func_start sub_80258AC -sub_80258AC: @ 80258AC + thumb_func_start atk5D_getmoneyreward +atk5D_getmoneyreward: @ 80258AC push {r4-r7,lr} mov r7, r8 push {r7} @@ -16364,7 +16364,7 @@ _08025A62: bx r0 .align 2, 0 _08025A6C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_80258AC + thumb_func_end atk5D_getmoneyreward thumb_func_start atk5E atk5E: @ 8025A70 @@ -16456,8 +16456,8 @@ _08025B1C: .4byte gUnknown_20233C8 _08025B20: .4byte gUnknown_2023C08 thumb_func_end atk5E - thumb_func_start atk5F -atk5F: @ 8025B24 + thumb_func_start atk5F_swapattackerwithtarget +atk5F_swapattackerwithtarget: @ 8025B24 push {lr} ldr r0, _08025B4C @ =gActiveBattler ldr r2, _08025B50 @ =gBattlerAttacker @@ -16496,7 +16496,7 @@ _08025B62: bx r0 .align 2, 0 _08025B70: .4byte gBattlescriptCurrInstr - thumb_func_end atk5F + thumb_func_end atk5F_swapattackerwithtarget thumb_func_start atk60_incrementgamestat atk60_incrementgamestat: @ 8025B74 @@ -16619,8 +16619,8 @@ _08025C64: .4byte gActiveBattler _08025C68: .4byte gBattlescriptCurrInstr thumb_func_end atk61_drawpartystatussummary - thumb_func_start atk62 -atk62: @ 8025C6C + thumb_func_start atk62_hidepartystatussummary +atk62_hidepartystatussummary: @ 8025C6C push {r4,r5,lr} ldr r5, _08025C94 @ =gBattlescriptCurrInstr ldr r0, [r5] @@ -16641,10 +16641,10 @@ atk62: @ 8025C6C .align 2, 0 _08025C94: .4byte gBattlescriptCurrInstr _08025C98: .4byte gActiveBattler - thumb_func_end atk62 + thumb_func_end atk62_hidepartystatussummary - thumb_func_start atk63_jumptorandomattack -atk63_jumptorandomattack: @ 8025C9C + thumb_func_start atk63_jumptocalledmove +atk63_jumptocalledmove: @ 8025C9C push {r4,lr} ldr r0, _08025CB4 @ =gBattlescriptCurrInstr ldr r1, [r0] @@ -16691,7 +16691,7 @@ _08025CF0: .4byte gCurrentMove _08025CF4: .4byte gCalledMove _08025CF8: .4byte gUnknown_81D65A8 _08025CFC: .4byte gBattleMoves - thumb_func_end atk63_jumptorandomattack + thumb_func_end atk63_jumptocalledmove thumb_func_start atk64_statusanimation atk64_statusanimation: @ 8025D00 @@ -16929,7 +16929,7 @@ _08025EE4: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _08025F08 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -16937,7 +16937,7 @@ _08025EE4: adds r0, 0x1 strb r0, [r5] strb r4, [r5, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _08025F9A .align 2, 0 _08025F08: .4byte gUnknown_83FE791 @@ -16953,10 +16953,10 @@ _08025F0C: beq _08025F30 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r5, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025F30: ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] @@ -16970,10 +16970,10 @@ _08025F30: bne _08025F56 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _08025F56: ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] @@ -17002,7 +17002,7 @@ _08025F7E: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r1, _08025FA4 @ =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x1 @@ -17415,7 +17415,7 @@ _080262B0: movs r1, 0x7 movs r2, 0x1D movs r3, 0x13 - bl sub_802DB7C + bl HandleBattleWindow ldr r1, _08026300 @ =gBattleScripting movs r0, 0x4 strb r0, [r1, 0x1E] @@ -17425,7 +17425,7 @@ _080262F8: .4byte gBattle_BG1_X _080262FC: .4byte gBattle_BG1_Y _08026300: .4byte gBattleScripting _08026304: - bl sub_8026404 + bl DrawLevelUpWindow1 movs r0, 0xC bl PutWindowTilemap movs r0, 0xC @@ -17450,7 +17450,7 @@ _08026330: beq _080263F6 movs r0, 0x5 bl PlaySE - bl sub_8026448 + bl DrawLevelUpWindow2 movs r0, 0xC movs r1, 0x2 bl CopyWindowToVram @@ -17470,7 +17470,7 @@ _08026350: movs r1, 0x7 movs r2, 0x1D movs r3, 0x13 - bl sub_802DB7C + bl HandleBattleWindow _0802636E: ldr r1, _0802637C @ =gBattleScripting ldrb r0, [r1, 0x1E] @@ -17537,8 +17537,8 @@ _080263F6: _08026400: .4byte gBattlescriptCurrInstr thumb_func_end atk6C_drawlvlupbox - thumb_func_start sub_8026404 -sub_8026404: @ 8026404 + thumb_func_start DrawLevelUpWindow1 +DrawLevelUpWindow1: @ 8026404 push {lr} sub sp, 0x14 ldr r0, _0802643C @ =gBattleStruct @@ -17568,10 +17568,10 @@ sub_8026404: @ 8026404 _0802643C: .4byte gBattleStruct _08026440: .4byte gPlayerParty _08026444: .4byte gBattleResources - thumb_func_end sub_8026404 + thumb_func_end DrawLevelUpWindow1 - thumb_func_start sub_8026448 -sub_8026448: @ 8026448 + thumb_func_start DrawLevelUpWindow2 +DrawLevelUpWindow2: @ 8026448 push {lr} sub sp, 0x10 ldr r0, _08026478 @ =gBattleStruct @@ -17596,7 +17596,7 @@ sub_8026448: @ 8026448 .align 2, 0 _08026478: .4byte gBattleStruct _0802647C: .4byte gPlayerParty - thumb_func_end sub_8026448 + thumb_func_end DrawLevelUpWindow2 thumb_func_start sub_8026480 sub_8026480: @ 8026480 @@ -17915,7 +17915,7 @@ PutMonIconOnLvlUpBox: @ 8026688 bl LoadSpriteSheet adds r0, r4, 0 bl LoadSpritePalette - ldr r0, _08026748 @ =gUnknown_82507C8 + ldr r0, _08026748 @ =sSpriteTemplate_MonIconOnLvlUpBox movs r1, 0x80 lsls r1, 1 movs r2, 0xA @@ -17946,7 +17946,7 @@ _08026738: .4byte 0xffff0000 _0802673C: .4byte 0x0000ffff _08026740: .4byte 0xd75a0000 _08026744: .4byte 0x0000d75a -_08026748: .4byte gUnknown_82507C8 +_08026748: .4byte sSpriteTemplate_MonIconOnLvlUpBox _0802674C: .4byte gSprites _08026750: .4byte gBattle_BG2_X thumb_func_end PutMonIconOnLvlUpBox @@ -18397,8 +18397,8 @@ _08026AA8: .4byte gLastUsedItem _08026AAC: .4byte gBattlescriptCurrInstr thumb_func_end atk75_useitemonopponent - thumb_func_start sub_8026AB0 -sub_8026AB0: @ 8026AB0 + thumb_func_start atk76_various +atk76_various: @ 8026AB0 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -18973,7 +18973,7 @@ _08026F56: bx r0 .align 2, 0 _08026F64: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8026AB0 + thumb_func_end atk76_various thumb_func_start atk77_setprotectlike atk77_setprotectlike: @ 8026F68 @@ -19011,7 +19011,7 @@ _08026F98: bne _08026FA8 movs r6, 0 _08026FA8: - ldr r2, _08027048 @ =gUnknown_82507E0 + ldr r2, _08027048 @ =sProtectSuccessRates mov r5, r8 ldrb r1, [r5] lsls r0, r1, 3 @@ -19087,7 +19087,7 @@ _08027038: .4byte gBattlerAttacker _0802703C: .4byte gDisableStructs _08027040: .4byte gUnknown_2023BE2 _08027044: .4byte gBattlersCount -_08027048: .4byte gUnknown_82507E0 +_08027048: .4byte sProtectSuccessRates _0802704C: .4byte gBattleMoves _08027050: .4byte gCurrentMove _08027054: .4byte gProtectStructs @@ -21485,8 +21485,8 @@ _08028304: .4byte gBattlescriptCurrInstr _08028308: .4byte gUnknown_81D8C10 thumb_func_end TryDoForceSwitchOut - thumb_func_start sub_802830C -sub_802830C: @ 802830C + thumb_func_start atk8F_forcerandomswitch +atk8F_forcerandomswitch: @ 802830C push {r4-r7,lr} mov r7, r8 push {r7} @@ -21846,7 +21846,7 @@ _080285F8: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_802830C + thumb_func_end atk8F_forcerandomswitch thumb_func_start atk90_tryconversiontypechange atk90_tryconversiontypechange: @ 8028604 @@ -22718,8 +22718,8 @@ _08028CE8: .4byte gWishFutureKnock _08028CEC: .4byte gBattlescriptCurrInstr thumb_func_end atk95_setsandstorm - thumb_func_start sub_8028CF0 -sub_8028CF0: @ 8028CF0 + thumb_func_start atk96_weatherdamage +atk96_weatherdamage: @ 8028CF0 push {r4,r5,lr} sub sp, 0x4 ldr r0, _08028DBC @ =gBattleTypeFlags @@ -22923,10 +22923,10 @@ _08028E80: .4byte gBattlerAttacker _08028E84: .4byte gAbsentBattlerFlags _08028E88: .4byte gBitTable _08028E8C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028CF0 + thumb_func_end atk96_weatherdamage - thumb_func_start sub_8028E90 -sub_8028E90: @ 8028E90 + thumb_func_start atk97_tryinfatuating +atk97_tryinfatuating: @ 8028E90 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -23126,10 +23126,10 @@ _0802902C: _0802903C: .4byte gBitTable _08029040: .4byte gBattlerAttacker _08029044: .4byte gBattlescriptCurrInstr - thumb_func_end sub_8028E90 + thumb_func_end atk97_tryinfatuating - thumb_func_start sub_8029048 -sub_8029048: @ 8029048 + thumb_func_start atk98_updatestatusicon +atk98_updatestatusicon: @ 8029048 push {r4-r7,lr} ldr r0, _080290B8 @ =gBattleControllerExecFlags ldr r1, [r0] @@ -23307,7 +23307,7 @@ _080291C0: .align 2, 0 _080291C8: .4byte gActiveBattler _080291CC: .4byte gBattleMons - thumb_func_end sub_8029048 + thumb_func_end atk98_updatestatusicon thumb_func_start atk99_setmist atk99_setmist: @ 80291D0 @@ -23738,7 +23738,7 @@ IsMoveUncopyableByMimic: @ 8029530 lsls r0, 16 lsrs r2, r0, 16 movs r3, 0 - ldr r0, _08029570 @ =gUnknown_82507E8 + ldr r0, _08029570 @ =sMovesForbiddenToCopy ldrh r1, [r0] ldr r4, _08029574 @ =0x0000fffe adds r5, r0, 0 @@ -23768,7 +23768,7 @@ _08029558: pop {r1} bx r1 .align 2, 0 -_08029570: .4byte gUnknown_82507E8 +_08029570: .4byte sMovesForbiddenToCopy _08029574: .4byte 0x0000fffe thumb_func_end IsMoveUncopyableByMimic @@ -24013,7 +24013,7 @@ atk9E_metronome: @ 8029754 ldr r7, _080297D4 @ =gCurrentMove movs r6, 0xB1 lsls r6, 1 - ldr r5, _080297D8 @ =gUnknown_82507E8 + ldr r5, _080297D8 @ =sMovesForbiddenToCopy ldr r0, _080297DC @ =gBattlescriptCurrInstr mov r8, r0 _08029766: @@ -24075,7 +24075,7 @@ _08029794: bx r0 .align 2, 0 _080297D4: .4byte gCurrentMove -_080297D8: .4byte gUnknown_82507E8 +_080297D8: .4byte sMovesForbiddenToCopy _080297DC: .4byte gBattlescriptCurrInstr _080297E0: .4byte 0x000001ff _080297E4: .4byte 0x0000ffff @@ -25703,7 +25703,7 @@ atkAC_remaininghptopower: @ 802A470 lsls r0, 24 lsrs r1, r0, 24 movs r3, 0 - ldr r0, _0802A4CC @ =gUnknown_8250810 + ldr r0, _0802A4CC @ =sFlailHpScaleToPowerTable ldrb r2, [r0] cmp r1, r2 ble _0802A4AA @@ -25718,7 +25718,7 @@ _0802A49C: bgt _0802A49C _0802A4AA: ldr r2, _0802A4D0 @ =gDynamicBasePower - ldr r1, _0802A4CC @ =gUnknown_8250810 + ldr r1, _0802A4CC @ =sFlailHpScaleToPowerTable adds r0, r3, 0x1 adds r0, r1 ldrb r0, [r0] @@ -25732,7 +25732,7 @@ _0802A4AA: .align 2, 0 _0802A4C4: .4byte gBattleMons _0802A4C8: .4byte gBattlerAttacker -_0802A4CC: .4byte gUnknown_8250810 +_0802A4CC: .4byte sFlailHpScaleToPowerTable _0802A4D0: .4byte gDynamicBasePower _0802A4D4: .4byte gBattlescriptCurrInstr thumb_func_end atkAC_remaininghptopower @@ -27948,8 +27948,8 @@ _0802B66A: _0802B674: .4byte gBattlescriptCurrInstr thumb_func_end atkC0_recoverbasedonsunlight - thumb_func_start sub_802B678 -sub_802B678: @ 802B678 + thumb_func_start atkC1_hiddenpowercalc +atkC1_hiddenpowercalc: @ 802B678 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -28071,7 +28071,7 @@ _0802B764: .4byte gBattlerAttacker _0802B768: .4byte gDynamicBasePower _0802B76C: .4byte gBattleStruct _0802B770: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802B678 + thumb_func_end atkC1_hiddenpowercalc thumb_func_start atkC2_selectfirstvalidtarget atkC2_selectfirstvalidtarget: @ 802B774 @@ -28921,7 +28921,7 @@ atkCC_callterrainattack: @ 802BE18 ands r0, r1 str r0, [r2] ldr r4, _0802BE70 @ =gCurrentMove - ldr r1, _0802BE74 @ =gUnknown_825081C + ldr r1, _0802BE74 @ =sNaturePowerMoves ldr r0, _0802BE78 @ =gUnknown_2022B50 ldrb r0, [r0] lsls r0, 1 @@ -28956,7 +28956,7 @@ atkCC_callterrainattack: @ 802BE18 _0802BE68: .4byte gHitMarker _0802BE6C: .4byte 0xfffffbff _0802BE70: .4byte gCurrentMove -_0802BE74: .4byte gUnknown_825081C +_0802BE74: .4byte sNaturePowerMoves _0802BE78: .4byte gUnknown_2022B50 _0802BE7C: .4byte gBattlerTarget _0802BE80: .4byte gUnknown_81D65A8 @@ -29269,8 +29269,8 @@ _0802C0D6: _0802C0DC: .4byte gBattlescriptCurrInstr thumb_func_end atkD1_trysethelpinghand - thumb_func_start sub_802C0E0 -sub_802C0E0: @ 802C0E0 + thumb_func_start atkD2_tryswapitems +atkD2_tryswapitems: @ 802C0E0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -29597,7 +29597,7 @@ _0802C37A: bx r0 .align 2, 0 _0802C38C: .4byte gBattleCommunication - thumb_func_end sub_802C0E0 + thumb_func_end atkD2_tryswapitems thumb_func_start atkD3_trycopyability atkD3_trycopyability: @ 802C390 @@ -30108,8 +30108,8 @@ _0802C762: _0802C768: .4byte gBattlescriptCurrInstr thumb_func_end atkDA_tryswapabilities - thumb_func_start atkDB_tryimprision -atkDB_tryimprision: @ 802C76C + thumb_func_start atkDB_tryimprison +atkDB_tryimprison: @ 802C76C push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -30246,7 +30246,7 @@ _0802C864: .4byte gBattlerAttacker _0802C868: .4byte gBattleMons _0802C86C: .4byte gBattlersCount _0802C870: .4byte gBattlescriptCurrInstr - thumb_func_end atkDB_tryimprision + thumb_func_end atkDB_tryimprison thumb_func_start atkDC_trysetgrudge atkDC_trysetgrudge: @ 802C874 @@ -30301,7 +30301,7 @@ atkDD_weightdamagecalculation: @ 802C8CC mov r7, r8 push {r7} movs r5, 0 - ldr r2, _0802C930 @ =gUnknown_8250830 + ldr r2, _0802C930 @ =sWeightToDamageTable ldrh r0, [r2] ldr r1, _0802C934 @ =0x0000ffff cmp r0, r1 @@ -30348,7 +30348,7 @@ _0802C916: strh r1, [r0] b _0802C94A .align 2, 0 -_0802C930: .4byte gUnknown_8250830 +_0802C930: .4byte sWeightToDamageTable _0802C934: .4byte 0x0000ffff _0802C938: .4byte gBattleMons _0802C93C: .4byte gBattlerTarget @@ -30372,8 +30372,8 @@ _0802C95C: .4byte gDynamicBasePower _0802C960: .4byte gBattlescriptCurrInstr thumb_func_end atkDD_weightdamagecalculation - thumb_func_start atkDE_asistattackselect -atkDE_asistattackselect: @ 802C964 + thumb_func_start atkDE_assistattackselect +atkDE_assistattackselect: @ 802C964 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -30450,7 +30450,7 @@ _0802C9E0: adds r1, r5, 0x1 cmp r0, 0 bne _0802CA36 - ldr r0, _0802CA9C @ =gUnknown_82507E8 + ldr r0, _0802CA9C @ =sMovesForbiddenToCopy ldrh r2, [r0] adds r3, r0, 0 cmp r2, r8 @@ -30525,7 +30525,7 @@ _0802CA8C: .4byte gPlayerParty _0802CA90: .4byte gEnemyParty _0802CA94: .4byte gBattlerPartyIndexes _0802CA98: .4byte 0x0000ffff -_0802CA9C: .4byte gUnknown_82507E8 +_0802CA9C: .4byte sMovesForbiddenToCopy _0802CAA0: .4byte gHitMarker _0802CAA4: .4byte 0xfffffbff _0802CAA8: .4byte gCalledMove @@ -30556,7 +30556,7 @@ _0802CACE: bx r0 .align 2, 0 _0802CAE0: .4byte gBattlescriptCurrInstr - thumb_func_end atkDE_asistattackselect + thumb_func_end atkDE_assistattackselect thumb_func_start atkDF_trysetmagiccoat atkDF_trysetmagiccoat: @ 802CAE4 @@ -30986,8 +30986,8 @@ _0802CE40: .4byte gBattleCommunication _0802CE44: .4byte gBattlescriptCurrInstr thumb_func_end atkE4_getsecretpowereffect - thumb_func_start sub_802CE48 -sub_802CE48: @ 802CE48 + thumb_func_start atkE5_pickup +atkE5_pickup: @ 802CE48 push {r4-r7,lr} mov r7, r8 push {r7} @@ -31058,10 +31058,10 @@ _0802CEA2: lsls r0, 16 lsrs r3, r0, 16 movs r2, 0 - ldr r1, _0802CEE4 @ =gUnknown_8250848 + ldr r1, _0802CEE4 @ =sPickupItems b _0802CEF0 .align 2, 0 -_0802CEE4: .4byte gUnknown_8250848 +_0802CEE4: .4byte sPickupItems _0802CEE8: adds r1, 0x4 adds r2, 0x1 @@ -31077,7 +31077,7 @@ _0802CEF6: ldr r1, _0802CF24 @ =gPlayerParty adds r0, r1 lsls r2, 2 - ldr r1, _0802CF28 @ =gUnknown_8250848 + ldr r1, _0802CF28 @ =sPickupItems adds r2, r1 movs r1, 0xC bl SetMonData @@ -31096,9 +31096,9 @@ _0802CF0A: bx r0 .align 2, 0 _0802CF24: .4byte gPlayerParty -_0802CF28: .4byte gUnknown_8250848 +_0802CF28: .4byte sPickupItems _0802CF2C: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802CE48 + thumb_func_end atkE5_pickup thumb_func_start atkE6_docastformchangeanimation atkE6_docastformchangeanimation: @ 802CF30 @@ -31468,7 +31468,7 @@ atkEB_settypetoterrain: @ 802D1F0 movs r0, 0x21 adds r0, r3 mov r12, r0 - ldr r5, _0802D268 @ =gUnknown_8250888 + ldr r5, _0802D268 @ =sTerrainToType ldr r4, _0802D26C @ =gUnknown_2022B50 ldrb r0, [r4] adds r0, r5 @@ -31513,7 +31513,7 @@ atkEB_settypetoterrain: @ 802D1F0 .align 2, 0 _0802D260: .4byte gBattleMons _0802D264: .4byte gBattlerAttacker -_0802D268: .4byte gUnknown_8250888 +_0802D268: .4byte sTerrainToType _0802D26C: .4byte gUnknown_2022B50 _0802D270: .4byte gBattleTextBuff1 _0802D274: .4byte gBattlescriptCurrInstr @@ -31633,8 +31633,8 @@ _0802D35A: _0802D360: .4byte gBattlescriptCurrInstr thumb_func_end atkEC_pursuitrelated - thumb_func_start atkEF_snatchsetbanks -atkEF_snatchsetbanks: @ 802D364 + thumb_func_start atkED_snatchsetbattlers +atkED_snatchsetbattlers: @ 802D364 push {r4,lr} ldr r1, _0802D388 @ =gEffectBattler ldr r3, _0802D38C @ =gBattlerAttacker @@ -31674,7 +31674,7 @@ _0802D39E: .align 2, 0 _0802D3B0: .4byte gBattleScripting _0802D3B4: .4byte gBattlescriptCurrInstr - thumb_func_end atkEF_snatchsetbanks + thumb_func_end atkED_snatchsetbattlers thumb_func_start atkEE_removelightscreenreflect atkEE_removelightscreenreflect: @ 802D3B8 @@ -31738,8 +31738,8 @@ _0802D42C: .4byte gBattleScripting _0802D430: .4byte gBattlescriptCurrInstr thumb_func_end atkEE_removelightscreenreflect - thumb_func_start sub_802D434 -sub_802D434: @ 802D434 + thumb_func_start atkEF_handleballthrow +atkEF_handleballthrow: @ 802D434 push {r4-r6,lr} movs r4, 0 ldr r0, _0802D474 @ =gBattleControllerExecFlags @@ -31969,7 +31969,7 @@ _0802D608: .align 2, 0 _0802D61C: .4byte gBattleResults _0802D620: - ldr r1, _0802D694 @ =gUnknown_8250892 + ldr r1, _0802D694 @ =sBallCatchBonuses ldrh r0, [r2] subs r0, 0x2 adds r0, r1 @@ -32027,7 +32027,7 @@ _0802D67A: strb r1, [r0, 0x5] b _0802D6BC .align 2, 0 -_0802D694: .4byte gUnknown_8250892 +_0802D694: .4byte sBallCatchBonuses _0802D698: .4byte gBattleMons _0802D69C: .4byte gBattlerTarget _0802D6A0: .4byte gLastUsedItem @@ -32186,10 +32186,10 @@ _0802D7EE: _0802D7F4: .4byte gBattleCommunication _0802D7F8: .4byte gBattlescriptCurrInstr _0802D7FC: .4byte gUnknown_81D9A93 - thumb_func_end sub_802D434 + thumb_func_end atkEF_handleballthrow - thumb_func_start sub_802D800 -sub_802D800: @ 802D800 + thumb_func_start atkF0_givecaughtmon +atkF0_givecaughtmon: @ 802D800 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -32334,10 +32334,10 @@ _0802D94C: .4byte gBattlerAttacker _0802D950: .4byte gBattlerPartyIndexes _0802D954: .4byte gEnemyParty _0802D958: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802D800 + thumb_func_end atkF0_givecaughtmon - thumb_func_start sub_802D95C -sub_802D95C: @ 802D95C + thumb_func_start atkF1_trysetcaughtmondexflags +atkF1_trysetcaughtmondexflags: @ 802D95C push {r4,r5,lr} ldr r4, _0802D9AC @ =gEnemyParty adds r0, r4, 0 @@ -32395,10 +32395,10 @@ _0802D9CE: bx r0 .align 2, 0 _0802D9D4: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802D95C + thumb_func_end atkF1_trysetcaughtmondexflags - thumb_func_start sub_802D9D8 -sub_802D9D8: @ 802D9D8 + thumb_func_start atkF2_displaydexinfo +atkF2_displaydexinfo: @ 802D9D8 push {r4,r5,lr} sub sp, 0x18 ldr r0, _0802DA00 @ =gEnemyParty @@ -32585,10 +32585,10 @@ _0802DB6C: .align 2, 0 _0802DB74: .4byte gPaletteFade _0802DB78: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802D9D8 + thumb_func_end atkF2_displaydexinfo - thumb_func_start sub_802DB7C -sub_802DB7C: @ 802DB7C + thumb_func_start HandleBattleWindow +HandleBattleWindow: @ 802DB7C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -32754,10 +32754,10 @@ _0802DCA2: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_802DB7C + thumb_func_end HandleBattleWindow - thumb_func_start sub_802DCB8 -sub_802DCB8: @ 802DCB8 + thumb_func_start BattleCreateYesNoCursorAt +BattleCreateYesNoCursorAt: @ 802DCB8 push {lr} sub sp, 0x10 add r0, sp, 0xC @@ -32787,10 +32787,10 @@ sub_802DCB8: @ 802DCB8 bx r0 .align 2, 0 _0802DCF4: .4byte gBattleCommunication - thumb_func_end sub_802DCB8 + thumb_func_end BattleCreateYesNoCursorAt - thumb_func_start sub_802DCF8 -sub_802DCF8: @ 802DCF8 + thumb_func_start BattleDestroyYesNoCursorAt +BattleDestroyYesNoCursorAt: @ 802DCF8 push {lr} sub sp, 0x10 add r0, sp, 0xC @@ -32821,10 +32821,10 @@ sub_802DCF8: @ 802DCF8 bx r0 .align 2, 0 _0802DD34: .4byte gBattleCommunication - thumb_func_end sub_802DCF8 + thumb_func_end BattleDestroyYesNoCursorAt - thumb_func_start sub_802DD38 -sub_802DD38: @ 802DD38 + thumb_func_start atkF3_trygivecaughtmonnick +atkF3_trygivecaughtmonnick: @ 802DD38 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -32860,7 +32860,7 @@ _0802DD78: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _0802DDA0 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -32869,7 +32869,7 @@ _0802DD78: adds r0, 0x1 strb r0, [r1] strb r4, [r1, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _0802DFA6 .align 2, 0 _0802DDA0: .4byte gUnknown_83FE791 @@ -32886,10 +32886,10 @@ _0802DDA8: beq _0802DDCC movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _0802DDCC: ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] @@ -32903,10 +32903,10 @@ _0802DDCC: bne _0802DDF2 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _0802DDF2: ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] @@ -33118,7 +33118,7 @@ _0802DFA6: bx r0 .align 2, 0 _0802DFB8: .4byte gBattlescriptCurrInstr - thumb_func_end sub_802DD38 + thumb_func_end atkF3_trygivecaughtmonnick thumb_func_start atkF4_subattackerhpbydmg atkF4_subattackerhpbydmg: @ 802DFBC @@ -33167,18 +33167,18 @@ _0802E00C: .4byte gBattlerAttacker _0802E010: .4byte gBattlescriptCurrInstr thumb_func_end atkF5_removeattackerstatus1 - thumb_func_start sub_802E014 -sub_802E014: @ 802E014 + thumb_func_start atkF6_finishaction +atkF6_finishaction: @ 802E014 ldr r1, _0802E01C @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] bx lr .align 2, 0 _0802E01C: .4byte gCurrentActionFuncId - thumb_func_end sub_802E014 + thumb_func_end atkF6_finishaction - thumb_func_start sub_802E020 -sub_802E020: @ 802E020 + thumb_func_start atkF7_finishturn +atkF7_finishturn: @ 802E020 ldr r1, _0802E030 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] @@ -33191,6 +33191,6 @@ sub_802E020: @ 802E020 _0802E030: .4byte gCurrentActionFuncId _0802E034: .4byte gUnknown_2023BE2 _0802E038: .4byte gBattlersCount - thumb_func_end sub_802E020 + thumb_func_end atkF7_finishturn .align 2, 0 @ Don't pad with nop. diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 06d8a0d64..e86c6d073 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -2286,7 +2286,7 @@ _080CF176: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow ldr r0, _080CF1B4 @ =gUnknown_83FE791 movs r1, 0xE bl BattlePutTextOnWindow @@ -2301,7 +2301,7 @@ _080CF176: strh r0, [r1, 0x14] ldr r0, _080CF1B8 @ =gBattleCommunication strb r2, [r0, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt b _080CF528 .align 2, 0 _080CF1A8: .4byte gUnknown_83FDF3C @@ -2322,10 +2322,10 @@ _080CF1BC: beq _080CF1E2 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _080CF1E2: ldr r0, _080CF244 @ =gMain ldrh r1, [r0, 0x2E] @@ -2339,10 +2339,10 @@ _080CF1E2: bne _080CF208 movs r0, 0x5 bl PlaySE - bl sub_802DCF8 + bl BattleDestroyYesNoCursorAt movs r0, 0x1 strb r0, [r4, 0x1] - bl sub_802DCB8 + bl BattleCreateYesNoCursorAt _080CF208: ldr r0, _080CF244 @ =gMain ldrh r1, [r0, 0x2E] @@ -2356,7 +2356,7 @@ _080CF208: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow movs r0, 0x5 bl PlaySE ldr r0, _080CF248 @ =gBattleCommunication @@ -2409,7 +2409,7 @@ _080CF284: movs r1, 0x8 movs r2, 0x1D movs r3, 0xD - bl sub_802DB7C + bl HandleBattleWindow movs r0, 0x5 bl PlaySE ldr r1, _080CF2AC @ =gTasks diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 5dd1d5a1a..223f191c5 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -538,7 +538,7 @@ .byte \bank_or_side .endm - .macro atk62 bank_or_side + .macro atk62_hidepartystatussummary bank_or_side .byte 0x62 .byte \bank_or_side .endm -- cgit v1.2.3 From 29d7ae94dea8e35d098b60a786368f391324221e Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 24 Aug 2019 09:22:38 +0800 Subject: battle_script_commands symbol documentation --- asm/battle_1.s | 12 +- asm/battle_2.s | 268 ++++++++++---------- asm/battle_anim_utility_funcs.s | 8 +- asm/battle_script_commands.s | 540 ++++++++++++++++++++-------------------- asm/evolution_scene.s | 12 +- asm/field_effect.s | 2 +- asm/field_fadetransition.s | 10 +- asm/field_map_obj.s | 2 +- asm/fldeff_flash.s | 2 +- asm/overworld.s | 10 +- asm/party_menu.s | 18 +- asm/pokemon_summary_screen.s | 4 +- 12 files changed, 444 insertions(+), 444 deletions(-) (limited to 'asm') diff --git a/asm/battle_1.s b/asm/battle_1.s index 57205b0ab..0b8ad7365 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -1274,12 +1274,12 @@ _0800FC08: lsls r0, 24 cmp r0, 0 bne _0800FC20 - ldr r0, _0800FC1C @ =gUnknown_2022B50 + ldr r0, _0800FC1C @ =gBattleTerrain ldrb r0, [r0] bl sub_800F2AC b _0800FC26 .align 2, 0 -_0800FC1C: .4byte gUnknown_2022B50 +_0800FC1C: .4byte gBattleTerrain _0800FC20: movs r0, 0x8 bl sub_800F2AC @@ -1309,12 +1309,12 @@ _0800FC48: ands r0, r1 cmp r0, 0 beq _0800FC60 - ldr r0, _0800FC5C @ =gUnknown_2022B50 + ldr r0, _0800FC5C @ =gBattleTerrain strb r2, [r0] movs r0, 0 b _0800FCAA .align 2, 0 -_0800FC5C: .4byte gUnknown_2022B50 +_0800FC5C: .4byte gBattleTerrain _0800FC60: movs r0, 0x8 ands r1, r0 @@ -1351,13 +1351,13 @@ _0800FC90: lsrs r0, 24 b _0800FCAA _0800FCA6: - ldr r0, _0800FCB0 @ =gUnknown_2022B50 + ldr r0, _0800FCB0 @ =gBattleTerrain ldrb r0, [r0] _0800FCAA: pop {r1} bx r1 .align 2, 0 -_0800FCB0: .4byte gUnknown_2022B50 +_0800FCB0: .4byte gBattleTerrain thumb_func_end sub_800FC2C thumb_func_start sub_800FCB4 diff --git a/asm/battle_2.s b/asm/battle_2.s index af4b972ab..a019e4969 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -158,7 +158,7 @@ _0800FEA6: ldr r0, _0800FF60 @ =gBattle_BG3_Y strh r1, [r0] bl sub_807FC5C - ldr r1, _0800FF64 @ =gUnknown_2022B50 + ldr r1, _0800FF64 @ =gBattleTerrain strb r0, [r1] bl sub_800F34C bl LoadBattleTextboxAndBackground @@ -197,7 +197,7 @@ _0800FF54: .4byte gBattle_BG2_X _0800FF58: .4byte gBattle_BG2_Y _0800FF5C: .4byte gBattle_BG3_X _0800FF60: .4byte gBattle_BG3_Y -_0800FF64: .4byte gUnknown_2022B50 +_0800FF64: .4byte gBattleTerrain _0800FF68: .4byte gReservedSpritePaletteCount _0800FF6C: .4byte VBlankCB_Battle _0800FF70: .4byte gBattleTypeFlags @@ -4843,9 +4843,9 @@ sub_8012434: @ 8012434 bl SpecialStatusesClear movs r2, 0 movs r3, 0 - ldr r0, _080126CC @ =gUnknown_2023DB0 + ldr r0, _080126CC @ =gLastResultingMoves mov r10, r0 - ldr r1, _080126D0 @ =gUnknown_2023DA8 + ldr r1, _080126D0 @ =gLastHitByType mov r12, r1 ldr r0, _080126D4 @ =gLastLandedMoves mov r9, r0 @@ -4853,8 +4853,8 @@ sub_8012434: @ 8012434 mov r8, r1 ldr r4, _080126DC @ =gDisableStructs movs r5, 0 - ldr r7, _080126E0 @ =gUnknown_2023D90 - ldr r6, _080126E4 @ =gUnknown_2023DB8 + ldr r7, _080126E0 @ =gLastPrintedMoves + ldr r6, _080126E4 @ =gLockedMoves _08012464: ldr r0, _080126E8 @ =gStatuses3 adds r0, r5, r0 @@ -4964,14 +4964,14 @@ _08012522: movs r1, 0 ldr r2, _08012720 @ =gBattleScripting strb r0, [r2, 0x1D] - ldr r0, _08012724 @ =gUnknown_2023D72 + ldr r0, _08012724 @ =gMultiHitCounter strb r1, [r0] ldr r2, _08012728 @ =gBattleOutcome strb r1, [r2] ldr r0, _0801272C @ =gBattleControllerExecFlags str r1, [r0] movs r2, 0 - ldr r0, _08012730 @ =gUnknown_2023E7E + ldr r0, _08012730 @ =gPaydayMoney strh r1, [r0] ldr r1, _080126F4 @ =gBattleResources ldr r0, [r1] @@ -4992,7 +4992,7 @@ _0801255C: bge _0801255C movs r2, 0 mov r9, r2 - ldr r0, _08012738 @ =gUnknown_2023E7C + ldr r0, _08012738 @ =gPauseCounterBattle strh r2, [r0] movs r0, 0 ldr r1, _0801273C @ =gBattleMoveDamage @@ -5003,7 +5003,7 @@ _0801255C: ldr r0, _08012720 @ =gBattleScripting strb r1, [r0, 0x18] strb r1, [r0, 0x19] - ldr r2, _08012744 @ =gUnknown_3004FD4 + ldr r2, _08012744 @ =gLeveledUpInBattle strb r1, [r2] ldr r0, _08012748 @ =gAbsentBattlerFlags strb r1, [r0] @@ -5171,13 +5171,13 @@ _080126AE: pop {r0} bx r0 .align 2, 0 -_080126CC: .4byte gUnknown_2023DB0 -_080126D0: .4byte gUnknown_2023DA8 +_080126CC: .4byte gLastResultingMoves +_080126D0: .4byte gLastHitByType _080126D4: .4byte gLastLandedMoves _080126D8: .4byte gLastMoves _080126DC: .4byte gDisableStructs -_080126E0: .4byte gUnknown_2023D90 -_080126E4: .4byte gUnknown_2023DB8 +_080126E0: .4byte gLastPrintedMoves +_080126E4: .4byte gLockedMoves _080126E8: .4byte gStatuses3 _080126EC: .4byte gUnknown_2023DD4 _080126F0: .4byte gLastHitBy @@ -5193,15 +5193,15 @@ _08012714: .4byte gBattleTypeFlags _08012718: .4byte 0x00010002 _0801271C: .4byte gSaveBlock2Ptr _08012720: .4byte gBattleScripting -_08012724: .4byte gUnknown_2023D72 +_08012724: .4byte gMultiHitCounter _08012728: .4byte gBattleOutcome _0801272C: .4byte gBattleControllerExecFlags -_08012730: .4byte gUnknown_2023E7E +_08012730: .4byte gPaydayMoney _08012734: .4byte gBattleCommunication -_08012738: .4byte gUnknown_2023E7C +_08012738: .4byte gPauseCounterBattle _0801273C: .4byte gBattleMoveDamage _08012740: .4byte gIntroSlideFlags -_08012744: .4byte gUnknown_3004FD4 +_08012744: .4byte gLeveledUpInBattle _08012748: .4byte gAbsentBattlerFlags _0801274C: .4byte gBattleStruct _08012750: .4byte gEnemyParty @@ -5210,8 +5210,8 @@ _08012758: .4byte 0x000004fb _0801275C: .4byte gBattleResults thumb_func_end sub_8012434 - thumb_func_start sub_8012760 -sub_8012760: @ 8012760 + thumb_func_start SwitchInClearSetData +SwitchInClearSetData: @ 8012760 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -5590,18 +5590,18 @@ _08012A1A: strh r2, [r0] ldrb r0, [r1] lsls r0, 1 - ldr r1, _08012BB4 @ =gUnknown_2023DA8 + ldr r1, _08012BB4 @ =gLastHitByType adds r0, r1 strh r2, [r0] mov r6, r12 ldrb r0, [r6] lsls r0, 1 - ldr r1, _08012BB8 @ =gUnknown_2023DB0 + ldr r1, _08012BB8 @ =gLastResultingMoves adds r0, r1 strh r2, [r0] ldrb r0, [r6] lsls r0, 1 - ldr r6, _08012BBC @ =gUnknown_2023D90 + ldr r6, _08012BBC @ =gLastPrintedMoves adds r0, r6 strh r2, [r0] mov r1, r12 @@ -5759,12 +5759,12 @@ _08012BA4: .4byte gBattleMoves _08012BA8: .4byte gMoveResultFlags _08012BAC: .4byte gLastMoves _08012BB0: .4byte gLastLandedMoves -_08012BB4: .4byte gUnknown_2023DA8 -_08012BB8: .4byte gUnknown_2023DB0 -_08012BBC: .4byte gUnknown_2023D90 +_08012BB4: .4byte gLastHitByType +_08012BB8: .4byte gLastResultingMoves +_08012BBC: .4byte gLastPrintedMoves _08012BC0: .4byte gLastHitBy _08012BC4: .4byte gBattleResources - thumb_func_end sub_8012760 + thumb_func_end SwitchInClearSetData thumb_func_start sub_8012BC8 sub_8012BC8: @ 8012BC8 @@ -6058,17 +6058,17 @@ _08012CA8: strh r2, [r0] ldrb r0, [r7] lsls r0, 1 - ldr r1, _08012F94 @ =gUnknown_2023DA8 + ldr r1, _08012F94 @ =gLastHitByType adds r0, r1 strh r2, [r0] ldrb r0, [r7] lsls r0, 1 - ldr r1, _08012F98 @ =gUnknown_2023DB0 + ldr r1, _08012F98 @ =gLastResultingMoves adds r0, r1 strh r2, [r0] ldrb r0, [r7] lsls r0, 1 - ldr r1, _08012F9C @ =gUnknown_2023D90 + ldr r1, _08012F9C @ =gLastPrintedMoves adds r0, r1 strh r2, [r0] ldrb r0, [r7] @@ -6251,9 +6251,9 @@ _08012F84: .4byte gBattleStruct _08012F88: .4byte 0xffff1fff _08012F8C: .4byte gLastMoves _08012F90: .4byte gLastLandedMoves -_08012F94: .4byte gUnknown_2023DA8 -_08012F98: .4byte gUnknown_2023DB0 -_08012F9C: .4byte gUnknown_2023D90 +_08012F94: .4byte gLastHitByType +_08012F98: .4byte gLastResultingMoves +_08012F9C: .4byte gLastPrintedMoves _08012FA0: .4byte gLastHitBy _08012FA4: .4byte gBattleResources _08012FA8: .4byte gBaseStats @@ -6329,7 +6329,7 @@ BattleIntroPrepareBackgroundSlide: @ 8013020 bl GetBattlerAtPosition ldr r4, _0801305C @ =gActiveBattler strb r0, [r4] - ldr r0, _08013060 @ =gUnknown_2022B50 + ldr r0, _08013060 @ =gBattleTerrain ldrb r1, [r0] movs r0, 0 bl BtlController_EmitIntroSlide @@ -6348,7 +6348,7 @@ _08013050: .align 2, 0 _08013058: .4byte gBattleControllerExecFlags _0801305C: .4byte gActiveBattler -_08013060: .4byte gUnknown_2022B50 +_08013060: .4byte gBattleTerrain _08013064: .4byte gBattleMainFunc _08013068: .4byte sub_8013070 _0801306C: .4byte gBattleCommunication @@ -7570,7 +7570,7 @@ _08013A22: ldr r1, _08013AE8 @ =gBattleStruct mov r8, r1 movs r7, 0x6 - ldr r6, _08013AF4 @ =gUnknown_2023D7C + ldr r6, _08013AF4 @ =gChosenActionByBattler ldr r2, _08013AF8 @ =gChosenMoveByBattler movs r4, 0xFF movs r3, 0 @@ -7670,7 +7670,7 @@ _08013ADA: _08013AE8: .4byte gBattleStruct _08013AEC: .4byte gBattlersCount _08013AF0: .4byte gBattlerByTurnOrder -_08013AF4: .4byte gUnknown_2023D7C +_08013AF4: .4byte gChosenActionByBattler _08013AF8: .4byte gChosenMoveByBattler _08013AFC: .4byte gAbsentBattlerFlags _08013B00: .4byte gBattleMainFunc @@ -7891,7 +7891,7 @@ _08013CBC: ldrb r0, [r4] cmp r2, r0 bge _08013CF2 - ldr r7, _08013D48 @ =gUnknown_2023D7C + ldr r7, _08013D48 @ =gChosenActionByBattler movs r6, 0xFF movs r5, 0 ldr r3, _08013D4C @ =gChosenMoveByBattler @@ -7945,7 +7945,7 @@ _08013D38: .4byte gBattleStruct _08013D3C: .4byte gBattleMainFunc _08013D40: .4byte gAbsentBattlerFlags _08013D44: .4byte sub_8014040 -_08013D48: .4byte gUnknown_2023D7C +_08013D48: .4byte gChosenActionByBattler _08013D4C: .4byte gChosenMoveByBattler _08013D50: .4byte gUnknown_2023E80 thumb_func_end BattleTurnPassed @@ -8437,7 +8437,7 @@ _08014114: ands r3, r0 cmp r3, 0 beq _0801417C - ldr r0, _08014164 @ =gUnknown_2023D7C + ldr r0, _08014164 @ =gChosenActionByBattler adds r0, r2, r0 movs r1, 0xD strb r1, [r0] @@ -8459,7 +8459,7 @@ _08014154: .4byte gBattleStruct _08014158: .4byte gBattleTypeFlags _0801415C: .4byte gBitTable _08014160: .4byte gBattleCommunication -_08014164: .4byte gUnknown_2023D7C +_08014164: .4byte gChosenActionByBattler _08014168: ldr r0, _08014178 @ =gBattleCommunication ldrb r1, [r4] @@ -8487,7 +8487,7 @@ _0801417C: cmp r1, 0 beq _080141BC _0801419C: - ldr r0, _080141B4 @ =gUnknown_2023D7C + ldr r0, _080141B4 @ =gChosenActionByBattler adds r0, r2, r0 strb r3, [r0] ldr r1, _080141B8 @ =gBattleCommunication @@ -8498,10 +8498,10 @@ _0801419C: bl _08014C4E .align 2, 0 _080141B0: .4byte gBattleMons -_080141B4: .4byte gUnknown_2023D7C +_080141B4: .4byte gChosenActionByBattler _080141B8: .4byte gBattleCommunication _080141BC: - ldr r0, _080141D4 @ =gUnknown_2023D7C + ldr r0, _080141D4 @ =gChosenActionByBattler ldrb r1, [r0] ldr r0, _080141D8 @ =gBattleBufferB ldrb r2, [r0, 0x1] @@ -8512,7 +8512,7 @@ _080141BC: bl BtlController_EmitChooseAction bl _08014B26 .align 2, 0 -_080141D4: .4byte gUnknown_2023D7C +_080141D4: .4byte gChosenActionByBattler _080141D8: .4byte gBattleBufferB _080141DC: ldr r4, _08014234 @ =gBattleControllerExecFlags @@ -8538,7 +8538,7 @@ _080141DC: beq _0801420A bl _08014C4E _0801420A: - ldr r2, _08014240 @ =gUnknown_2023D7C + ldr r2, _08014240 @ =gChosenActionByBattler adds r2, r5, r2 ldr r1, _08014244 @ =gBattleBufferB lsls r0, r5, 9 @@ -8563,7 +8563,7 @@ _08014228: _08014234: .4byte gBattleControllerExecFlags _08014238: .4byte gBitTable _0801423C: .4byte gActiveBattler -_08014240: .4byte gUnknown_2023D7C +_08014240: .4byte gChosenActionByBattler _08014244: .4byte gBattleBufferB _08014248: .4byte _0801424C .align 2, 0 @@ -8947,7 +8947,7 @@ _08014584: mov r8, r0 cmp r1, 0x2 bne _080145B4 - ldr r0, _080145AC @ =gUnknown_2023D7C + ldr r0, _080145AC @ =gChosenActionByBattler ldrb r0, [r0] cmp r0, 0x2 bne _080145B4 @@ -8961,14 +8961,14 @@ _08014584: b _080145D0 .align 2, 0 _080145A8: .4byte gActiveBattler -_080145AC: .4byte gUnknown_2023D7C +_080145AC: .4byte gChosenActionByBattler _080145B0: .4byte gBattleStruct _080145B4: mov r1, r8 ldrb r0, [r1] cmp r0, 0x3 bne _080145F0 - ldr r0, _080145E8 @ =gUnknown_2023D7C + ldr r0, _080145E8 @ =gChosenActionByBattler ldrb r0, [r0, 0x1] cmp r0, 0x2 bne _080145F0 @@ -8991,7 +8991,7 @@ _080145DE: bl BtlController_EmitChoosePokemon b _0801460E .align 2, 0 -_080145E8: .4byte gUnknown_2023D7C +_080145E8: .4byte gChosenActionByBattler _080145EC: .4byte gBattleStruct _080145F0: ldr r2, _08014618 @ =gBattleStruct @@ -9185,7 +9185,7 @@ _08014764: beq _08014790 b _08014C4E _08014790: - ldr r1, _080147B4 @ =gUnknown_2023D7C + ldr r1, _080147B4 @ =gChosenActionByBattler adds r0, r5, r1 ldrb r0, [r0] adds r3, r1, 0 @@ -9202,7 +9202,7 @@ _0801479E: _080147A8: .4byte gBattleControllerExecFlags _080147AC: .4byte gBitTable _080147B0: .4byte gActiveBattler -_080147B4: .4byte gUnknown_2023D7C +_080147B4: .4byte gChosenActionByBattler _080147B8: .4byte _080147BC .align 2, 0 _080147BC: @@ -9805,7 +9805,7 @@ SwapTurnOrder: @ 8014CA4 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 - ldr r2, _08014CD0 @ =gUnknown_2023BDA + ldr r2, _08014CD0 @ =gActionsByTurnOrder adds r4, r0, r2 ldrb r5, [r4] adds r2, r1, r2 @@ -9823,7 +9823,7 @@ SwapTurnOrder: @ 8014CA4 pop {r0} bx r0 .align 2, 0 -_08014CD0: .4byte gUnknown_2023BDA +_08014CD0: .4byte gActionsByTurnOrder _08014CD4: .4byte gBattlerByTurnOrder thumb_func_end SwapTurnOrder @@ -10156,7 +10156,7 @@ _08014F6C: .4byte 0x00000822 _08014F70: .4byte gBattleMons _08014F74: .4byte gUnknown_2023E80 _08014F78: - ldr r0, _08014F98 @ =gUnknown_2023D7C + ldr r0, _08014F98 @ =gChosenActionByBattler mov r3, r9 adds r1, r3, r0 ldrb r1, [r1] @@ -10173,7 +10173,7 @@ _08014F78: movs r3, 0xA5 b _08014FCA .align 2, 0 -_08014F98: .4byte gUnknown_2023D7C +_08014F98: .4byte gChosenActionByBattler _08014F9C: .4byte gProtectStructs _08014FA0: ldr r0, _08014FC0 @ =gBattleStruct @@ -10339,8 +10339,8 @@ sub_80150A8: @ 80150A8 bcc _080150D0 b _080152FA _080150D0: - ldr r7, _08015108 @ =gUnknown_2023BDA - ldr r6, _0801510C @ =gUnknown_2023D7C + ldr r7, _08015108 @ =gActionsByTurnOrder + ldr r6, _0801510C @ =gChosenActionByBattler mov r2, r8 ldr r5, _08015110 @ =gBattlerByTurnOrder _080150D8: @@ -10366,8 +10366,8 @@ _080150D8: _080150FC: .4byte gBattleTypeFlags _08015100: .4byte gActiveBattler _08015104: .4byte gBattlersCount -_08015108: .4byte gUnknown_2023BDA -_0801510C: .4byte gUnknown_2023D7C +_08015108: .4byte gActionsByTurnOrder +_0801510C: .4byte gChosenActionByBattler _08015110: .4byte gBattlerByTurnOrder _08015114: movs r0, 0x2 @@ -10382,7 +10382,7 @@ _08015114: ldrb r2, [r2] cmp r3, r2 bcs _08015174 - ldr r0, _08015160 @ =gUnknown_2023D7C + ldr r0, _08015160 @ =gChosenActionByBattler ldrb r1, [r0] adds r4, r0, 0 cmp r1, 0x3 @@ -10407,9 +10407,9 @@ _08015136: .align 2, 0 _08015158: .4byte gActiveBattler _0801515C: .4byte gBattlersCount -_08015160: .4byte gUnknown_2023D7C +_08015160: .4byte gChosenActionByBattler _08015164: - ldr r0, _080151D8 @ =gUnknown_2023D7C + ldr r0, _080151D8 @ =gChosenActionByBattler ldrb r0, [r0] ldr r2, _080151DC @ =gActiveBattler mov r8, r2 @@ -10421,8 +10421,8 @@ _08015172: _08015174: cmp r3, 0x5 bne _080151F8 - ldr r6, _080151E0 @ =gUnknown_2023BDA - ldr r1, _080151D8 @ =gUnknown_2023D7C + ldr r6, _080151E0 @ =gActionsByTurnOrder + ldr r1, _080151D8 @ =gChosenActionByBattler mov r3, r8 ldrb r0, [r3] adds r0, r1 @@ -10473,9 +10473,9 @@ _080151CC: ldr r0, [r7] b _08015304 .align 2, 0 -_080151D8: .4byte gUnknown_2023D7C +_080151D8: .4byte gChosenActionByBattler _080151DC: .4byte gActiveBattler -_080151E0: .4byte gUnknown_2023BDA +_080151E0: .4byte gActionsByTurnOrder _080151E4: .4byte gBattlerByTurnOrder _080151E8: .4byte gBattleMainFunc _080151EC: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts @@ -10489,9 +10489,9 @@ _080151F8: ldrb r0, [r2] cmp r0, 0 beq _0801523E - ldr r6, _0801528C @ =gUnknown_2023D7C + ldr r6, _0801528C @ =gChosenActionByBattler mov r2, r8 - ldr r5, _08015290 @ =gUnknown_2023BDA + ldr r5, _08015290 @ =gActionsByTurnOrder ldr r4, _08015294 @ =gBattlerByTurnOrder _0801520E: ldrb r0, [r2] @@ -10527,8 +10527,8 @@ _0801523E: ldrb r0, [r7] cmp r0, 0 beq _08015282 - ldr r6, _0801528C @ =gUnknown_2023D7C - ldr r5, _08015290 @ =gUnknown_2023BDA + ldr r6, _0801528C @ =gChosenActionByBattler + ldr r5, _08015290 @ =gActionsByTurnOrder ldr r4, _08015294 @ =gBattlerByTurnOrder _08015252: ldrb r0, [r2] @@ -10561,8 +10561,8 @@ _08015282: b _080152F0 .align 2, 0 _08015288: .4byte gBattlersCount -_0801528C: .4byte gUnknown_2023D7C -_08015290: .4byte gUnknown_2023BDA +_0801528C: .4byte gChosenActionByBattler +_08015290: .4byte gActionsByTurnOrder _08015294: .4byte gBattlerByTurnOrder _08015298: adds r4, r5, 0x1 @@ -10570,7 +10570,7 @@ _08015298: ldrb r1, [r1] cmp r7, r1 bge _080152EE - ldr r6, _08015318 @ =gUnknown_2023BDA + ldr r6, _08015318 @ =gActionsByTurnOrder lsls r2, r5, 24 mov r8, r2 _080152A8: @@ -10634,7 +10634,7 @@ _08015304: pop {r0} bx r0 .align 2, 0 -_08015318: .4byte gUnknown_2023BDA +_08015318: .4byte gActionsByTurnOrder _0801531C: .4byte gBattlerByTurnOrder _08015320: .4byte gBattlersCount _08015324: .4byte gBattleMainFunc @@ -10924,11 +10924,11 @@ _08015550: bcc _080154CC _0801555E: bl TryClearRageStatuses - ldr r1, _080155A0 @ =gUnknown_2023BE2 + ldr r1, _080155A0 @ =gCurrentTurnActionNumber movs r0, 0 strb r0, [r1] ldr r1, _080155A4 @ =gCurrentActionFuncId - ldr r0, _080155A8 @ =gUnknown_2023BDA + ldr r0, _080155A8 @ =gActionsByTurnOrder movs r3, 0 ldrb r0, [r0] strb r0, [r1] @@ -10956,9 +10956,9 @@ _08015598: pop {r0} bx r0 .align 2, 0 -_080155A0: .4byte gUnknown_2023BE2 +_080155A0: .4byte gCurrentTurnActionNumber _080155A4: .4byte gCurrentActionFuncId -_080155A8: .4byte gUnknown_2023BDA +_080155A8: .4byte gActionsByTurnOrder _080155AC: .4byte gDynamicBasePower _080155B0: .4byte gBattleStruct _080155B4: .4byte gBattleMainFunc @@ -10982,7 +10982,7 @@ _080155D8: ldr r5, _08015624 @ =gBattleStruct ldr r0, [r5] adds r0, 0x4B - ldr r4, _08015628 @ =gUnknown_2023BE2 + ldr r4, _08015628 @ =gCurrentTurnActionNumber ldrb r1, [r4] strb r1, [r0] ldr r1, _0801562C @ =gUnknown_8250038 @@ -11015,7 +11015,7 @@ _080155D8: _0801561C: .4byte gBattleOutcome _08015620: .4byte gCurrentActionFuncId _08015624: .4byte gBattleStruct -_08015628: .4byte gUnknown_2023BE2 +_08015628: .4byte gCurrentTurnActionNumber _0801562C: .4byte gUnknown_8250038 _08015630: .4byte gBattlersCount _08015634: .4byte gHitMarker @@ -11492,7 +11492,7 @@ sub_8015A30: @ 8015A30 cmp r0, 0 bne _08015A8E bl ResetSpriteData - ldr r0, _08015A5C @ =gUnknown_3004FD4 + ldr r0, _08015A5C @ =gLeveledUpInBattle ldrb r0, [r0] cmp r0, 0 beq _08015A52 @@ -11506,7 +11506,7 @@ _08015A52: b _08015A70 .align 2, 0 _08015A58: .4byte gPaletteFade -_08015A5C: .4byte gUnknown_3004FD4 +_08015A5C: .4byte gLeveledUpInBattle _08015A60: .4byte gBattleOutcome _08015A64: .4byte gBattleMainFunc _08015A68: .4byte ReturnFromBattleToOverworld @@ -11537,7 +11537,7 @@ _08015A9C: .4byte gBattleTypeFlags thumb_func_start sub_8015AA0 sub_8015AA0: @ 8015AA0 push {r4,r5,lr} - ldr r0, _08015AF4 @ =gUnknown_3004FD4 + ldr r0, _08015AF4 @ =gLeveledUpInBattle ldrb r1, [r0] adds r3, r0, 0 cmp r1, 0 @@ -11579,14 +11579,14 @@ _08015AAE: bl EvolutionScene b _08015B1C .align 2, 0 -_08015AF4: .4byte gUnknown_3004FD4 +_08015AF4: .4byte gLeveledUpInBattle _08015AF8: .4byte gBitTable _08015AFC: .4byte gPlayerParty _08015B00: .4byte gBattleMainFunc _08015B04: .4byte sub_8015B30 _08015B08: adds r5, 0x1 - ldr r3, _08015B24 @ =gUnknown_3004FD4 + ldr r3, _08015B24 @ =gLeveledUpInBattle cmp r5, 0x5 ble _08015AAE ldrb r0, [r3] @@ -11601,7 +11601,7 @@ _08015B1C: pop {r0} bx r0 .align 2, 0 -_08015B24: .4byte gUnknown_3004FD4 +_08015B24: .4byte gLeveledUpInBattle _08015B28: .4byte gBattleMainFunc _08015B2C: .4byte ReturnFromBattleToOverworld thumb_func_end sub_8015AA0 @@ -11799,7 +11799,7 @@ sub_8015CA0: @ 8015CA0 str r0, [sp] ldr r6, _08015CE0 @ =gBattlerAttacker ldr r1, _08015CE4 @ =gBattlerByTurnOrder - ldr r0, _08015CE8 @ =gUnknown_2023BE2 + ldr r0, _08015CE8 @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -11823,7 +11823,7 @@ sub_8015CA0: @ 8015CA0 .align 2, 0 _08015CE0: .4byte gBattlerAttacker _08015CE4: .4byte gBattlerByTurnOrder -_08015CE8: .4byte gUnknown_2023BE2 +_08015CE8: .4byte gCurrentTurnActionNumber _08015CEC: .4byte gBattleStruct _08015CF0: .4byte gBitTable _08015CF4: .4byte gCurrentActionFuncId @@ -11839,7 +11839,7 @@ _08015CF8: strb r2, [r0] ldr r0, _08015D74 @ =gMoveResultFlags strb r2, [r0] - ldr r0, _08015D78 @ =gUnknown_2023D72 + ldr r0, _08015D78 @ =gMultiHitCounter strb r2, [r0] ldr r0, _08015D7C @ =gBattleCommunication strb r2, [r0, 0x6] @@ -11889,7 +11889,7 @@ _08015CF8: _08015D6C: .4byte gCritMultiplier _08015D70: .4byte gBattleScripting _08015D74: .4byte gMoveResultFlags -_08015D78: .4byte gUnknown_2023D72 +_08015D78: .4byte gMultiHitCounter _08015D7C: .4byte gBattleCommunication _08015D80: .4byte gCurrMovePos _08015D84: .4byte gChosenMovePos @@ -11921,7 +11921,7 @@ _08015D9C: _08015DC2: ldr r3, _08015DD8 @ =gCurrentMove ldr r2, _08015DDC @ =gChosenMove - ldr r1, _08015DE0 @ =gUnknown_2023DB8 + ldr r1, _08015DE0 @ =gLockedMoves lsls r0, r4, 1 adds r0, r1 ldrh r0, [r0] @@ -11932,7 +11932,7 @@ _08015DC2: _08015DD4: .4byte gBattleMons _08015DD8: .4byte gCurrentMove _08015DDC: .4byte gChosenMove -_08015DE0: .4byte gUnknown_2023DB8 +_08015DE0: .4byte gLockedMoves _08015DE4: ldr r3, _08015E38 @ =gDisableStructs mov r12, r3 @@ -12567,7 +12567,7 @@ _0801631A: strb r0, [r5] _0801632C: ldr r4, _08016360 @ =gBattlescriptCurrInstr - ldr r3, _08016364 @ =gUnknown_81D65A8 + ldr r3, _08016364 @ =gBattleScriptsForMoveEffects ldr r2, _08016368 @ =gBattleMoves ldr r0, _0801636C @ =gCurrentMove ldrh r1, [r0] @@ -12594,7 +12594,7 @@ _0801634C: bx r0 .align 2, 0 _08016360: .4byte gBattlescriptCurrInstr -_08016364: .4byte gUnknown_81D65A8 +_08016364: .4byte gBattleScriptsForMoveEffects _08016368: .4byte gBattleMoves _0801636C: .4byte gCurrentMove _08016370: .4byte gCurrentActionFuncId @@ -12605,7 +12605,7 @@ sub_8016374: @ 8016374 push {r4,lr} ldr r3, _080163E0 @ =gBattlerAttacker ldr r1, _080163E4 @ =gBattlerByTurnOrder - ldr r0, _080163E8 @ =gUnknown_2023BE2 + ldr r0, _080163E8 @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -12660,7 +12660,7 @@ _080163DA: .align 2, 0 _080163E0: .4byte gBattlerAttacker _080163E4: .4byte gBattlerByTurnOrder -_080163E8: .4byte gUnknown_2023BE2 +_080163E8: .4byte gCurrentTurnActionNumber _080163EC: .4byte gBattle_BG0_X _080163F0: .4byte gBattle_BG0_Y _080163F4: .4byte gActionSelectionCursor @@ -12684,7 +12684,7 @@ sub_8016418: @ 8016418 ldr r4, _08016474 @ =gBattlerAttacker ldr r2, _08016478 @ =gBattlerTarget ldr r1, _0801647C @ =gBattlerByTurnOrder - ldr r0, _08016480 @ =gUnknown_2023BE2 + ldr r0, _08016480 @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -12725,7 +12725,7 @@ sub_8016418: @ 8016418 _08016474: .4byte gBattlerAttacker _08016478: .4byte gBattlerTarget _0801647C: .4byte gBattlerByTurnOrder -_08016480: .4byte gUnknown_2023BE2 +_08016480: .4byte gCurrentTurnActionNumber _08016484: .4byte gBattle_BG0_X _08016488: .4byte gBattle_BG0_Y _0801648C: .4byte gLastUsedItem @@ -13055,8 +13055,8 @@ _08016740: .4byte gUnknown_81D99E4 _08016744: .4byte gCurrentActionFuncId thumb_func_end sub_8016418 - thumb_func_start sub_8016748 -sub_8016748: @ 8016748 + thumb_func_start TryRunFromBattle +TryRunFromBattle: @ 8016748 push {r4-r7,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -13208,7 +13208,7 @@ _0801686E: _0801687A: cmp r6, 0 beq _0801688C - ldr r1, _08016898 @ =gUnknown_2023BE2 + ldr r1, _08016898 @ =gCurrentTurnActionNumber ldr r0, _0801689C @ =gBattlersCount ldrb r0, [r0] strb r0, [r1] @@ -13222,17 +13222,17 @@ _0801688C: bx r1 .align 2, 0 _08016894: .4byte gBattleStruct -_08016898: .4byte gUnknown_2023BE2 +_08016898: .4byte gCurrentTurnActionNumber _0801689C: .4byte gBattlersCount _080168A0: .4byte gBattleOutcome - thumb_func_end sub_8016748 + thumb_func_end TryRunFromBattle thumb_func_start sub_80168A4 sub_80168A4: @ 80168A4 push {r4-r6,lr} ldr r4, _080168F4 @ =gBattlerAttacker ldr r1, _080168F8 @ =gBattlerByTurnOrder - ldr r5, _080168FC @ =gUnknown_2023BE2 + ldr r5, _080168FC @ =gCurrentTurnActionNumber ldrb r0, [r5] adds r0, r1 ldrb r0, [r0] @@ -13253,7 +13253,7 @@ sub_80168A4: @ 80168A4 cmp r1, 0 beq _08016938 adds r4, r2, 0 - ldr r6, _0801690C @ =gUnknown_2023D7C + ldr r6, _0801690C @ =gChosenActionByBattler ldr r5, _08016910 @ =gBattleOutcome _080168D8: ldrb r0, [r4] @@ -13272,11 +13272,11 @@ _080168D8: .align 2, 0 _080168F4: .4byte gBattlerAttacker _080168F8: .4byte gBattlerByTurnOrder -_080168FC: .4byte gUnknown_2023BE2 +_080168FC: .4byte gCurrentTurnActionNumber _08016900: .4byte gBattleTypeFlags _08016904: .4byte gBattlersCount _08016908: .4byte gActiveBattler -_0801690C: .4byte gUnknown_2023D7C +_0801690C: .4byte gChosenActionByBattler _08016910: .4byte gBattleOutcome _08016914: ldrb r0, [r4] @@ -13316,7 +13316,7 @@ _0801694C: cmp r0, 0 bne _0801698C ldrb r0, [r4] - bl sub_8016748 + bl TryRunFromBattle lsls r0, 24 cmp r0, 0 bne _080169D8 @@ -13386,7 +13386,7 @@ sub_80169E8: @ 80169E8 push {r4,r5,lr} ldr r2, _08016A44 @ =gBattlerAttacker ldr r1, _08016A48 @ =gBattlerByTurnOrder - ldr r0, _08016A4C @ =gUnknown_2023BE2 + ldr r0, _08016A4C @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -13430,7 +13430,7 @@ sub_80169E8: @ 80169E8 .align 2, 0 _08016A44: .4byte gBattlerAttacker _08016A48: .4byte gBattlerByTurnOrder -_08016A4C: .4byte gUnknown_2023BE2 +_08016A4C: .4byte gCurrentTurnActionNumber _08016A50: .4byte gBattle_BG0_X _08016A54: .4byte gBattle_BG0_Y _08016A58: .4byte gBattleStruct @@ -13487,7 +13487,7 @@ _08016ABC: .4byte gCurrentActionFuncId sub_8016AC0: @ 8016AC0 ldr r2, _08016AF8 @ =gBattlerAttacker ldr r1, _08016AFC @ =gBattlerByTurnOrder - ldr r0, _08016B00 @ =gUnknown_2023BE2 + ldr r0, _08016B00 @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -13515,7 +13515,7 @@ sub_8016AC0: @ 8016AC0 .align 2, 0 _08016AF8: .4byte gBattlerAttacker _08016AFC: .4byte gBattlerByTurnOrder -_08016B00: .4byte gUnknown_2023BE2 +_08016B00: .4byte gCurrentTurnActionNumber _08016B04: .4byte gBattle_BG0_X _08016B08: .4byte gBattle_BG0_Y _08016B0C: .4byte gNumSafariBalls @@ -13530,7 +13530,7 @@ sub_8016B20: @ 8016B20 push {r4-r7,lr} ldr r2, _08016B9C @ =gBattlerAttacker ldr r1, _08016BA0 @ =gBattlerByTurnOrder - ldr r0, _08016BA4 @ =gUnknown_2023BE2 + ldr r0, _08016BA4 @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -13591,7 +13591,7 @@ _08016B86: .align 2, 0 _08016B9C: .4byte gBattlerAttacker _08016BA0: .4byte gBattlerByTurnOrder -_08016BA4: .4byte gUnknown_2023BE2 +_08016BA4: .4byte gCurrentTurnActionNumber _08016BA8: .4byte gBattle_BG0_X _08016BAC: .4byte gBattle_BG0_Y _08016BB0: .4byte gBattleStruct @@ -13605,7 +13605,7 @@ sub_8016BC0: @ 8016BC0 push {r4-r7,lr} ldr r2, _08016C3C @ =gBattlerAttacker ldr r1, _08016C40 @ =gBattlerByTurnOrder - ldr r0, _08016C44 @ =gUnknown_2023BE2 + ldr r0, _08016C44 @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -13666,7 +13666,7 @@ _08016C26: .align 2, 0 _08016C3C: .4byte gBattlerAttacker _08016C40: .4byte gBattlerByTurnOrder -_08016C44: .4byte gUnknown_2023BE2 +_08016C44: .4byte gCurrentTurnActionNumber _08016C48: .4byte gBattle_BG0_X _08016C4C: .4byte gBattle_BG0_Y _08016C50: .4byte gBattleStruct @@ -13680,7 +13680,7 @@ HandleAction_SafriZoneRun: @ 8016C60 push {r4,lr} ldr r2, _08016C88 @ =gBattlerAttacker ldr r1, _08016C8C @ =gBattlerByTurnOrder - ldr r4, _08016C90 @ =gUnknown_2023BE2 + ldr r4, _08016C90 @ =gCurrentTurnActionNumber ldrb r0, [r4] adds r0, r1 ldrb r0, [r0] @@ -13699,7 +13699,7 @@ HandleAction_SafriZoneRun: @ 8016C60 .align 2, 0 _08016C88: .4byte gBattlerAttacker _08016C8C: .4byte gBattlerByTurnOrder -_08016C90: .4byte gUnknown_2023BE2 +_08016C90: .4byte gCurrentTurnActionNumber _08016C94: .4byte gBattlersCount _08016C98: .4byte gBattleOutcome thumb_func_end HandleAction_SafriZoneRun @@ -13708,7 +13708,7 @@ _08016C98: .4byte gBattleOutcome HandleAction_Action9: @ 8016C9C ldr r3, _08016CE8 @ =gBattlerAttacker ldr r1, _08016CEC @ =gBattlerByTurnOrder - ldr r0, _08016CF0 @ =gUnknown_2023BE2 + ldr r0, _08016CF0 @ =gCurrentTurnActionNumber ldrb r0, [r0] adds r0, r1 ldrb r2, [r0] @@ -13739,14 +13739,14 @@ HandleAction_Action9: @ 8016C9C ldr r1, _08016D0C @ =gCurrentActionFuncId movs r0, 0xA strb r0, [r1] - ldr r1, _08016D10 @ =gUnknown_2023BDA + ldr r1, _08016D10 @ =gActionsByTurnOrder movs r0, 0xC strb r0, [r1, 0x1] bx lr .align 2, 0 _08016CE8: .4byte gBattlerAttacker _08016CEC: .4byte gBattlerByTurnOrder -_08016CF0: .4byte gUnknown_2023BE2 +_08016CF0: .4byte gCurrentTurnActionNumber _08016CF4: .4byte gBattle_BG0_X _08016CF8: .4byte gBattle_BG0_Y _08016CFC: .4byte gBattleTextBuff1 @@ -13754,7 +13754,7 @@ _08016D00: .4byte gBattlerPartyIndexes _08016D04: .4byte gBattlescriptCurrInstr _08016D08: .4byte gUnknown_81D9A04 _08016D0C: .4byte gCurrentActionFuncId -_08016D10: .4byte gUnknown_2023BDA +_08016D10: .4byte gActionsByTurnOrder thumb_func_end HandleAction_Action9 thumb_func_start HandleAction_Action11 @@ -13782,12 +13782,12 @@ _08016D38: .4byte gCurrentActionFuncId thumb_func_start HandleAction_NothingIsFainted HandleAction_NothingIsFainted: @ 8016D3C - ldr r1, _08016D5C @ =gUnknown_2023BE2 + ldr r1, _08016D5C @ =gCurrentTurnActionNumber ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] ldr r3, _08016D60 @ =gCurrentActionFuncId - ldr r2, _08016D64 @ =gUnknown_2023BDA + ldr r2, _08016D64 @ =gActionsByTurnOrder ldrb r0, [r1] adds r0, r2 ldrb r0, [r0] @@ -13799,9 +13799,9 @@ HandleAction_NothingIsFainted: @ 8016D3C str r0, [r2] bx lr .align 2, 0 -_08016D5C: .4byte gUnknown_2023BE2 +_08016D5C: .4byte gCurrentTurnActionNumber _08016D60: .4byte gCurrentActionFuncId -_08016D64: .4byte gUnknown_2023BDA +_08016D64: .4byte gActionsByTurnOrder _08016D68: .4byte gHitMarker _08016D6C: .4byte 0xf1e892af thumb_func_end HandleAction_NothingIsFainted @@ -13809,12 +13809,12 @@ _08016D6C: .4byte 0xf1e892af thumb_func_start HandleAction_ActionFinished HandleAction_ActionFinished: @ 8016D70 push {r4,r5,lr} - ldr r1, _08016DE4 @ =gUnknown_2023BE2 + ldr r1, _08016DE4 @ =gCurrentTurnActionNumber ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] ldr r3, _08016DE8 @ =gCurrentActionFuncId - ldr r2, _08016DEC @ =gUnknown_2023BDA + ldr r2, _08016DEC @ =gActionsByTurnOrder ldrb r0, [r1] adds r0, r2 ldrb r0, [r0] @@ -13842,7 +13842,7 @@ HandleAction_ActionFinished: @ 8016D70 lsls r0, 1 adds r0, r2 strh r4, [r0] - ldr r2, _08016E10 @ =gUnknown_2023DA8 + ldr r2, _08016E10 @ =gLastHitByType ldrb r0, [r3] lsls r0, 1 adds r0, r2 @@ -13866,9 +13866,9 @@ HandleAction_ActionFinished: @ 8016D70 pop {r0} bx r0 .align 2, 0 -_08016DE4: .4byte gUnknown_2023BE2 +_08016DE4: .4byte gCurrentTurnActionNumber _08016DE8: .4byte gCurrentActionFuncId -_08016DEC: .4byte gUnknown_2023BDA +_08016DEC: .4byte gActionsByTurnOrder _08016DF0: .4byte gHitMarker _08016DF4: .4byte 0xf1e892af _08016DF8: .4byte gCurrentMove @@ -13877,7 +13877,7 @@ _08016E00: .4byte gMoveResultFlags _08016E04: .4byte gBattleScripting _08016E08: .4byte gLastLandedMoves _08016E0C: .4byte gBattlerAttacker -_08016E10: .4byte gUnknown_2023DA8 +_08016E10: .4byte gLastHitByType _08016E14: .4byte gBattleStruct _08016E18: .4byte gDynamicBasePower _08016E1C: .4byte gBattleCommunication diff --git a/asm/battle_anim_utility_funcs.s b/asm/battle_anim_utility_funcs.s index a129795e3..f447bdf45 100644 --- a/asm/battle_anim_utility_funcs.s +++ b/asm/battle_anim_utility_funcs.s @@ -176,7 +176,7 @@ sub_80BA934: @ 80BA934 ldrsh r0, [r0, r1] bl sub_80B9A14 adds r2, r0, 0 - ldr r0, _080BA95C @ =gUnknown_2022B50 + ldr r0, _080BA95C @ =gBattleTerrain ldrb r0, [r0] cmp r0, 0x9 bhi _080BAA0A @@ -187,7 +187,7 @@ sub_80BA934: @ 80BA934 mov pc, r0 .align 2, 0 _080BA958: .4byte gBattleAnimArgs -_080BA95C: .4byte gUnknown_2022B50 +_080BA95C: .4byte gBattleTerrain _080BA960: .4byte _080BA964 .align 2, 0 _080BA964: @@ -2745,7 +2745,7 @@ sub_80BBDF0: @ 80BBDF0 lsls r0, 24 lsrs r0, 24 ldr r2, _080BBE08 @ =gBattleAnimArgs - ldr r1, _080BBE0C @ =gUnknown_2022B50 + ldr r1, _080BBE0C @ =gBattleTerrain ldrb r1, [r1] strh r1, [r2] bl DestroyAnimVisualTask @@ -2753,7 +2753,7 @@ sub_80BBDF0: @ 80BBDF0 bx r0 .align 2, 0 _080BBE08: .4byte gBattleAnimArgs -_080BBE0C: .4byte gUnknown_2022B50 +_080BBE0C: .4byte gBattleTerrain thumb_func_end sub_80BBDF0 thumb_func_start sub_80BBE10 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index a7a115c1f..6d797fe69 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -45,14 +45,14 @@ _0801D784: orrs r1, r0 str r1, [r2] ldr r1, _0801D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0801D7C4 @ =gUnknown_81D694E + ldr r0, _0801D7C4 @ =BattleScript_MoveEnd b _0801DAFA .align 2, 0 _0801D7B4: .4byte gBattleMons _0801D7B8: .4byte gBattlerAttacker _0801D7BC: .4byte gHitMarker _0801D7C0: .4byte gBattlescriptCurrInstr -_0801D7C4: .4byte gUnknown_81D694E +_0801D7C4: .4byte BattleScript_MoveEnd _0801D7C8: bl AtkCanceller_UnableToUseMove lsls r0, 24 @@ -107,7 +107,7 @@ _0801D7EE: cmp r0, 0 bne _0801D86C ldr r1, _0801D860 @ =gBattlescriptCurrInstr - ldr r0, _0801D864 @ =gUnknown_81D8EA8 + ldr r0, _0801D864 @ =BattleScript_NoPPForMove str r0, [r1] ldr r2, _0801D868 @ =gMoveResultFlags ldrb r0, [r2] @@ -124,7 +124,7 @@ _0801D854: .4byte gHitMarker _0801D858: .4byte gCurrentMove _0801D85C: .4byte 0x00800200 _0801D860: .4byte gBattlescriptCurrInstr -_0801D864: .4byte gUnknown_81D8EA8 +_0801D864: .4byte BattleScript_NoPPForMove _0801D868: .4byte gMoveResultFlags _0801D86C: ldr r0, [r5] @@ -216,7 +216,7 @@ _0801D8C4: strb r0, [r1] bl BattleScriptPushCursor ldr r1, _0801D944 @ =gBattlescriptCurrInstr - ldr r0, _0801D948 @ =gUnknown_81D8FAA + ldr r0, _0801D948 @ =BattleScript_MagicCoatBounce b _0801DAFA .align 2, 0 _0801D928: .4byte gHitMarker @@ -227,7 +227,7 @@ _0801D938: .4byte gCurrentMove _0801D93C: .4byte gBattlerAttacker _0801D940: .4byte 0x00000115 _0801D944: .4byte gBattlescriptCurrInstr -_0801D948: .4byte gUnknown_81D8FAA +_0801D948: .4byte BattleScript_MagicCoatBounce _0801D94C: movs r2, 0 ldr r0, _0801D9C8 @ =gBattlersCount @@ -285,7 +285,7 @@ _0801D98E: strb r0, [r4] bl BattleScriptPushCursor ldr r1, _0801D9E4 @ =gBattlescriptCurrInstr - ldr r0, _0801D9E8 @ =gUnknown_81D938D + ldr r0, _0801D9E8 @ =BattleScript_TookAttack str r0, [r1] mov r1, r8 ldrb r0, [r1] @@ -301,7 +301,7 @@ _0801D9D8: .4byte gCurrentMove _0801D9DC: .4byte gSpecialStatuses _0801D9E0: .4byte gLastUsedAbility _0801D9E4: .4byte gBattlescriptCurrInstr -_0801D9E8: .4byte gUnknown_81D938D +_0801D9E8: .4byte BattleScript_TookAttack _0801D9EC: lsls r0, r2, 4 add r0, r9 @@ -377,7 +377,7 @@ _0801DA5E: adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801DAAC @ =gUnknown_2023DA8 + ldr r1, _0801DAAC @ =gLastHitByType ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -394,7 +394,7 @@ _0801DA9C: .4byte gBattlerAttacker _0801DAA0: .4byte gMoveResultFlags _0801DAA4: .4byte gLastLandedMoves _0801DAA8: .4byte gBattlerTarget -_0801DAAC: .4byte gUnknown_2023DA8 +_0801DAAC: .4byte gLastHitByType _0801DAB0: .4byte gBattleCommunication _0801DAB4: ldr r0, _0801DAE0 @ =gBattlerAttacker @@ -415,14 +415,14 @@ _0801DAB4: strb r0, [r1, 0x17] bl BattleScriptPushCursor ldr r1, _0801DAEC @ =gBattlescriptCurrInstr - ldr r0, _0801DAF0 @ =gUnknown_81D8FC2 + ldr r0, _0801DAF0 @ =BattleScript_SnatchedMove b _0801DAFA .align 2, 0 _0801DAE0: .4byte gBattlerAttacker _0801DAE4: .4byte 0x00000121 _0801DAE8: .4byte gBattleScripting _0801DAEC: .4byte gBattlescriptCurrInstr -_0801DAF0: .4byte gUnknown_81D8FC2 +_0801DAF0: .4byte BattleScript_SnatchedMove _0801DAF4: ldr r1, _0801DB0C @ =gBattlescriptCurrInstr ldr r0, [r1] @@ -465,7 +465,7 @@ JumpIfMoveFailed: @ 801DB10 adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801DB6C @ =gUnknown_2023DA8 + ldr r1, _0801DB6C @ =gLastHitByType ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -486,7 +486,7 @@ _0801DB5C: .4byte gBattlescriptCurrInstr _0801DB60: .4byte gMoveResultFlags _0801DB64: .4byte gLastLandedMoves _0801DB68: .4byte gBattlerTarget -_0801DB6C: .4byte gUnknown_2023DA8 +_0801DB6C: .4byte gLastHitByType _0801DB70: bl TrySetDestinyBondToHappen ldr r0, _0801DB98 @ =gBattlerTarget @@ -2188,7 +2188,7 @@ _0801E8C0: adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801E930 @ =gUnknown_2023DA8 + ldr r1, _0801E930 @ =gLastHitByType ldrb r0, [r4] lsls r0, 1 adds r0, r1 @@ -2209,7 +2209,7 @@ _0801E920: .4byte gBattlerTarget _0801E924: .4byte gLastUsedAbility _0801E928: .4byte gMoveResultFlags _0801E92C: .4byte gLastLandedMoves -_0801E930: .4byte gUnknown_2023DA8 +_0801E930: .4byte gLastHitByType _0801E934: .4byte gBattleCommunication _0801E938: ldr r1, _0801E944 @ =gTypeEffectiveness @@ -2345,7 +2345,7 @@ _0801EA10: adds r0, r1 movs r2, 0 strh r2, [r0] - ldr r1, _0801EAA8 @ =gUnknown_2023DA8 + ldr r1, _0801EAA8 @ =gLastHitByType ldrb r0, [r5] lsls r0, 1 adds r0, r1 @@ -2393,7 +2393,7 @@ _0801EA98: .4byte gMoveResultFlags _0801EA9C: .4byte gBattleMoves _0801EAA0: .4byte gLastUsedAbility _0801EAA4: .4byte gLastLandedMoves -_0801EAA8: .4byte gUnknown_2023DA8 +_0801EAA8: .4byte gLastHitByType _0801EAAC: .4byte gBattleCommunication _0801EAB0: .4byte gProtectStructs _0801EAB4: .4byte gBattlescriptCurrInstr @@ -3662,7 +3662,7 @@ _0801F452: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _0801F498 @ =gUnknown_81D89F1 + ldr r0, _0801F498 @ =BattleScript_Pausex20 str r0, [r4] ldr r1, _0801F49C @ =gBattleScripting ldrb r0, [r1, 0x18] @@ -3677,7 +3677,7 @@ _0801F488: .4byte gBattleControllerExecFlags _0801F48C: .4byte gHitMarker _0801F490: .4byte gCurrentMove _0801F494: .4byte gBattlescriptCurrInstr -_0801F498: .4byte gUnknown_81D89F1 +_0801F498: .4byte BattleScript_Pausex20 _0801F49C: .4byte gBattleScripting _0801F4A0: ldr r2, _0801F53C @ =gBattleMoves @@ -3774,7 +3774,7 @@ _0801F564: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _0801F584 @ =gUnknown_81D89F1 + ldr r0, _0801F584 @ =BattleScript_Pausex20 str r0, [r4] _0801F572: add sp, 0xC @@ -3785,7 +3785,7 @@ _0801F572: bx r0 .align 2, 0 _0801F580: .4byte gBattlescriptCurrInstr -_0801F584: .4byte gUnknown_81D89F1 +_0801F584: .4byte BattleScript_Pausex20 thumb_func_end atk09_attackanimation thumb_func_start atk0A_waitanimation @@ -4012,7 +4012,7 @@ _0801F736: ldrb r0, [r1, 0xA] subs r0, r2 strb r0, [r1, 0xA] - ldr r1, _0801F778 @ =gUnknown_2023D54 + ldr r1, _0801F778 @ =gHpDealt ldr r0, [r6] str r0, [r1] b _0801F7AC @@ -4027,7 +4027,7 @@ _0801F768: .4byte gDisableStructs _0801F76C: .4byte gHitMarker _0801F770: .4byte gBattleMoveDamage _0801F774: .4byte gSpecialStatuses -_0801F778: .4byte gUnknown_2023D54 +_0801F778: .4byte gHpDealt _0801F77C: ldr r0, _0801F7D4 @ =gSpecialStatuses lsls r1, r2, 2 @@ -4040,7 +4040,7 @@ _0801F77C: bne _0801F790 str r5, [r1] _0801F790: - ldr r2, _0801F7D8 @ =gUnknown_2023D54 + ldr r2, _0801F7D8 @ =gHpDealt ldrb r1, [r7] lsls r0, r1, 3 subs r0, r1 @@ -4071,15 +4071,15 @@ _0801F7C0: adds r0, 0x2 str r0, [r4] bl BattleScriptPushCursor - ldr r0, _0801F7E4 @ =gUnknown_81D9526 + ldr r0, _0801F7E4 @ =BattleScript_SubstituteFade str r0, [r4] b _0801FA62 .align 2, 0 _0801F7D4: .4byte gSpecialStatuses -_0801F7D8: .4byte gUnknown_2023D54 +_0801F7D8: .4byte gHpDealt _0801F7DC: .4byte gActiveBattler _0801F7E0: .4byte gBattlescriptCurrInstr -_0801F7E4: .4byte gUnknown_81D9526 +_0801F7E4: .4byte BattleScript_SubstituteFade _0801F7E8: ldr r0, _0801F828 @ =gHitMarker ldr r2, [r0] @@ -4180,7 +4180,7 @@ _0801F8A0: ble _0801F8D0 subs r0, r1 strh r0, [r2, 0x28] - ldr r0, _0801F8CC @ =gUnknown_2023D54 + ldr r0, _0801F8CC @ =gHpDealt str r1, [r0] adds r7, r0, 0 b _0801F8E0 @@ -4188,9 +4188,9 @@ _0801F8A0: _0801F8C0: .4byte gTakenDmgByBattler _0801F8C4: .4byte gBattlerTarget _0801F8C8: .4byte gBattleMons -_0801F8CC: .4byte gUnknown_2023D54 +_0801F8CC: .4byte gHpDealt _0801F8D0: - ldr r2, _0801F954 @ =gUnknown_2023D54 + ldr r2, _0801F954 @ =gHpDealt str r0, [r2] ldrb r0, [r5] muls r0, r3 @@ -4259,7 +4259,7 @@ _0801F908: ldr r2, _0801F968 @ =gBattlerAttacker b _0801F974 .align 2, 0 -_0801F954: .4byte gUnknown_2023D54 +_0801F954: .4byte gHpDealt _0801F958: .4byte gSpecialStatuses _0801F95C: .4byte gCurrentMove _0801F960: .4byte gProtectStructs @@ -4576,7 +4576,7 @@ _0801FBAE: cmp r0, 0x2 bls _0801FBEC _0801FBCE: - ldr r1, _0801FBE8 @ =gUnknown_83FE514 + ldr r1, _0801FBE8 @ =gMissStringIds ldrb r0, [r7, 0x6] lsls r0, 1 adds r0, r1 @@ -4587,7 +4587,7 @@ _0801FBCE: _0801FBDC: .4byte gBattleControllerExecFlags _0801FBE0: .4byte gMoveResultFlags _0801FBE4: .4byte gBattleCommunication -_0801FBE8: .4byte gUnknown_83FE514 +_0801FBE8: .4byte gMissStringIds _0801FBEC: movs r0, 0x1 strb r0, [r7, 0x7] @@ -4653,7 +4653,7 @@ _0801FC38: strb r0, [r6] bl BattleScriptPushCursor ldr r1, _0801FC70 @ =gBattlescriptCurrInstr - ldr r0, _0801FC74 @ =gUnknown_81D9641 + ldr r0, _0801FC74 @ =BattleScript_HangedOnMsg b _0801FD3E .align 2, 0 _0801FC60: .4byte gLastUsedItem @@ -4661,7 +4661,7 @@ _0801FC64: .4byte gBattleMons _0801FC68: .4byte gBattlerTarget _0801FC6C: .4byte gPotentialItemEffectBattler _0801FC70: .4byte gBattlescriptCurrInstr -_0801FC74: .4byte gUnknown_81D9641 +_0801FC74: .4byte BattleScript_HangedOnMsg _0801FC78: adds r2, r6, 0 ldrb r5, [r2] @@ -4686,11 +4686,11 @@ _0801FC88: strb r0, [r2] bl BattleScriptPushCursor ldr r1, _0801FCA8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCAC @ =gUnknown_81D8FE4 + ldr r0, _0801FCAC @ =BattleScript_OneHitKOMsg b _0801FD3E .align 2, 0 _0801FCA8: .4byte gBattlescriptCurrInstr -_0801FCAC: .4byte gUnknown_81D8FE4 +_0801FCAC: .4byte BattleScript_OneHitKOMsg _0801FCB0: movs r0, 0x40 ands r0, r5 @@ -4701,11 +4701,11 @@ _0801FCB0: strb r0, [r2] bl BattleScriptPushCursor ldr r1, _0801FCC8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCCC @ =gUnknown_81D8FDD + ldr r0, _0801FCCC @ =BattleScript_EnduredMsg b _0801FD3E .align 2, 0 _0801FCC8: .4byte gBattlescriptCurrInstr -_0801FCCC: .4byte gUnknown_81D8FDD +_0801FCCC: .4byte BattleScript_EnduredMsg _0801FCD0: movs r0, 0x80 ands r0, r5 @@ -4728,7 +4728,7 @@ _0801FCD0: strb r0, [r6] bl BattleScriptPushCursor ldr r1, _0801FD10 @ =gBattlescriptCurrInstr - ldr r0, _0801FD14 @ =gUnknown_81D9641 + ldr r0, _0801FD14 @ =BattleScript_HangedOnMsg b _0801FD3E .align 2, 0 _0801FD00: .4byte gLastUsedItem @@ -4736,7 +4736,7 @@ _0801FD04: .4byte gBattleMons _0801FD08: .4byte gBattlerTarget _0801FD0C: .4byte gPotentialItemEffectBattler _0801FD10: .4byte gBattlescriptCurrInstr -_0801FD14: .4byte gUnknown_81D9641 +_0801FD14: .4byte BattleScript_HangedOnMsg _0801FD18: movs r0, 0x20 ands r0, r5 @@ -4865,7 +4865,7 @@ _0801FDFC: ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 - ldr r3, _0801FE2C @ =gUnknown_2023E7C + ldr r3, _0801FE2C @ =gPauseCounterBattle ldrh r0, [r3] adds r0, 0x1 strh r0, [r3] @@ -4884,7 +4884,7 @@ _0801FE22: bx r0 .align 2, 0 _0801FE28: .4byte gBattlescriptCurrInstr -_0801FE2C: .4byte gUnknown_2023E7C +_0801FE2C: .4byte gPauseCounterBattle thumb_func_end atk12_waitmessage thumb_func_start atk13_printfromtable @@ -5347,7 +5347,7 @@ _080201A6: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _080201DC @ =gUnknown_81D9438 + ldr r0, _080201DC @ =BattleScript_PSNPrevention _080201C0: str r0, [r4] ldr r2, _080201E0 @ =gHitMarker @@ -5363,7 +5363,7 @@ _080201D2: .align 2, 0 _080201D4: .4byte gLastUsedAbility _080201D8: .4byte gBattlescriptCurrInstr -_080201DC: .4byte gUnknown_81D9438 +_080201DC: .4byte BattleScript_PSNPrevention _080201E0: .4byte gHitMarker _080201E4: mov r1, r9 @@ -5470,12 +5470,12 @@ _0802028A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _080202B0 @ =gUnknown_81D9420 + ldr r0, _080202B0 @ =BattleScript_BRNPrevention b _080201C0 .align 2, 0 _080202A8: .4byte gLastUsedAbility _080202AC: .4byte gBattlescriptCurrInstr -_080202B0: .4byte gUnknown_81D9420 +_080202B0: .4byte BattleScript_BRNPrevention _080202B4: mov r0, r9 ldrb r1, [r0] @@ -5510,12 +5510,12 @@ _080202EA: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020300 @ =gUnknown_81D9420 + ldr r0, _08020300 @ =BattleScript_BRNPrevention b _080204F4 .align 2, 0 _080202F8: .4byte gHitMarker _080202FC: .4byte gBattlescriptCurrInstr -_08020300: .4byte gUnknown_81D9420 +_08020300: .4byte BattleScript_BRNPrevention _08020304: mov r3, r9 ldrb r0, [r3] @@ -5661,12 +5661,12 @@ _08020402: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020428 @ =gUnknown_81D942C + ldr r0, _08020428 @ =BattleScript_PRLZPrevention b _080201C0 .align 2, 0 _08020420: .4byte gLastUsedAbility _08020424: .4byte gBattlescriptCurrInstr -_08020428: .4byte gUnknown_81D942C +_08020428: .4byte BattleScript_PRLZPrevention _0802042C: mov r0, r8 adds r0, 0x4C @@ -5704,7 +5704,7 @@ _0802045A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _0802049C @ =gUnknown_81D9438 + ldr r0, _0802049C @ =BattleScript_PSNPrevention str r0, [r4] ldr r2, _080204A0 @ =gHitMarker ldr r1, [r2] @@ -5723,7 +5723,7 @@ _08020484: .align 2, 0 _08020494: .4byte gLastUsedAbility _08020498: .4byte gBattlescriptCurrInstr -_0802049C: .4byte gUnknown_81D9438 +_0802049C: .4byte BattleScript_PSNPrevention _080204A0: .4byte gHitMarker _080204A4: .4byte 0xffffdfff _080204A8: @@ -5765,7 +5765,7 @@ _080204E8: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020508 @ =gUnknown_81D9438 + ldr r0, _08020508 @ =BattleScript_PSNPrevention _080204F4: str r0, [r4] ldr r1, _0802050C @ =gBattleCommunication @@ -5775,7 +5775,7 @@ _080204F4: .align 2, 0 _08020500: .4byte gHitMarker _08020504: .4byte gBattlescriptCurrInstr -_08020508: .4byte gUnknown_81D9438 +_08020508: .4byte BattleScript_PSNPrevention _0802050C: .4byte gBattleCommunication _08020510: mov r3, r9 @@ -6130,17 +6130,17 @@ _0802084C: movs r1, 0x27 bl RecordAbilityBattle ldr r1, _08020868 @ =gBattlescriptCurrInstr - ldr r0, _0802086C @ =gUnknown_81D9452 + ldr r0, _0802086C @ =BattleScript_FlinchPrevention str r0, [r1] bl _0802110A .align 2, 0 _08020864: .4byte gLastUsedAbility _08020868: .4byte gBattlescriptCurrInstr -_0802086C: .4byte gUnknown_81D9452 +_0802086C: .4byte BattleScript_FlinchPrevention _08020870: adds r0, r2, 0 bl GetBattlerTurnOrderNum - ldr r1, _080208AC @ =gUnknown_2023BE2 + ldr r1, _080208AC @ =gCurrentTurnActionNumber lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -6166,7 +6166,7 @@ _08020886: str r1, [r2] bl _080210EC .align 2, 0 -_080208AC: .4byte gUnknown_2023BE2 +_080208AC: .4byte gCurrentTurnActionNumber _080208B0: .4byte sStatusFlagsForMoveEffects _080208B4: .4byte gBattleCommunication _080208B8: @@ -6188,7 +6188,7 @@ _080208D4: lsls r0, 5 orrs r1, r0 str r1, [r2] - ldr r1, _08020920 @ =gUnknown_2023DB8 + ldr r1, _08020920 @ =gLockedMoves ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -6220,7 +6220,7 @@ _080208D4: ldr r0, [r0] bl _08021108 .align 2, 0 -_08020920: .4byte gUnknown_2023DB8 +_08020920: .4byte gLockedMoves _08020924: .4byte gCurrentMove _08020928: .4byte gBattlescriptCurrInstr _0802092C: .4byte sMoveEffectBS_Ptrs @@ -6233,7 +6233,7 @@ _08020934: ands r1, r0 cmp r1, 0 bne _0802096C - ldr r4, _08020988 @ =gUnknown_2023E7E + ldr r4, _08020988 @ =gPaydayMoney ldrh r3, [r4] ldr r2, _0802098C @ =gBattleMons ldrb r1, [r5] @@ -6267,7 +6267,7 @@ _0802096C: b _08021108 .align 2, 0 _08020984: .4byte gBattlerAttacker -_08020988: .4byte gUnknown_2023E7E +_08020988: .4byte gPaydayMoney _0802098C: .4byte gBattleMons _08020990: .4byte 0x0000ffff _08020994: .4byte gBattlescriptCurrInstr @@ -6314,7 +6314,7 @@ _080209D8: lsls r1, 5 orrs r0, r1 str r0, [r2] - ldr r1, _08020A14 @ =gUnknown_2023DB8 + ldr r1, _08020A14 @ =gLockedMoves mov r2, r9 ldrb r0, [r2] lsls r0, 1 @@ -6332,7 +6332,7 @@ _080209D8: strb r0, [r1, 0x1] b _080210EC .align 2, 0 -_08020A14: .4byte gUnknown_2023DB8 +_08020A14: .4byte gLockedMoves _08020A18: .4byte gCurrentMove _08020A1C: .4byte gProtectStructs _08020A20: @@ -6398,7 +6398,7 @@ _08020A3C: ldr r0, [r0] str r0, [r4] strb r5, [r2, 0x5] - ldr r3, _08020AE8 @ =gUnknown_83FE664 + ldr r3, _08020AE8 @ =gTrappingMoves ldrh r0, [r3] ldrh r4, [r6] cmp r0, r4 @@ -6432,10 +6432,10 @@ _08020AD8: .4byte gBattlerAttacker _08020ADC: .4byte gBattlescriptCurrInstr _08020AE0: .4byte sMoveEffectBS_Ptrs _08020AE4: .4byte gBattleCommunication -_08020AE8: .4byte gUnknown_83FE664 +_08020AE8: .4byte gTrappingMoves _08020AEC: ldr r1, _08020B1C @ =gBattleMoveDamage - ldr r0, _08020B20 @ =gUnknown_2023D54 + ldr r0, _08020B20 @ =gHpDealt ldr r0, [r0] cmp r0, 0 bge _08020AF8 @@ -6461,7 +6461,7 @@ _08020B04: b _08021108 .align 2, 0 _08020B1C: .4byte gBattleMoveDamage -_08020B20: .4byte gUnknown_2023D54 +_08020B20: .4byte gHpDealt _08020B24: .4byte gBattlescriptCurrInstr _08020B28: .4byte sMoveEffectBS_Ptrs _08020B2C: .4byte gBattleCommunication @@ -6490,12 +6490,12 @@ _08020B4C: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020B70 @ =gUnknown_81D6BD1 + ldr r0, _08020B70 @ =BattleScript_StatUp b _08021108 .align 2, 0 _08020B68: .4byte gBattleScripting _08020B6C: .4byte gBattlescriptCurrInstr -_08020B70: .4byte gUnknown_81D6BD1 +_08020B70: .4byte BattleScript_StatUp _08020B74: movs r0, 0x70 negs r0, r0 @@ -6522,12 +6522,12 @@ _08020B92: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020BB4 @ =gUnknown_81D6C62 + ldr r0, _08020BB4 @ =BattleScript_StatDown b _08021108 .align 2, 0 _08020BAC: .4byte gBattleScripting _08020BB0: .4byte gBattlescriptCurrInstr -_08020BB4: .4byte gUnknown_81D6C62 +_08020BB4: .4byte BattleScript_StatDown _08020BB8: ldrb r1, [r6, 0x3] adds r1, 0xDA @@ -6553,12 +6553,12 @@ _08020BD4: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020BF8 @ =gUnknown_81D6BD1 + ldr r0, _08020BF8 @ =BattleScript_StatUp b _08021108 .align 2, 0 _08020BF0: .4byte gBattleScripting _08020BF4: .4byte gBattlescriptCurrInstr -_08020BF8: .4byte gUnknown_81D6BD1 +_08020BF8: .4byte BattleScript_StatUp _08020BFC: movs r0, 0x60 negs r0, r0 @@ -6585,12 +6585,12 @@ _08020C1A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020C3C @ =gUnknown_81D6C62 + ldr r0, _08020C3C @ =BattleScript_StatDown b _08021108 .align 2, 0 _08020C34: .4byte gBattleScripting _08020C38: .4byte gBattlescriptCurrInstr -_08020C3C: .4byte gUnknown_81D6C62 +_08020C3C: .4byte BattleScript_StatDown _08020C40: mov r0, r9 ldrb r1, [r0] @@ -6614,7 +6614,7 @@ _08020C40: adds r0, r2 movs r1, 0x2 strb r1, [r0, 0x19] - ldr r1, _08020C80 @ =gUnknown_2023DB8 + ldr r1, _08020C80 @ =gLockedMoves ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -6624,7 +6624,7 @@ _08020C40: b _080210EC .align 2, 0 _08020C7C: .4byte gDisableStructs -_08020C80: .4byte gUnknown_2023DB8 +_08020C80: .4byte gLockedMoves _08020C84: .4byte gCurrentMove _08020C88: ldr r0, _08020CA4 @ =gBattlerAttacker @@ -6726,7 +6726,7 @@ _08020D26: cmp r0, 0x3C bne _08020D94 ldr r1, _08020D88 @ =gBattlescriptCurrInstr - ldr r0, _08020D8C @ =gUnknown_81D948E + ldr r0, _08020D8C @ =BattleScript_StickyHoldActivates str r0, [r1] ldr r1, _08020D90 @ =gLastUsedAbility ldrb r0, [r7] @@ -6750,7 +6750,7 @@ _08020D7C: .4byte gBattlerPartyIndexes _08020D80: .4byte gBattleMons _08020D84: .4byte gBattlerTarget _08020D88: .4byte gBattlescriptCurrInstr -_08020D8C: .4byte gUnknown_81D948E +_08020D8C: .4byte BattleScript_StickyHoldActivates _08020D90: .4byte gLastUsedAbility _08020D94: ldr r4, _08020E60 @ =gBattlerAttacker @@ -6838,7 +6838,7 @@ _08020DD4: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020E74 @ =gUnknown_81D9271 + ldr r0, _08020E74 @ =BattleScript_ItemSteal str r0, [r4] ldrb r0, [r7] ldr r1, [r5] @@ -6859,7 +6859,7 @@ _08020E64: .4byte gBattleStruct _08020E68: .4byte gLastUsedItem _08020E6C: .4byte gActiveBattler _08020E70: .4byte gBattlescriptCurrInstr -_08020E74: .4byte gUnknown_81D9271 +_08020E74: .4byte BattleScript_ItemSteal _08020E78: ldr r3, _08020EA8 @ =gBattlerTarget ldrb r1, [r3] @@ -6908,21 +6908,21 @@ _08020ED0: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020EE4 @ =gUnknown_81D8D55 + ldr r0, _08020EE4 @ =BattleScript_AllStatsUp b _08021108 .align 2, 0 _08020EE0: .4byte gBattlescriptCurrInstr -_08020EE4: .4byte gUnknown_81D8D55 +_08020EE4: .4byte BattleScript_AllStatsUp _08020EE8: ldr r4, _08020EF8 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020EFC @ =gUnknown_81D8DF1 + ldr r0, _08020EFC @ =BattleScript_RapidSpinAway b _08021108 .align 2, 0 _08020EF8: .4byte gBattlescriptCurrInstr -_08020EFC: .4byte gUnknown_81D8DF1 +_08020EFC: .4byte BattleScript_RapidSpinAway _08020F00: ldr r6, _08020F50 @ =gBattlerTarget ldrb r0, [r6] @@ -6960,26 +6960,26 @@ _08020F1A: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020F5C @ =gUnknown_81D9177 + ldr r0, _08020F5C @ =BattleScript_TargetPRLZHeal b _08021108 .align 2, 0 _08020F50: .4byte gBattlerTarget _08020F54: .4byte gActiveBattler _08020F58: .4byte gBattlescriptCurrInstr -_08020F5C: .4byte gUnknown_81D9177 +_08020F5C: .4byte BattleScript_TargetPRLZHeal _08020F60: ldr r4, _08020F70 @ =gBattlescriptCurrInstr ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08020F74 @ =gUnknown_81D8F35 + ldr r0, _08020F74 @ =BattleScript_AtkDefDown b _08021108 .align 2, 0 _08020F70: .4byte gBattlescriptCurrInstr -_08020F74: .4byte gUnknown_81D8F35 +_08020F74: .4byte BattleScript_AtkDefDown _08020F78: ldr r4, _08020FA8 @ =gBattleMoveDamage - ldr r0, _08020FAC @ =gUnknown_2023D54 + ldr r0, _08020FAC @ =gHpDealt ldr r0, [r0] movs r1, 0x3 bl __divsi3 @@ -7002,7 +7002,7 @@ _08020F8E: b _08021108 .align 2, 0 _08020FA8: .4byte gBattleMoveDamage -_08020FAC: .4byte gUnknown_2023D54 +_08020FAC: .4byte gHpDealt _08020FB0: .4byte gBattlescriptCurrInstr _08020FB4: .4byte sMoveEffectBS_Ptrs _08020FB8: .4byte gBattleCommunication @@ -7026,7 +7026,7 @@ _08020FD8: lsls r0, 5 orrs r1, r0 str r1, [r2] - ldr r1, _08021010 @ =gUnknown_2023DB8 + ldr r1, _08021010 @ =gLockedMoves mov r2, r9 ldrb r0, [r2] lsls r0, 1 @@ -7050,7 +7050,7 @@ _08021008: str r0, [r2] b _0802110A .align 2, 0 -_08021010: .4byte gUnknown_2023DB8 +_08021010: .4byte gLockedMoves _08021014: .4byte gCurrentMove _08021018: mov r5, r9 @@ -7071,7 +7071,7 @@ _08021018: ldr r0, _0802104C @ =gLastUsedAbility strb r2, [r0] ldr r1, _08021050 @ =gBattlescriptCurrInstr - ldr r0, _08021054 @ =gUnknown_81D948E + ldr r0, _08021054 @ =BattleScript_StickyHoldActivates str r0, [r1] ldrb r0, [r5] movs r1, 0x3C @@ -7080,7 +7080,7 @@ _08021018: .align 2, 0 _0802104C: .4byte gLastUsedAbility _08021050: .4byte gBattlescriptCurrInstr -_08021054: .4byte gUnknown_81D948E +_08021054: .4byte BattleScript_StickyHoldActivates _08021058: ldrh r0, [r1, 0x2E] cmp r0, 0 @@ -7122,7 +7122,7 @@ _08021058: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _080210E4 @ =gUnknown_81D8F86 + ldr r0, _080210E4 @ =BattleScript_KnockedOff str r0, [r4] mov r1, r9 ldrb r0, [r1] @@ -7146,7 +7146,7 @@ _080210D4: .4byte gWishFutureKnock _080210D8: .4byte gBitTable _080210DC: .4byte gBattlerPartyIndexes _080210E0: .4byte gBattlescriptCurrInstr -_080210E4: .4byte gUnknown_81D8F86 +_080210E4: .4byte BattleScript_KnockedOff _080210E8: .4byte gBattleStruct _080210EC: ldr r1, _080210F8 @ =gBattlescriptCurrInstr @@ -7161,7 +7161,7 @@ _080210FC: ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08021120 @ =gUnknown_81D8FEB + ldr r0, _08021120 @ =BattleScript_SAtkDown2 _08021108: str r0, [r4] _0802110A: @@ -7175,7 +7175,7 @@ _0802110A: bx r0 .align 2, 0 _0802111C: .4byte gBattlescriptCurrInstr -_08021120: .4byte gUnknown_81D8FEB +_08021120: .4byte BattleScript_SAtkDown2 thumb_func_end SetMoveEffect thumb_func_start atk15_seteffectwithchance @@ -7443,13 +7443,13 @@ _08021330: ldr r0, _08021350 @ =gBattlerTarget ldrb r0, [r0] mov r9, r0 - ldr r4, _08021354 @ =gUnknown_81D8674 + ldr r4, _08021354 @ =BattleScript_FaintAttacker b _08021368 .align 2, 0 _08021348: .4byte gActiveBattler _0802134C: .4byte gBattlerAttacker _08021350: .4byte gBattlerTarget -_08021354: .4byte gUnknown_81D8674 +_08021354: .4byte BattleScript_FaintAttacker _08021358: ldr r1, _080213D0 @ =gActiveBattler ldr r0, _080213D4 @ =gBattlerTarget @@ -7458,7 +7458,7 @@ _08021358: ldr r0, _080213D8 @ =gBattlerAttacker ldrb r0, [r0] mov r9, r0 - ldr r4, _080213DC @ =gUnknown_81D8684 + ldr r4, _080213DC @ =BattleScript_FaintTarget _08021368: mov r8, r1 ldr r0, _080213E0 @ =gAbsentBattlerFlags @@ -7516,7 +7516,7 @@ _080213C8: _080213D0: .4byte gActiveBattler _080213D4: .4byte gBattlerTarget _080213D8: .4byte gBattlerAttacker -_080213DC: .4byte gUnknown_81D8684 +_080213DC: .4byte BattleScript_FaintTarget _080213E0: .4byte gAbsentBattlerFlags _080213E4: .4byte gBitTable _080213E8: .4byte gBattleMons @@ -7580,7 +7580,7 @@ _0802142C: adds r0, r6 ldrh r0, [r0, 0x28] str r0, [r1] - ldr r0, _08021570 @ =gUnknown_81D8C6C + ldr r0, _08021570 @ =BattleScript_DestinyBondTakesLife str r0, [r4] _0802146A: ldr r1, _08021574 @ =gStatuses3 @@ -7645,7 +7645,7 @@ _08021492: ldr r5, _08021568 @ =gBattlescriptCurrInstr ldr r0, [r5] bl BattleScriptPush - ldr r0, _08021580 @ =gUnknown_81D8FA3 + ldr r0, _08021580 @ =BattleScript_GrudgeTakesPp str r0, [r5] ldr r5, _08021584 @ =gActiveBattler mov r1, r8 @@ -7702,11 +7702,11 @@ _08021560: .4byte gHitMarker _08021564: .4byte gBattleMons _08021568: .4byte gBattlescriptCurrInstr _0802156C: .4byte gBattleMoveDamage -_08021570: .4byte gUnknown_81D8C6C +_08021570: .4byte BattleScript_DestinyBondTakesLife _08021574: .4byte gStatuses3 _08021578: .4byte gBattlerTarget _0802157C: .4byte gCurrentMove -_08021580: .4byte gUnknown_81D8FA3 +_08021580: .4byte BattleScript_GrudgeTakesPp _08021584: .4byte gActiveBattler _08021588: .4byte gBattleTextBuff1 _0802158C: @@ -8538,7 +8538,7 @@ _08021BC2: movs r0, 0x1 strh r0, [r1] _08021C0E: - ldr r5, _08021C34 @ =gUnknown_2023F52 + ldr r5, _08021C34 @ =gExpShareExp adds r0, r4, 0 adds r1, r6, 0 bl __divsi3 @@ -8553,7 +8553,7 @@ _08021C0E: _08021C28: .4byte gBaseStats _08021C2C: .4byte gBattleMons _08021C30: .4byte gBattlerFainted -_08021C34: .4byte gUnknown_2023F52 +_08021C34: .4byte gExpShareExp _08021C38: adds r0, r1, 0 adds r1, r5, 0 @@ -8566,7 +8566,7 @@ _08021C38: movs r0, 0x1 strh r0, [r2] _08021C4E: - ldr r0, _08021C9C @ =gUnknown_2023F52 + ldr r0, _08021C9C @ =gExpShareExp strh r6, [r0] _08021C52: ldr r1, _08021CA0 @ =gBattleScripting @@ -8608,7 +8608,7 @@ _08021C74: ldrb r4, [r0] b _08021CC0 .align 2, 0 -_08021C9C: .4byte gUnknown_2023F52 +_08021C9C: .4byte gExpShareExp _08021CA0: .4byte gBattleScripting _08021CA4: .4byte gBattleStruct _08021CA8: .4byte gBattleControllerExecFlags @@ -8730,7 +8730,7 @@ _08021DA4: _08021DAA: cmp r4, 0x19 bne _08021DBA - ldr r0, _08021E2C @ =gUnknown_2023F52 + ldr r0, _08021E2C @ =gExpShareExp ldrh r1, [r0] mov r2, r9 ldr r0, [r2] @@ -8791,7 +8791,7 @@ _08021DEA: b _08021E42 .align 2, 0 _08021E28: .4byte gBattleMoveDamage -_08021E2C: .4byte gUnknown_2023F52 +_08021E2C: .4byte gExpShareExp _08021E30: .4byte gBattleTypeFlags _08021E34: .4byte gBattleStruct _08021E38: .4byte gPlayerParty @@ -9149,7 +9149,7 @@ _080220DA: negs r0, r0 strb r0, [r4, 0x5] bl BattleScriptPushCursor - ldr r2, _08022338 @ =gUnknown_3004FD4 + ldr r2, _08022338 @ =gLeveledUpInBattle ldr r1, _0802233C @ =gBitTable mov r4, r9 ldr r5, [r4] @@ -9161,7 +9161,7 @@ _080220DA: orrs r0, r1 strb r0, [r2] ldr r1, _08022340 @ =gBattlescriptCurrInstr - ldr r0, _08022344 @ =gUnknown_81D89F5 + ldr r0, _08022344 @ =BattleScript_LevelUp str r0, [r1] ldr r4, _08022348 @ =gBattleMoveDamage ldr r2, _08022320 @ =gBattleBufferB @@ -9388,10 +9388,10 @@ _08022328: .4byte gBattlerPartyIndexes _0802232C: .4byte gPlayerParty _08022330: .4byte gBattleTextBuff1 _08022334: .4byte gBattleTextBuff2 -_08022338: .4byte gUnknown_3004FD4 +_08022338: .4byte gLeveledUpInBattle _0802233C: .4byte gBitTable _08022340: .4byte gBattlescriptCurrInstr -_08022344: .4byte gUnknown_81D89F5 +_08022344: .4byte BattleScript_LevelUp _08022348: .4byte gBattleMoveDamage _0802234C: .4byte gBattleMons _08022350: @@ -9740,7 +9740,7 @@ _080225EC: .4byte gBattlescriptCurrInstr thumb_func_start atk26_setmultihit atk26_setmultihit: @ 80225F0 - ldr r3, _08022600 @ =gUnknown_2023D72 + ldr r3, _08022600 @ =gMultiHitCounter ldr r2, _08022604 @ =gBattlescriptCurrInstr ldr r0, [r2] ldrb r1, [r0, 0x1] @@ -9749,14 +9749,14 @@ atk26_setmultihit: @ 80225F0 str r0, [r2] bx lr .align 2, 0 -_08022600: .4byte gUnknown_2023D72 +_08022600: .4byte gMultiHitCounter _08022604: .4byte gBattlescriptCurrInstr thumb_func_end atk26_setmultihit thumb_func_start atk27_decrementmultihit atk27_decrementmultihit: @ 8022608 push {lr} - ldr r1, _08022624 @ =gUnknown_2023D72 + ldr r1, _08022624 @ =gMultiHitCounter ldrb r0, [r1] subs r0, 0x1 strb r0, [r1] @@ -9769,7 +9769,7 @@ atk27_decrementmultihit: @ 8022608 str r0, [r1] b _08022646 .align 2, 0 -_08022624: .4byte gUnknown_2023D72 +_08022624: .4byte gMultiHitCounter _08022628: .4byte gBattlescriptCurrInstr _0802262C: ldr r3, _0802264C @ =gBattlescriptCurrInstr @@ -10620,7 +10620,7 @@ atk39_pause: @ 8022C08 ldrb r0, [r2, 0x2] lsls r0, 8 orrs r1, r0 - ldr r3, _08022C44 @ =gUnknown_2023E7C + ldr r3, _08022C44 @ =gPauseCounterBattle ldrh r0, [r3] adds r0, 0x1 strh r0, [r3] @@ -10638,7 +10638,7 @@ _08022C34: .align 2, 0 _08022C3C: .4byte gBattleControllerExecFlags _08022C40: .4byte gBattlescriptCurrInstr -_08022C44: .4byte gUnknown_2023E7C +_08022C44: .4byte gPauseCounterBattle thumb_func_end atk39_pause thumb_func_start atk3A_waitstate @@ -10957,11 +10957,11 @@ _08022E8C: beq _08022EAC adds r0, r2, 0x7 bl BattleScriptPush - ldr r0, _08022EA8 @ =gUnknown_81D89F1 + ldr r0, _08022EA8 @ =BattleScript_Pausex20 b _08022EEC .align 2, 0 _08022EA4: .4byte gHitMarker -_08022EA8: .4byte gUnknown_81D89F1 +_08022EA8: .4byte BattleScript_Pausex20 _08022EAC: adds r0, r5, 0 subs r0, 0xA @@ -11531,7 +11531,7 @@ _080232F0: ldr r0, _08023324 @ =gBattleScripting strb r4, [r0, 0x14] bl MoveValuesCleanUp - ldr r2, _08023328 @ =gUnknown_81D65A8 + ldr r2, _08023328 @ =gBattleScriptsForMoveEffects mov r0, r8 ldrh r1, [r0] lsls r0, r1, 1 @@ -11544,13 +11544,13 @@ _080232F0: ldr r0, [r0] bl BattleScriptPush ldr r1, _0802332C @ =gBattlescriptCurrInstr - ldr r0, _08023330 @ =gUnknown_81D96A8 + ldr r0, _08023330 @ =BattleScript_FlushMessageBox bl _08023BFC .align 2, 0 _08023324: .4byte gBattleScripting -_08023328: .4byte gUnknown_81D65A8 +_08023328: .4byte gBattleScriptsForMoveEffects _0802332C: .4byte gBattlescriptCurrInstr -_08023330: .4byte gUnknown_81D96A8 +_08023330: .4byte BattleScript_FlushMessageBox _08023334: ldr r2, _0802334C @ =gBattleMoves ldr r0, _08023350 @ =gCurrentMove @@ -11702,7 +11702,7 @@ _0802346A: strb r0, [r1, 0x19] bl BattleScriptPushCursor ldr r1, _08023498 @ =gBattlescriptCurrInstr - ldr r0, _0802349C @ =gUnknown_81D8C48 + ldr r0, _0802349C @ =BattleScript_RageIsBuilding str r0, [r1] b _080236FC .align 2, 0 @@ -11714,7 +11714,7 @@ _0802348C: .4byte gSpecialStatuses _08023490: .4byte gBattleMoves _08023494: .4byte gCurrentMove _08023498: .4byte gBattlescriptCurrInstr -_0802349C: .4byte gUnknown_81D8C48 +_0802349C: .4byte BattleScript_RageIsBuilding _080234A0: ldr r4, _0802353C @ =gBattleMons ldr r6, _08023540 @ =gBattlerTarget @@ -11791,7 +11791,7 @@ _080234FE: bl MarkBattlerForControllerExec bl BattleScriptPushCursor ldr r1, _08023554 @ =gBattlescriptCurrInstr - ldr r0, _08023558 @ =gUnknown_81D9098 + ldr r0, _08023558 @ =BattleScript_DefrostedViaFireMove str r0, [r1] movs r2, 0x1 mov r10, r2 @@ -11804,7 +11804,7 @@ _08023548: .4byte gSpecialStatuses _0802354C: .4byte gMoveResultFlags _08023550: .4byte gActiveBattler _08023554: .4byte gBattlescriptCurrInstr -_08023558: .4byte gUnknown_81D9098 +_08023558: .4byte BattleScript_DefrostedViaFireMove _0802355C: ldr r0, _0802357C @ =gBattlerTarget ldrb r1, [r0] @@ -12219,7 +12219,7 @@ _0802388A: ands r0, r1 cmp r0, 0 beq _080238A6 - ldr r0, _08023928 @ =gUnknown_2023D90 + ldr r0, _08023928 @ =gLastPrintedMoves mov r2, r9 ldrb r1, [r2] lsls r1, 1 @@ -12276,7 +12276,7 @@ _080238E8: ldr r0, _0802392C @ =gChosenMove ldrh r0, [r0] strh r0, [r1] - ldr r0, _08023944 @ =gUnknown_2023DB0 + ldr r0, _08023944 @ =gLastResultingMoves mov r3, r9 ldrb r1, [r3] lsls r1, 1 @@ -12291,14 +12291,14 @@ _08023918: .4byte gBattlerAttacker _0802391C: .4byte gActiveBattler _08023920: .4byte gBattlerTarget _08023924: .4byte 0xffffefff -_08023928: .4byte gUnknown_2023D90 +_08023928: .4byte gLastPrintedMoves _0802392C: .4byte gChosenMove _08023930: .4byte gAbsentBattlerFlags _08023934: .4byte gBitTable _08023938: .4byte gBattleStruct _0802393C: .4byte gBattleMoves _08023940: .4byte gLastMoves -_08023944: .4byte gUnknown_2023DB0 +_08023944: .4byte gLastResultingMoves _08023948: .4byte gCurrentMove _0802394C: ldr r1, _080239B4 @ =gLastMoves @@ -12306,7 +12306,7 @@ _0802394C: adds r0, r1 ldr r1, _080239B8 @ =0x0000ffff strh r1, [r0] - ldr r1, _080239BC @ =gUnknown_2023DB0 + ldr r1, _080239BC @ =gLastResultingMoves mov r4, r9 ldrb r0, [r4] lsls r0, 1 @@ -12357,7 +12357,7 @@ _08023984: .align 2, 0 _080239B4: .4byte gLastMoves _080239B8: .4byte 0x0000ffff -_080239BC: .4byte gUnknown_2023DB0 +_080239BC: .4byte gLastResultingMoves _080239C0: .4byte gBattlerTarget _080239C4: .4byte gLastHitBy _080239C8: .4byte gMoveResultFlags @@ -12375,7 +12375,7 @@ _080239D4: ldrb r3, [r0, 0x13] cmp r3, 0 beq _08023A04 - ldr r0, _08023A00 @ =gUnknown_2023DA8 + ldr r0, _08023A00 @ =gLastHitByType ldrb r1, [r2] lsls r1, 1 adds r1, r0 @@ -12385,9 +12385,9 @@ _080239D4: .align 2, 0 _080239F8: .4byte gLastLandedMoves _080239FC: .4byte gCurrentMove -_08023A00: .4byte gUnknown_2023DA8 +_08023A00: .4byte gLastHitByType _08023A04: - ldr r0, _08023A1C @ =gUnknown_2023DA8 + ldr r0, _08023A1C @ =gLastHitByType ldrb r2, [r2] lsls r2, 1 adds r2, r0 @@ -12400,7 +12400,7 @@ _08023A04: strh r0, [r2] b _08023A2C .align 2, 0 -_08023A1C: .4byte gUnknown_2023DA8 +_08023A1C: .4byte gLastHitByType _08023A20: ldr r0, _08023A38 @ =gLastLandedMoves ldrb r1, [r2] @@ -13189,7 +13189,7 @@ _08024042: ldr r1, [sp, 0x50] str r1, [r0] _08024068: - bl sub_8012760 + bl SwitchInClearSetData ldr r0, _080240CC @ =gBattleScripting ldr r3, _080240A8 @ =gActiveBattler ldrb r2, [r3] @@ -14992,7 +14992,7 @@ _08024F28: ldrb r0, [r0, 0x1] cmp r0, 0 bne _08024F6C - ldr r0, _08024F68 @ =gUnknown_81D8CBE + ldr r0, _08024F68 @ =BattleScript_SpikesOnTarget str r0, [r6] b _080250C6 .align 2, 0 @@ -15006,21 +15006,21 @@ _08024F58: .4byte gBattleMons _08024F5C: .4byte gSideTimers _08024F60: .4byte gBattleMoveDamage _08024F64: .4byte gBattleScripting -_08024F68: .4byte gUnknown_81D8CBE +_08024F68: .4byte BattleScript_SpikesOnTarget _08024F6C: cmp r0, 0x1 bne _08024F7C - ldr r0, _08024F78 @ =gUnknown_81D8C87 + ldr r0, _08024F78 @ =BattleScript_SpikesOnAttacker str r0, [r6] b _080250C6 .align 2, 0 -_08024F78: .4byte gUnknown_81D8C87 +_08024F78: .4byte BattleScript_SpikesOnAttacker _08024F7C: - ldr r0, _08024F84 @ =gUnknown_81D8CF5 + ldr r0, _08024F84 @ =BattleScript_SpikesOnFaintedBattler str r0, [r6] b _080250C6 .align 2, 0 -_08024F84: .4byte gUnknown_81D8CF5 +_08024F84: .4byte BattleScript_SpikesOnFaintedBattler _08024F88: ldr r1, _08025064 @ =gBattleMons ldr r5, _08025068 @ =gActiveBattler @@ -15076,7 +15076,7 @@ _08024FC4: cmp r4, r3 bge _08025012 ldr r6, _0802507C @ =gBattlerByTurnOrder - ldr r3, _08025080 @ =gUnknown_2023BDA + ldr r3, _08025080 @ =gActionsByTurnOrder movs r2, 0xC adds r1, r0, 0 _08024FFC: @@ -15143,7 +15143,7 @@ _08025070: .4byte gSideStatuses _08025074: .4byte 0x0000fdff _08025078: .4byte gBattlersCount _0802507C: .4byte gBattlerByTurnOrder -_08025080: .4byte gUnknown_2023BDA +_08025080: .4byte gActionsByTurnOrder _08025084: .4byte gBattleStruct _08025088: .4byte gBattlescriptCurrInstr _0802508C: .4byte gHitMarker @@ -15557,7 +15557,7 @@ _080253C4: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _080253F0 @ =gUnknown_83FE791 + ldr r0, _080253F0 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldr r1, _080253F4 @ =gBattleScripting @@ -15569,7 +15569,7 @@ _080253C4: bl BattleCreateYesNoCursorAt b _080256D0 .align 2, 0 -_080253F0: .4byte gUnknown_83FE791 +_080253F0: .4byte gText_BattleYesNoChoice _080253F4: .4byte gBattleScripting _080253F8: .4byte gBattleCommunication _080253FC: @@ -15934,7 +15934,7 @@ _080256F8: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _08025720 @ =gUnknown_83FE791 + ldr r0, _08025720 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldrb r0, [r5, 0x1F] @@ -15945,7 +15945,7 @@ _080256F8: bl BattleCreateYesNoCursorAt b _0802580E .align 2, 0 -_08025720: .4byte gUnknown_83FE791 +_08025720: .4byte gText_BattleYesNoChoice _08025724: .4byte gBattleCommunication _08025728: ldr r0, _080257AC @ =gMain @@ -16237,7 +16237,7 @@ _0802595A: _0802596E: ldrb r5, [r0, 0x2] _08025970: - ldr r0, _080259CC @ =gUnknown_824F220 + ldr r0, _080259CC @ =gTrainerMoneyTable lsls r1, r6, 2 adds r3, r1, r0 ldrb r1, [r3] @@ -16286,7 +16286,7 @@ _080259AA: muls r4, r0 b _080259E8 .align 2, 0 -_080259CC: .4byte gUnknown_824F220 +_080259CC: .4byte gTrainerMoneyTable _080259D0: .4byte gBattleStruct _080259D4: .4byte gBattleTypeFlags _080259D8: .4byte gSaveBlock1Ptr @@ -16670,7 +16670,7 @@ _08025CC0: strh r0, [r2] adds r0, r1, 0 _08025CCE: - ldr r3, _08025CF8 @ =gUnknown_81D65A8 + ldr r3, _08025CF8 @ =gBattleScriptsForMoveEffects ldr r2, _08025CFC @ =gBattleMoves ldrh r1, [r0] lsls r0, r1, 1 @@ -16689,7 +16689,7 @@ _08025CCE: _08025CEC: .4byte gChosenMove _08025CF0: .4byte gCurrentMove _08025CF4: .4byte gCalledMove -_08025CF8: .4byte gUnknown_81D65A8 +_08025CF8: .4byte gBattleScriptsForMoveEffects _08025CFC: .4byte gBattleMoves thumb_func_end atk63_jumptocalledmove @@ -16930,7 +16930,7 @@ _08025EE4: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _08025F08 @ =gUnknown_83FE791 + ldr r0, _08025F08 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldrb r0, [r5] @@ -16940,7 +16940,7 @@ _08025EE4: bl BattleCreateYesNoCursorAt b _08025F9A .align 2, 0 -_08025F08: .4byte gUnknown_83FE791 +_08025F08: .4byte gText_BattleYesNoChoice _08025F0C: ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] @@ -17025,7 +17025,7 @@ atk68_cancelallactions: @ 8025FA8 ldrb r0, [r2] cmp r1, r0 bge _08025FC6 - ldr r4, _08025FDC @ =gUnknown_2023BDA + ldr r4, _08025FDC @ =gActionsByTurnOrder movs r3, 0xC _08025FBA: adds r0, r1, r4 @@ -17044,7 +17044,7 @@ _08025FC6: .align 2, 0 _08025FD4: .4byte gBattlersCount _08025FD8: .4byte gBattlescriptCurrInstr -_08025FDC: .4byte gUnknown_2023BDA +_08025FDC: .4byte gActionsByTurnOrder thumb_func_end atk68_cancelallactions thumb_func_start atk69_adjustsetdamage @@ -18145,7 +18145,7 @@ atk72_jumpifplayerran: @ 80268B8 push {lr} ldr r0, _080268E4 @ =gBattlerFainted ldrb r0, [r0] - bl sub_8016748 + bl TryRunFromBattle lsls r0, 24 cmp r0, 0 beq _080268EC @@ -18981,7 +18981,7 @@ atk77_setprotectlike: @ 8026F68 mov r7, r8 push {r7} movs r6, 0x1 - ldr r2, _08027034 @ =gUnknown_2023DB0 + ldr r2, _08027034 @ =gLastResultingMoves ldr r1, _08027038 @ =gBattlerAttacker ldrb r3, [r1] lsls r0, r3, 1 @@ -19002,7 +19002,7 @@ atk77_setprotectlike: @ 8026F68 movs r1, 0 strb r1, [r0, 0x8] _08026F98: - ldr r0, _08027040 @ =gUnknown_2023BE2 + ldr r0, _08027040 @ =gCurrentTurnActionNumber ldrb r1, [r0] ldr r0, _08027044 @ =gBattlersCount ldrb r0, [r0] @@ -19082,10 +19082,10 @@ _0802701E: strb r0, [r1, 0x8] b _0802707E .align 2, 0 -_08027034: .4byte gUnknown_2023DB0 +_08027034: .4byte gLastResultingMoves _08027038: .4byte gBattlerAttacker _0802703C: .4byte gDisableStructs -_08027040: .4byte gUnknown_2023BE2 +_08027040: .4byte gCurrentTurnActionNumber _08027044: .4byte gBattlersCount _08027048: .4byte sProtectSuccessRates _0802704C: .4byte gBattleMoves @@ -19250,7 +19250,7 @@ _0802718C: ldrb r1, [r1] bl RecordAbilityBattle ldr r1, _080271B8 @ =gBattlescriptCurrInstr - ldr r0, _080271BC @ =gUnknown_81D93AF + ldr r0, _080271BC @ =BattleScript_DampStopsExplosion str r0, [r1] _080271A8: pop {r3} @@ -19261,7 +19261,7 @@ _080271A8: .align 2, 0 _080271B4: .4byte gLastUsedAbility _080271B8: .4byte gBattlescriptCurrInstr -_080271BC: .4byte gUnknown_81D93AF +_080271BC: .4byte BattleScript_DampStopsExplosion thumb_func_end atk78_faintifabilitynotdamp thumb_func_start atk79_setatkhptozero @@ -19581,7 +19581,7 @@ _08027426: ldr r1, _0802745C @ =gBattlerTarget strb r0, [r1] ldr r5, _08027460 @ =gBattlescriptCurrInstr - ldr r3, _08027464 @ =gUnknown_81D65A8 + ldr r3, _08027464 @ =gBattleScriptsForMoveEffects ldr r2, _08027468 @ =gBattleMoves ldrh r1, [r4] lsls r0, r1, 1 @@ -19600,7 +19600,7 @@ _08027454: .4byte 0xfffffbff _08027458: .4byte gCurrentMove _0802745C: .4byte gBattlerTarget _08027460: .4byte gBattlescriptCurrInstr -_08027464: .4byte gUnknown_81D65A8 +_08027464: .4byte gBattleScriptsForMoveEffects _08027468: .4byte gBattleMoves _0802746C: ldr r2, _0802749C @ =gSpecialStatuses @@ -20562,7 +20562,7 @@ _08027BC4: .4byte gBattlerTarget atk88_negativedamage: @ 8027BC8 push {lr} ldr r2, _08027BF0 @ =gBattleMoveDamage - ldr r0, _08027BF4 @ =gUnknown_2023D54 + ldr r0, _08027BF4 @ =gHpDealt ldr r0, [r0] lsrs r1, r0, 31 adds r0, r1 @@ -20583,7 +20583,7 @@ _08027BE4: bx r0 .align 2, 0 _08027BF0: .4byte gBattleMoveDamage -_08027BF4: .4byte gUnknown_2023D54 +_08027BF4: .4byte gHpDealt _08027BF8: .4byte gBattlescriptCurrInstr thumb_func_end atk88_negativedamage @@ -20716,7 +20716,7 @@ _08027CF0: ldrb r0, [r6] strb r0, [r1, 0x17] ldr r1, _08027D20 @ =gBattlescriptCurrInstr - ldr r0, _08027D24 @ =gUnknown_81D8C3E + ldr r0, _08027D24 @ =BattleScript_MistProtected str r0, [r1] ldrb r1, [r6] lsls r0, r1, 2 @@ -20732,7 +20732,7 @@ _08027CF0: _08027D18: .4byte gBattleScripting _08027D1C: .4byte gActiveBattler _08027D20: .4byte gBattlescriptCurrInstr -_08027D24: .4byte gUnknown_81D8C3E +_08027D24: .4byte BattleScript_MistProtected _08027D28: ldr r0, _08027D4C @ =gCurrentMove ldrh r0, [r0] @@ -20747,7 +20747,7 @@ _08027D28: cmp r0, 0 beq _08027D58 ldr r1, _08027D50 @ =gBattlescriptCurrInstr - ldr r0, _08027D54 @ =gUnknown_81D7DF2 + ldr r0, _08027D54 @ =BattleScript_ButItFailed str r0, [r1] _08027D48: movs r0, 0x1 @@ -20755,7 +20755,7 @@ _08027D48: .align 2, 0 _08027D4C: .4byte gCurrentMove _08027D50: .4byte gBattlescriptCurrInstr -_08027D54: .4byte gUnknown_81D7DF2 +_08027D54: .4byte BattleScript_ButItFailed _08027D58: ldr r2, _08027DA0 @ =gBattleMons ldr r1, _08027DA4 @ =gActiveBattler @@ -20808,7 +20808,7 @@ _08027DB4: ldrb r0, [r2] strb r0, [r1, 0x17] ldr r1, _08027E00 @ =gBattlescriptCurrInstr - ldr r0, _08027E04 @ =gUnknown_81D9416 + ldr r0, _08027E04 @ =BattleScript_AbilityNoStatLoss str r0, [r1] ldr r1, _08027E08 @ =gLastUsedAbility ldrb r0, [r2] @@ -20836,7 +20836,7 @@ _08027DB4: _08027DF8: .4byte gBattleScripting _08027DFC: .4byte gActiveBattler _08027E00: .4byte gBattlescriptCurrInstr -_08027E04: .4byte gUnknown_81D9416 +_08027E04: .4byte BattleScript_AbilityNoStatLoss _08027E08: .4byte gLastUsedAbility _08027E0C: ldr r1, _08027E58 @ =gActiveBattler @@ -20862,7 +20862,7 @@ _08027E0C: ldrb r0, [r3] strb r0, [r1, 0x17] ldr r1, _08027E60 @ =gBattlescriptCurrInstr - ldr r0, _08027E64 @ =gUnknown_81D947E + ldr r0, _08027E64 @ =BattleScript_AbilityNoSpecificStatLoss str r0, [r1] ldr r1, _08027E68 @ =gLastUsedAbility ldrb r0, [r3] @@ -20879,7 +20879,7 @@ _08027E0C: _08027E58: .4byte gActiveBattler _08027E5C: .4byte gBattleScripting _08027E60: .4byte gBattlescriptCurrInstr -_08027E64: .4byte gUnknown_81D947E +_08027E64: .4byte BattleScript_AbilityNoSpecificStatLoss _08027E68: .4byte gLastUsedAbility _08027E6C: ldr r4, _08027EBC @ =gActiveBattler @@ -20907,7 +20907,7 @@ _08027E8E: ldrb r0, [r2] strb r0, [r1, 0x17] ldr r1, _08027EC4 @ =gBattlescriptCurrInstr - ldr r0, _08027EC8 @ =gUnknown_81D947E + ldr r0, _08027EC8 @ =BattleScript_AbilityNoSpecificStatLoss str r0, [r1] ldr r1, _08027ECC @ =gLastUsedAbility ldrb r0, [r2] @@ -20924,7 +20924,7 @@ _08027E8E: _08027EBC: .4byte gActiveBattler _08027EC0: .4byte gBattleScripting _08027EC4: .4byte gBattlescriptCurrInstr -_08027EC8: .4byte gUnknown_81D947E +_08027EC8: .4byte BattleScript_AbilityNoSpecificStatLoss _08027ECC: .4byte gLastUsedAbility _08027ED0: ldr r3, _08027F5C @ =gActiveBattler @@ -21251,7 +21251,7 @@ atk8B_setbide: @ 8028120 lsls r1, 5 orrs r0, r1 str r0, [r2] - ldr r1, _08028180 @ =gUnknown_2023DB8 + ldr r1, _08028180 @ =gLockedMoves ldrb r0, [r3] lsls r0, 1 adds r0, r1 @@ -21283,7 +21283,7 @@ atk8B_setbide: @ 8028120 .align 2, 0 _08028178: .4byte gBattleMons _0802817C: .4byte gBattlerAttacker -_08028180: .4byte gUnknown_2023DB8 +_08028180: .4byte gLockedMoves _08028184: .4byte gCurrentMove _08028188: .4byte gTakenDmg _0802818C: .4byte gBattlescriptCurrInstr @@ -21330,14 +21330,14 @@ atk8D_setmultihitcounter: @ 80281D0 ldrb r1, [r0, 0x1] cmp r1, 0 beq _080281EC - ldr r0, _080281E8 @ =gUnknown_2023D72 + ldr r0, _080281E8 @ =gMultiHitCounter strb r1, [r0] b _08028206 .align 2, 0 _080281E4: .4byte gBattlescriptCurrInstr -_080281E8: .4byte gUnknown_2023D72 +_080281E8: .4byte gMultiHitCounter _080281EC: - ldr r4, _08028214 @ =gUnknown_2023D72 + ldr r4, _08028214 @ =gMultiHitCounter bl Random movs r5, 0x3 ands r0, r5 @@ -21358,7 +21358,7 @@ _08028206: pop {r0} bx r0 .align 2, 0 -_08028214: .4byte gUnknown_2023D72 +_08028214: .4byte gMultiHitCounter _08028218: .4byte gBattlescriptCurrInstr thumb_func_end atk8D_setmultihitcounter @@ -21471,7 +21471,7 @@ _080282E8: ldrh r0, [r0] strb r0, [r1] ldr r1, _08028304 @ =gBattlescriptCurrInstr - ldr r0, _08028308 @ =gUnknown_81D8C10 + ldr r0, _08028308 @ =BattleScript_SuccessForceOut str r0, [r1] movs r0, 0x1 _080282F6: @@ -21482,7 +21482,7 @@ _080282F6: _080282FC: .4byte gBattleStruct _08028300: .4byte gBattlerPartyIndexes _08028304: .4byte gBattlescriptCurrInstr -_08028308: .4byte gUnknown_81D8C10 +_08028308: .4byte BattleScript_SuccessForceOut thumb_func_end TryDoForceSwitchOut thumb_func_start atk8F_forcerandomswitch @@ -21816,7 +21816,7 @@ _080285AE: adds r0, r1 adds r0, 0x5C strb r5, [r0] - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 cmp r0, 0 bne _080285CC @@ -22077,7 +22077,7 @@ atk91_givepaydaymoney: @ 80287A8 ands r0, r5 cmp r0, 0 bne _08028828 - ldr r1, _08028810 @ =gUnknown_2023E7E + ldr r1, _08028810 @ =gPaydayMoney ldrh r0, [r1] cmp r0, 0 beq _08028828 @@ -22115,17 +22115,17 @@ atk91_givepaydaymoney: @ 80287A8 ldr r0, [r4] adds r0, 0x1 bl BattleScriptPush - ldr r0, _08028824 @ =gUnknown_81D911D + ldr r0, _08028824 @ =BattleScript_PrintPayDayMoneyString str r0, [r4] b _08028830 .align 2, 0 _0802880C: .4byte gBattleTypeFlags -_08028810: .4byte gUnknown_2023E7E +_08028810: .4byte gPaydayMoney _08028814: .4byte gBattleStruct _08028818: .4byte gSaveBlock1Ptr _0802881C: .4byte gBattleTextBuff1 _08028820: .4byte gBattlescriptCurrInstr -_08028824: .4byte gUnknown_81D911D +_08028824: .4byte BattleScript_PrintPayDayMoneyString _08028828: ldr r1, _08028838 @ =gBattlescriptCurrInstr ldr r0, [r1] @@ -22328,7 +22328,7 @@ _08028998: ldr r0, _080289E8 @ =gLastUsedAbility strb r4, [r0] ldr r1, _080289EC @ =gBattlescriptCurrInstr - ldr r0, _080289F0 @ =gUnknown_81D93A1 + ldr r0, _080289F0 @ =BattleScript_SturdyPreventsOHKO str r0, [r1] mov r1, r9 ldrb r0, [r1] @@ -22343,7 +22343,7 @@ _080289E0: .4byte gBattleMons _080289E4: .4byte gMoveResultFlags _080289E8: .4byte gLastUsedAbility _080289EC: .4byte gBattlescriptCurrInstr -_080289F0: .4byte gUnknown_81D93A1 +_080289F0: .4byte BattleScript_SturdyPreventsOHKO _080289F4: ldr r1, _08028A68 @ =gStatuses3 lsls r0, r3, 2 @@ -23024,7 +23024,7 @@ _08028F1C: cmp r2, 0xC bne _08028F94 ldr r1, _08028F88 @ =gBattlescriptCurrInstr - ldr r0, _08028F8C @ =gUnknown_81D9444 + ldr r0, _08028F8C @ =BattleScript_ObliviousPreventsAttraction str r0, [r1] ldr r0, _08028F90 @ =gLastUsedAbility strb r2, [r0] @@ -23038,7 +23038,7 @@ _08028F7C: .4byte gEnemyParty _08028F80: .4byte gBattlerTarget _08028F84: .4byte gBattleMons _08028F88: .4byte gBattlescriptCurrInstr -_08028F8C: .4byte gUnknown_81D9444 +_08028F8C: .4byte BattleScript_ObliviousPreventsAttraction _08028F90: .4byte gLastUsedAbility _08028F94: mov r0, r10 @@ -24050,7 +24050,7 @@ _08029794: ldr r1, _080297EC @ =0xfffffbff ands r0, r1 str r0, [r2] - ldr r3, _080297F0 @ =gUnknown_81D65A8 + ldr r3, _080297F0 @ =gBattleScriptsForMoveEffects ldr r2, _080297F4 @ =gBattleMoves ldrh r1, [r4] lsls r0, r1, 1 @@ -24081,7 +24081,7 @@ _080297E0: .4byte 0x000001ff _080297E4: .4byte 0x0000ffff _080297E8: .4byte gHitMarker _080297EC: .4byte 0xfffffbff -_080297F0: .4byte gUnknown_81D65A8 +_080297F0: .4byte gBattleScriptsForMoveEffects _080297F4: .4byte gBattleMoves _080297F8: .4byte gBattlerTarget thumb_func_end atk9E_metronome @@ -24933,7 +24933,7 @@ _08029E9C: adds r4, r0, r4 ldr r6, _08029F90 @ =gTypeEffectiveness adds r3, r4, r6 - ldr r1, _08029F94 @ =gUnknown_2023DA8 + ldr r1, _08029F94 @ =gLastHitByType ldr r2, _08029F98 @ =gBattlerAttacker ldrb r5, [r2] lsls r0, r5, 1 @@ -24994,7 +24994,7 @@ _08029F1E: mov r4, r10 ldrb r2, [r4] lsls r0, r2, 1 - ldr r7, _08029F94 @ =gUnknown_2023DA8 + ldr r7, _08029F94 @ =gLastHitByType adds r0, r7 ldrh r0, [r0] cmp r1, r0 @@ -25051,7 +25051,7 @@ _08029F80: bx r0 .align 2, 0 _08029F90: .4byte gTypeEffectiveness -_08029F94: .4byte gUnknown_2023DA8 +_08029F94: .4byte gLastHitByType _08029F98: .4byte gBattlerAttacker _08029F9C: .4byte gBattleMons _08029FA0: .4byte 0x000003e7 @@ -25134,7 +25134,7 @@ atkA8_copymovepermanently: @ 802A004 beq _0802A03C b _0802A190 _0802A03C: - ldr r0, _0802A174 @ =gUnknown_2023D90 + ldr r0, _0802A174 @ =gLastPrintedMoves ldr r2, _0802A178 @ =gBattlerTarget ldrb r1, [r2] lsls r1, 1 @@ -25269,7 +25269,7 @@ _0802A0F2: strb r0, [r1] movs r0, 0x2 strb r0, [r1, 0x1] - ldr r3, _0802A174 @ =gUnknown_2023D90 + ldr r3, _0802A174 @ =gLastPrintedMoves ldr r2, _0802A178 @ =gBattlerTarget ldrb r0, [r2] lsls r0, 1 @@ -25294,7 +25294,7 @@ _0802A164: .4byte gChosenMove _0802A168: .4byte 0x0000ffff _0802A16C: .4byte gBattleMons _0802A170: .4byte gBattlerAttacker -_0802A174: .4byte gUnknown_2023D90 +_0802A174: .4byte gLastPrintedMoves _0802A178: .4byte gBattlerTarget _0802A17C: .4byte gCurrMovePos _0802A180: .4byte gBattleMoves @@ -26593,14 +26593,14 @@ atkB3_rolloutdamagecalculation: @ 802AB8C ldrb r0, [r0] bl CancelMultiTurnMoves ldr r1, _0802ABB8 @ =gBattlescriptCurrInstr - ldr r0, _0802ABBC @ =gUnknown_81D6960 + ldr r0, _0802ABBC @ =BattleScript_MoveMissedPause str r0, [r1] b _0802ACD8 .align 2, 0 _0802ABB0: .4byte gMoveResultFlags _0802ABB4: .4byte gBattlerAttacker _0802ABB8: .4byte gBattlescriptCurrInstr -_0802ABBC: .4byte gUnknown_81D6960 +_0802ABBC: .4byte BattleScript_MoveMissedPause _0802ABC0: ldr r2, _0802ACE4 @ =gBattleMons ldr r1, _0802ACE8 @ =gBattlerAttacker @@ -26652,7 +26652,7 @@ _0802ABC0: ldr r0, [r1] orrs r0, r7 str r0, [r1] - ldr r1, _0802ACF4 @ =gUnknown_2023DB8 + ldr r1, _0802ACF4 @ =gLockedMoves ldrb r0, [r6] lsls r0, 1 adds r0, r1 @@ -26759,7 +26759,7 @@ _0802ACE4: .4byte gBattleMons _0802ACE8: .4byte gBattlerAttacker _0802ACEC: .4byte gDisableStructs _0802ACF0: .4byte gCurrentMove -_0802ACF4: .4byte gUnknown_2023DB8 +_0802ACF4: .4byte gLockedMoves _0802ACF8: .4byte 0xffffefff _0802ACFC: .4byte gDynamicBasePower _0802AD00: .4byte gBattleMoves @@ -26840,7 +26840,7 @@ atkB5_furycuttercalc: @ 802AD70 movs r1, 0 strb r1, [r0, 0x10] ldr r1, _0802ADA4 @ =gBattlescriptCurrInstr - ldr r0, _0802ADA8 @ =gUnknown_81D6960 + ldr r0, _0802ADA8 @ =BattleScript_MoveMissedPause str r0, [r1] b _0802AE04 .align 2, 0 @@ -26848,7 +26848,7 @@ _0802AD98: .4byte gMoveResultFlags _0802AD9C: .4byte gDisableStructs _0802ADA0: .4byte gBattlerAttacker _0802ADA4: .4byte gBattlescriptCurrInstr -_0802ADA8: .4byte gUnknown_81D6960 +_0802ADA8: .4byte BattleScript_MoveMissedPause _0802ADAC: ldr r5, _0802AE0C @ =gDisableStructs ldr r4, _0802AE10 @ =gBattlerAttacker @@ -27027,14 +27027,14 @@ _0802AF06: cmp r4, 0xCB bgt _0802AF24 ldr r1, _0802AF1C @ =gBattlescriptCurrInstr - ldr r0, _0802AF20 @ =gUnknown_81D6930 + ldr r0, _0802AF20 @ =BattleScript_HitFromCritCalc b _0802AF5E .align 2, 0 _0802AF10: .4byte gBattleMoveDamage _0802AF14: .4byte gBattleMons _0802AF18: .4byte gBattlerTarget _0802AF1C: .4byte gBattlescriptCurrInstr -_0802AF20: .4byte gUnknown_81D6930 +_0802AF20: .4byte BattleScript_HitFromCritCalc _0802AF24: ldr r2, _0802AF40 @ =gBattleMons ldr r0, _0802AF44 @ =gBattlerTarget @@ -27047,13 +27047,13 @@ _0802AF24: cmp r1, r0 bne _0802AF50 ldr r1, _0802AF48 @ =gBattlescriptCurrInstr - ldr r0, _0802AF4C @ =gUnknown_81D7DD1 + ldr r0, _0802AF4C @ =BattleScript_AlreadyAtFullHp b _0802AF5E .align 2, 0 _0802AF40: .4byte gBattleMons _0802AF44: .4byte gBattlerTarget _0802AF48: .4byte gBattlescriptCurrInstr -_0802AF4C: .4byte gUnknown_81D7DD1 +_0802AF4C: .4byte BattleScript_AlreadyAtFullHp _0802AF50: ldr r2, _0802AF68 @ =gMoveResultFlags ldrb r1, [r2] @@ -27061,7 +27061,7 @@ _0802AF50: ands r0, r1 strb r0, [r2] ldr r1, _0802AF6C @ =gBattlescriptCurrInstr - ldr r0, _0802AF70 @ =gUnknown_81D7DB7 + ldr r0, _0802AF70 @ =BattleScript_PresentHealTarget _0802AF5E: str r0, [r1] pop {r4} @@ -27070,7 +27070,7 @@ _0802AF5E: .align 2, 0 _0802AF68: .4byte gMoveResultFlags _0802AF6C: .4byte gBattlescriptCurrInstr -_0802AF70: .4byte gUnknown_81D7DB7 +_0802AF70: .4byte BattleScript_PresentHealTarget thumb_func_end atkB7_presentdamagecalculation thumb_func_start atkB8_setsafeguard @@ -27303,7 +27303,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _0802B164 @ =gUnknown_2023D72 + ldr r0, _0802B164 @ =gMultiHitCounter ldrb r0, [r0] cmp r0, 0x1 bne _0802B170 @@ -27316,7 +27316,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 movs r0, 0x1 b _0802B18A .align 2, 0 -_0802B164: .4byte gUnknown_2023D72 +_0802B164: .4byte gMultiHitCounter _0802B168: .4byte gBattlerAttacker _0802B16C: movs r0, 0 @@ -27338,7 +27338,7 @@ _0802B18A: bl GetBattlerAtPosition ldr r1, _0802B264 @ =gBattlerTarget strb r0, [r1] - ldr r0, _0802B268 @ =gUnknown_2023D7C + ldr r0, _0802B268 @ =gChosenActionByBattler ldr r1, _0802B264 @ =gBattlerTarget ldrb r3, [r1] adds r0, r3, r0 @@ -27403,7 +27403,7 @@ _0802B1A2: bge _0802B22E ldr r6, _0802B294 @ =gBattlerByTurnOrder ldr r5, _0802B264 @ =gBattlerTarget - ldr r4, _0802B298 @ =gUnknown_2023BDA + ldr r4, _0802B298 @ =gActionsByTurnOrder movs r3, 0xB adds r2, r0, 0 _0802B218: @@ -27449,7 +27449,7 @@ _0802B22E: b _0802B2C2 .align 2, 0 _0802B264: .4byte gBattlerTarget -_0802B268: .4byte gUnknown_2023D7C +_0802B268: .4byte gChosenActionByBattler _0802B26C: .4byte gBattlerAttacker _0802B270: .4byte gBattleStruct _0802B274: .4byte gBattleMons @@ -27461,7 +27461,7 @@ _0802B288: .4byte gCurrMovePos _0802B28C: .4byte gChosenMovePos _0802B290: .4byte gHitMarker _0802B294: .4byte gBattlerByTurnOrder -_0802B298: .4byte gUnknown_2023BDA +_0802B298: .4byte gActionsByTurnOrder _0802B29C: .4byte gBattlescriptCurrInstr _0802B2A0: .4byte gBattleScripting _0802B2A4: .4byte 0xfffffbff @@ -27696,7 +27696,7 @@ atkBE_rapidspinfree: @ 802B3F4 strb r0, [r1, 0x4] bl BattleScriptPushCursor ldr r1, _0802B480 @ =gBattlescriptCurrInstr - ldr r0, _0802B484 @ =gUnknown_81D8DF3 + ldr r0, _0802B484 @ =BattleScript_WrapFree b _0802B532 .align 2, 0 _0802B464: .4byte gBattleMons @@ -27707,7 +27707,7 @@ _0802B474: .4byte 0xffff1fff _0802B478: .4byte gBattleStruct _0802B47C: .4byte gBattleTextBuff1 _0802B480: .4byte gBattlescriptCurrInstr -_0802B484: .4byte gUnknown_81D8DF3 +_0802B484: .4byte BattleScript_WrapFree _0802B488: ldr r4, _0802B4BC @ =gStatuses3 lsls r0, r2, 2 @@ -27731,12 +27731,12 @@ _0802B488: str r0, [r1] bl BattleScriptPushCursor ldr r1, _0802B4C0 @ =gBattlescriptCurrInstr - ldr r0, _0802B4C4 @ =gUnknown_81D8E04 + ldr r0, _0802B4C4 @ =BattleScript_LeechSeedFree b _0802B532 .align 2, 0 _0802B4BC: .4byte gStatuses3 _0802B4C0: .4byte gBattlescriptCurrInstr -_0802B4C4: .4byte gUnknown_81D8E04 +_0802B4C4: .4byte BattleScript_LeechSeedFree _0802B4C8: adds r0, r2, 0 bl GetBattlerSide @@ -27771,14 +27771,14 @@ _0802B4C8: strb r4, [r1, 0xA] bl BattleScriptPushCursor ldr r1, _0802B524 @ =gBattlescriptCurrInstr - ldr r0, _0802B528 @ =gUnknown_81D8E0B + ldr r0, _0802B528 @ =BattleScript_SpikesFree b _0802B532 .align 2, 0 _0802B518: .4byte gSideStatuses _0802B51C: .4byte 0x0000ffef _0802B520: .4byte gSideTimers _0802B524: .4byte gBattlescriptCurrInstr -_0802B528: .4byte gUnknown_81D8E0B +_0802B528: .4byte BattleScript_SpikesFree _0802B52C: ldr r1, _0802B53C @ =gBattlescriptCurrInstr ldr r0, [r1] @@ -28922,7 +28922,7 @@ atkCC_callterrainattack: @ 802BE18 str r0, [r2] ldr r4, _0802BE70 @ =gCurrentMove ldr r1, _0802BE74 @ =sNaturePowerMoves - ldr r0, _0802BE78 @ =gUnknown_2022B50 + ldr r0, _0802BE78 @ =gBattleTerrain ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -28933,7 +28933,7 @@ atkCC_callterrainattack: @ 802BE18 bl GetMoveTarget ldr r1, _0802BE7C @ =gBattlerTarget strb r0, [r1] - ldr r3, _0802BE80 @ =gUnknown_81D65A8 + ldr r3, _0802BE80 @ =gBattleScriptsForMoveEffects ldr r2, _0802BE84 @ =gBattleMoves ldrh r1, [r4] lsls r0, r1, 1 @@ -28957,9 +28957,9 @@ _0802BE68: .4byte gHitMarker _0802BE6C: .4byte 0xfffffbff _0802BE70: .4byte gCurrentMove _0802BE74: .4byte sNaturePowerMoves -_0802BE78: .4byte gUnknown_2022B50 +_0802BE78: .4byte gBattleTerrain _0802BE7C: .4byte gBattlerTarget -_0802BE80: .4byte gUnknown_81D65A8 +_0802BE80: .4byte gBattleScriptsForMoveEffects _0802BE84: .4byte gBattleMoves _0802BE88: .4byte gBattlescriptCurrInstr thumb_func_end atkCC_callterrainattack @@ -29431,7 +29431,7 @@ _0802C224: cmp r0, 0x3C bne _0802C258 ldr r1, _0802C24C @ =gBattlescriptCurrInstr - ldr r0, _0802C250 @ =gUnknown_81D948E + ldr r0, _0802C250 @ =BattleScript_StickyHoldActivates str r0, [r1] ldr r1, _0802C254 @ =gLastUsedAbility ldrb r0, [r7] @@ -29446,7 +29446,7 @@ _0802C224: b _0802C37A .align 2, 0 _0802C24C: .4byte gBattlescriptCurrInstr -_0802C250: .4byte gUnknown_81D948E +_0802C250: .4byte BattleScript_StickyHoldActivates _0802C254: .4byte gLastUsedAbility _0802C258: ldr r3, _0802C344 @ =gBattleStruct @@ -30575,7 +30575,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r0, _0802CB38 @ =gUnknown_2023BE2 + ldr r0, _0802CB38 @ =gCurrentTurnActionNumber ldrb r1, [r0] ldr r0, _0802CB3C @ =gBattlersCount ldrb r0, [r0] @@ -30600,7 +30600,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 _0802CB2C: .4byte gBattlerTarget _0802CB30: .4byte gBattlerAttacker _0802CB34: .4byte gSpecialStatuses -_0802CB38: .4byte gUnknown_2023BE2 +_0802CB38: .4byte gCurrentTurnActionNumber _0802CB3C: .4byte gBattlersCount _0802CB40: .4byte gBattlescriptCurrInstr _0802CB44: @@ -30638,7 +30638,7 @@ atkE0_trysetsnatch: @ 802CB68 movs r2, 0x20 orrs r1, r2 strb r1, [r0] - ldr r0, _0802CBB4 @ =gUnknown_2023BE2 + ldr r0, _0802CBB4 @ =gCurrentTurnActionNumber ldrb r1, [r0] ldr r0, _0802CBB8 @ =gBattlersCount ldrb r0, [r0] @@ -30662,7 +30662,7 @@ atkE0_trysetsnatch: @ 802CB68 .align 2, 0 _0802CBAC: .4byte gSpecialStatuses _0802CBB0: .4byte gBattlerAttacker -_0802CBB4: .4byte gUnknown_2023BE2 +_0802CBB4: .4byte gCurrentTurnActionNumber _0802CBB8: .4byte gBattlersCount _0802CBBC: .4byte gBattlescriptCurrInstr _0802CBC0: @@ -30900,7 +30900,7 @@ _0802CD8A: thumb_func_start atkE4_getsecretpowereffect atkE4_getsecretpowereffect: @ 802CD90 push {lr} - ldr r0, _0802CDA4 @ =gUnknown_2022B50 + ldr r0, _0802CDA4 @ =gBattleTerrain ldrb r0, [r0] cmp r0, 0x7 bhi _0802CE2C @@ -30910,7 +30910,7 @@ atkE4_getsecretpowereffect: @ 802CD90 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802CDA4: .4byte gUnknown_2022B50 +_0802CDA4: .4byte gBattleTerrain _0802CDA8: .4byte _0802CDAC .align 2, 0 _0802CDAC: @@ -31469,7 +31469,7 @@ atkEB_settypetoterrain: @ 802D1F0 adds r0, r3 mov r12, r0 ldr r5, _0802D268 @ =sTerrainToType - ldr r4, _0802D26C @ =gUnknown_2022B50 + ldr r4, _0802D26C @ =gBattleTerrain ldrb r0, [r4] adds r0, r5 ldrb r2, [r0] @@ -31514,7 +31514,7 @@ atkEB_settypetoterrain: @ 802D1F0 _0802D260: .4byte gBattleMons _0802D264: .4byte gBattlerAttacker _0802D268: .4byte sTerrainToType -_0802D26C: .4byte gUnknown_2022B50 +_0802D26C: .4byte gBattleTerrain _0802D270: .4byte gBattleTextBuff1 _0802D274: .4byte gBattlescriptCurrInstr _0802D278: @@ -31570,7 +31570,7 @@ atkEC_pursuitrelated: @ 802D2A0 ands r1, r0 cmp r1, 0 bne _0802D340 - ldr r0, _0802D328 @ =gUnknown_2023D7C + ldr r0, _0802D328 @ =gChosenActionByBattler adds r0, r3, r0 ldrb r0, [r0] cmp r0, 0 @@ -31581,7 +31581,7 @@ atkEC_pursuitrelated: @ 802D2A0 ldrh r2, [r0] cmp r2, 0xE4 bne _0802D340 - ldr r0, _0802D330 @ =gUnknown_2023BDA + ldr r0, _0802D330 @ =gActionsByTurnOrder adds r0, r3, r0 movs r1, 0xB strb r1, [r0] @@ -31605,9 +31605,9 @@ _0802D318: .4byte gActiveBattler _0802D31C: .4byte gBattleTypeFlags _0802D320: .4byte gAbsentBattlerFlags _0802D324: .4byte gBitTable -_0802D328: .4byte gUnknown_2023D7C +_0802D328: .4byte gChosenActionByBattler _0802D32C: .4byte gChosenMoveByBattler -_0802D330: .4byte gUnknown_2023BDA +_0802D330: .4byte gActionsByTurnOrder _0802D334: .4byte gCurrentMove _0802D338: .4byte gBattlescriptCurrInstr _0802D33C: .4byte gBattleScripting @@ -31769,7 +31769,7 @@ _0802D442: ldrb r0, [r5] bl MarkBattlerForControllerExec ldr r1, _0802D488 @ =gBattlescriptCurrInstr - ldr r0, _0802D48C @ =gUnknown_81D9AD1 + ldr r0, _0802D48C @ =BattleScript_GhostBallDodge b _0802D7EC .align 2, 0 _0802D474: .4byte gBattleControllerExecFlags @@ -31778,7 +31778,7 @@ _0802D47C: .4byte gBattlerAttacker _0802D480: .4byte gBattlerTarget _0802D484: .4byte gBattleTypeFlags _0802D488: .4byte gBattlescriptCurrInstr -_0802D48C: .4byte gUnknown_81D9AD1 +_0802D48C: .4byte BattleScript_GhostBallDodge _0802D490: movs r0, 0x8 ands r0, r1 @@ -31790,11 +31790,11 @@ _0802D490: ldrb r0, [r5] bl MarkBattlerForControllerExec ldr r1, _0802D4AC @ =gBattlescriptCurrInstr - ldr r0, _0802D4B0 @ =gUnknown_81D9AC1 + ldr r0, _0802D4B0 @ =BattleScript_TrainerBallBlock b _0802D7EC .align 2, 0 _0802D4AC: .4byte gBattlescriptCurrInstr -_0802D4B0: .4byte gUnknown_81D9AC1 +_0802D4B0: .4byte BattleScript_TrainerBallBlock _0802D4B4: movs r0, 0x81 lsls r0, 9 @@ -31902,7 +31902,7 @@ _0802D568: _0802D590: .4byte gBattleMons _0802D594: .4byte gBattlerTarget _0802D598: - bl sav1_map_get_light_level + bl GetCurrentMapType lsls r0, 24 lsrs r0, 24 movs r4, 0xA @@ -32053,7 +32053,7 @@ _0802D6BC: ldrb r0, [r0] bl MarkBattlerForControllerExec ldr r1, _0802D708 @ =gBattlescriptCurrInstr - ldr r0, _0802D70C @ =gUnknown_81D9A42 + ldr r0, _0802D70C @ =BattleScript_SuccessBallThrow str r0, [r1] ldr r1, _0802D710 @ =gBattlerPartyIndexes ldr r0, _0802D714 @ =gBattlerTarget @@ -32078,7 +32078,7 @@ _0802D6BC: _0802D700: .4byte gBattleResults _0802D704: .4byte gActiveBattler _0802D708: .4byte gBattlescriptCurrInstr -_0802D70C: .4byte gUnknown_81D9A42 +_0802D70C: .4byte BattleScript_SuccessBallThrow _0802D710: .4byte gBattlerPartyIndexes _0802D714: .4byte gBattlerTarget _0802D718: .4byte gEnemyParty @@ -32130,7 +32130,7 @@ _0802D76C: cmp r4, 0x4 bne _0802D7E4 ldr r1, _0802D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0802D7C4 @ =gUnknown_81D9A42 + ldr r0, _0802D7C4 @ =BattleScript_SuccessBallThrow str r0, [r1] ldr r1, _0802D7C8 @ =gBattlerPartyIndexes ldr r0, _0802D7CC @ =gBattlerTarget @@ -32159,7 +32159,7 @@ _0802D7AE: _0802D7B8: .4byte gLastUsedItem _0802D7BC: .4byte gActiveBattler _0802D7C0: .4byte gBattlescriptCurrInstr -_0802D7C4: .4byte gUnknown_81D9A42 +_0802D7C4: .4byte BattleScript_SuccessBallThrow _0802D7C8: .4byte gBattlerPartyIndexes _0802D7CC: .4byte gBattlerTarget _0802D7D0: .4byte gEnemyParty @@ -32175,7 +32175,7 @@ _0802D7E4: ldr r0, _0802D7F4 @ =gBattleCommunication strb r4, [r0, 0x5] ldr r1, _0802D7F8 @ =gBattlescriptCurrInstr - ldr r0, _0802D7FC @ =gUnknown_81D9A93 + ldr r0, _0802D7FC @ =BattleScript_ShakeBallThrow _0802D7EC: str r0, [r1] _0802D7EE: @@ -32185,7 +32185,7 @@ _0802D7EE: .align 2, 0 _0802D7F4: .4byte gBattleCommunication _0802D7F8: .4byte gBattlescriptCurrInstr -_0802D7FC: .4byte gUnknown_81D9A93 +_0802D7FC: .4byte BattleScript_ShakeBallThrow thumb_func_end atkEF_handleballthrow thumb_func_start atkF0_givecaughtmon @@ -32861,7 +32861,7 @@ _0802DD78: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _0802DDA0 @ =gUnknown_83FE791 + ldr r0, _0802DDA0 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldr r1, _0802DDA4 @ =gBattleCommunication @@ -32872,7 +32872,7 @@ _0802DD78: bl BattleCreateYesNoCursorAt b _0802DFA6 .align 2, 0 -_0802DDA0: .4byte gUnknown_83FE791 +_0802DDA0: .4byte gText_BattleYesNoChoice _0802DDA4: .4byte gBattleCommunication _0802DDA8: ldr r0, _0802DE1C @ =gMain @@ -33182,14 +33182,14 @@ atkF7_finishturn: @ 802E020 ldr r1, _0802E030 @ =gCurrentActionFuncId movs r0, 0xC strb r0, [r1] - ldr r1, _0802E034 @ =gUnknown_2023BE2 + ldr r1, _0802E034 @ =gCurrentTurnActionNumber ldr r0, _0802E038 @ =gBattlersCount ldrb r0, [r0] strb r0, [r1] bx lr .align 2, 0 _0802E030: .4byte gCurrentActionFuncId -_0802E034: .4byte gUnknown_2023BE2 +_0802E034: .4byte gCurrentTurnActionNumber _0802E038: .4byte gBattlersCount thumb_func_end atkF7_finishturn diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index e86c6d073..8669270af 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -192,7 +192,7 @@ EvolutionScene: @ 80CDDF4 ldr r0, _080CE09C @ =gBattle_BG3_Y movs r1, 0 strh r1, [r0] - ldr r1, _080CE0A0 @ =gUnknown_2022B50 + ldr r1, _080CE0A0 @ =gBattleTerrain movs r0, 0x9 strb r0, [r1] bl sub_800F34C @@ -409,7 +409,7 @@ _080CE090: .4byte gBattle_BG2_X _080CE094: .4byte gBattle_BG2_Y _080CE098: .4byte gBattle_BG3_X _080CE09C: .4byte gBattle_BG3_Y -_080CE0A0: .4byte gUnknown_2022B50 +_080CE0A0: .4byte gBattleTerrain _080CE0A4: .4byte gReservedSpritePaletteCount _080CE0A8: .4byte gUnknown_2039A20 _080CE0AC: .4byte gStringVar1 @@ -513,7 +513,7 @@ CB2_EvolutionSceneLoadGraphics: @ 80CE0E8 strh r0, [r1] ldr r0, _080CE2AC @ =gBattle_BG3_Y strh r4, [r0] - ldr r1, _080CE2B0 @ =gUnknown_2022B50 + ldr r1, _080CE2B0 @ =gBattleTerrain movs r0, 0x9 strb r0, [r1] bl sub_800F34C @@ -616,7 +616,7 @@ _080CE2A0: .4byte gBattle_BG2_X _080CE2A4: .4byte gBattle_BG2_Y _080CE2A8: .4byte gBattle_BG3_X _080CE2AC: .4byte gBattle_BG3_Y -_080CE2B0: .4byte gUnknown_2022B50 +_080CE2B0: .4byte gBattleTerrain _080CE2B4: .4byte gReservedSpritePaletteCount _080CE2B8: .4byte gMonFrontPicTable _080CE2BC: .4byte gMonSpritesGfxPtr @@ -2287,7 +2287,7 @@ _080CF176: movs r2, 0x1D movs r3, 0xD bl HandleBattleWindow - ldr r0, _080CF1B4 @ =gUnknown_83FE791 + ldr r0, _080CF1B4 @ =gText_BattleYesNoChoice movs r1, 0xE bl BattlePutTextOnWindow ldr r0, _080CF1B0 @ =gTasks @@ -2307,7 +2307,7 @@ _080CF176: _080CF1A8: .4byte gUnknown_83FDF3C _080CF1AC: .4byte gDisplayedStringBattle _080CF1B0: .4byte gTasks -_080CF1B4: .4byte gUnknown_83FE791 +_080CF1B4: .4byte gText_BattleYesNoChoice _080CF1B8: .4byte gBattleCommunication _080CF1BC: ldr r0, _080CF244 @ =gMain diff --git a/asm/field_effect.s b/asm/field_effect.s index 7bd1abe80..2393df6a6 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -5758,7 +5758,7 @@ _08086024: .4byte sub_8085DDC thumb_func_start FldEff_FieldMoveShowMon FldEff_FieldMoveShowMon: @ 8086028 push {r4,lr} - bl sav1_map_get_light_level + bl GetCurrentMapType lsls r0, 24 lsrs r0, 24 bl is_light_level_1_2_3_5_or_6 diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index 082aa0103..4b707a46a 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -49,7 +49,7 @@ pal_fill_for_maplights: @ 807DB58 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sav1_map_get_light_level + bl GetCurrentMapType adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -88,7 +88,7 @@ sub_807DBAC: @ 807DBAC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sav1_map_get_light_level + bl GetCurrentMapType adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -148,7 +148,7 @@ sub_807DC18: @ 807DC18 cmp r0, 0 bne _0807DC58 _0807DC36: - bl sav1_map_get_light_level + bl GetCurrentMapType lsls r0, 24 lsrs r0, 24 ldrb r1, [r4, 0x17] @@ -180,7 +180,7 @@ _0807DC6A: thumb_func_start sub_807DC70 sub_807DC70: @ 807DC70 push {r4,lr} - bl sav1_map_get_light_level + bl GetCurrentMapType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -475,7 +475,7 @@ sub_807DE78: @ 807DE78 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sav1_map_get_light_level + bl GetCurrentMapType adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 92ef6a6e4..2b16f5e1f 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -666,7 +666,7 @@ _0805E2E0: sub_805E2E8: @ 805E2E8 push {r4,r5,lr} adds r4, r0, 0 - bl sav1_map_get_light_level + bl GetCurrentMapType lsls r0, 24 lsrs r0, 24 bl is_light_level_1_2_3_5_or_6 diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s index c25978eb1..4ce45b5c7 100644 --- a/asm/fldeff_flash.s +++ b/asm/fldeff_flash.s @@ -209,7 +209,7 @@ sub_80C9CE8: @ 80C9CE8 bl get_map_light_from_warp0 lsls r0, 24 lsrs r7, r0, 24 - bl sav1_map_get_light_level + bl GetCurrentMapType lsls r0, 24 lsrs r6, r0, 24 movs r4, 0 diff --git a/asm/overworld.s b/asm/overworld.s index 30f89b4f3..24a840edd 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -1228,7 +1228,7 @@ sub_805550C: @ 805550C lsrs r6, r0, 16 lsls r1, 16 lsrs r7, r1, 16 - bl sav1_map_get_light_level + bl GetCurrentMapType adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -1911,7 +1911,7 @@ _08055A68: .4byte gUnknown_2031DD4 thumb_func_start sub_8055A6C sub_8055A6C: @ 8055A6C push {r4-r7,lr} - bl sav1_map_get_light_level + bl GetCurrentMapType adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 @@ -2884,8 +2884,8 @@ get_map_light_level_from_warp: @ 8056170 bx r1 thumb_func_end get_map_light_level_from_warp - thumb_func_start sav1_map_get_light_level -sav1_map_get_light_level: @ 8056188 + thumb_func_start GetCurrentMapType +GetCurrentMapType: @ 8056188 push {lr} ldr r0, _0805619C @ =gSaveBlock1Ptr ldr r0, [r0] @@ -2897,7 +2897,7 @@ sav1_map_get_light_level: @ 8056188 bx r1 .align 2, 0 _0805619C: .4byte gSaveBlock1Ptr - thumb_func_end sav1_map_get_light_level + thumb_func_end GetCurrentMapType thumb_func_start get_map_light_from_warp0 get_map_light_from_warp0: @ 80561A0 diff --git a/asm/party_menu.s b/asm/party_menu.s index c6cdfb567..e7126dfda 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -2010,8 +2010,8 @@ _0811FA18: .4byte gUnknown_8459FC4 _0811FA1C: .4byte gUnknown_8459FE0 thumb_func_end sub_811F9DC - thumb_func_start sub_811FA20 -sub_811FA20: @ 811FA20 + thumb_func_start IsMultiBattle +IsMultiBattle: @ 811FA20 push {lr} ldr r0, _0811FA34 @ =gBattleTypeFlags ldr r0, [r0] @@ -2028,7 +2028,7 @@ _0811FA38: _0811FA3A: pop {r1} bx r1 - thumb_func_end sub_811FA20 + thumb_func_end IsMultiBattle thumb_func_start sub_811FA40 sub_811FA40: @ 811FA40 @@ -7145,7 +7145,7 @@ party_menu_icon_anim: @ 81221D4 adds r7, r1, 0 adds r4, r2, 0 movs r6, 0x1 - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -17916,7 +17916,7 @@ sub_81278B4: @ 81278B4 movs r0, 0 b _081278D6 _081278C4: - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18169,7 +18169,7 @@ sub_8127AC0: @ 8127AC0 bl GetCursorSelectionMonId lsls r0, 24 lsrs r5, r0, 24 - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18402,7 +18402,7 @@ sub_8127CCC: @ 8127CCC adds r6, r0, 0 lsls r1, 24 lsrs r4, r1, 24 - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18565,7 +18565,7 @@ _08127E00: bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18678,7 +18678,7 @@ sub_8127EC4: @ 8127EC4 lsls r2, 24 lsrs r6, r2, 24 movs r7, 0 - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 cmp r0, 0 beq _08127F72 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index ce3a4dbc6..3385c3d5c 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -8434,7 +8434,7 @@ sub_8138B4C: @ 8138B4C bl IsUpdateLinkStateCBActive cmp r0, 0 bne _08138B84 - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -13244,7 +13244,7 @@ _0813B198: ldrb r0, [r0] cmp r0, 0x1 bne _0813B1C4 - bl sub_811FA20 + bl IsMultiBattle lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 -- cgit v1.2.3 From 41a7e6967dd4fd79eb01a45f4d77cf7c2ca11dc1 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 25 Aug 2019 06:53:22 +0800 Subject: thru atk14 --- asm/battle_script_commands.s | 5007 ------------------------------------------ 1 file changed, 5007 deletions(-) (limited to 'asm') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 6d797fe69..f1d80c4fc 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,5013 +5,6 @@ .text - thumb_func_start atk00_attackcanceler -atk00_attackcanceler: @ 801D760 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, _0801D77C @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0 - beq _0801D784 - ldr r1, _0801D780 @ =gCurrentActionFuncId - movs r0, 0xC - strb r0, [r1] - b _0801DAFC - .align 2, 0 -_0801D77C: .4byte gBattleOutcome -_0801D780: .4byte gCurrentActionFuncId -_0801D784: - ldr r2, _0801D7B4 @ =gBattleMons - ldr r0, _0801D7B8 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0801D7C8 - ldr r2, _0801D7BC @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - bne _0801D7C8 - movs r0, 0x80 - lsls r0, 12 - orrs r1, r0 - str r1, [r2] - ldr r1, _0801D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0801D7C4 @ =BattleScript_MoveEnd - b _0801DAFA - .align 2, 0 -_0801D7B4: .4byte gBattleMons -_0801D7B8: .4byte gBattlerAttacker -_0801D7BC: .4byte gHitMarker -_0801D7C0: .4byte gBattlescriptCurrInstr -_0801D7C4: .4byte BattleScript_MoveEnd -_0801D7C8: - bl AtkCanceller_UnableToUseMove - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0801D7D6 - b _0801DAFC -_0801D7D6: - ldr r0, _0801D844 @ =gBattlerTarget - ldrb r1, [r0] - str r2, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _0801D7EE - b _0801DAFC -_0801D7EE: - ldr r4, _0801D848 @ =gBattleMons - ldr r0, _0801D84C @ =gCurrMovePos - ldrb r1, [r0] - ldr r3, _0801D850 @ =gBattlerAttacker - ldrb r2, [r3] - movs r0, 0x58 - muls r2, r0 - adds r1, r2 - adds r0, r4, 0 - adds r0, 0x24 - adds r1, r0 - ldrb r0, [r1] - ldr r5, _0801D854 @ =gHitMarker - cmp r0, 0 - bne _0801D86C - ldr r0, _0801D858 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xA5 - beq _0801D86C - ldr r0, [r5] - ldr r1, _0801D85C @ =0x00800200 - ands r0, r1 - cmp r0, 0 - bne _0801D86C - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _0801D86C - ldr r1, _0801D860 @ =gBattlescriptCurrInstr - ldr r0, _0801D864 @ =BattleScript_NoPPForMove - str r0, [r1] - ldr r2, _0801D868 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - b _0801DAFC - .align 2, 0 -_0801D844: .4byte gBattlerTarget -_0801D848: .4byte gBattleMons -_0801D84C: .4byte gCurrMovePos -_0801D850: .4byte gBattlerAttacker -_0801D854: .4byte gHitMarker -_0801D858: .4byte gCurrentMove -_0801D85C: .4byte 0x00800200 -_0801D860: .4byte gBattlescriptCurrInstr -_0801D864: .4byte BattleScript_NoPPForMove -_0801D868: .4byte gMoveResultFlags -_0801D86C: - ldr r0, [r5] - ldr r1, _0801D8B0 @ =0xff7fffff - ands r0, r1 - str r0, [r5] - movs r6, 0x80 - lsls r6, 18 - ands r0, r6 - cmp r0, 0 - bne _0801D8C4 - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r1, r4, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - bne _0801D8C4 - bl IsMonDisobedient - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0801D8C4 - cmp r2, 0x2 - bne _0801D8B4 - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - b _0801DAFC - .align 2, 0 -_0801D8B0: .4byte 0xff7fffff -_0801D8B4: - ldr r0, _0801D8C0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _0801DAFC - .align 2, 0 -_0801D8C0: .4byte gMoveResultFlags -_0801D8C4: - ldr r2, _0801D928 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 18 - orrs r0, r1 - str r0, [r2] - ldr r2, _0801D92C @ =gProtectStructs - ldr r1, _0801D930 @ =gBattlerTarget - ldrb r3, [r1] - lsls r0, r3, 4 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 27 - mov r8, r1 - mov r9, r2 - cmp r0, 0 - bge _0801D94C - ldr r2, _0801D934 @ =gBattleMoves - ldr r0, _0801D938 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801D94C - ldr r0, _0801D93C @ =gBattlerAttacker - ldrb r0, [r0] - ldr r2, _0801D940 @ =0x00000115 - adds r1, r3, 0 - bl PressurePPLose - mov r0, r8 - ldrb r1, [r0] - lsls r1, 4 - add r1, r9 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl BattleScriptPushCursor - ldr r1, _0801D944 @ =gBattlescriptCurrInstr - ldr r0, _0801D948 @ =BattleScript_MagicCoatBounce - b _0801DAFA - .align 2, 0 -_0801D928: .4byte gHitMarker -_0801D92C: .4byte gProtectStructs -_0801D930: .4byte gBattlerTarget -_0801D934: .4byte gBattleMoves -_0801D938: .4byte gCurrentMove -_0801D93C: .4byte gBattlerAttacker -_0801D940: .4byte 0x00000115 -_0801D944: .4byte gBattlescriptCurrInstr -_0801D948: .4byte BattleScript_MagicCoatBounce -_0801D94C: - movs r2, 0 - ldr r0, _0801D9C8 @ =gBattlersCount - ldrb r0, [r0] - cmp r2, r0 - bge _0801D98E - ldr r6, _0801D9CC @ =gProtectStructs - ldr r1, _0801D9D0 @ =gBattleMoves - mov r12, r1 - adds r5, r0, 0 - ldr r7, _0801D9D4 @ =gBattlerByTurnOrder -_0801D960: - adds r4, r2, r7 - ldrb r3, [r4] - lsls r0, r3, 4 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0801D988 - ldr r0, _0801D9D8 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r1, [r0, 0x8] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801D988 - b _0801DAB4 -_0801D988: - adds r2, 0x1 - cmp r2, r5 - blt _0801D960 -_0801D98E: - ldr r0, _0801D9DC @ =gSpecialStatuses - mov r1, r8 - ldrb r2, [r1] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r3, [r1] - lsls r0, r3, 30 - cmp r0, 0 - bge _0801D9EC - movs r0, 0x3 - negs r0, r0 - ands r0, r3 - strb r0, [r1] - ldr r4, _0801D9E0 @ =gLastUsedAbility - movs r0, 0x1F - strb r0, [r4] - bl BattleScriptPushCursor - ldr r1, _0801D9E4 @ =gBattlescriptCurrInstr - ldr r0, _0801D9E8 @ =BattleScript_TookAttack - str r0, [r1] - mov r1, r8 - ldrb r0, [r1] - ldrb r1, [r4] - bl RecordAbilityBattle - b _0801DAFC - .align 2, 0 -_0801D9C8: .4byte gBattlersCount -_0801D9CC: .4byte gProtectStructs -_0801D9D0: .4byte gBattleMoves -_0801D9D4: .4byte gBattlerByTurnOrder -_0801D9D8: .4byte gCurrentMove -_0801D9DC: .4byte gSpecialStatuses -_0801D9E0: .4byte gLastUsedAbility -_0801D9E4: .4byte gBattlescriptCurrInstr -_0801D9E8: .4byte BattleScript_TookAttack -_0801D9EC: - lsls r0, r2, 4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - bne _0801D9FA - b _0801DAF4 -_0801D9FA: - ldr r1, _0801DA90 @ =gBattleMoves - ldr r2, _0801DA94 @ =gCurrentMove - ldrh r3, [r2] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _0801DAF4 - cmp r3, 0xAE - bne _0801DA38 - ldr r2, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _0801DA38 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _0801DAF4 -_0801DA38: - ldrh r0, [r4] - bl IsTwoTurnsMove - lsls r0, 24 - cmp r0, 0 - beq _0801DA5E - ldr r1, _0801DA98 @ =gBattleMons - ldr r0, _0801DA9C @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _0801DAF4 -_0801DA5E: - ldr r0, _0801DA9C @ =gBattlerAttacker - ldrb r0, [r0] - bl CancelMultiTurnMoves - ldr r2, _0801DAA0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801DAA4 @ =gLastLandedMoves - ldr r3, _0801DAA8 @ =gBattlerTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801DAAC @ =gLastHitByType - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r1, _0801DAB0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - b _0801DAF4 - .align 2, 0 -_0801DA90: .4byte gBattleMoves -_0801DA94: .4byte gCurrentMove -_0801DA98: .4byte gBattleMons -_0801DA9C: .4byte gBattlerAttacker -_0801DAA0: .4byte gMoveResultFlags -_0801DAA4: .4byte gLastLandedMoves -_0801DAA8: .4byte gBattlerTarget -_0801DAAC: .4byte gLastHitByType -_0801DAB0: .4byte gBattleCommunication -_0801DAB4: - ldr r0, _0801DAE0 @ =gBattlerAttacker - ldrb r0, [r0] - ldr r2, _0801DAE4 @ =0x00000121 - adds r1, r3, 0 - bl PressurePPLose - ldrb r1, [r4] - lsls r1, 4 - adds r1, r6 - ldrb r2, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r1, _0801DAE8 @ =gBattleScripting - ldrb r0, [r4] - strb r0, [r1, 0x17] - bl BattleScriptPushCursor - ldr r1, _0801DAEC @ =gBattlescriptCurrInstr - ldr r0, _0801DAF0 @ =BattleScript_SnatchedMove - b _0801DAFA - .align 2, 0 -_0801DAE0: .4byte gBattlerAttacker -_0801DAE4: .4byte 0x00000121 -_0801DAE8: .4byte gBattleScripting -_0801DAEC: .4byte gBattlescriptCurrInstr -_0801DAF0: .4byte BattleScript_SnatchedMove -_0801DAF4: - ldr r1, _0801DB0C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0801DAFA: - str r0, [r1] -_0801DAFC: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801DB0C: .4byte gBattlescriptCurrInstr - thumb_func_end atk00_attackcanceler - - thumb_func_start JumpIfMoveFailed -JumpIfMoveFailed: @ 801DB10 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r1, _0801DB5C @ =gBattlescriptCurrInstr - ldr r5, [r1] - adds r4, r5, r0 - ldr r0, _0801DB60 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801DB70 - ldr r1, _0801DB64 @ =gLastLandedMoves - ldr r3, _0801DB68 @ =gBattlerTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801DB6C @ =gLastHitByType - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldrb r4, [r5, 0x1] - ldrb r0, [r5, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r5, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r5, 0x4] - lsls r0, 24 - orrs r4, r0 - b _0801DB8A - .align 2, 0 -_0801DB5C: .4byte gBattlescriptCurrInstr -_0801DB60: .4byte gMoveResultFlags -_0801DB64: .4byte gLastLandedMoves -_0801DB68: .4byte gBattlerTarget -_0801DB6C: .4byte gLastHitByType -_0801DB70: - bl TrySetDestinyBondToHappen - ldr r0, _0801DB98 @ =gBattlerTarget - ldrb r1, [r0] - str r6, [sp] - movs r0, 0x3 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801DB8E -_0801DB8A: - ldr r0, _0801DB9C @ =gBattlescriptCurrInstr - str r4, [r0] -_0801DB8E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801DB98: .4byte gBattlerTarget -_0801DB9C: .4byte gBattlescriptCurrInstr - thumb_func_end JumpIfMoveFailed - - thumb_func_start atk40_jumpifaffectedbyprotect -atk40_jumpifaffectedbyprotect: @ 801DBA0 - push {lr} - ldr r1, _0801DBE8 @ =gProtectStructs - ldr r0, _0801DBEC @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0801DC00 - ldr r2, _0801DBF0 @ =gBattleMoves - ldr r0, _0801DBF4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801DC00 - ldr r2, _0801DBF8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x5 - movs r1, 0 - bl JumpIfMoveFailed - ldr r1, _0801DBFC @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - b _0801DC08 - .align 2, 0 -_0801DBE8: .4byte gProtectStructs -_0801DBEC: .4byte gBattlerTarget -_0801DBF0: .4byte gBattleMoves -_0801DBF4: .4byte gCurrentMove -_0801DBF8: .4byte gMoveResultFlags -_0801DBFC: .4byte gBattleCommunication -_0801DC00: - ldr r1, _0801DC0C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0801DC08: - pop {r0} - bx r0 - .align 2, 0 -_0801DC0C: .4byte gBattlescriptCurrInstr - thumb_func_end atk40_jumpifaffectedbyprotect - - thumb_func_start JumpIfMoveAffectedByProtect -JumpIfMoveAffectedByProtect: @ 801DC10 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r4, 0 - ldr r1, _0801DC64 @ =gProtectStructs - ldr r0, _0801DC68 @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _0801DC5C - ldr r2, _0801DC6C @ =gBattleMoves - ldr r0, _0801DC70 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x8] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801DC5C - ldr r2, _0801DC74 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x7 - adds r1, r3, 0 - bl JumpIfMoveFailed - ldr r1, _0801DC78 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x6] - movs r4, 0x1 -_0801DC5C: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0801DC64: .4byte gProtectStructs -_0801DC68: .4byte gBattlerTarget -_0801DC6C: .4byte gBattleMoves -_0801DC70: .4byte gCurrentMove -_0801DC74: .4byte gMoveResultFlags -_0801DC78: .4byte gBattleCommunication - thumb_func_end JumpIfMoveAffectedByProtect - - thumb_func_start AccuracyCalcHelper -AccuracyCalcHelper: @ 801DC7C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r2, _0801DCDC @ =gStatuses3 - ldr r3, _0801DCE0 @ =gBattlerTarget - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x18 - ands r1, r0 - adds r6, r2, 0 - cmp r1, 0 - beq _0801DCAE - ldr r1, _0801DCE4 @ =gDisableStructs - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, _0801DCE8 @ =gBattlerAttacker - ldrb r0, [r0, 0x15] - ldrb r1, [r1] - cmp r0, r1 - beq _0801DD98 -_0801DCAE: - ldr r0, _0801DCEC @ =gHitMarker - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 9 - ands r1, r2 - adds r2, r0, 0 - cmp r1, 0 - bne _0801DCF4 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0801DCF4 -_0801DCCE: - ldr r0, _0801DCF0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _0801DD98 - .align 2, 0 -_0801DCDC: .4byte gStatuses3 -_0801DCE0: .4byte gBattlerTarget -_0801DCE4: .4byte gDisableStructs -_0801DCE8: .4byte gBattlerAttacker -_0801DCEC: .4byte gHitMarker -_0801DCF0: .4byte gMoveResultFlags -_0801DCF4: - ldr r0, [r2] - ldr r1, _0801DDA4 @ =0xfffeffff - ands r0, r1 - str r0, [r2] - movs r1, 0x80 - lsls r1, 10 - ands r0, r1 - cmp r0, 0 - bne _0801DD16 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0801DCCE -_0801DD16: - ldr r0, [r2] - ldr r1, _0801DDA8 @ =0xfffdffff - ands r0, r1 - str r0, [r2] - movs r1, 0x80 - lsls r1, 11 - ands r0, r1 - cmp r0, 0 - bne _0801DD36 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - bne _0801DCCE -_0801DD36: - ldr r0, [r2] - ldr r1, _0801DDAC @ =0xfffbffff - ands r0, r1 - str r0, [r2] - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - lsls r4, r5, 1 - cmp r0, 0 - bne _0801DD86 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801DD86 - ldr r0, _0801DDB0 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0801DD86 - ldr r0, _0801DDB4 @ =gBattleMoves - adds r1, r4, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x98 - beq _0801DD98 -_0801DD86: - ldr r1, _0801DDB4 @ =gBattleMoves - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x11 - beq _0801DD98 - cmp r0, 0x4E - bne _0801DDB8 -_0801DD98: - movs r0, 0x7 - adds r1, r5, 0 - bl JumpIfMoveFailed - movs r0, 0x1 - b _0801DDBA - .align 2, 0 -_0801DDA4: .4byte 0xfffeffff -_0801DDA8: .4byte 0xfffdffff -_0801DDAC: .4byte 0xfffbffff -_0801DDB0: .4byte gBattleWeather -_0801DDB4: .4byte gBattleMoves -_0801DDB8: - movs r0, 0 -_0801DDBA: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end AccuracyCalcHelper - - thumb_func_start atk01_accuracycheck -atk01_accuracycheck: @ 801DDC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _0801DE60 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r6, [r0, 0x5] - ldrb r0, [r0, 0x6] - lsls r0, 8 - orrs r6, r0 - ldr r0, _0801DE64 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801DE48 - movs r0, 0x1 - bl sub_80EB2E0 - lsls r0, 24 - cmp r0, 0 - bne _0801DE12 - ldr r0, _0801DE68 @ =gBattleMoves - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801DE12 - ldr r0, _0801DE6C @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0801DE56 -_0801DE12: - ldr r0, _0801DE64 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801DE48 - movs r0, 0x2 - bl sub_80EB2E0 - lsls r0, 24 - cmp r0, 0 - bne _0801DE48 - ldr r0, _0801DE68 @ =gBattleMoves - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801DE48 - ldr r0, _0801DE6C @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0801DE56 -_0801DE48: - ldr r0, _0801DE64 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - beq _0801DE70 -_0801DE56: - movs r0, 0x7 - adds r1, r6, 0 - bl JumpIfMoveFailed - b _0801E1C2 - .align 2, 0 -_0801DE60: .4byte gBattlescriptCurrInstr -_0801DE64: .4byte gBattleTypeFlags -_0801DE68: .4byte gBattleMoves -_0801DE6C: .4byte gBattlerAttacker -_0801DE70: - adds r0, r6, 0x2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0801DF0C - ldr r2, _0801DED4 @ =gStatuses3 - ldr r3, _0801DED8 @ =gBattlerTarget - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x18 - ands r1, r0 - cmp r1, 0 - beq _0801DEA8 - ldr r0, _0801DEDC @ =0x0000ffff - cmp r6, r0 - bne _0801DEA8 - ldr r1, _0801DEE0 @ =gDisableStructs - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, _0801DEE4 @ =gBattlerAttacker - ldrb r0, [r0, 0x15] - ldrb r1, [r1] - cmp r0, r1 - beq _0801DEFE -_0801DEA8: - ldrb r0, [r3] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldr r1, _0801DEE8 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _0801DEF0 - ldr r3, _0801DEEC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0801E1C2 - .align 2, 0 -_0801DED4: .4byte gStatuses3 -_0801DED8: .4byte gBattlerTarget -_0801DEDC: .4byte 0x0000ffff -_0801DEE0: .4byte gDisableStructs -_0801DEE4: .4byte gBattlerAttacker -_0801DEE8: .4byte 0x000400c0 -_0801DEEC: .4byte gBattlescriptCurrInstr -_0801DEF0: - movs r0, 0 - bl JumpIfMoveAffectedByProtect - lsls r0, 24 - cmp r0, 0 - beq _0801DEFE - b _0801E1C2 -_0801DEFE: - ldr r1, _0801DF08 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x7 - str r0, [r1] - b _0801E1C2 - .align 2, 0 -_0801DF08: .4byte gBattlescriptCurrInstr -_0801DF0C: - cmp r6, 0 - bne _0801DF14 - ldr r0, _0801DF2C @ =gCurrentMove - ldrh r6, [r0] -_0801DF14: - ldr r0, _0801DF30 @ =gBattleStruct - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _0801DF34 - movs r1, 0x3F - mov r10, r1 - mov r2, r10 - ands r2, r0 - mov r10, r2 - b _0801DF42 - .align 2, 0 -_0801DF2C: .4byte gCurrentMove -_0801DF30: .4byte gBattleStruct -_0801DF34: - ldr r1, _0801DF88 @ =gBattleMoves - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - mov r10, r0 -_0801DF42: - adds r0, r6, 0 - bl JumpIfMoveAffectedByProtect - lsls r0, 24 - cmp r0, 0 - beq _0801DF50 - b _0801E1C2 -_0801DF50: - adds r0, r6, 0 - bl AccuracyCalcHelper - lsls r0, 24 - cmp r0, 0 - beq _0801DF5E - b _0801E1C2 -_0801DF5E: - ldr r3, _0801DF8C @ =gBattleMons - ldr r0, _0801DF90 @ =gBattlerTarget - ldrb r0, [r0] - movs r2, 0x58 - adds r4, r0, 0 - muls r4, r2 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801DF98 - ldr r0, _0801DF94 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - ldrb r5, [r0, 0x1E] - b _0801DFAE - .align 2, 0 -_0801DF88: .4byte gBattleMoves -_0801DF8C: .4byte gBattleMons -_0801DF90: .4byte gBattlerTarget -_0801DF94: .4byte gBattlerAttacker -_0801DF98: - ldr r0, _0801E0FC @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - ldrb r0, [r0, 0x1E] - adds r0, 0x6 - adds r1, r4, r3 - ldrb r1, [r1, 0x1F] - subs r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 -_0801DFAE: - lsls r0, r5, 24 - cmp r0, 0 - bge _0801DFB6 - movs r5, 0 -_0801DFB6: - lsls r0, r5, 24 - asrs r0, 24 - cmp r0, 0xC - ble _0801DFC0 - movs r5, 0xC -_0801DFC0: - ldr r1, _0801E100 @ =gBattleMoves - lsls r4, r6, 1 - adds r0, r4, r6 - lsls r0, 2 - adds r7, r0, r1 - ldrb r3, [r7, 0x3] - mov r8, r3 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - str r4, [sp, 0x4] - cmp r0, 0 - bne _0801E012 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801E012 - ldr r0, _0801E104 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0801E012 - ldrb r0, [r7] - cmp r0, 0x98 - bne _0801E012 - movs r0, 0x32 - mov r8, r0 -_0801E012: - ldr r1, _0801E108 @ =sAccuracyStageRatios - lsls r0, r5, 24 - asrs r0, 22 - adds r0, r1 - ldrb r1, [r0] - mov r4, r8 - muls r4, r1 - ldrb r1, [r0, 0x1] - adds r0, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r7, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =gBattlerAttacker - ldrb r0, [r0] - movs r5, 0x58 - muls r0, r5 - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0xE - bne _0801E050 - lsls r0, r4, 6 - adds r0, r4 - lsls r0, 1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E050: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0801E0A8 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0801E0A8 - ldr r0, _0801E110 @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r5 - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x8 - bne _0801E0A8 - ldr r0, _0801E104 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0801E0A8 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E0A8: - ldr r2, _0801E10C @ =gBattleMons - ldr r0, _0801E0FC @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r9, r2 - cmp r0, 0x37 - bne _0801E0D4 - mov r1, r10 - cmp r1, 0x8 - bhi _0801E0D4 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E0D4: - ldr r2, _0801E110 @ =gBattlerTarget - mov r8, r2 - ldrb r2, [r2] - movs r7, 0x58 - adds r0, r2, 0 - muls r0, r7 - mov r3, r9 - adds r1, r0, r3 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801E118 - ldr r1, _0801E114 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r5, [r0, 0x7] - ldrb r2, [r0, 0x1A] - b _0801E134 - .align 2, 0 -_0801E0FC: .4byte gBattlerAttacker -_0801E100: .4byte gBattleMoves -_0801E104: .4byte gBattleWeather -_0801E108: .4byte sAccuracyStageRatios -_0801E10C: .4byte gBattleMons -_0801E110: .4byte gBattlerTarget -_0801E114: .4byte gEnigmaBerries -_0801E118: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - ldrb r0, [r1] - muls r0, r7 - add r0, r9 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r2, r0, 24 -_0801E134: - ldr r0, _0801E198 @ =gPotentialItemEffectBattler - ldr r1, _0801E19C @ =gBattlerTarget - ldrb r1, [r1] - strb r1, [r0] - cmp r5, 0x16 - bne _0801E150 - movs r0, 0x64 - subs r0, r2 - muls r0, r4 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r4, r0, 16 -_0801E150: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - ble _0801E1BA - ldr r2, _0801E1A0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0801E1A4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801E1B0 - ldr r1, _0801E1A8 @ =gBattleMoves - ldr r2, [sp, 0x4] - adds r0, r2, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x6] - cmp r0, 0x8 - beq _0801E192 - cmp r0, 0x20 - bne _0801E1B0 -_0801E192: - ldr r1, _0801E1AC @ =gBattleCommunication - movs r0, 0x2 - b _0801E1B4 - .align 2, 0 -_0801E198: .4byte gPotentialItemEffectBattler -_0801E19C: .4byte gBattlerTarget -_0801E1A0: .4byte gMoveResultFlags -_0801E1A4: .4byte gBattleTypeFlags -_0801E1A8: .4byte gBattleMoves -_0801E1AC: .4byte gBattleCommunication -_0801E1B0: - ldr r1, _0801E1D4 @ =gBattleCommunication - movs r0, 0 -_0801E1B4: - strb r0, [r1, 0x6] - bl CheckWonderGuardAndLevitate -_0801E1BA: - movs r0, 0x7 - adds r1, r6, 0 - bl JumpIfMoveFailed -_0801E1C2: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E1D4: .4byte gBattleCommunication - thumb_func_end atk01_accuracycheck - - thumb_func_start atk02_attackstring -atk02_attackstring: @ 801E1D8 - push {r4,r5,lr} - ldr r0, _0801E218 @ =gBattleControllerExecFlags - ldr r5, [r0] - cmp r5, 0 - bne _0801E210 - ldr r4, _0801E21C @ =gHitMarker - ldr r0, [r4] - movs r1, 0xC0 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - bne _0801E204 - ldr r0, _0801E220 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x4 - bl PrepareStringBattle - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r4] -_0801E204: - ldr r0, _0801E224 @ =gBattlescriptCurrInstr - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _0801E228 @ =gBattleCommunication - strb r5, [r0, 0x7] -_0801E210: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801E218: .4byte gBattleControllerExecFlags -_0801E21C: .4byte gHitMarker -_0801E220: .4byte gBattlerAttacker -_0801E224: .4byte gBattlescriptCurrInstr -_0801E228: .4byte gBattleCommunication - thumb_func_end atk02_attackstring - - thumb_func_start atk03_ppreduce -atk03_ppreduce: @ 801E22C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r6, 0x1 - ldr r0, _0801E27C @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801E244 - b _0801E3DE -_0801E244: - ldr r1, _0801E280 @ =gSpecialStatuses - ldr r2, _0801E284 @ =gBattlerAttacker - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 26 - lsrs r4, r0, 31 - mov r9, r2 - cmp r4, 0 - bne _0801E2E6 - ldr r2, _0801E288 @ =gBattleMoves - ldr r0, _0801E28C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x6] - cmp r0, 0x20 - beq _0801E296 - cmp r0, 0x20 - bgt _0801E290 - cmp r0, 0x8 - beq _0801E2AC - b _0801E2C6 - .align 2, 0 -_0801E27C: .4byte gBattleControllerExecFlags -_0801E280: .4byte gSpecialStatuses -_0801E284: .4byte gBattlerAttacker -_0801E288: .4byte gBattleMoves -_0801E28C: .4byte gCurrentMove -_0801E290: - cmp r0, 0x40 - beq _0801E2AC - b _0801E2C6 -_0801E296: - str r4, [sp] - movs r0, 0x12 - adds r1, r3, 0 - movs r2, 0x2E - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0x1 - b _0801E2E6 -_0801E2AC: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - movs r2, 0x2E - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - adds r6, r0 - b _0801E2E6 -_0801E2C6: - ldr r1, _0801E348 @ =gBattlerTarget - mov r2, r9 - ldrb r0, [r2] - ldrb r7, [r1] - cmp r0, r7 - beq _0801E2E6 - ldr r2, _0801E34C @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2E - bne _0801E2E6 - adds r6, 0x1 -_0801E2E6: - ldr r0, _0801E350 @ =gHitMarker - ldr r4, [r0] - movs r0, 0xA0 - lsls r0, 4 - ands r4, r0 - cmp r4, 0 - bne _0801E3CC - ldr r2, _0801E34C @ =gBattleMons - ldr r3, _0801E354 @ =gCurrMovePos - ldr r1, _0801E358 @ =gBattlerAttacker - ldrb r5, [r1] - movs r0, 0x58 - mov r8, r0 - mov r0, r8 - muls r0, r5 - ldrb r7, [r3] - adds r0, r7 - movs r7, 0x24 - adds r7, r2 - mov r12, r7 - add r0, r12 - ldrb r0, [r0] - mov r9, r1 - mov r10, r2 - adds r7, r3, 0 - cmp r0, 0 - beq _0801E3CC - ldr r0, _0801E35C @ =gProtectStructs - lsls r1, r5, 4 - adds r1, r0 - ldrb r0, [r1, 0x2] - movs r2, 0x8 - orrs r0, r2 - strb r0, [r1, 0x2] - mov r1, r9 - ldrb r0, [r1] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - ldrb r1, [r7] - adds r0, r1 - mov r1, r12 - adds r2, r0, r1 - ldrb r0, [r2] - cmp r0, r6 - ble _0801E360 - subs r0, r6 - strb r0, [r2] - b _0801E362 - .align 2, 0 -_0801E348: .4byte gBattlerTarget -_0801E34C: .4byte gBattleMons -_0801E350: .4byte gHitMarker -_0801E354: .4byte gCurrMovePos -_0801E358: .4byte gBattlerAttacker -_0801E35C: .4byte gProtectStructs -_0801E360: - strb r4, [r2] -_0801E362: - mov r2, r9 - ldrb r3, [r2] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - mov r1, r10 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0801E3CC - ldr r1, _0801E3F0 @ =gDisableStructs - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0801E3F4 @ =gBitTable - ldrb r0, [r7] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0801E3CC - ldr r0, _0801E3F8 @ =gActiveBattler - strb r3, [r0] - ldrb r1, [r7] - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - mov r2, r9 - ldrb r0, [r2] - muls r0, r4 - mov r2, r10 - adds r2, 0x24 - adds r0, r2 - ldrb r7, [r7] - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - mov r7, r9 - ldrb r0, [r7] - bl MarkBattlerForControllerExec -_0801E3CC: - ldr r2, _0801E3FC @ =gHitMarker - ldr r0, [r2] - ldr r1, _0801E400 @ =0xfffff7ff - ands r0, r1 - str r0, [r2] - ldr r1, _0801E404 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801E3DE: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E3F0: .4byte gDisableStructs -_0801E3F4: .4byte gBitTable -_0801E3F8: .4byte gActiveBattler -_0801E3FC: .4byte gHitMarker -_0801E400: .4byte 0xfffff7ff -_0801E404: .4byte gBattlescriptCurrInstr - thumb_func_end atk03_ppreduce - - thumb_func_start atk04_critcalc -atk04_critcalc: @ 801E408 - push {r4-r7,lr} - ldr r1, _0801E42C @ =gBattleMons - ldr r0, _0801E430 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - cmp r0, 0xAF - bne _0801E438 - ldr r1, _0801E434 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r6, [r0, 0x7] - b _0801E440 - .align 2, 0 -_0801E42C: .4byte gBattleMons -_0801E430: .4byte gBattlerAttacker -_0801E434: .4byte gEnigmaBerries -_0801E438: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r6, r0, 24 -_0801E440: - ldr r1, _0801E4CC @ =gPotentialItemEffectBattler - ldr r3, _0801E4D0 @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r4, _0801E4D4 @ =gBattleMons - ldrb r1, [r3] - movs r0, 0x58 - adds r7, r1, 0 - muls r7, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r7, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - negs r0, r0 - asrs r5, r0, 31 - movs r0, 0x2 - ands r5, r0 - ldr r2, _0801E4D8 @ =gBattleMoves - ldr r0, _0801E4DC @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - mov r12, r3 - cmp r1, 0x2B - bne _0801E480 - adds r5, 0x1 -_0801E480: - adds r0, r5, 0 - cmp r1, 0x4B - bne _0801E488 - adds r0, 0x1 -_0801E488: - cmp r1, 0xC8 - bne _0801E48E - adds r0, 0x1 -_0801E48E: - adds r2, r0, 0 - cmp r1, 0xD1 - bne _0801E496 - adds r2, 0x1 -_0801E496: - movs r1, 0 - cmp r6, 0x3F - bne _0801E4A6 - adds r0, r7, r4 - ldrh r0, [r0] - cmp r0, 0x71 - bne _0801E4A6 - movs r1, 0x1 -_0801E4A6: - lsls r5, r1, 1 - movs r3, 0 - cmp r6, 0x42 - bne _0801E4C0 - mov r0, r12 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x53 - bne _0801E4C0 - movs r3, 0x1 -_0801E4C0: - lsls r1, r3, 1 - cmp r6, 0x29 - bne _0801E4E0 - adds r0, r5, 0x1 - adds r0, r2, r0 - b _0801E4E2 - .align 2, 0 -_0801E4CC: .4byte gPotentialItemEffectBattler -_0801E4D0: .4byte gBattlerAttacker -_0801E4D4: .4byte gBattleMons -_0801E4D8: .4byte gBattleMoves -_0801E4DC: .4byte gCurrentMove -_0801E4E0: - adds r0, r2, r5 -_0801E4E2: - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - cmp r5, 0x4 - bls _0801E4F0 - movs r5, 0x4 -_0801E4F0: - ldr r0, _0801E56C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - ldrb r4, [r0] - cmp r4, 0x4 - beq _0801E580 - cmp r4, 0x4B - beq _0801E580 - ldr r1, _0801E570 @ =gStatuses3 - mov r2, r12 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - bne _0801E580 - ldr r4, _0801E574 @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - bne _0801E580 - bl Random - ldr r2, _0801E578 @ =sCriticalHitChance - lsls r1, r5, 1 - adds r1, r2 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1] - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0801E580 - ldr r0, [r4] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0801E55A - movs r0, 0x1 - bl sub_80EB2E0 - lsls r0, 24 - cmp r0, 0 - beq _0801E580 -_0801E55A: - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - bne _0801E580 - ldr r1, _0801E57C @ =gCritMultiplier - movs r0, 0x2 - b _0801E584 - .align 2, 0 -_0801E56C: .4byte gBattlerTarget -_0801E570: .4byte gStatuses3 -_0801E574: .4byte gBattleTypeFlags -_0801E578: .4byte sCriticalHitChance -_0801E57C: .4byte gCritMultiplier -_0801E580: - ldr r1, _0801E594 @ =gCritMultiplier - movs r0, 0x1 -_0801E584: - strb r0, [r1] - ldr r1, _0801E598 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E594: .4byte gCritMultiplier -_0801E598: .4byte gBattlescriptCurrInstr - thumb_func_end atk04_critcalc - - thumb_func_start atk05_damagecalc -atk05_damagecalc: @ 801E59C - push {r4-r7,lr} - sub sp, 0x10 - ldr r4, _0801E654 @ =gSideStatuses - ldr r5, _0801E658 @ =gBattlerTarget - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldr r6, _0801E65C @ =gBattlerAttacker - ldrb r0, [r6] - movs r4, 0x58 - muls r0, r4 - ldr r2, _0801E660 @ =gBattleMons - adds r0, r2 - ldrb r1, [r5] - muls r1, r4 - adds r1, r2 - ldr r7, _0801E664 @ =gCurrentMove - ldrh r2, [r7] - ldr r4, _0801E668 @ =gDynamicBasePower - ldrh r4, [r4] - str r4, [sp] - ldr r4, _0801E66C @ =gBattleStruct - ldr r4, [r4] - ldrb r4, [r4, 0x13] - str r4, [sp, 0x4] - ldrb r4, [r6] - str r4, [sp, 0x8] - ldrb r4, [r5] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldr r4, _0801E670 @ =gBattleMoveDamage - ldr r1, _0801E674 @ =gCritMultiplier - ldrb r1, [r1] - muls r1, r0 - ldr r0, _0801E678 @ =gBattleScripting - ldrb r0, [r0, 0xE] - adds r3, r1, 0 - muls r3, r0 - str r3, [r4] - ldr r1, _0801E67C @ =gStatuses3 - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _0801E620 - ldr r2, _0801E680 @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0xD - bne _0801E620 - lsls r0, r3, 1 - str r0, [r4] -_0801E620: - ldr r1, _0801E684 @ =gProtectStructs - ldr r0, _0801E65C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _0801E642 - ldr r4, _0801E670 @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801E642: - ldr r1, _0801E688 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E654: .4byte gSideStatuses -_0801E658: .4byte gBattlerTarget -_0801E65C: .4byte gBattlerAttacker -_0801E660: .4byte gBattleMons -_0801E664: .4byte gCurrentMove -_0801E668: .4byte gDynamicBasePower -_0801E66C: .4byte gBattleStruct -_0801E670: .4byte gBattleMoveDamage -_0801E674: .4byte gCritMultiplier -_0801E678: .4byte gBattleScripting -_0801E67C: .4byte gStatuses3 -_0801E680: .4byte gBattleMoves -_0801E684: .4byte gProtectStructs -_0801E688: .4byte gBattlescriptCurrInstr - thumb_func_end atk05_damagecalc - - thumb_func_start AI_CalcDmg -AI_CalcDmg: @ 801E68C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _0801E744 @ =gSideStatuses - adds r0, r5, 0 - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x58 - adds r0, r7, 0 - muls r0, r1 - ldr r2, _0801E748 @ =gBattleMons - adds r0, r2 - muls r1, r5 - adds r1, r2 - ldr r2, _0801E74C @ =gCurrentMove - mov r8, r2 - ldrh r2, [r2] - ldr r6, _0801E750 @ =gDynamicBasePower - ldrh r4, [r6] - str r4, [sp] - ldr r4, _0801E754 @ =gBattleStruct - ldr r4, [r4] - ldrb r4, [r4, 0x13] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r5, [sp, 0xC] - bl CalculateBaseDamage - ldr r4, _0801E758 @ =gBattleMoveDamage - movs r1, 0 - strh r1, [r6] - ldr r1, _0801E75C @ =gCritMultiplier - ldrb r1, [r1] - muls r1, r0 - ldr r0, _0801E760 @ =gBattleScripting - ldrb r0, [r0, 0xE] - adds r3, r1, 0 - muls r3, r0 - str r3, [r4] - ldr r1, _0801E764 @ =gStatuses3 - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 2 - ands r0, r1 - cmp r0, 0 - beq _0801E71A - ldr r2, _0801E768 @ =gBattleMoves - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - cmp r0, 0xD - bne _0801E71A - lsls r0, r3, 1 - str r0, [r4] -_0801E71A: - ldr r0, _0801E76C @ =gProtectStructs - lsls r1, r7, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 28 - cmp r0, 0 - bge _0801E738 - ldr r4, _0801E758 @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801E738: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801E744: .4byte gSideStatuses -_0801E748: .4byte gBattleMons -_0801E74C: .4byte gCurrentMove -_0801E750: .4byte gDynamicBasePower -_0801E754: .4byte gBattleStruct -_0801E758: .4byte gBattleMoveDamage -_0801E75C: .4byte gCritMultiplier -_0801E760: .4byte gBattleScripting -_0801E764: .4byte gStatuses3 -_0801E768: .4byte gBattleMoves -_0801E76C: .4byte gProtectStructs - thumb_func_end AI_CalcDmg - - thumb_func_start ModulateDmgByType -ModulateDmgByType: @ 801E770 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _0801E7A0 @ =gBattleMoveDamage - ldr r0, [r5] - muls r0, r4 - movs r1, 0xA - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _0801E790 - cmp r4, 0 - beq _0801E790 - movs r0, 0x1 - str r0, [r5] -_0801E790: - cmp r4, 0x5 - beq _0801E7C0 - cmp r4, 0x5 - bgt _0801E7A4 - cmp r4, 0 - beq _0801E7AA - b _0801E842 - .align 2, 0 -_0801E7A0: .4byte gBattleMoveDamage -_0801E7A4: - cmp r4, 0x14 - beq _0801E800 - b _0801E842 -_0801E7AA: - ldr r2, _0801E7BC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0xFB - ands r0, r1 - movs r1, 0xFD - ands r0, r1 - b _0801E840 - .align 2, 0 -_0801E7BC: .4byte gMoveResultFlags -_0801E7C0: - ldr r2, _0801E7F0 @ =gBattleMoves - ldr r0, _0801E7F4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801E842 - ldr r2, _0801E7F8 @ =gMoveResultFlags - ldrb r1, [r2] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801E842 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801E7FC - movs r0, 0xFD - ands r0, r1 - b _0801E840 - .align 2, 0 -_0801E7F0: .4byte gBattleMoves -_0801E7F4: .4byte gCurrentMove -_0801E7F8: .4byte gMoveResultFlags -_0801E7FC: - movs r0, 0x4 - b _0801E83E -_0801E800: - ldr r2, _0801E830 @ =gBattleMoves - ldr r0, _0801E834 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801E842 - ldr r2, _0801E838 @ =gMoveResultFlags - ldrb r1, [r2] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801E842 - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801E83C - movs r0, 0xFB - ands r0, r1 - b _0801E840 - .align 2, 0 -_0801E830: .4byte gBattleMoves -_0801E834: .4byte gCurrentMove -_0801E838: .4byte gMoveResultFlags -_0801E83C: - movs r0, 0x2 -_0801E83E: - orrs r0, r1 -_0801E840: - strb r0, [r2] -_0801E842: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ModulateDmgByType - - thumb_func_start atk06_typecalc -atk06_typecalc: @ 801E848 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0 - ldr r1, _0801E870 @ =gCurrentMove - ldrh r0, [r1] - cmp r0, 0xA5 - bne _0801E85C - b _0801EA70 -_0801E85C: - ldr r0, _0801E874 @ =gBattleStruct - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _0801E878 - movs r1, 0x3F - mov r8, r1 - ands r1, r0 - mov r8, r1 - b _0801E888 - .align 2, 0 -_0801E870: .4byte gCurrentMove -_0801E874: .4byte gBattleStruct -_0801E878: - ldr r2, _0801E910 @ =gBattleMoves - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r8, r0 -_0801E888: - ldr r2, _0801E914 @ =gBattleMons - ldr r0, _0801E918 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - adds r5, r2, 0 - cmp r0, r8 - beq _0801E8AA - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r8 - bne _0801E8C0 -_0801E8AA: - ldr r4, _0801E91C @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - str r0, [r4] - movs r1, 0xA - str r3, [sp, 0x4] - bl __divsi3 - str r0, [r4] - ldr r3, [sp, 0x4] -_0801E8C0: - ldr r2, _0801E920 @ =gBattlerTarget - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - adds r4, r2, 0 - cmp r0, 0x1A - bne _0801E938 - mov r1, r8 - cmp r1, 0x4 - bne _0801E938 - ldr r3, _0801E924 @ =gLastUsedAbility - strb r0, [r3] - ldr r2, _0801E928 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x9 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801E92C @ =gLastLandedMoves - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801E930 @ =gLastHitByType - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r0, _0801E934 @ =gBattleCommunication - mov r1, r8 - strb r1, [r0, 0x6] - ldrb r0, [r4] - ldrb r1, [r3] - bl RecordAbilityBattle - b _0801E9D4 - .align 2, 0 -_0801E910: .4byte gBattleMoves -_0801E914: .4byte gBattleMons -_0801E918: .4byte gBattlerAttacker -_0801E91C: .4byte gBattleMoveDamage -_0801E920: .4byte gBattlerTarget -_0801E924: .4byte gLastUsedAbility -_0801E928: .4byte gMoveResultFlags -_0801E92C: .4byte gLastLandedMoves -_0801E930: .4byte gLastHitByType -_0801E934: .4byte gBattleCommunication -_0801E938: - ldr r1, _0801E944 @ =gTypeEffectiveness - adds r0, r3, r1 - ldrb r0, [r0] - adds r2, r1, 0 - b _0801E9B4 - .align 2, 0 -_0801E944: .4byte gTypeEffectiveness -_0801E948: - adds r3, 0x3 - b _0801E9B0 -_0801E94C: - ldr r5, _0801EA84 @ =gTypeEffectiveness - adds r0, r3, r5 - ldrb r0, [r0] - cmp r0, r8 - bne _0801E9A8 - adds r1, r3, 0x1 - adds r1, r5 - ldr r2, _0801EA88 @ =gBattleMons - ldr r7, _0801EA8C @ =gBattlerTarget - ldrb r0, [r7] - movs r6, 0x58 - muls r0, r6 - adds r0, r2 - adds r0, 0x21 - ldrb r4, [r1] - ldrb r0, [r0] - cmp r4, r0 - bne _0801E982 - adds r0, r3, 0x2 - adds r0, r5 - ldrb r0, [r0] - str r2, [sp] - str r3, [sp, 0x4] - bl ModulateDmgByType - ldr r3, [sp, 0x4] - ldr r2, [sp] -_0801E982: - ldrb r0, [r7] - muls r0, r6 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r1, [r1] - cmp r4, r1 - bne _0801E9A8 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r4 - beq _0801E9A8 - adds r0, r3, 0x2 - adds r0, r5 - ldrb r0, [r0] - str r3, [sp, 0x4] - bl ModulateDmgByType - ldr r3, [sp, 0x4] -_0801E9A8: - adds r3, 0x3 - ldr r5, _0801EA88 @ =gBattleMons - ldr r4, _0801EA8C @ =gBattlerTarget - ldr r2, _0801EA84 @ =gTypeEffectiveness -_0801E9B0: - adds r0, r3, r2 - ldrb r0, [r0] -_0801E9B4: - cmp r0, 0xFF - beq _0801E9D4 - cmp r0, 0xFE - bne _0801E94C - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r1, r5, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801E948 -_0801E9D4: - ldr r2, _0801EA88 @ =gBattleMons - ldr r5, _0801EA8C @ =gBattlerTarget - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r6, [r0] - cmp r6, 0x19 - bne _0801EA52 - ldr r0, _0801EA90 @ =gBattlerAttacker - ldrb r0, [r0] - ldr r7, _0801EA94 @ =gCurrentMove - ldrh r1, [r7] - bl AttacksThisTurn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0801EA52 - ldr r1, _0801EA98 @ =gMoveResultFlags - mov r8, r1 - ldrb r4, [r1] - ands r0, r4 - cmp r0, 0 - beq _0801EA10 - movs r0, 0x6 - ands r0, r4 - cmp r0, 0x6 - bne _0801EA52 -_0801EA10: - ldr r2, _0801EA9C @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801EA52 - ldr r3, _0801EAA0 @ =gLastUsedAbility - strb r6, [r3] - movs r0, 0x1 - orrs r0, r4 - mov r1, r8 - strb r0, [r1] - ldr r1, _0801EAA4 @ =gLastLandedMoves - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - movs r2, 0 - strh r2, [r0] - ldr r1, _0801EAA8 @ =gLastHitByType - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - strh r2, [r0] - ldr r1, _0801EAAC @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - ldrb r0, [r5] - ldrb r1, [r3] - bl RecordAbilityBattle -_0801EA52: - ldr r0, _0801EA98 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0801EA70 - ldr r2, _0801EAB0 @ =gProtectStructs - ldr r0, _0801EA90 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1, 0x1] -_0801EA70: - ldr r1, _0801EAB4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801EA84: .4byte gTypeEffectiveness -_0801EA88: .4byte gBattleMons -_0801EA8C: .4byte gBattlerTarget -_0801EA90: .4byte gBattlerAttacker -_0801EA94: .4byte gCurrentMove -_0801EA98: .4byte gMoveResultFlags -_0801EA9C: .4byte gBattleMoves -_0801EAA0: .4byte gLastUsedAbility -_0801EAA4: .4byte gLastLandedMoves -_0801EAA8: .4byte gLastHitByType -_0801EAAC: .4byte gBattleCommunication -_0801EAB0: .4byte gProtectStructs -_0801EAB4: .4byte gBattlescriptCurrInstr - thumb_func_end atk06_typecalc - - thumb_func_start CheckWonderGuardAndLevitate -CheckWonderGuardAndLevitate: @ 801EAB8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - movs r5, 0 - ldr r0, _0801EAF8 @ =gCurrentMove - ldrh r1, [r0] - mov r9, r0 - cmp r1, 0xA5 - bne _0801EAD0 - b _0801ED18 -_0801EAD0: - ldr r2, _0801EAFC @ =gBattleMoves - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0801EAE2 - b _0801ED18 -_0801EAE2: - ldr r0, _0801EB00 @ =gBattleStruct - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _0801EB04 - movs r1, 0x3F - mov r12, r1 - mov r2, r12 - ands r2, r0 - mov r12, r2 - b _0801EB08 - .align 2, 0 -_0801EAF8: .4byte gCurrentMove -_0801EAFC: .4byte gBattleMoves -_0801EB00: .4byte gBattleStruct -_0801EB04: - ldrb r1, [r1, 0x2] - mov r12, r1 -_0801EB08: - ldr r2, _0801EB3C @ =gBattleMons - ldr r3, _0801EB40 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r1, [r0] - adds r7, r2, 0 - mov r8, r3 - cmp r1, 0x1A - bne _0801EB4C - mov r0, r12 - cmp r0, 0x4 - bne _0801EB4C - ldr r0, _0801EB44 @ =gLastUsedAbility - strb r1, [r0] - ldr r0, _0801EB48 @ =gBattleCommunication - mov r1, r12 - strb r1, [r0, 0x6] - ldrb r0, [r3] - movs r1, 0x1A - bl RecordAbilityBattle - b _0801ED18 - .align 2, 0 -_0801EB3C: .4byte gBattleMons -_0801EB40: .4byte gBattlerTarget -_0801EB44: .4byte gLastUsedAbility -_0801EB48: .4byte gBattleCommunication -_0801EB4C: - ldr r1, _0801EB58 @ =gTypeEffectiveness - adds r0, r5, r1 - ldrb r0, [r0] - adds r4, r1, 0 - b _0801EC9E - .align 2, 0 -_0801EB58: .4byte gTypeEffectiveness -_0801EB5C: - adds r0, r5, r4 - ldrb r0, [r0] - cmp r0, r12 - beq _0801EB66 - b _0801EC98 -_0801EB66: - adds r2, r5, 0x1 - adds r3, r2, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r3] - adds r3, r2, 0 - ldrb r0, [r0] - cmp r1, r0 - bne _0801EBA6 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0801EBA6 - ldr r2, _0801ED24 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801ED28 @ =gProtectStructs - ldr r0, _0801ED2C @ =gBattlerAttacker - ldrb r2, [r0] - lsls r2, 4 - adds r2, r1 - ldrb r0, [r2, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1] -_0801EBA6: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801EBEC - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801EBEC - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0801EBEC - ldr r2, _0801ED24 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801ED28 @ =gProtectStructs - ldr r0, _0801ED2C @ =gBattlerAttacker - ldrb r2, [r0] - lsls r2, 4 - adds r2, r1 - ldrb r0, [r2, 0x1] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1] -_0801EBEC: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bne _0801EC10 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0801EC10 - movs r0, 0x1 - orrs r6, r0 -_0801EC10: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801EC3E - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801EC3E - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x14 - bne _0801EC3E - movs r0, 0x1 - orrs r6, r0 -_0801EC3E: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x21 - ldrb r1, [r2] - ldrb r0, [r0] - cmp r1, r0 - bne _0801EC66 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x5 - bne _0801EC66 - movs r0, 0x2 - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0801EC66: - adds r2, r3, r4 - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _0801EC98 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _0801EC98 - adds r0, r5, 0x2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0x5 - bne _0801EC98 - movs r0, 0x2 - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0801EC98: - adds r5, 0x3 - adds r0, r5, r4 - ldrb r0, [r0] -_0801EC9E: - cmp r0, 0xFF - beq _0801ECC2 - cmp r0, 0xFE - beq _0801ECA8 - b _0801EB5C -_0801ECA8: - mov r2, r8 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r1, r7, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801EC98 -_0801ECC2: - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7 - adds r0, 0x20 - ldrb r4, [r0] - cmp r4, 0x19 - bne _0801ED18 - ldr r0, _0801ED2C @ =gBattlerAttacker - ldrb r0, [r0] - mov r2, r9 - ldrh r1, [r2] - bl AttacksThisTurn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0801ED18 - movs r0, 0x3 - ands r6, r0 - cmp r6, 0x1 - beq _0801ED18 - ldr r2, _0801ED30 @ =gBattleMoves - mov r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0801ED18 - ldr r0, _0801ED34 @ =gLastUsedAbility - strb r4, [r0] - ldr r1, _0801ED38 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x19 - bl RecordAbilityBattle -_0801ED18: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801ED24: .4byte gMoveResultFlags -_0801ED28: .4byte gProtectStructs -_0801ED2C: .4byte gBattlerAttacker -_0801ED30: .4byte gBattleMoves -_0801ED34: .4byte gLastUsedAbility -_0801ED38: .4byte gBattleCommunication - thumb_func_end CheckWonderGuardAndLevitate - - thumb_func_start ModulateDmgByType2 -ModulateDmgByType2: @ 801ED3C - push {r4-r7,lr} - adds r6, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r7, _0801ED70 @ =gBattleMoveDamage - ldr r0, [r7] - muls r0, r4 - movs r1, 0xA - bl __divsi3 - str r0, [r7] - cmp r0, 0 - bne _0801ED62 - cmp r4, 0 - beq _0801ED62 - movs r0, 0x1 - str r0, [r7] -_0801ED62: - cmp r4, 0x5 - beq _0801ED8A - cmp r4, 0x5 - bgt _0801ED74 - cmp r4, 0 - beq _0801ED7A - b _0801EDEE - .align 2, 0 -_0801ED70: .4byte gBattleMoveDamage -_0801ED74: - cmp r4, 0x14 - beq _0801EDBC - b _0801EDEE -_0801ED7A: - ldrb r0, [r6] - movs r1, 0x8 - orrs r0, r1 - movs r1, 0xFB - ands r0, r1 - movs r1, 0xFD - ands r0, r1 - b _0801EDEC -_0801ED8A: - ldr r0, _0801EDB4 @ =gBattleMoves - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801EDEE - ldrb r1, [r6] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801EDEE - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801EDB8 - movs r0, 0xFD - ands r0, r1 - b _0801EDEC - .align 2, 0 -_0801EDB4: .4byte gBattleMoves -_0801EDB8: - movs r0, 0x4 - b _0801EDEA -_0801EDBC: - ldr r0, _0801EDE4 @ =gBattleMoves - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801EDEE - ldrb r1, [r6] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801EDEE - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801EDE8 - movs r0, 0xFB - ands r0, r1 - b _0801EDEC - .align 2, 0 -_0801EDE4: .4byte gBattleMoves -_0801EDE8: - movs r0, 0x2 -_0801EDEA: - orrs r0, r1 -_0801EDEC: - strb r0, [r6] -_0801EDEE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ModulateDmgByType2 - - thumb_func_start TypeCalc -TypeCalc: @ 801EDF4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x4] - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - movs r0, 0 - mov r8, r0 - mov r0, sp - mov r1, r8 - strb r1, [r0] - mov r2, r10 - cmp r2, 0xA5 - bne _0801EE26 - movs r0, 0 - b _0801EFAE -_0801EE26: - ldr r1, _0801EE94 @ =gBattleMoves - mov r3, r10 - lsls r2, r3, 1 - adds r0, r2, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - str r0, [sp, 0x8] - ldr r1, _0801EE98 @ =gBattleMons - movs r0, 0x58 - ldr r3, [sp, 0x4] - muls r0, r3 - adds r3, r0, r1 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r0, [r0] - str r2, [sp, 0xC] - adds r5, r1, 0 - ldr r1, [sp, 0x8] - cmp r0, r1 - beq _0801EE5A - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - bne _0801EE6C -_0801EE5A: - ldr r4, _0801EE9C @ =gBattleMoveDamage - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - str r0, [r4] - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0801EE6C: - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1A - bne _0801EEA0 - ldr r3, [sp, 0x8] - cmp r3, 0x4 - bne _0801EEA0 - movs r1, 0x9 - mov r0, sp - ldrb r0, [r0] - orrs r0, r1 - mov r1, sp - strb r0, [r1] - b _0801EF50 - .align 2, 0 -_0801EE94: .4byte gBattleMoves -_0801EE98: .4byte gBattleMons -_0801EE9C: .4byte gBattleMoveDamage -_0801EEA0: - ldr r1, _0801EEBC @ =gTypeEffectiveness - mov r2, r8 - adds r0, r2, r1 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xFF - beq _0801EF50 - cmp r0, 0xFE - bne _0801EEC6 - movs r0, 0x58 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - b _0801EF3E - .align 2, 0 -_0801EEBC: .4byte gTypeEffectiveness -_0801EEC0: - movs r0, 0x3 - add r8, r0 - b _0801EF28 -_0801EEC6: - ldr r7, _0801EFC0 @ =gTypeEffectiveness - mov r1, r8 - adds r0, r1, r7 - ldrb r0, [r0] - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _0801EF20 - adds r1, 0x1 - adds r1, r7 - ldr r2, _0801EFC4 @ =gBattleMons - movs r0, 0x58 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r5, r0, r2 - adds r6, r5, 0 - adds r6, 0x21 - ldrb r4, [r1] - ldrb r0, [r6] - cmp r4, r0 - bne _0801EF00 - mov r0, r8 - adds r0, 0x2 - adds r0, r7 - ldrb r0, [r0] - mov r1, r10 - mov r2, sp - bl ModulateDmgByType2 -_0801EF00: - adds r0, r5, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r4, r0 - bne _0801EF20 - ldrb r0, [r6] - cmp r0, r4 - beq _0801EF20 - mov r0, r8 - adds r0, 0x2 - adds r0, r7 - ldrb r0, [r0] - mov r1, r10 - mov r2, sp - bl ModulateDmgByType2 -_0801EF20: - movs r1, 0x3 - add r8, r1 - ldr r5, _0801EFC4 @ =gBattleMons - ldr r2, _0801EFC0 @ =gTypeEffectiveness -_0801EF28: - mov r3, r8 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0801EF50 - cmp r0, 0xFE - bne _0801EEC6 - movs r0, 0x58 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 -_0801EF3E: - adds r1, r5, 0 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _0801EEC0 -_0801EF50: - movs r0, 0x58 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x19 - bne _0801EFAA - mov r0, sp - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0801EFAA - ldr r0, [sp, 0x4] - mov r1, r10 - bl AttacksThisTurn - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _0801EFAA - mov r0, sp - ldrb r3, [r0] - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0801EF92 - movs r0, 0x6 - ands r0, r3 - cmp r0, 0x6 - bne _0801EFAA -_0801EF92: - ldr r0, _0801EFC8 @ =gBattleMoves - ldr r1, [sp, 0xC] - add r1, r10 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801EFAA - mov r0, sp - movs r1, 0x1 - orrs r1, r3 - strb r1, [r0] -_0801EFAA: - mov r0, sp - ldrb r0, [r0] -_0801EFAE: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801EFC0: .4byte gTypeEffectiveness -_0801EFC4: .4byte gBattleMons -_0801EFC8: .4byte gBattleMoves - thumb_func_end TypeCalc - - thumb_func_start AI_TypeCalc -AI_TypeCalc: @ 801EFCC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - movs r7, 0 - mov r0, sp - strb r7, [r0] - ldr r2, _0801F008 @ =gBaseStats - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x6] - mov r9, r1 - ldrb r0, [r0, 0x7] - mov r8, r0 - cmp r6, 0xA5 - bne _0801F00C - movs r0, 0 - b _0801F0B0 - .align 2, 0 -_0801F008: .4byte gBaseStats -_0801F00C: - ldr r2, _0801F030 @ =gBattleMoves - lsls r1, r6, 1 - adds r0, r1, r6 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r10, r0 - str r1, [sp, 0x8] - ldr r3, [sp, 0x4] - cmp r3, 0x1A - bne _0801F034 - cmp r0, 0x4 - bne _0801F034 - movs r1, 0x9 - mov r0, sp - strb r1, [r0] - b _0801F07A - .align 2, 0 -_0801F030: .4byte gBattleMoves -_0801F034: - ldr r0, _0801F0C0 @ =gTypeEffectiveness - adds r1, r7, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0801F07A - adds r4, r1, 0 -_0801F040: - ldrb r0, [r4] - cmp r0, 0xFE - beq _0801F06C - cmp r0, r10 - bne _0801F06C - ldrb r5, [r4, 0x1] - cmp r5, r9 - bne _0801F05A - ldrb r0, [r4, 0x2] - adds r1, r6, 0 - mov r2, sp - bl ModulateDmgByType2 -_0801F05A: - cmp r5, r8 - bne _0801F06C - cmp r9, r8 - beq _0801F06C - ldrb r0, [r4, 0x2] - adds r1, r6, 0 - mov r2, sp - bl ModulateDmgByType2 -_0801F06C: - adds r4, 0x3 - adds r7, 0x3 - ldr r1, _0801F0C0 @ =gTypeEffectiveness - adds r0, r7, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0801F040 -_0801F07A: - ldr r3, [sp, 0x4] - cmp r3, 0x19 - bne _0801F0AC - mov r0, sp - ldrb r2, [r0] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0801F094 - movs r0, 0x6 - ands r0, r2 - cmp r0, 0x6 - bne _0801F0AC -_0801F094: - ldr r0, _0801F0C4 @ =gBattleMoves - ldr r3, [sp, 0x8] - adds r1, r3, r6 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0 - beq _0801F0AC - mov r0, sp - movs r1, 0x8 - orrs r1, r2 - strb r1, [r0] -_0801F0AC: - mov r0, sp - ldrb r0, [r0] -_0801F0B0: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0801F0C0: .4byte gTypeEffectiveness -_0801F0C4: .4byte gBattleMoves - thumb_func_end AI_TypeCalc - - thumb_func_start Unused_ApplyRandomDmgMultiplier -Unused_ApplyRandomDmgMultiplier: @ 801F0C8 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801F100 @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801F0FA - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801F0FA - movs r0, 0x1 - str r0, [r4] -_0801F0FA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801F100: .4byte gBattleMoveDamage - thumb_func_end Unused_ApplyRandomDmgMultiplier - - thumb_func_start atk07_adjustnormaldamage -atk07_adjustnormaldamage: @ 801F104 - push {r4-r7,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801F15C @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801F136 - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801F136 - movs r0, 0x1 - str r0, [r4] -_0801F136: - ldr r7, _0801F160 @ =gBattleMons - ldr r6, _0801F164 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801F16C - ldr r1, _0801F168 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0801F186 - .align 2, 0 -_0801F15C: .4byte gBattleMoveDamage -_0801F160: .4byte gBattleMons -_0801F164: .4byte gBattlerTarget -_0801F168: .4byte gEnigmaBerries -_0801F16C: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0801F186: - ldr r1, _0801F248 @ =gPotentialItemEffectBattler - ldr r5, _0801F24C @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0801F1C4 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0801F1C4 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _0801F250 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0801F1C4: - ldr r2, _0801F254 @ =gBattleMons - ldr r3, _0801F24C @ =gBattlerTarget - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r1, r0 - adds r5, r2, 0 - cmp r1, 0 - bne _0801F294 - ldr r2, _0801F258 @ =gBattleMoves - ldr r0, _0801F25C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x65 - beq _0801F216 - ldr r0, _0801F260 @ =gProtectStructs - lsls r1, r4, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _0801F216 - ldr r0, _0801F250 @ =gSpecialStatuses - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F294 -_0801F216: - ldrb r0, [r3] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r1, [r0, 0x28] - ldr r2, _0801F264 @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0801F294 - subs r0, r1, 0x1 - str r0, [r2] - ldr r1, _0801F260 @ =gProtectStructs - ldrb r3, [r3] - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _0801F26C - ldr r0, _0801F268 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0801F294 - .align 2, 0 -_0801F248: .4byte gPotentialItemEffectBattler -_0801F24C: .4byte gBattlerTarget -_0801F250: .4byte gSpecialStatuses -_0801F254: .4byte gBattleMons -_0801F258: .4byte gBattleMoves -_0801F25C: .4byte gCurrentMove -_0801F260: .4byte gProtectStructs -_0801F264: .4byte gBattleMoveDamage -_0801F268: .4byte gMoveResultFlags -_0801F26C: - ldr r0, _0801F2A4 @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F294 - ldr r2, _0801F2A8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801F2AC @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0801F294: - ldr r1, _0801F2B0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801F2A4: .4byte gSpecialStatuses -_0801F2A8: .4byte gMoveResultFlags -_0801F2AC: .4byte gLastUsedItem -_0801F2B0: .4byte gBattlescriptCurrInstr - thumb_func_end atk07_adjustnormaldamage - - thumb_func_start atk08_adjustnormaldamage2 -atk08_adjustnormaldamage2: @ 801F2B4 - push {r4-r7,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF - ands r0, r1 - movs r1, 0x64 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _0801F30C @ =gBattleMoveDamage - ldr r0, [r4] - cmp r0, 0 - beq _0801F2E6 - muls r0, r1 - str r0, [r4] - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _0801F2E6 - movs r0, 0x1 - str r0, [r4] -_0801F2E6: - ldr r7, _0801F310 @ =gBattleMons - ldr r6, _0801F314 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0801F31C - ldr r1, _0801F318 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0801F336 - .align 2, 0 -_0801F30C: .4byte gBattleMoveDamage -_0801F310: .4byte gBattleMons -_0801F314: .4byte gBattlerTarget -_0801F318: .4byte gEnigmaBerries -_0801F31C: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0801F336: - ldr r1, _0801F3DC @ =gPotentialItemEffectBattler - ldr r5, _0801F3E0 @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0801F374 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0801F374 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _0801F3E4 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0801F374: - ldr r4, _0801F3E8 @ =gBattleMons - ldr r6, _0801F3E0 @ =gBattlerTarget - ldrb r2, [r6] - movs r7, 0x58 - adds r3, r2, 0 - muls r3, r7 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - bne _0801F420 - ldr r5, _0801F3EC @ =gProtectStructs - lsls r0, r2, 4 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - blt _0801F3B2 - ldr r0, _0801F3E4 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F420 -_0801F3B2: - adds r0, r3, r4 - ldrh r1, [r0, 0x28] - ldr r2, _0801F3F0 @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0801F420 - subs r0, r1, 0x1 - str r0, [r2] - ldrb r3, [r6] - lsls r0, r3, 4 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _0801F3F8 - ldr r0, _0801F3F4 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0801F420 - .align 2, 0 -_0801F3DC: .4byte gPotentialItemEffectBattler -_0801F3E0: .4byte gBattlerTarget -_0801F3E4: .4byte gSpecialStatuses -_0801F3E8: .4byte gBattleMons -_0801F3EC: .4byte gProtectStructs -_0801F3F0: .4byte gBattleMoveDamage -_0801F3F4: .4byte gMoveResultFlags -_0801F3F8: - ldr r0, _0801F430 @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0801F420 - ldr r2, _0801F434 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0801F438 @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r7 - adds r0, r4 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0801F420: - ldr r1, _0801F43C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801F430: .4byte gSpecialStatuses -_0801F434: .4byte gMoveResultFlags -_0801F438: .4byte gLastUsedItem -_0801F43C: .4byte gBattlescriptCurrInstr - thumb_func_end atk08_adjustnormaldamage2 - - thumb_func_start atk09_attackanimation -atk09_attackanimation: @ 801F440 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - ldr r0, _0801F488 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801F452 - b _0801F572 -_0801F452: - ldr r0, _0801F48C @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - ldr r3, _0801F490 @ =gCurrentMove - cmp r0, 0 - beq _0801F4A0 - ldrh r0, [r3] - cmp r0, 0x90 - beq _0801F4A0 - cmp r0, 0xA4 - beq _0801F4A0 - ldr r4, _0801F494 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _0801F498 @ =BattleScript_Pausex20 - str r0, [r4] - ldr r1, _0801F49C @ =gBattleScripting - ldrb r0, [r1, 0x18] - adds r0, 0x1 - strb r0, [r1, 0x18] - ldrb r0, [r1, 0x19] - adds r0, 0x1 - strb r0, [r1, 0x19] - b _0801F572 - .align 2, 0 -_0801F488: .4byte gBattleControllerExecFlags -_0801F48C: .4byte gHitMarker -_0801F490: .4byte gCurrentMove -_0801F494: .4byte gBattlescriptCurrInstr -_0801F498: .4byte BattleScript_Pausex20 -_0801F49C: .4byte gBattleScripting -_0801F4A0: - ldr r2, _0801F53C @ =gBattleMoves - ldrh r1, [r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0801F4C6 - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0801F4C6 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0801F4CE -_0801F4C6: - ldr r0, _0801F540 @ =gBattleScripting - ldrb r0, [r0, 0x19] - cmp r0, 0 - bne _0801F530 -_0801F4CE: - ldr r0, _0801F544 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801F564 - ldr r1, _0801F548 @ =gActiveBattler - ldr r0, _0801F54C @ =gBattlerAttacker - mov r8, r0 - ldrb r0, [r0] - strb r0, [r1] - ldrh r1, [r3] - ldr r6, _0801F540 @ =gBattleScripting - ldrb r2, [r6, 0x18] - ldr r0, _0801F550 @ =gBattleMovePower - ldrh r3, [r0] - ldr r0, _0801F554 @ =gBattleMoveDamage - ldr r0, [r0] - str r0, [sp] - ldr r5, _0801F558 @ =gBattleMons - mov r0, r8 - ldrb r4, [r0] - movs r0, 0x58 - muls r0, r4 - adds r0, r5 - adds r0, 0x2B - ldrb r0, [r0] - str r0, [sp, 0x4] - mov r0, r8 - ldrb r4, [r0] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r4, _0801F55C @ =gDisableStructs - adds r0, r4 - str r0, [sp, 0x8] - movs r0, 0 - bl BtlController_EmitMoveAnimation - ldrb r0, [r6, 0x18] - adds r0, 0x1 - strb r0, [r6, 0x18] - ldrb r0, [r6, 0x19] - adds r0, 0x1 - strb r0, [r6, 0x19] - mov r1, r8 - ldrb r0, [r1] - bl MarkBattlerForControllerExec -_0801F530: - ldr r1, _0801F560 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0801F572 - .align 2, 0 -_0801F53C: .4byte gBattleMoves -_0801F540: .4byte gBattleScripting -_0801F544: .4byte gMoveResultFlags -_0801F548: .4byte gActiveBattler -_0801F54C: .4byte gBattlerAttacker -_0801F550: .4byte gBattleMovePower -_0801F554: .4byte gBattleMoveDamage -_0801F558: .4byte gBattleMons -_0801F55C: .4byte gDisableStructs -_0801F560: .4byte gBattlescriptCurrInstr -_0801F564: - ldr r4, _0801F580 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _0801F584 @ =BattleScript_Pausex20 - str r0, [r4] -_0801F572: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801F580: .4byte gBattlescriptCurrInstr -_0801F584: .4byte BattleScript_Pausex20 - thumb_func_end atk09_attackanimation - - thumb_func_start atk0A_waitanimation -atk0A_waitanimation: @ 801F588 - push {lr} - ldr r0, _0801F5A0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801F59A - ldr r1, _0801F5A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801F59A: - pop {r0} - bx r0 - .align 2, 0 -_0801F5A0: .4byte gBattleControllerExecFlags -_0801F5A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk0A_waitanimation - - thumb_func_start atk0B_healthbarupdate -atk0B_healthbarupdate: @ 801F5A8 - push {r4,lr} - ldr r0, _0801F60C @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801F66A - ldr r0, _0801F610 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801F662 - ldr r0, _0801F614 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r2, _0801F618 @ =gActiveBattler - strb r0, [r2] - ldr r1, _0801F61C @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0801F628 - ldr r0, _0801F620 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - beq _0801F628 - ldr r0, _0801F624 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - bne _0801F628 - movs r0, 0x80 - adds r1, r2, 0 - bl PrepareStringBattle - b _0801F662 - .align 2, 0 -_0801F60C: .4byte gBattleControllerExecFlags -_0801F610: .4byte gMoveResultFlags -_0801F614: .4byte gBattlescriptCurrInstr -_0801F618: .4byte gActiveBattler -_0801F61C: .4byte gBattleMons -_0801F620: .4byte gDisableStructs -_0801F624: .4byte gHitMarker -_0801F628: - ldr r0, _0801F670 @ =gBattleMoveDamage - ldr r0, [r0] - ldr r1, _0801F674 @ =0x00002710 - cmp r0, r1 - bgt _0801F636 - lsls r0, 16 - lsrs r1, r0, 16 -_0801F636: - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldr r4, _0801F678 @ =gActiveBattler - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0801F662 - ldr r0, _0801F670 @ =gBattleMoveDamage - ldr r0, [r0] - cmp r0, 0 - ble _0801F662 - ldr r0, _0801F67C @ =gBattleResults - ldrb r1, [r0, 0x5] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x5] -_0801F662: - ldr r1, _0801F680 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0801F66A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801F670: .4byte gBattleMoveDamage -_0801F674: .4byte 0x00002710 -_0801F678: .4byte gActiveBattler -_0801F67C: .4byte gBattleResults -_0801F680: .4byte gBattlescriptCurrInstr - thumb_func_end atk0B_healthbarupdate - - thumb_func_start atk0C_datahpupdate -atk0C_datahpupdate: @ 801F684 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _0801F6AC @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801F692 - b _0801FA62 -_0801F692: - ldr r0, _0801F6B0 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x13] - cmp r1, 0 - beq _0801F6B4 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0801F6B4 - movs r6, 0x3F - ands r6, r1 - b _0801F6C4 - .align 2, 0 -_0801F6AC: .4byte gBattleControllerExecFlags -_0801F6B0: .4byte gBattleStruct -_0801F6B4: - ldr r2, _0801F750 @ =gBattleMoves - ldr r0, _0801F754 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r6, [r0, 0x2] -_0801F6C4: - ldr r0, _0801F758 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0801F6D2 - b _0801FA34 -_0801F6D2: - ldr r0, _0801F75C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r7, _0801F760 @ =gActiveBattler - strb r0, [r7] - ldr r1, _0801F764 @ =gBattleMons - ldrb r2, [r7] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0801F7E8 - ldr r0, _0801F768 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r4, r1, r0 - ldrb r1, [r4, 0xA] - mov r12, r0 - cmp r1, 0 - beq _0801F7E8 - ldr r0, _0801F76C @ =gHitMarker - ldr r3, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r3, r0 - cmp r3, 0 - bne _0801F7E8 - adds r5, r1, 0 - ldr r6, _0801F770 @ =gBattleMoveDamage - ldr r4, [r6] - cmp r5, r4 - blt _0801F77C - ldr r0, _0801F774 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _0801F736 - str r4, [r1] -_0801F736: - ldrb r0, [r7] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r12 - ldr r2, [r6] - ldrb r0, [r1, 0xA] - subs r0, r2 - strb r0, [r1, 0xA] - ldr r1, _0801F778 @ =gHpDealt - ldr r0, [r6] - str r0, [r1] - b _0801F7AC - .align 2, 0 -_0801F750: .4byte gBattleMoves -_0801F754: .4byte gCurrentMove -_0801F758: .4byte gMoveResultFlags -_0801F75C: .4byte gBattlescriptCurrInstr -_0801F760: .4byte gActiveBattler -_0801F764: .4byte gBattleMons -_0801F768: .4byte gDisableStructs -_0801F76C: .4byte gHitMarker -_0801F770: .4byte gBattleMoveDamage -_0801F774: .4byte gSpecialStatuses -_0801F778: .4byte gHpDealt -_0801F77C: - ldr r0, _0801F7D4 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _0801F790 - str r5, [r1] -_0801F790: - ldr r2, _0801F7D8 @ =gHpDealt - ldrb r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0xA] - str r0, [r2] - ldrb r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - strb r3, [r0, 0xA] -_0801F7AC: - ldr r0, _0801F7DC @ =gActiveBattler - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _0801F7C0 - b _0801FA5A -_0801F7C0: - ldr r4, _0801F7E0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - bl BattleScriptPushCursor - ldr r0, _0801F7E4 @ =BattleScript_SubstituteFade - str r0, [r4] - b _0801FA62 - .align 2, 0 -_0801F7D4: .4byte gSpecialStatuses -_0801F7D8: .4byte gHpDealt -_0801F7DC: .4byte gActiveBattler -_0801F7E0: .4byte gBattlescriptCurrInstr -_0801F7E4: .4byte BattleScript_SubstituteFade -_0801F7E8: - ldr r0, _0801F828 @ =gHitMarker - ldr r2, [r0] - ldr r1, _0801F82C @ =0xfffffeff - ands r2, r1 - str r2, [r0] - ldr r1, _0801F830 @ =gBattleMoveDamage - ldr r5, [r1] - mov r12, r0 - adds r7, r1, 0 - cmp r5, 0 - bge _0801F83C - ldr r4, _0801F834 @ =gBattleMons - ldr r2, _0801F838 @ =gActiveBattler - ldrb r0, [r2] - movs r3, 0x58 - adds r1, r0, 0 - muls r1, r3 - adds r1, r4 - ldrh r0, [r1, 0x28] - subs r0, r5 - strh r0, [r1, 0x28] - ldrb r0, [r2] - muls r0, r3 - adds r1, r0, r4 - ldrh r3, [r1, 0x2C] - ldrh r0, [r1, 0x28] - adds r5, r2, 0 - cmp r0, r3 - bhi _0801F824 - b _0801F9FA -_0801F824: - strh r3, [r1, 0x28] - b _0801F9FA - .align 2, 0 -_0801F828: .4byte gHitMarker -_0801F82C: .4byte 0xfffffeff -_0801F830: .4byte gBattleMoveDamage -_0801F834: .4byte gBattleMons -_0801F838: .4byte gActiveBattler -_0801F83C: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _0801F858 - movs r0, 0x21 - negs r0, r0 - ands r2, r0 - mov r0, r12 - str r2, [r0] - ldr r5, _0801F854 @ =gActiveBattler - b _0801F8A0 - .align 2, 0 -_0801F854: .4byte gActiveBattler -_0801F858: - ldr r0, _0801F880 @ =gTakenDmg - ldr r2, _0801F884 @ =gActiveBattler - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - adds r0, r5 - str r0, [r1] - ldr r0, _0801F888 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - adds r5, r2, 0 - cmp r0, 0 - bne _0801F894 - ldr r1, _0801F88C @ =gTakenDmgByBattler - ldrb r0, [r5] - adds r0, r1 - ldr r1, _0801F890 @ =gBattlerAttacker - b _0801F89C - .align 2, 0 -_0801F880: .4byte gTakenDmg -_0801F884: .4byte gActiveBattler -_0801F888: .4byte gBattlescriptCurrInstr -_0801F88C: .4byte gTakenDmgByBattler -_0801F890: .4byte gBattlerAttacker -_0801F894: - ldr r1, _0801F8C0 @ =gTakenDmgByBattler - ldrb r0, [r5] - adds r0, r1 - ldr r1, _0801F8C4 @ =gBattlerTarget -_0801F89C: - ldrb r1, [r1] - strb r1, [r0] -_0801F8A0: - ldr r4, _0801F8C8 @ =gBattleMons - ldrb r0, [r5] - movs r3, 0x58 - muls r0, r3 - adds r2, r0, r4 - ldrh r0, [r2, 0x28] - ldr r1, [r7] - cmp r0, r1 - ble _0801F8D0 - subs r0, r1 - strh r0, [r2, 0x28] - ldr r0, _0801F8CC @ =gHpDealt - str r1, [r0] - adds r7, r0, 0 - b _0801F8E0 - .align 2, 0 -_0801F8C0: .4byte gTakenDmgByBattler -_0801F8C4: .4byte gBattlerTarget -_0801F8C8: .4byte gBattleMons -_0801F8CC: .4byte gHpDealt -_0801F8D0: - ldr r2, _0801F954 @ =gHpDealt - str r0, [r2] - ldrb r0, [r5] - muls r0, r3 - adds r0, r4 - movs r1, 0 - strh r1, [r0, 0x28] - adds r7, r2, 0 -_0801F8E0: - ldr r2, _0801F958 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r2, 0x4 - adds r3, r0, r1 - ldr r0, [r3] - adds r4, r2, 0 - cmp r0, 0 - bne _0801F908 - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801F908 - ldr r0, [r7] - str r0, [r3] -_0801F908: - cmp r6, 0x8 - bhi _0801F990 - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801F98C - ldr r0, _0801F95C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xDC - beq _0801F98C - ldr r3, _0801F960 @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r1, r3, 0x4 - adds r0, r1 - ldr r2, [r7] - str r2, [r0] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x8 - adds r0, r1 - str r2, [r0] - ldr r0, _0801F964 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0801F96C - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801F968 @ =gBattlerAttacker - b _0801F974 - .align 2, 0 -_0801F954: .4byte gHpDealt -_0801F958: .4byte gSpecialStatuses -_0801F95C: .4byte gCurrentMove -_0801F960: .4byte gProtectStructs -_0801F964: .4byte gBattlescriptCurrInstr -_0801F968: .4byte gBattlerAttacker -_0801F96C: - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801F988 @ =gBattlerTarget -_0801F974: - ldrb r1, [r2] - strb r1, [r0, 0xC] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r2] - strb r1, [r0, 0x10] - b _0801F9FA - .align 2, 0 -_0801F988: .4byte gBattlerTarget -_0801F98C: - cmp r6, 0x8 - bls _0801F9FA -_0801F990: - mov r1, r12 - ldr r0, [r1] - movs r1, 0x80 - lsls r1, 13 - ands r0, r1 - cmp r0, 0 - bne _0801F9FA - ldr r3, _0801F9D4 @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r1, r3, 0 - adds r1, 0x8 - adds r0, r1 - ldr r2, [r7] - str r2, [r0] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0xC - adds r0, r1 - str r2, [r0] - ldr r0, _0801F9D8 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _0801F9E0 - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801F9DC @ =gBattlerAttacker - b _0801F9E8 - .align 2, 0 -_0801F9D4: .4byte gProtectStructs -_0801F9D8: .4byte gBattlescriptCurrInstr -_0801F9DC: .4byte gBattlerAttacker -_0801F9E0: - ldrb r0, [r5] - lsls r0, 4 - adds r0, r3 - ldr r2, _0801FA28 @ =gBattlerTarget -_0801F9E8: - ldrb r1, [r2] - strb r1, [r0, 0xD] - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r2] - strb r1, [r0, 0x11] -_0801F9FA: - mov r1, r12 - ldr r0, [r1] - ldr r1, _0801FA2C @ =0xffefffff - ands r0, r1 - mov r1, r12 - str r0, [r1] - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - ldr r1, _0801FA30 @ =gUnknown_2023C0C - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2A - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r5] - bl MarkBattlerForControllerExec - b _0801FA5A - .align 2, 0 -_0801FA28: .4byte gBattlerTarget -_0801FA2C: .4byte 0xffefffff -_0801FA30: .4byte gUnknown_2023C0C -_0801FA34: - ldr r0, _0801FA6C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _0801FA70 @ =gActiveBattler - strb r0, [r1] - ldr r2, _0801FA74 @ =gSpecialStatuses - ldrb r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r1, r0, r2 - ldr r0, [r1] - cmp r0, 0 - bne _0801FA5A - ldr r0, _0801FA78 @ =0x0000ffff - str r0, [r1] -_0801FA5A: - ldr r1, _0801FA6C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_0801FA62: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801FA6C: .4byte gBattlescriptCurrInstr -_0801FA70: .4byte gActiveBattler -_0801FA74: .4byte gSpecialStatuses -_0801FA78: .4byte 0x0000ffff - thumb_func_end atk0C_datahpupdate - - thumb_func_start atk0D_critmessage -atk0D_critmessage: @ 801FA7C - push {lr} - ldr r0, _0801FAB8 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FAB2 - ldr r0, _0801FABC @ =gCritMultiplier - ldrb r0, [r0] - cmp r0, 0x2 - bne _0801FAAA - ldr r0, _0801FAC0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _0801FAAA - ldr r0, _0801FAC4 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0xD9 - bl PrepareStringBattle - ldr r1, _0801FAC8 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] -_0801FAAA: - ldr r1, _0801FACC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801FAB2: - pop {r0} - bx r0 - .align 2, 0 -_0801FAB8: .4byte gBattleControllerExecFlags -_0801FABC: .4byte gCritMultiplier -_0801FAC0: .4byte gMoveResultFlags -_0801FAC4: .4byte gBattlerAttacker -_0801FAC8: .4byte gBattleCommunication -_0801FACC: .4byte gBattlescriptCurrInstr - thumb_func_end atk0D_critmessage - - thumb_func_start atk0E_effectivenesssound -atk0E_effectivenesssound: @ 801FAD0 - push {r4,lr} - ldr r0, _0801FB08 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FB90 - ldr r4, _0801FB0C @ =gActiveBattler - ldr r0, _0801FB10 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r4] - ldr r1, _0801FB14 @ =gMoveResultFlags - ldrb r2, [r1] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _0801FB88 - movs r0, 0xFE - ands r0, r2 - cmp r0, 0x10 - beq _0801FB42 - cmp r0, 0x10 - bgt _0801FB1E - cmp r0, 0x4 - beq _0801FB32 - cmp r0, 0x4 - bgt _0801FB18 - cmp r0, 0x2 - beq _0801FB2C - b _0801FB42 - .align 2, 0 -_0801FB08: .4byte gBattleControllerExecFlags -_0801FB0C: .4byte gActiveBattler -_0801FB10: .4byte gBattlerTarget -_0801FB14: .4byte gMoveResultFlags -_0801FB18: - cmp r0, 0x8 - beq _0801FB88 - b _0801FB42 -_0801FB1E: - cmp r0, 0x40 - beq _0801FB42 - cmp r0, 0x40 - bgt _0801FB42 - cmp r0, 0x20 - beq _0801FB88 - b _0801FB42 -_0801FB2C: - movs r0, 0 - movs r1, 0xE - b _0801FB36 -_0801FB32: - movs r0, 0 - movs r1, 0xC -_0801FB36: - bl BtlController_EmitPlaySE - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0801FB88 -_0801FB42: - ldrb r1, [r1] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0801FB52 - movs r0, 0 - movs r1, 0xE - b _0801FB5E -_0801FB52: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0801FB70 - movs r0, 0 - movs r1, 0xC -_0801FB5E: - bl BtlController_EmitPlaySE - ldr r0, _0801FB6C @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - b _0801FB88 - .align 2, 0 -_0801FB6C: .4byte gActiveBattler -_0801FB70: - movs r0, 0x28 - ands r0, r1 - cmp r0, 0 - bne _0801FB88 - movs r0, 0 - movs r1, 0xD - bl BtlController_EmitPlaySE - ldr r0, _0801FB98 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec -_0801FB88: - ldr r1, _0801FB9C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0801FB90: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801FB98: .4byte gActiveBattler -_0801FB9C: .4byte gBattlescriptCurrInstr - thumb_func_end atk0E_effectivenesssound - - thumb_func_start atk0F_resultmessage -atk0F_resultmessage: @ 801FBA0 - push {r4-r7,lr} - movs r3, 0 - ldr r0, _0801FBDC @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0801FBAE - b _0801FD40 -_0801FBAE: - ldr r1, _0801FBE0 @ =gMoveResultFlags - ldrb r2, [r1] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - adds r6, r1, 0 - ldr r7, _0801FBE4 @ =gBattleCommunication - cmp r0, 0 - beq _0801FBEC - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _0801FBCE - ldrb r0, [r7, 0x6] - cmp r0, 0x2 - bls _0801FBEC -_0801FBCE: - ldr r1, _0801FBE8 @ =gMissStringIds - ldrb r0, [r7, 0x6] - lsls r0, 1 - adds r0, r1 - ldrh r3, [r0] - strb r4, [r7, 0x7] - b _0801FD2A - .align 2, 0 -_0801FBDC: .4byte gBattleControllerExecFlags -_0801FBE0: .4byte gMoveResultFlags -_0801FBE4: .4byte gBattleCommunication -_0801FBE8: .4byte gMissStringIds -_0801FBEC: - movs r0, 0x1 - strb r0, [r7, 0x7] - ldrb r5, [r6] - movs r0, 0xFE - ands r0, r5 - cmp r0, 0x10 - beq _0801FC30 - cmp r0, 0x10 - bgt _0801FC12 - cmp r0, 0x4 - beq _0801FC2C - cmp r0, 0x4 - bgt _0801FC0C - cmp r0, 0x2 - beq _0801FC28 - b _0801FC78 -_0801FC0C: - cmp r0, 0x8 - beq _0801FC84 - b _0801FC78 -_0801FC12: - cmp r0, 0x40 - beq _0801FC34 - cmp r0, 0x40 - bgt _0801FC22 - cmp r0, 0x20 - bne _0801FC20 - b _0801FD24 -_0801FC20: - b _0801FC78 -_0801FC22: - cmp r0, 0x80 - beq _0801FC38 - b _0801FC78 -_0801FC28: - movs r3, 0xDE - b _0801FD2E -_0801FC2C: - movs r3, 0xDD - b _0801FD2E -_0801FC30: - movs r3, 0xDA - b _0801FD2E -_0801FC34: - movs r3, 0x99 - b _0801FD2E -_0801FC38: - ldr r4, _0801FC60 @ =gLastUsedItem - ldr r2, _0801FC64 @ =gBattleMons - ldr r3, _0801FC68 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - ldr r1, _0801FC6C @ =gPotentialItemEffectBattler - ldrb r0, [r3] - strb r0, [r1] - movs r0, 0x3F - ands r0, r5 - strb r0, [r6] - bl BattleScriptPushCursor - ldr r1, _0801FC70 @ =gBattlescriptCurrInstr - ldr r0, _0801FC74 @ =BattleScript_HangedOnMsg - b _0801FD3E - .align 2, 0 -_0801FC60: .4byte gLastUsedItem -_0801FC64: .4byte gBattleMons -_0801FC68: .4byte gBattlerTarget -_0801FC6C: .4byte gPotentialItemEffectBattler -_0801FC70: .4byte gBattlescriptCurrInstr -_0801FC74: .4byte BattleScript_HangedOnMsg -_0801FC78: - adds r2, r6, 0 - ldrb r5, [r2] - movs r0, 0x8 - ands r0, r5 - cmp r0, 0 - beq _0801FC88 -_0801FC84: - movs r3, 0x1B - b _0801FD2E -_0801FC88: - movs r0, 0x10 - ands r0, r5 - cmp r0, 0 - beq _0801FCB0 - movs r0, 0xEF - ands r0, r5 - movs r1, 0xFD - ands r0, r1 - movs r1, 0xFB - ands r0, r1 - strb r0, [r2] - bl BattleScriptPushCursor - ldr r1, _0801FCA8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCAC @ =BattleScript_OneHitKOMsg - b _0801FD3E - .align 2, 0 -_0801FCA8: .4byte gBattlescriptCurrInstr -_0801FCAC: .4byte BattleScript_OneHitKOMsg -_0801FCB0: - movs r0, 0x40 - ands r0, r5 - cmp r0, 0 - beq _0801FCD0 - movs r0, 0x3F - ands r0, r5 - strb r0, [r2] - bl BattleScriptPushCursor - ldr r1, _0801FCC8 @ =gBattlescriptCurrInstr - ldr r0, _0801FCCC @ =BattleScript_EnduredMsg - b _0801FD3E - .align 2, 0 -_0801FCC8: .4byte gBattlescriptCurrInstr -_0801FCCC: .4byte BattleScript_EnduredMsg -_0801FCD0: - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - beq _0801FD18 - ldr r4, _0801FD00 @ =gLastUsedItem - ldr r2, _0801FD04 @ =gBattleMons - ldr r3, _0801FD08 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r4] - ldr r1, _0801FD0C @ =gPotentialItemEffectBattler - ldrb r0, [r3] - strb r0, [r1] - movs r0, 0x3F - ands r0, r5 - strb r0, [r6] - bl BattleScriptPushCursor - ldr r1, _0801FD10 @ =gBattlescriptCurrInstr - ldr r0, _0801FD14 @ =BattleScript_HangedOnMsg - b _0801FD3E - .align 2, 0 -_0801FD00: .4byte gLastUsedItem -_0801FD04: .4byte gBattleMons -_0801FD08: .4byte gBattlerTarget -_0801FD0C: .4byte gPotentialItemEffectBattler -_0801FD10: .4byte gBattlescriptCurrInstr -_0801FD14: .4byte BattleScript_HangedOnMsg -_0801FD18: - movs r0, 0x20 - ands r0, r5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0801FD28 -_0801FD24: - movs r3, 0xE5 - b _0801FD2E -_0801FD28: - strb r0, [r7, 0x7] -_0801FD2A: - cmp r3, 0 - beq _0801FD38 -_0801FD2E: - adds r0, r3, 0 - ldr r1, _0801FD48 @ =gBattlerAttacker - ldrb r1, [r1] - bl PrepareStringBattle -_0801FD38: - ldr r1, _0801FD4C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0801FD3E: - str r0, [r1] -_0801FD40: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0801FD48: .4byte gBattlerAttacker -_0801FD4C: .4byte gBattlescriptCurrInstr - thumb_func_end atk0F_resultmessage - - thumb_func_start atk10_printstring -atk10_printstring: @ 801FD50 - push {r4,lr} - ldr r0, _0801FD80 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FD7A - ldr r4, _0801FD84 @ =gBattlescriptCurrInstr - ldr r1, [r4] - ldrb r0, [r1, 0x1] - ldrb r1, [r1, 0x2] - lsls r1, 8 - orrs r0, r1 - ldr r1, _0801FD88 @ =gBattlerAttacker - ldrb r1, [r1] - bl PrepareStringBattle - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - ldr r1, _0801FD8C @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] -_0801FD7A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0801FD80: .4byte gBattleControllerExecFlags -_0801FD84: .4byte gBattlescriptCurrInstr -_0801FD88: .4byte gBattlerAttacker -_0801FD8C: .4byte gBattleCommunication - thumb_func_end atk10_printstring - - thumb_func_start atk11_printselectionstring -atk11_printselectionstring: @ 801FD90 - push {r4,r5,lr} - ldr r5, _0801FDC4 @ =gActiveBattler - ldr r0, _0801FDC8 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _0801FDCC @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl BtlController_EmitPrintSelectionString - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - ldr r1, _0801FDD0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x7] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FDC4: .4byte gActiveBattler -_0801FDC8: .4byte gBattlerAttacker -_0801FDCC: .4byte gBattlescriptCurrInstr -_0801FDD0: .4byte gBattleCommunication - thumb_func_end atk11_printselectionstring - - thumb_func_start atk12_waitmessage -atk12_waitmessage: @ 801FDD4 - push {r4-r6,lr} - ldr r0, _0801FDF0 @ =gBattleControllerExecFlags - ldr r4, [r0] - cmp r4, 0 - bne _0801FE22 - ldr r6, _0801FDF4 @ =gBattleCommunication - ldrb r0, [r6, 0x7] - cmp r0, 0 - bne _0801FDFC - ldr r1, _0801FDF8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] - b _0801FE22 - .align 2, 0 -_0801FDF0: .4byte gBattleControllerExecFlags -_0801FDF4: .4byte gBattleCommunication -_0801FDF8: .4byte gBattlescriptCurrInstr -_0801FDFC: - ldr r5, _0801FE28 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r3, _0801FE2C @ =gPauseCounterBattle - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _0801FE22 - movs r1, 0 - strh r4, [r3] - adds r0, r2, 0x3 - str r0, [r5] - strb r1, [r6, 0x7] -_0801FE22: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801FE28: .4byte gBattlescriptCurrInstr -_0801FE2C: .4byte gPauseCounterBattle - thumb_func_end atk12_waitmessage - - thumb_func_start atk13_printfromtable -atk13_printfromtable: @ 801FE30 - push {r4,r5,lr} - ldr r0, _0801FE74 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FE6E - ldr r4, _0801FE78 @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - ldr r5, _0801FE7C @ =gBattleCommunication - ldrb r0, [r5, 0x5] - lsls r0, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r1, _0801FE80 @ =gBattlerAttacker - ldrb r1, [r1] - bl PrepareStringBattle - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - movs r0, 0x1 - strb r0, [r5, 0x7] -_0801FE6E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0801FE74: .4byte gBattleControllerExecFlags -_0801FE78: .4byte gBattlescriptCurrInstr -_0801FE7C: .4byte gBattleCommunication -_0801FE80: .4byte gBattlerAttacker - thumb_func_end atk13_printfromtable - - thumb_func_start atk14_printselectionstringfromtable -atk14_printselectionstringfromtable: @ 801FE84 - push {r4-r6,lr} - ldr r0, _0801FED4 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _0801FECE - ldr r5, _0801FED8 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - ldr r6, _0801FEDC @ =gBattleCommunication - ldrb r0, [r6, 0x5] - lsls r0, 1 - adds r1, r0 - ldr r4, _0801FEE0 @ =gActiveBattler - ldr r0, _0801FEE4 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldrh r1, [r1] - movs r0, 0 - bl BtlController_EmitPrintSelectionString - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x5 - str r0, [r5] - movs r0, 0x1 - strb r0, [r6, 0x7] -_0801FECE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0801FED4: .4byte gBattleControllerExecFlags -_0801FED8: .4byte gBattlescriptCurrInstr -_0801FEDC: .4byte gBattleCommunication -_0801FEE0: .4byte gActiveBattler -_0801FEE4: .4byte gBattlerAttacker - thumb_func_end atk14_printselectionstringfromtable - - thumb_func_start GetBattlerTurnOrderNum -GetBattlerTurnOrderNum: @ 801FEE8 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r0, _0801FF18 @ =gBattlersCount - ldrb r3, [r0] - cmp r1, r3 - bge _0801FF0E - ldr r4, _0801FF1C @ =gBattlerByTurnOrder - ldrb r0, [r4] - cmp r0, r2 - beq _0801FF0E -_0801FF00: - adds r1, 0x1 - cmp r1, r3 - bge _0801FF0E - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r2 - bne _0801FF00 -_0801FF0E: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0801FF18: .4byte gBattlersCount -_0801FF1C: .4byte gBattlerByTurnOrder - thumb_func_end GetBattlerTurnOrderNum - thumb_func_start SetMoveEffect SetMoveEffect: @ 801FF20 push {r4-r7,lr} -- cgit v1.2.3 From 1d8232b919a973b8e58d6431b0fb66ae6459f17a Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sun, 25 Aug 2019 13:09:46 +0800 Subject: thru atk23 --- asm/battle_2.s | 6 +- asm/battle_script_commands.s | 4466 ------------------------------------------ 2 files changed, 3 insertions(+), 4469 deletions(-) (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index a019e4969..344325ff4 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -5766,8 +5766,8 @@ _08012BC0: .4byte gLastHitBy _08012BC4: .4byte gBattleResources thumb_func_end SwitchInClearSetData - thumb_func_start sub_8012BC8 -sub_8012BC8: @ 8012BC8 + thumb_func_start FaintClearSetData +FaintClearSetData: @ 8012BC8 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -6257,7 +6257,7 @@ _08012F9C: .4byte gLastPrintedMoves _08012FA0: .4byte gLastHitBy _08012FA4: .4byte gBattleResources _08012FA8: .4byte gBaseStats - thumb_func_end sub_8012BC8 + thumb_func_end FaintClearSetData thumb_func_start BattleIntroGetMonsData BattleIntroGetMonsData: @ 8012FAC diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 8c70f5d8a..1d0282835 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,4472 +5,6 @@ .text - thumb_func_start SetMoveEffect -SetMoveEffect: @ 801FF20 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0 - mov r10, r0 - movs r7, 0 - movs r1, 0x1 - str r1, [sp, 0x4] - ldr r1, _0801FF64 @ =gBattleCommunication - ldrb r3, [r1, 0x3] - movs r0, 0x40 - ands r0, r3 - adds r6, r1, 0 - cmp r0, 0 - beq _0801FF78 - ldr r2, _0801FF68 @ =gEffectBattler - ldr r0, _0801FF6C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r2] - movs r0, 0xBF - ands r0, r3 - strb r0, [r6, 0x3] - movs r7, 0x40 - ldr r1, _0801FF70 @ =gBattleScripting - ldr r0, _0801FF74 @ =gBattlerTarget - b _0801FF84 - .align 2, 0 -_0801FF64: .4byte gBattleCommunication -_0801FF68: .4byte gEffectBattler -_0801FF6C: .4byte gBattlerAttacker -_0801FF70: .4byte gBattleScripting -_0801FF74: .4byte gBattlerTarget -_0801FF78: - ldr r2, _08020094 @ =gEffectBattler - ldr r0, _08020098 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r2] - ldr r1, _0802009C @ =gBattleScripting - ldr r0, _080200A0 @ =gBattlerAttacker -_0801FF84: - ldrb r0, [r0] - strb r0, [r1, 0x17] - mov r9, r2 - ldr r0, _080200A4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - beq _0801FFB2 - ldrb r0, [r6, 0x3] - cmp r0, 0x1 - beq _0801FFB2 - mov r2, r9 - ldrb r0, [r2] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0801FFB2 - bl _080210EC -_0801FFB2: - ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gEffectBattler - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - mov r9, r2 - cmp r0, 0x13 - bne _0801FFE6 - ldr r0, _080200AC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - bne _0801FFE6 - cmp r4, 0 - bne _0801FFE6 - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0x9 - bhi _0801FFE6 - bl _080210EC -_0801FFE6: - mov r3, r9 - ldrb r0, [r3] - bl GetBattlerPosition - ldr r2, _080200B4 @ =gSideStatuses - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08020020 - ldr r0, _080200AC @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - bne _08020020 - cmp r4, 0 - bne _08020020 - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0x7 - bhi _08020020 - bl _080210EC -_08020020: - ldr r3, _080200A8 @ =gBattleMons - ldr r2, _08020094 @ =gEffectBattler - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - mov r9, r2 - mov r8, r3 - cmp r0, 0 - bne _08020046 - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0xB - beq _08020046 - cmp r0, 0x1F - beq _08020046 - bl _080210EC -_08020046: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - mov r1, r8 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _08020068 - cmp r7, 0x40 - beq _08020068 - bl _080210EC -_08020068: - ldr r0, _080200B0 @ =gBattleCommunication - ldrb r1, [r0, 0x3] - adds r6, r0, 0 - cmp r1, 0x6 - bls _08020074 - b _080206A2 -_08020074: - ldr r1, _080200B8 @ =sStatusFlagsForMoveEffects - ldrb r0, [r6, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x10 - bne _08020084 - b _08020270 -_08020084: - cmp r0, 0x10 - bhi _080200BC - cmp r0, 0x7 - beq _080200D6 - cmp r0, 0x8 - bne _08020092 - b _0802018C -_08020092: - b _08020570 - .align 2, 0 -_08020094: .4byte gEffectBattler -_08020098: .4byte gBattlerTarget -_0802009C: .4byte gBattleScripting -_080200A0: .4byte gBattlerAttacker -_080200A4: .4byte gBattleTypeFlags -_080200A8: .4byte gBattleMons -_080200AC: .4byte gHitMarker -_080200B0: .4byte gBattleCommunication -_080200B4: .4byte gSideStatuses -_080200B8: .4byte sStatusFlagsForMoveEffects -_080200BC: - cmp r0, 0x40 - bne _080200C2 - b _080203E4 -_080200C2: - cmp r0, 0x40 - bhi _080200CE - cmp r0, 0x20 - bne _080200CC - b _08020346 -_080200CC: - b _08020570 -_080200CE: - cmp r0, 0x80 - bne _080200D4 - b _08020440 -_080200D4: - b _08020570 -_080200D6: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2B - beq _08020138 - ldr r0, _08020130 @ =gActiveBattler - movs r1, 0 - strb r1, [r0] - ldr r1, _08020134 @ =gBattlersCount - ldrb r3, [r1] - adds r7, r0, 0 - mov r12, r1 - cmp r3, 0 - beq _08020144 - mov r4, r8 - ldr r0, [r4, 0x50] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - bne _08020144 - adds r1, r7, 0 - mov r6, r8 - adds r6, 0x50 - movs r5, 0x58 - movs r4, 0x70 -_08020110: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r3 - bcs _08020144 - ldrb r0, [r7] - muls r0, r5 - adds r0, r6 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _08020110 - b _08020144 - .align 2, 0 -_08020130: .4byte gActiveBattler -_08020134: .4byte gBattlersCount -_08020138: - ldr r0, _08020184 @ =gActiveBattler - ldr r2, _08020188 @ =gBattlersCount - ldrb r1, [r2] - strb r1, [r0] - adds r7, r0, 0 - mov r12, r2 -_08020144: - mov r0, r9 - ldrb r2, [r0] - movs r0, 0x58 - adds r1, r2, 0 - muls r1, r0 - mov r0, r8 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802015C - b _08020570 -_0802015C: - ldrb r0, [r7] - mov r3, r12 - ldrb r3, [r3] - cmp r0, r3 - beq _08020168 - b _08020570 -_08020168: - mov r4, r8 - adds r0, r1, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x48 - bne _08020176 - b _08020570 -_08020176: - cmp r0, 0xF - bne _0802017C - b _08020570 -_0802017C: - adds r0, r2, 0 - bl CancelMultiTurnMoves - b _08020560 - .align 2, 0 -_08020184: .4byte gActiveBattler -_08020188: .4byte gBattlersCount -_0802018C: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x11 - bne _080201E4 - cmp r4, 0x1 - beq _080201A6 - cmp r5, 0x80 - bne _080201E4 -_080201A6: - ldr r0, _080201D4 @ =gLastUsedAbility - strb r1, [r0] - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x11 - bl RecordAbilityBattle - ldr r4, _080201D8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _080201DC @ =BattleScript_PSNPrevention -_080201C0: - str r0, [r4] - ldr r2, _080201E0 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _080201D2 - b _08020484 -_080201D2: - b _080204A8 - .align 2, 0 -_080201D4: .4byte gLastUsedAbility -_080201D8: .4byte gBattlescriptCurrInstr -_080201DC: .4byte BattleScript_PSNPrevention -_080201E0: .4byte gHitMarker -_080201E4: - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x58 - muls r0, r1 - add r0, r8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0x3 - beq _08020208 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x3 - beq _08020208 - cmp r1, 0x8 - beq _08020208 - cmp r0, 0x8 - bne _08020222 -_08020208: - ldr r0, _0802026C @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _08020222 - cmp r4, 0x1 - bne _0802021C - b _080204E8 -_0802021C: - cmp r5, 0x80 - bne _08020222 - b _080204E8 -_08020222: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r1, r0 - mov r4, r8 - adds r3, r1, r4 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r4, [r0] - cmp r4, 0x3 - bne _0802023A - b _08020570 -_0802023A: - adds r0, 0x1 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08020244 - b _08020570 -_08020244: - cmp r4, 0x8 - bne _0802024A - b _08020570 -_0802024A: - cmp r0, 0x8 - bne _08020250 - b _08020570 -_08020250: - mov r0, r8 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802025E - b _08020570 -_0802025E: - adds r0, r3, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x11 - bne _0802026A - b _08020570 -_0802026A: - b _08020560 - .align 2, 0 -_0802026C: .4byte gHitMarker -_08020270: - mov r2, r9 - ldrb r1, [r2] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x29 - bne _080202B4 - cmp r4, 0x1 - beq _0802028A - cmp r5, 0x80 - bne _080202B4 -_0802028A: - ldr r0, _080202A8 @ =gLastUsedAbility - strb r1, [r0] - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x29 - bl RecordAbilityBattle - ldr r4, _080202AC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _080202B0 @ =BattleScript_BRNPrevention - b _080201C0 - .align 2, 0 -_080202A8: .4byte gLastUsedAbility -_080202AC: .4byte gBattlescriptCurrInstr -_080202B0: .4byte BattleScript_BRNPrevention -_080202B4: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - mov r2, r8 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xA - beq _080202D4 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xA - bne _08020304 -_080202D4: - ldr r0, _080202F8 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _08020304 - cmp r4, 0x1 - beq _080202EA - cmp r5, 0x80 - bne _08020304 -_080202EA: - ldr r4, _080202FC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020300 @ =BattleScript_BRNPrevention - b _080204F4 - .align 2, 0 -_080202F8: .4byte gHitMarker -_080202FC: .4byte gBattlescriptCurrInstr -_08020300: .4byte BattleScript_BRNPrevention -_08020304: - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x58 - adds r2, r0, 0 - muls r2, r1 - mov r4, r8 - adds r1, r2, r4 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xA - bne _0802031E - b _08020570 -_0802031E: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xA - bne _0802032A - b _08020570 -_0802032A: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x29 - bne _08020336 - b _08020570 -_08020336: - mov r0, r8 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _08020344 - b _08020570 -_08020344: - b _08020560 -_08020346: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08020382 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _08020382 - ldr r0, _080203D8 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08020382 - movs r1, 0 - str r1, [sp, 0x4] -_08020382: - ldr r4, _080203DC @ =gBattleMons - ldr r0, _080203E0 @ =gEffectBattler - ldrb r3, [r0] - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r1, r2, r4 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xF - bne _0802039C - b _08020570 -_0802039C: - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xF - bne _080203A8 - b _08020570 -_080203A8: - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _080203B6 - b _08020570 -_080203B6: - ldr r2, [sp, 0x4] - cmp r2, 0 - bne _080203BE - b _08020570 -_080203BE: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x28 - bne _080203CA - b _08020570 -_080203CA: - adds r0, r3, 0 - bl CancelMultiTurnMoves - movs r3, 0x1 - mov r10, r3 - b _08020570 - .align 2, 0 -_080203D8: .4byte gBattleWeather -_080203DC: .4byte gBattleMons -_080203E0: .4byte gEffectBattler -_080203E4: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - mov r2, r8 - adds r0, r1, r2 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0x7 - bne _0802042C - cmp r4, 0x1 - beq _08020402 - cmp r5, 0x80 - beq _08020402 - b _08020570 -_08020402: - ldr r0, _08020420 @ =gLastUsedAbility - strb r2, [r0] - mov r3, r9 - ldrb r0, [r3] - movs r1, 0x7 - bl RecordAbilityBattle - ldr r4, _08020424 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020428 @ =BattleScript_PRLZPrevention - b _080201C0 - .align 2, 0 -_08020420: .4byte gLastUsedAbility -_08020424: .4byte gBattlescriptCurrInstr -_08020428: .4byte BattleScript_PRLZPrevention -_0802042C: - mov r0, r8 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802043A - b _08020570 -_0802043A: - movs r4, 0x1 - mov r10, r4 - b _08020570 -_08020440: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x11 - bne _080204AE - cmp r4, 0x1 - beq _0802045A - cmp r5, 0x80 - bne _080204AE -_0802045A: - ldr r0, _08020494 @ =gLastUsedAbility - strb r1, [r0] - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x11 - bl RecordAbilityBattle - ldr r4, _08020498 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _0802049C @ =BattleScript_PSNPrevention - str r0, [r4] - ldr r2, _080204A0 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _080204A8 -_08020484: - movs r0, 0x1 - strb r0, [r6, 0x5] - ldr r0, _080204A4 @ =0xffffdfff - ands r1, r0 - str r1, [r2] - bl _0802110A - .align 2, 0 -_08020494: .4byte gLastUsedAbility -_08020498: .4byte gBattlescriptCurrInstr -_0802049C: .4byte BattleScript_PSNPrevention -_080204A0: .4byte gHitMarker -_080204A4: .4byte 0xffffdfff -_080204A8: - strb r0, [r6, 0x5] - bl _0802110A -_080204AE: - mov r2, r9 - ldrb r0, [r2] - movs r1, 0x58 - muls r0, r1 - add r0, r8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0x3 - beq _080204D2 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x3 - beq _080204D2 - cmp r1, 0x8 - beq _080204D2 - cmp r0, 0x8 - bne _08020510 -_080204D2: - ldr r0, _08020500 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _08020510 - cmp r4, 0x1 - beq _080204E8 - cmp r5, 0x80 - bne _08020510 -_080204E8: - ldr r4, _08020504 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020508 @ =BattleScript_PSNPrevention -_080204F4: - str r0, [r4] - ldr r1, _0802050C @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - bl _0802110A - .align 2, 0 -_08020500: .4byte gHitMarker -_08020504: .4byte gBattlescriptCurrInstr -_08020508: .4byte BattleScript_PSNPrevention -_0802050C: .4byte gBattleCommunication -_08020510: - mov r3, r9 - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - mov r2, r8 - adds r2, 0x4C - adds r5, r0, r2 - ldr r4, [r5] - cmp r4, 0 - bne _08020570 - mov r3, r8 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r3, [r0] - cmp r3, 0x3 - beq _08020566 - adds r0, 0x1 - ldrb r0, [r0] - cmp r0, 0x3 - beq _08020566 - cmp r3, 0x8 - beq _08020566 - cmp r0, 0x8 - beq _08020566 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x11 - beq _08020570 - mov r4, r9 - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r6 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x9 - negs r2, r2 - ands r0, r2 - str r0, [r1] -_08020560: - movs r0, 0x1 - mov r10, r0 - b _08020570 -_08020566: - ldr r0, _080205B4 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] -_08020570: - mov r1, r10 - cmp r1, 0x1 - beq _08020578 - b _08020694 -_08020578: - ldr r0, _080205B8 @ =gBattlescriptCurrInstr - ldr r0, [r0] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _080205BC @ =sStatusFlagsForMoveEffects - ldr r0, _080205C0 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - cmp r3, 0x7 - bne _080205CC - bl Random - ldr r2, _080205C4 @ =gBattleMons - ldr r1, _080205C8 @ =gEffectBattler - ldrb r3, [r1] - movs r1, 0x58 - muls r3, r1 - adds r2, 0x4C - adds r3, r2 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x2 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - b _080205E0 - .align 2, 0 -_080205B4: .4byte gMoveResultFlags -_080205B8: .4byte gBattlescriptCurrInstr -_080205BC: .4byte sStatusFlagsForMoveEffects -_080205C0: .4byte gBattleCommunication -_080205C4: .4byte gBattleMons -_080205C8: .4byte gEffectBattler -_080205CC: - ldr r2, _08020630 @ =gBattleMons - ldr r0, _08020634 @ =gEffectBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r2, 0x4C - adds r1, r2 - ldr r0, [r1] - orrs r0, r3 - str r0, [r1] -_080205E0: - ldr r2, _08020638 @ =gBattlescriptCurrInstr - ldr r1, _0802063C @ =sMoveEffectBS_Ptrs - ldr r5, _08020640 @ =gBattleCommunication - ldrb r0, [r5, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r4, _08020644 @ =gActiveBattler - ldr r1, _08020634 @ =gEffectBattler - ldrb r0, [r1] - strb r0, [r4] - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - ldr r1, _08020648 @ =gUnknown_2023C30 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r2, _0802064C @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 6 - ands r0, r1 - cmp r0, 0 - beq _08020654 - movs r0, 0x1 - strb r0, [r5, 0x5] - ldr r0, _08020650 @ =0xffffdfff - ands r1, r0 - str r1, [r2] - b _08020656 - .align 2, 0 -_08020630: .4byte gBattleMons -_08020634: .4byte gEffectBattler -_08020638: .4byte gBattlescriptCurrInstr -_0802063C: .4byte sMoveEffectBS_Ptrs -_08020640: .4byte gBattleCommunication -_08020644: .4byte gActiveBattler -_08020648: .4byte gUnknown_2023C30 -_0802064C: .4byte gHitMarker -_08020650: .4byte 0xffffdfff -_08020654: - strb r0, [r5, 0x5] -_08020656: - ldr r0, _08020688 @ =gBattleCommunication - ldrb r2, [r0, 0x3] - adds r6, r0, 0 - cmp r2, 0x2 - beq _08020670 - cmp r2, 0x6 - beq _08020670 - cmp r2, 0x5 - beq _08020670 - cmp r2, 0x3 - beq _08020670 - bl _0802110A -_08020670: - ldr r0, _0802068C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xB4 - ldrb r1, [r6, 0x3] - strb r1, [r0] - ldr r2, _08020690 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 7 - bl _08021008 - .align 2, 0 -_08020688: .4byte gBattleCommunication -_0802068C: .4byte gBattleStruct -_08020690: .4byte gHitMarker -_08020694: - mov r2, r10 - cmp r2, 0 - beq _0802069E - bl _0802110A -_0802069E: - bl _080210EC -_080206A2: - mov r3, r9 - ldrb r1, [r3] - movs r0, 0x58 - muls r1, r0 - mov r0, r8 - adds r0, 0x50 - adds r1, r0 - ldr r2, _080206DC @ =sStatusFlagsForMoveEffects - ldrb r3, [r6, 0x3] - lsls r0, r3, 2 - adds r0, r2 - ldr r1, [r1] - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _080206C6 - bl _080210EC -_080206C6: - subs r0, r3, 0x7 - cmp r0, 0x34 - bls _080206D0 - bl _0802110A -_080206D0: - lsls r0, 2 - ldr r1, _080206E0 @ =_080206E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080206DC: .4byte sStatusFlagsForMoveEffects -_080206E0: .4byte _080206E4 - .align 2, 0 -_080206E4: - .4byte _080207B8 - .4byte _0802082C - .4byte _080209A0 - .4byte _080208B8 - .4byte _08020934 - .4byte _080209D8 - .4byte _08020A20 - .4byte _08020AEC - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B30 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020B74 - .4byte _08020C40 - .4byte _08020C88 - .4byte _08020CA8 - .4byte _08020E78 - .4byte _08020EB4 - .4byte _08020ED0 - .4byte _08020EE8 - .4byte _08020F00 - .4byte _08020F60 - .4byte _08020F78 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BB8 - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020BFC - .4byte _08020FBC - .4byte _08021018 - .4byte _0802110A - .4byte _0802110A - .4byte _0802110A - .4byte _0802110A - .4byte _080210FC -_080207B8: - mov r4, r9 - ldrb r0, [r4] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - mov r2, r8 - adds r0, r1, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x14 - bne _080207D2 - bl _080210EC -_080207D2: - mov r4, r8 - adds r4, 0x50 - adds r0, r1, r4 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080207E6 - bl _080210EC -_080207E6: - bl Random - mov r3, r9 - ldrb r1, [r3] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 16 - adds r1, 0x2 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r4, _08020820 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020824 @ =sMoveEffectBS_Ptrs - ldr r0, _08020828 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _08021108 - .align 2, 0 -_08020820: .4byte gBattlescriptCurrInstr -_08020824: .4byte sMoveEffectBS_Ptrs -_08020828: .4byte gBattleCommunication -_0802082C: - mov r0, r9 - ldrb r2, [r0] - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - add r0, r8 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, 0x27 - bne _08020870 - cmp r4, 0x1 - beq _0802084C - cmp r5, 0x80 - beq _0802084C - bl _080210EC -_0802084C: - ldr r0, _08020864 @ =gLastUsedAbility - strb r1, [r0] - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x27 - bl RecordAbilityBattle - ldr r1, _08020868 @ =gBattlescriptCurrInstr - ldr r0, _0802086C @ =BattleScript_FlinchPrevention - str r0, [r1] - bl _0802110A - .align 2, 0 -_08020864: .4byte gLastUsedAbility -_08020868: .4byte gBattlescriptCurrInstr -_0802086C: .4byte BattleScript_FlinchPrevention -_08020870: - adds r0, r2, 0 - bl GetBattlerTurnOrderNum - ldr r1, _080208AC @ =gCurrentTurnActionNumber - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bhi _08020886 - bl _080210EC -_08020886: - mov r2, r9 - ldrb r0, [r2] - adds r2, r0, 0 - muls r2, r6 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r1, _080208B0 @ =sStatusFlagsForMoveEffects - ldr r0, _080208B4 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r2] - ldr r0, [r0] - orrs r1, r0 - str r1, [r2] - bl _080210EC - .align 2, 0 -_080208AC: .4byte gCurrentTurnActionNumber -_080208B0: .4byte sStatusFlagsForMoveEffects -_080208B4: .4byte gBattleCommunication -_080208B8: - mov r3, r9 - ldrb r0, [r3] - movs r5, 0x58 - muls r0, r5 - mov r4, r8 - adds r4, 0x50 - adds r2, r0, r4 - ldr r1, [r2] - movs r0, 0x70 - ands r0, r1 - cmp r0, 0 - beq _080208D4 - bl _080210EC -_080208D4: - movs r0, 0x80 - lsls r0, 5 - orrs r1, r0 - str r1, [r2] - ldr r1, _08020920 @ =gLockedMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _08020924 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - bl Random - mov r2, r9 - ldrb r1, [r2] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x2 - lsls r1, 4 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r4, _08020928 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _0802092C @ =sMoveEffectBS_Ptrs - ldr r0, _08020930 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _08021108 - .align 2, 0 -_08020920: .4byte gLockedMoves -_08020924: .4byte gCurrentMove -_08020928: .4byte gBattlescriptCurrInstr -_0802092C: .4byte sMoveEffectBS_Ptrs -_08020930: .4byte gBattleCommunication -_08020934: - ldr r5, _08020984 @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0802096C - ldr r4, _08020988 @ =gPaydayMoney - ldrh r3, [r4] - ldr r2, _0802098C @ =gBattleMons - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r3, r0 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r3, r0 - bls _0802096C - ldr r3, _08020990 @ =0x0000ffff - adds r0, r3, 0 - strh r0, [r4] -_0802096C: - ldr r4, _08020994 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020998 @ =sMoveEffectBS_Ptrs - ldr r0, _0802099C @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _08021108 - .align 2, 0 -_08020984: .4byte gBattlerAttacker -_08020988: .4byte gPaydayMoney -_0802098C: .4byte gBattleMons -_08020990: .4byte 0x0000ffff -_08020994: .4byte gBattlescriptCurrInstr -_08020998: .4byte sMoveEffectBS_Ptrs -_0802099C: .4byte gBattleCommunication -_080209A0: - mov r4, r9 - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - mov r1, r8 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080209B6 - b _080210EC -_080209B6: - bl Random - ldr r4, _080209D4 @ =gBattleCommunication - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - adds r0, 0x3 - strb r0, [r4, 0x3] - movs r0, 0 - movs r1, 0 - bl SetMoveEffect - b _0802110A - .align 2, 0 -_080209D4: .4byte gBattleCommunication -_080209D8: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r2] - ldr r1, _08020A14 @ =gLockedMoves - mov r2, r9 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldr r1, _08020A18 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - ldr r0, _08020A1C @ =gProtectStructs - ldrb r1, [r2] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1, 0x1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x1] - b _080210EC - .align 2, 0 -_08020A14: .4byte gLockedMoves -_08020A18: .4byte gCurrentMove -_08020A1C: .4byte gProtectStructs -_08020A20: - mov r3, r9 - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - mov r4, r8 - adds r4, 0x50 - adds r0, r4 - ldr r5, [r0] - movs r0, 0xE0 - lsls r0, 8 - ands r5, r0 - cmp r5, 0 - beq _08020A3C - b _080210EC -_08020A3C: - bl Random - mov r2, r9 - ldrb r1, [r2] - adds r2, r1, 0 - muls r2, r6 - adds r2, r4 - movs r1, 0x3 - ands r1, r0 - adds r1, 0x3 - lsls r1, 13 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - mov r3, r9 - ldrb r1, [r3] - ldr r2, _08020AD0 @ =gBattleStruct - ldr r0, [r2] - lsls r1, 1 - adds r1, r0 - ldr r6, _08020AD4 @ =gCurrentMove - ldrh r0, [r6] - strb r0, [r1, 0x4] - ldrb r1, [r3] - ldr r0, [r2] - lsls r1, 1 - adds r1, r0 - ldrh r0, [r6] - lsrs r0, 8 - strb r0, [r1, 0x5] - ldrb r1, [r3] - ldr r0, [r2] - adds r1, r0 - ldr r0, _08020AD8 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r1, 0x14] - ldr r4, _08020ADC @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020AE0 @ =sMoveEffectBS_Ptrs - ldr r2, _08020AE4 @ =gBattleCommunication - ldrb r0, [r2, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r4] - strb r5, [r2, 0x5] - ldr r3, _08020AE8 @ =gTrappingMoves - ldrh r0, [r3] - ldrh r4, [r6] - cmp r0, r4 - bne _08020AAA - b _0802110A -_08020AAA: - adds r1, r2, 0 - adds r2, r6, 0 -_08020AAE: - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _08020ABE - b _0802110A -_08020ABE: - ldrb r0, [r1, 0x5] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - ldrh r4, [r2] - cmp r0, r4 - bne _08020AAE - b _0802110A - .align 2, 0 -_08020AD0: .4byte gBattleStruct -_08020AD4: .4byte gCurrentMove -_08020AD8: .4byte gBattlerAttacker -_08020ADC: .4byte gBattlescriptCurrInstr -_08020AE0: .4byte sMoveEffectBS_Ptrs -_08020AE4: .4byte gBattleCommunication -_08020AE8: .4byte gTrappingMoves -_08020AEC: - ldr r1, _08020B1C @ =gBattleMoveDamage - ldr r0, _08020B20 @ =gHpDealt - ldr r0, [r0] - cmp r0, 0 - bge _08020AF8 - adds r0, 0x3 -_08020AF8: - asrs r0, 2 - str r0, [r1] - cmp r0, 0 - bne _08020B04 - movs r0, 0x1 - str r0, [r1] -_08020B04: - ldr r4, _08020B24 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020B28 @ =sMoveEffectBS_Ptrs - ldr r0, _08020B2C @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _08021108 - .align 2, 0 -_08020B1C: .4byte gBattleMoveDamage -_08020B20: .4byte gHpDealt -_08020B24: .4byte gBattlescriptCurrInstr -_08020B28: .4byte sMoveEffectBS_Ptrs -_08020B2C: .4byte gBattleCommunication -_08020B30: - ldrb r1, [r6, 0x3] - adds r1, 0xF2 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x10 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020B4C - b _080210EC -_08020B4C: - ldr r2, _08020B68 @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020B6C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020B70 @ =BattleScript_StatUp - b _08021108 - .align 2, 0 -_08020B68: .4byte gBattleScripting -_08020B6C: .4byte gBattlescriptCurrInstr -_08020B70: .4byte BattleScript_StatUp -_08020B74: - movs r0, 0x70 - negs r0, r0 - ldrb r1, [r6, 0x3] - adds r1, 0xEB - lsls r1, 24 - lsrs r1, 24 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020B92 - b _080210EC -_08020B92: - ldr r2, _08020BAC @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020BB0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020BB4 @ =BattleScript_StatDown - b _08021108 - .align 2, 0 -_08020BAC: .4byte gBattleScripting -_08020BB0: .4byte gBattlescriptCurrInstr -_08020BB4: .4byte BattleScript_StatDown -_08020BB8: - ldrb r1, [r6, 0x3] - adds r1, 0xDA - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x20 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020BD4 - b _080210EC -_08020BD4: - ldr r2, _08020BF0 @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020BF4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020BF8 @ =BattleScript_StatUp - b _08021108 - .align 2, 0 -_08020BF0: .4byte gBattleScripting -_08020BF4: .4byte gBattlescriptCurrInstr -_08020BF8: .4byte BattleScript_StatUp -_08020BFC: - movs r0, 0x60 - negs r0, r0 - ldrb r1, [r6, 0x3] - adds r1, 0xD3 - lsls r1, 24 - lsrs r1, 24 - adds r2, r7, 0 - movs r3, 0 - bl ChangeStatBuffs - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _08020C1A - b _080210EC -_08020C1A: - ldr r2, _08020C34 @ =gBattleScripting - ldrb r1, [r6, 0x3] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x10] - strb r3, [r2, 0x11] - ldr r4, _08020C38 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020C3C @ =BattleScript_StatDown - b _08021108 - .align 2, 0 -_08020C34: .4byte gBattleScripting -_08020C38: .4byte gBattlescriptCurrInstr -_08020C3C: .4byte BattleScript_StatDown -_08020C40: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 15 - orrs r0, r1 - str r0, [r2] - ldr r2, _08020C7C @ =gDisableStructs - mov r3, r9 - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - strb r1, [r0, 0x19] - ldr r1, _08020C80 @ =gLockedMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _08020C84 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - b _080210EC - .align 2, 0 -_08020C7C: .4byte gDisableStructs -_08020C80: .4byte gLockedMoves -_08020C84: .4byte gCurrentMove -_08020C88: - ldr r0, _08020CA4 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 16 -_08020C9E: - orrs r0, r1 - str r0, [r2] - b _080210EC - .align 2, 0 -_08020CA4: .4byte gBattlerAttacker -_08020CA8: - ldr r5, _08020D64 @ =gBattleTypeFlags - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - beq _08020CB8 - b _080210EC -_08020CB8: - ldr r4, _08020D68 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08020CEA - ldr r0, [r5] - ldr r1, _08020D6C @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _08020D26 - ldr r0, _08020D70 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _08020CEA - b _080210EC -_08020CEA: - ldr r0, _08020D64 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08020D6C @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _08020D26 - ldr r0, _08020D70 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _08020D26 - ldr r0, _08020D74 @ =gWishFutureKnock - adds r0, 0x29 - adds r0, r6, r0 - ldrb r1, [r0] - ldr r3, _08020D78 @ =gBitTable - ldr r2, _08020D7C @ =gBattlerPartyIndexes - ldr r0, _08020D68 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08020D26 - b _080210EC -_08020D26: - ldr r2, _08020D80 @ =gBattleMons - ldr r1, _08020D84 @ =gBattlerTarget - ldrb r0, [r1] - movs r3, 0x58 - muls r0, r3 - adds r4, r0, r2 - ldrh r0, [r4, 0x2E] - adds r7, r1, 0 - mov r8, r2 - cmp r0, 0 - beq _08020D94 - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3C - bne _08020D94 - ldr r1, _08020D88 @ =gBattlescriptCurrInstr - ldr r0, _08020D8C @ =BattleScript_StickyHoldActivates - str r0, [r1] - ldr r1, _08020D90 @ =gLastUsedAbility - ldrb r0, [r7] - muls r0, r3 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldrb r1, [r1] - bl RecordAbilityBattle - b _0802110A - .align 2, 0 -_08020D64: .4byte gBattleTypeFlags -_08020D68: .4byte gBattlerAttacker -_08020D6C: .4byte 0x00000902 -_08020D70: .4byte gTrainerBattleOpponent_A -_08020D74: .4byte gWishFutureKnock -_08020D78: .4byte gBitTable -_08020D7C: .4byte gBattlerPartyIndexes -_08020D80: .4byte gBattleMons -_08020D84: .4byte gBattlerTarget -_08020D88: .4byte gBattlescriptCurrInstr -_08020D8C: .4byte BattleScript_StickyHoldActivates -_08020D90: .4byte gLastUsedAbility -_08020D94: - ldr r4, _08020E60 @ =gBattlerAttacker - mov r10, r4 - ldrb r2, [r4] - movs r0, 0x58 - mov r9, r0 - mov r0, r9 - muls r0, r2 - add r0, r8 - ldrh r4, [r0, 0x2E] - cmp r4, 0 - beq _08020DAC - b _080210EC -_08020DAC: - ldrb r0, [r7] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - ldrh r3, [r0, 0x2E] - adds r1, r3, 0 - cmp r1, 0xAF - bne _08020DC0 - b _080210EC -_08020DC0: - adds r0, r3, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bhi _08020DCE - b _080210EC -_08020DCE: - cmp r1, 0 - bne _08020DD4 - b _080210EC -_08020DD4: - ldr r5, _08020E64 @ =gBattleStruct - lsls r0, r2, 1 - adds r0, 0xD0 - ldr r1, [r5] - adds r1, r0 - ldr r2, _08020E68 @ =gLastUsedItem - strh r3, [r1] - strh r3, [r2] - ldrb r0, [r7] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - add r0, r8 - movs r6, 0 - strh r4, [r0, 0x2E] - ldr r4, _08020E6C @ =gActiveBattler - mov r1, r10 - ldrb r0, [r1] - strb r0, [r4] - str r2, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - mov r2, r10 - ldrb r0, [r2] - bl MarkBattlerForControllerExec - ldrb r0, [r7] - strb r0, [r4] - ldrb r0, [r7] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - mov r1, r8 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r4, _08020E70 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020E74 @ =BattleScript_ItemSteal - str r0, [r4] - ldrb r0, [r7] - ldr r1, [r5] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - strb r6, [r0] - ldrb r0, [r7] - ldr r1, [r5] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - strb r6, [r0] - b _0802110A - .align 2, 0 -_08020E60: .4byte gBattlerAttacker -_08020E64: .4byte gBattleStruct -_08020E68: .4byte gLastUsedItem -_08020E6C: .4byte gActiveBattler -_08020E70: .4byte gBattlescriptCurrInstr -_08020E74: .4byte BattleScript_ItemSteal -_08020E78: - ldr r3, _08020EA8 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 19 - orrs r0, r1 - str r0, [r2] - ldr r2, _08020EAC @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _08020EB0 @ =gBattlerAttacker - ldrb r1, [r1] - strb r1, [r0, 0x14] - b _080210EC - .align 2, 0 -_08020EA8: .4byte gBattlerTarget -_08020EAC: .4byte gDisableStructs -_08020EB0: .4byte gBattlerAttacker -_08020EB4: - ldr r0, _08020ECC @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - mov r0, r8 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 20 - b _08020C9E - .align 2, 0 -_08020ECC: .4byte gBattlerTarget -_08020ED0: - ldr r4, _08020EE0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020EE4 @ =BattleScript_AllStatsUp - b _08021108 - .align 2, 0 -_08020EE0: .4byte gBattlescriptCurrInstr -_08020EE4: .4byte BattleScript_AllStatsUp -_08020EE8: - ldr r4, _08020EF8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020EFC @ =BattleScript_RapidSpinAway - b _08021108 - .align 2, 0 -_08020EF8: .4byte gBattlescriptCurrInstr -_08020EFC: .4byte BattleScript_RapidSpinAway -_08020F00: - ldr r6, _08020F50 @ =gBattlerTarget - ldrb r0, [r6] - movs r2, 0x58 - muls r0, r2 - mov r1, r8 - adds r1, 0x4C - adds r5, r0, r1 - ldr r4, [r5] - movs r0, 0x40 - ands r0, r4 - cmp r0, 0 - bne _08020F1A - b _080210EC -_08020F1A: - movs r0, 0x41 - negs r0, r0 - ands r4, r0 - str r4, [r5] - ldr r4, _08020F54 @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r4] - ldrb r0, [r4] - muls r0, r2 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r4, _08020F58 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020F5C @ =BattleScript_TargetPRLZHeal - b _08021108 - .align 2, 0 -_08020F50: .4byte gBattlerTarget -_08020F54: .4byte gActiveBattler -_08020F58: .4byte gBattlescriptCurrInstr -_08020F5C: .4byte BattleScript_TargetPRLZHeal -_08020F60: - ldr r4, _08020F70 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08020F74 @ =BattleScript_AtkDefDown - b _08021108 - .align 2, 0 -_08020F70: .4byte gBattlescriptCurrInstr -_08020F74: .4byte BattleScript_AtkDefDown -_08020F78: - ldr r4, _08020FA8 @ =gBattleMoveDamage - ldr r0, _08020FAC @ =gHpDealt - ldr r0, [r0] - movs r1, 0x3 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _08020F8E - movs r0, 0x1 - str r0, [r4] -_08020F8E: - ldr r4, _08020FB0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r1, _08020FB4 @ =sMoveEffectBS_Ptrs - ldr r0, _08020FB8 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - b _08021108 - .align 2, 0 -_08020FA8: .4byte gBattleMoveDamage -_08020FAC: .4byte gHpDealt -_08020FB0: .4byte gBattlescriptCurrInstr -_08020FB4: .4byte sMoveEffectBS_Ptrs -_08020FB8: .4byte gBattleCommunication -_08020FBC: - mov r4, r9 - ldrb r0, [r4] - movs r5, 0x58 - muls r0, r5 - mov r4, r8 - adds r4, 0x50 - adds r2, r0, r4 - ldr r1, [r2] - movs r0, 0xC0 - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _08020FD8 - b _080210EC -_08020FD8: - movs r0, 0x80 - lsls r0, 5 - orrs r1, r0 - str r1, [r2] - ldr r1, _08021010 @ =gLockedMoves - mov r2, r9 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldr r1, _08021014 @ =gCurrentMove - ldrh r1, [r1] - strh r1, [r0] - bl Random - mov r3, r9 - ldrb r1, [r3] - adds r2, r1, 0 - muls r2, r5 - adds r2, r4 - movs r1, 0x1 - ands r1, r0 - adds r1, 0x2 - lsls r1, 10 - ldr r0, [r2] -_08021008: - orrs r0, r1 - str r0, [r2] - b _0802110A - .align 2, 0 -_08021010: .4byte gLockedMoves -_08021014: .4byte gCurrentMove -_08021018: - mov r5, r9 - ldrb r3, [r5] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - mov r2, r8 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0x3C - bne _08021058 - ldrh r0, [r1, 0x2E] - cmp r0, 0 - beq _080210EC - ldr r0, _0802104C @ =gLastUsedAbility - strb r2, [r0] - ldr r1, _08021050 @ =gBattlescriptCurrInstr - ldr r0, _08021054 @ =BattleScript_StickyHoldActivates - str r0, [r1] - ldrb r0, [r5] - movs r1, 0x3C - bl RecordAbilityBattle - b _0802110A - .align 2, 0 -_0802104C: .4byte gLastUsedAbility -_08021050: .4byte gBattlescriptCurrInstr -_08021054: .4byte BattleScript_StickyHoldActivates -_08021058: - ldrh r0, [r1, 0x2E] - cmp r0, 0 - beq _080210EC - adds r0, r3, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080210D0 @ =gLastUsedItem - mov r3, r9 - ldrb r0, [r3] - muls r0, r4 - add r0, r8 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - ldrb r0, [r3] - muls r0, r4 - add r0, r8 - movs r5, 0 - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r2, _080210D4 @ =gWishFutureKnock - adds r2, 0x29 - adds r2, r6, r2 - ldr r3, _080210D8 @ =gBitTable - ldr r1, _080210DC @ =gBattlerPartyIndexes - mov r4, r9 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r4, _080210E0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _080210E4 @ =BattleScript_KnockedOff - str r0, [r4] - mov r1, r9 - ldrb r0, [r1] - ldr r2, _080210E8 @ =gBattleStruct - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - strb r5, [r0] - mov r3, r9 - ldrb r0, [r3] - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - strb r5, [r0] - b _0802110A - .align 2, 0 -_080210D0: .4byte gLastUsedItem -_080210D4: .4byte gWishFutureKnock -_080210D8: .4byte gBitTable -_080210DC: .4byte gBattlerPartyIndexes -_080210E0: .4byte gBattlescriptCurrInstr -_080210E4: .4byte BattleScript_KnockedOff -_080210E8: .4byte gBattleStruct -_080210EC: - ldr r1, _080210F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - b _0802110A - .align 2, 0 -_080210F8: .4byte gBattlescriptCurrInstr -_080210FC: - ldr r4, _0802111C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08021120 @ =BattleScript_SAtkDown2 -_08021108: - str r0, [r4] -_0802110A: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802111C: .4byte gBattlescriptCurrInstr -_08021120: .4byte BattleScript_SAtkDown2 - thumb_func_end SetMoveEffect - - thumb_func_start atk15_seteffectwithchance -atk15_seteffectwithchance: @ 8021124 - push {r4,lr} - ldr r2, _08021150 @ =gBattleMons - ldr r0, _08021154 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x20 - bne _08021160 - ldr r2, _08021158 @ =gBattleMoves - ldr r0, _0802115C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x5] - lsls r4, r0, 1 - b _08021170 - .align 2, 0 -_08021150: .4byte gBattleMons -_08021154: .4byte gBattlerAttacker -_08021158: .4byte gBattleMoves -_0802115C: .4byte gCurrentMove -_08021160: - ldr r2, _08021190 @ =gBattleMoves - ldr r0, _08021194 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x5] -_08021170: - ldr r3, _08021198 @ =gBattleCommunication - ldrb r2, [r3, 0x3] - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080211A0 - ldr r0, _0802119C @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _080211A0 - movs r0, 0x7F - ands r0, r2 - strb r0, [r3, 0x3] - b _080211CE - .align 2, 0 -_08021190: .4byte gBattleMoves -_08021194: .4byte gCurrentMove -_08021198: .4byte gBattleCommunication -_0802119C: .4byte gMoveResultFlags -_080211A0: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bhi _080211EA - ldr r0, _080211D8 @ =gBattleCommunication - ldrb r0, [r0, 0x3] - cmp r0, 0 - beq _080211EA - ldr r0, _080211DC @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _080211EA - cmp r4, 0x63 - bls _080211E0 -_080211CE: - movs r0, 0 - movs r1, 0x80 - bl SetMoveEffect - b _080211F2 - .align 2, 0 -_080211D8: .4byte gBattleCommunication -_080211DC: .4byte gMoveResultFlags -_080211E0: - movs r0, 0 - movs r1, 0 - bl SetMoveEffect - b _080211F2 -_080211EA: - ldr r1, _08021204 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080211F2: - ldr r0, _08021208 @ =gBattleCommunication - movs r1, 0 - strb r1, [r0, 0x3] - ldr r0, _0802120C @ =gBattleScripting - strb r1, [r0, 0x16] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08021204: .4byte gBattlescriptCurrInstr -_08021208: .4byte gBattleCommunication -_0802120C: .4byte gBattleScripting - thumb_func_end atk15_seteffectwithchance - - thumb_func_start atk16_seteffectprimary -atk16_seteffectprimary: @ 8021210 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl SetMoveEffect - pop {r0} - bx r0 - thumb_func_end atk16_seteffectprimary - - thumb_func_start atk17_seteffectsecondary -atk17_seteffectsecondary: @ 8021220 - push {lr} - movs r0, 0 - movs r1, 0 - bl SetMoveEffect - pop {r0} - bx r0 - thumb_func_end atk17_seteffectsecondary - - thumb_func_start atk18_clearstatusfromeffect -atk18_clearstatusfromeffect: @ 8021230 - push {lr} - ldr r0, _08021254 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r2, _08021258 @ =gActiveBattler - strb r0, [r2] - ldr r3, _0802125C @ =gBattleCommunication - ldrb r0, [r3, 0x3] - cmp r0, 0x6 - bhi _08021264 - ldr r1, _08021260 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x4C - b _0802126E - .align 2, 0 -_08021254: .4byte gBattlescriptCurrInstr -_08021258: .4byte gActiveBattler -_0802125C: .4byte gBattleCommunication -_08021260: .4byte gBattleMons -_08021264: - ldr r1, _08021298 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 -_0802126E: - adds r2, r1 - ldr r1, _0802129C @ =sStatusFlagsForMoveEffects - ldrb r0, [r3, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - ldr r0, _080212A0 @ =gBattleCommunication - movs r2, 0 - strb r2, [r0, 0x3] - ldr r1, _080212A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - ldr r0, _080212A8 @ =gBattleScripting - strb r2, [r0, 0x16] - pop {r0} - bx r0 - .align 2, 0 -_08021298: .4byte gBattleMons -_0802129C: .4byte sStatusFlagsForMoveEffects -_080212A0: .4byte gBattleCommunication -_080212A4: .4byte gBattlescriptCurrInstr -_080212A8: .4byte gBattleScripting - thumb_func_end atk18_clearstatusfromeffect - - thumb_func_start atk19_tryfaintmon -atk19_tryfaintmon: @ 80212AC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, _08021318 @ =gBattlescriptCurrInstr - ldr r2, [r0] - ldrb r1, [r2, 0x2] - adds r6, r0, 0 - cmp r1, 0 - beq _08021330 - ldrb r0, [r2, 0x1] - bl GetBattlerForBattleScript - ldr r5, _0802131C @ =gActiveBattler - strb r0, [r5] - ldr r2, _08021320 @ =gHitMarker - ldr r1, _08021324 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _080212E4 - b _0802158C -_080212E4: - ldr r1, [r6] - ldrb r4, [r1, 0x3] - ldrb r0, [r1, 0x4] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x5] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x6] - lsls r0, 24 - orrs r4, r0 - bl BattleScriptPop - str r4, [r6] - ldrb r0, [r5] - bl GetBattlerSide - ldr r1, _08021328 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r2, [r0] - ldr r1, _0802132C @ =0x0000fdff - ands r1, r2 - strh r1, [r0] - b _08021592 - .align 2, 0 -_08021318: .4byte gBattlescriptCurrInstr -_0802131C: .4byte gActiveBattler -_08021320: .4byte gHitMarker -_08021324: .4byte gBitTable -_08021328: .4byte gSideStatuses -_0802132C: .4byte 0x0000fdff -_08021330: - ldrb r0, [r2, 0x1] - cmp r0, 0x1 - bne _08021358 - ldr r1, _08021348 @ =gActiveBattler - ldr r0, _0802134C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _08021350 @ =gBattlerTarget - ldrb r0, [r0] - mov r9, r0 - ldr r4, _08021354 @ =BattleScript_FaintAttacker - b _08021368 - .align 2, 0 -_08021348: .4byte gActiveBattler -_0802134C: .4byte gBattlerAttacker -_08021350: .4byte gBattlerTarget -_08021354: .4byte BattleScript_FaintAttacker -_08021358: - ldr r1, _080213D0 @ =gActiveBattler - ldr r0, _080213D4 @ =gBattlerTarget - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _080213D8 @ =gBattlerAttacker - ldrb r0, [r0] - mov r9, r0 - ldr r4, _080213DC @ =BattleScript_FaintTarget -_08021368: - mov r8, r1 - ldr r0, _080213E0 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _080213E4 @ =gBitTable - mov r7, r8 - ldrb r3, [r7] - lsls r0, r3, 2 - adds r0, r2 - ldr r2, [r0] - ands r1, r2 - cmp r1, 0 - beq _08021382 - b _0802158C -_08021382: - ldr r1, _080213E8 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08021392 - b _0802158C -_08021392: - ldr r5, _080213EC @ =gHitMarker - lsls r1, r2, 28 - ldr r0, [r5] - orrs r0, r1 - str r0, [r5] - ldr r0, [r6] - adds r0, 0x7 - bl BattleScriptPush - str r4, [r6] - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080213F4 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 15 - orrs r0, r1 - str r0, [r5] - ldr r1, _080213F0 @ =gBattleResults - ldrb r0, [r1] - cmp r0, 0xFE - bhi _080213C8 - adds r0, 0x1 - strb r0, [r1] -_080213C8: - ldrb r0, [r7] - bl AdjustFriendshipOnBattleFaint - b _0802142C - .align 2, 0 -_080213D0: .4byte gActiveBattler -_080213D4: .4byte gBattlerTarget -_080213D8: .4byte gBattlerAttacker -_080213DC: .4byte BattleScript_FaintTarget -_080213E0: .4byte gAbsentBattlerFlags -_080213E4: .4byte gBitTable -_080213E8: .4byte gBattleMons -_080213EC: .4byte gHitMarker -_080213F0: .4byte gBattleResults -_080213F4: - ldr r4, _0802154C @ =gBattleResults - ldrb r0, [r4, 0x1] - cmp r0, 0xFE - bhi _08021400 - adds r0, 0x1 - strb r0, [r4, 0x1] -_08021400: - ldr r1, _08021550 @ =gBattlerPartyIndexes - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021554 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - strh r0, [r4, 0x20] - ldr r0, _08021558 @ =gBattleStruct - ldr r0, [r0] - movs r3, 0xC1 - lsls r3, 1 - adds r1, r0, r3 - ldr r0, _0802155C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r1] -_0802142C: - ldr r2, _08021560 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802146A - ldr r6, _08021564 @ =gBattleMons - ldr r0, _0802155C @ =gBattlerAttacker - ldrb r0, [r0] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0802146A - movs r0, 0x41 - negs r0, r0 - ands r1, r0 - str r1, [r2] - ldr r4, _08021568 @ =gBattlescriptCurrInstr - ldr r0, [r4] - bl BattleScriptPush - ldr r1, _0802156C @ =gBattleMoveDamage - mov r0, r9 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x28] - str r0, [r1] - ldr r0, _08021570 @ =BattleScript_DestinyBondTakesLife - str r0, [r4] -_0802146A: - ldr r1, _08021574 @ =gStatuses3 - ldr r6, _08021578 @ =gBattlerTarget - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 7 - ands r0, r1 - cmp r0, 0 - bne _08021482 - b _08021592 -_08021482: - ldr r0, _08021560 @ =gHitMarker - ldr r5, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r5, r0 - cmp r5, 0 - beq _08021492 - b _08021592 -_08021492: - ldr r0, _0802155C @ =gBattlerAttacker - mov r8, r0 - ldrb r0, [r0] - bl GetBattlerSide - adds r4, r0, 0 - ldrb r0, [r6] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08021592 - ldr r1, _08021564 @ =gBattleMons - mov r9, r1 - mov r2, r8 - ldrb r1, [r2] - movs r7, 0x58 - adds r2, r1, 0 - muls r2, r7 - mov r3, r9 - adds r0, r2, r3 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08021592 - ldr r0, _0802157C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xA5 - beq _08021592 - ldr r0, _08021558 @ =gBattleStruct - ldr r0, [r0] - adds r0, r1, r0 - adds r0, 0x80 - ldrb r4, [r0] - adds r0, r4, r2 - mov r6, r9 - adds r6, 0x24 - adds r0, r6 - strb r5, [r0] - ldr r5, _08021568 @ =gBattlescriptCurrInstr - ldr r0, [r5] - bl BattleScriptPush - ldr r0, _08021580 @ =BattleScript_GrudgeTakesPp - str r0, [r5] - ldr r5, _08021584 @ =gActiveBattler - mov r1, r8 - ldrb r0, [r1] - strb r0, [r5] - adds r1, r4, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r5] - muls r0, r7 - adds r0, r6 - adds r0, r4 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _08021588 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - lsls r4, 1 - mov r2, r8 - ldrb r0, [r2] - muls r0, r7 - adds r0, r4, r0 - mov r2, r9 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - mov r3, r8 - ldrb r0, [r3] - muls r0, r7 - adds r4, r0 - adds r4, r2 - ldrh r0, [r4] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - b _08021592 - .align 2, 0 -_0802154C: .4byte gBattleResults -_08021550: .4byte gBattlerPartyIndexes -_08021554: .4byte gEnemyParty -_08021558: .4byte gBattleStruct -_0802155C: .4byte gBattlerAttacker -_08021560: .4byte gHitMarker -_08021564: .4byte gBattleMons -_08021568: .4byte gBattlescriptCurrInstr -_0802156C: .4byte gBattleMoveDamage -_08021570: .4byte BattleScript_DestinyBondTakesLife -_08021574: .4byte gStatuses3 -_08021578: .4byte gBattlerTarget -_0802157C: .4byte gCurrentMove -_08021580: .4byte BattleScript_GrudgeTakesPp -_08021584: .4byte gActiveBattler -_08021588: .4byte gBattleTextBuff1 -_0802158C: - ldr r0, [r6] - adds r0, 0x7 - str r0, [r6] -_08021592: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk19_tryfaintmon - - thumb_func_start atk1A_dofaintanimation -atk1A_dofaintanimation: @ 80215A0 - push {r4,r5,lr} - ldr r0, _080215D0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _080215CA - ldr r5, _080215D4 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080215D8 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - bl BtlController_EmitFaintAnimation - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080215CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080215D0: .4byte gBattleControllerExecFlags -_080215D4: .4byte gBattlescriptCurrInstr -_080215D8: .4byte gActiveBattler - thumb_func_end atk1A_dofaintanimation - - thumb_func_start atk1B_cleareffectsonfaint -atk1B_cleareffectsonfaint: @ 80215DC - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _08021630 @ =gBattleControllerExecFlags - ldr r6, [r0] - cmp r6, 0 - bne _08021628 - ldr r5, _08021634 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08021638 @ =gActiveBattler - strb r0, [r4] - ldr r1, _0802163C @ =gBattleMons - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - str r6, [r0] - ldrb r0, [r4] - muls r0, r2 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - bl sub_8012BC8 - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_08021628: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08021630: .4byte gBattleControllerExecFlags -_08021634: .4byte gBattlescriptCurrInstr -_08021638: .4byte gActiveBattler -_0802163C: .4byte gBattleMons - thumb_func_end atk1B_cleareffectsonfaint - - thumb_func_start atk1C_jumpifstatus -atk1C_jumpifstatus: @ 8021640 - push {r4,r5,lr} - ldr r5, _0802169C @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - ldrb r4, [r2, 0x2] - ldrb r1, [r2, 0x3] - lsls r1, 8 - adds r4, r1 - ldrb r1, [r2, 0x4] - lsls r1, 16 - adds r4, r1 - ldrb r1, [r2, 0x5] - lsls r1, 24 - adds r4, r1 - ldrb r3, [r2, 0x6] - ldrb r1, [r2, 0x7] - lsls r1, 8 - adds r3, r1 - ldrb r1, [r2, 0x8] - lsls r1, 16 - adds r3, r1 - ldrb r1, [r2, 0x9] - lsls r1, 24 - adds r3, r1 - ldr r2, _080216A0 @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r1, r0 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _080216A4 - adds r0, r1, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _080216A4 - str r3, [r5] - b _080216AC - .align 2, 0 -_0802169C: .4byte gBattlescriptCurrInstr -_080216A0: .4byte gBattleMons -_080216A4: - ldr r1, _080216B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] -_080216AC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080216B4: .4byte gBattlescriptCurrInstr - thumb_func_end atk1C_jumpifstatus - - thumb_func_start atk1D_jumpifstatus2 -atk1D_jumpifstatus2: @ 80216B8 - push {r4,r5,lr} - ldr r5, _08021714 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - ldrb r4, [r2, 0x2] - ldrb r1, [r2, 0x3] - lsls r1, 8 - adds r4, r1 - ldrb r1, [r2, 0x4] - lsls r1, 16 - adds r4, r1 - ldrb r1, [r2, 0x5] - lsls r1, 24 - adds r4, r1 - ldrb r3, [r2, 0x6] - ldrb r1, [r2, 0x7] - lsls r1, 8 - adds r3, r1 - ldrb r1, [r2, 0x8] - lsls r1, 16 - adds r3, r1 - ldrb r1, [r2, 0x9] - lsls r1, 24 - adds r3, r1 - ldr r2, _08021718 @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r0, r2, 0 - adds r0, 0x50 - adds r0, r1, r0 - ldr r0, [r0] - ands r0, r4 - cmp r0, 0 - beq _0802171C - adds r0, r1, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0802171C - str r3, [r5] - b _08021724 - .align 2, 0 -_08021714: .4byte gBattlescriptCurrInstr -_08021718: .4byte gBattleMons -_0802171C: - ldr r1, _0802172C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] -_08021724: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802172C: .4byte gBattlescriptCurrInstr - thumb_func_end atk1D_jumpifstatus2 - - thumb_func_start atk1E_jumpifability -atk1E_jumpifability: @ 8021730 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r6, _08021784 @ =gBattlescriptCurrInstr - ldr r2, [r6] - ldrb r5, [r2, 0x2] - mov r8, r5 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - adds r7, r1, r0 - ldrb r0, [r2, 0x1] - cmp r0, 0x8 - bne _08021790 - ldr r0, _08021788 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xD - adds r2, r5, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08021804 - ldr r1, _0802178C @ =gLastUsedAbility - strb r5, [r1] - str r7, [r6] - subs r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - ldrb r1, [r1] - b _080217EC - .align 2, 0 -_08021784: .4byte gBattlescriptCurrInstr -_08021788: .4byte gBattlerAttacker -_0802178C: .4byte gLastUsedAbility -_08021790: - cmp r0, 0x9 - bne _080217C8 - ldr r0, _080217C0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xC - adds r2, r5, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _08021804 - ldr r1, _080217C4 @ =gLastUsedAbility - strb r5, [r1] - str r7, [r6] - subs r4, 0x1 - lsls r0, r4, 24 - lsrs r0, 24 - ldrb r1, [r1] - b _080217EC - .align 2, 0 -_080217C0: .4byte gBattlerAttacker -_080217C4: .4byte gLastUsedAbility -_080217C8: - ldrb r0, [r2, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080217F8 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - adds r0, 0x20 - ldrb r1, [r0] - cmp r1, r8 - bne _08021804 - ldr r0, _080217FC @ =gLastUsedAbility - strb r1, [r0] - str r7, [r6] - ldrb r1, [r0] - adds r0, r4, 0 -_080217EC: - bl RecordAbilityBattle - ldr r0, _08021800 @ =gBattleScripting - strb r4, [r0, 0x15] - b _0802180A - .align 2, 0 -_080217F8: .4byte gBattleMons -_080217FC: .4byte gLastUsedAbility -_08021800: .4byte gBattleScripting -_08021804: - ldr r0, [r6] - adds r0, 0x7 - str r0, [r6] -_0802180A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk1E_jumpifability - - thumb_func_start atk1F_jumpifsideaffecting -atk1F_jumpifsideaffecting: @ 8021818 - push {r4-r6,lr} - ldr r0, _08021830 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r4, [r0, 0x1] - cmp r4, 0x1 - bne _08021838 - ldr r0, _08021834 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - b _08021842 - .align 2, 0 -_08021830: .4byte gBattlescriptCurrInstr -_08021834: .4byte gBattlerAttacker -_08021838: - ldr r0, _08021878 @ =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerPosition - movs r4, 0x1 -_08021842: - ands r4, r0 - ldr r6, _0802187C @ =gBattlescriptCurrInstr - ldr r3, [r6] - ldrb r2, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - adds r5, r1, r0 - ldr r1, _08021880 @ =gSideStatuses - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - ands r2, r0 - cmp r2, 0 - beq _08021884 - str r5, [r6] - b _0802188A - .align 2, 0 -_08021878: .4byte gBattlerTarget -_0802187C: .4byte gBattlescriptCurrInstr -_08021880: .4byte gSideStatuses -_08021884: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r6] -_0802188A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk1F_jumpifsideaffecting - - thumb_func_start atk20_jumpifstat -atk20_jumpifstat: @ 8021890 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _080218C4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080218C8 @ =gBattleMons - ldr r3, [r4] - movs r1, 0x58 - muls r0, r1 - ldrb r1, [r3, 0x3] - adds r0, r1 - adds r2, 0x18 - adds r0, r2 - ldrb r2, [r0] - ldrb r0, [r3, 0x2] - cmp r0, 0x5 - bhi _0802194E - lsls r0, 2 - ldr r1, _080218CC @ =_080218D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080218C4: .4byte gBattlescriptCurrInstr -_080218C8: .4byte gBattleMons -_080218CC: .4byte _080218D0 - .align 2, 0 -_080218D0: - .4byte _080218E8 - .4byte _080218F8 - .4byte _08021908 - .4byte _08021918 - .4byte _08021928 - .4byte _0802193C -_080218E8: - ldr r0, _080218F4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bne _0802194E - b _08021948 - .align 2, 0 -_080218F4: .4byte gBattlescriptCurrInstr -_080218F8: - ldr r0, _08021904 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - beq _0802194E - b _08021948 - .align 2, 0 -_08021904: .4byte gBattlescriptCurrInstr -_08021908: - ldr r0, _08021914 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bls _0802194E - b _08021948 - .align 2, 0 -_08021914: .4byte gBattlescriptCurrInstr -_08021918: - ldr r0, _08021924 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - cmp r2, r0 - bcs _0802194E - b _08021948 - .align 2, 0 -_08021924: .4byte gBattlescriptCurrInstr -_08021928: - ldr r0, _08021938 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - ands r2, r0 - cmp r2, 0 - beq _0802194E - b _08021948 - .align 2, 0 -_08021938: .4byte gBattlescriptCurrInstr -_0802193C: - ldr r0, _08021970 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x4] - ands r2, r0 - cmp r2, 0 - bne _0802194E -_08021948: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0802194E: - cmp r5, 0 - beq _08021974 - ldr r3, _08021970 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - b _0802197C - .align 2, 0 -_08021970: .4byte gBattlescriptCurrInstr -_08021974: - ldr r1, _08021984 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] -_0802197C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08021984: .4byte gBattlescriptCurrInstr - thumb_func_end atk20_jumpifstat - - thumb_func_start atk21_jumpifstatus3condition -atk21_jumpifstatus3condition: @ 8021988 - push {r4-r6,lr} - ldr r4, _080219DC @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _080219E0 @ =gActiveBattler - strb r0, [r5] - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - adds r6, r1, r0 - ldrb r1, [r2, 0x7] - ldrb r0, [r2, 0x8] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x9] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0xA] - lsls r0, 24 - adds r3, r1, r0 - ldrb r0, [r2, 0x6] - cmp r0, 0 - beq _080219E8 - ldr r0, _080219E4 @ =gStatuses3 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - ands r0, r6 - cmp r0, 0 - bne _08021A00 - b _080219F8 - .align 2, 0 -_080219DC: .4byte gBattlescriptCurrInstr -_080219E0: .4byte gActiveBattler -_080219E4: .4byte gStatuses3 -_080219E8: - ldr r0, _080219FC @ =gStatuses3 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - ands r0, r6 - cmp r0, 0 - beq _08021A00 -_080219F8: - str r3, [r4] - b _08021A06 - .align 2, 0 -_080219FC: .4byte gStatuses3 -_08021A00: - adds r0, r2, 0 - adds r0, 0xB - str r0, [r4] -_08021A06: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk21_jumpifstatus3condition - - thumb_func_start atk22_jumpiftype -atk22_jumpiftype: @ 8021A0C - push {r4-r6,lr} - ldr r4, _08021A54 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldrb r5, [r3, 0x2] - ldrb r2, [r3, 0x3] - ldrb r1, [r3, 0x4] - lsls r1, 8 - adds r2, r1 - ldrb r1, [r3, 0x5] - lsls r1, 16 - adds r2, r1 - ldrb r1, [r3, 0x6] - lsls r1, 24 - adds r6, r2, r1 - ldr r2, _08021A58 @ =gBattleMons - movs r1, 0x58 - muls r0, r1 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r5 - beq _08021A50 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r5 - bne _08021A5C -_08021A50: - str r6, [r4] - b _08021A60 - .align 2, 0 -_08021A54: .4byte gBattlescriptCurrInstr -_08021A58: .4byte gBattleMons -_08021A5C: - adds r0, r3, 0x7 - str r0, [r4] -_08021A60: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk22_jumpiftype - - thumb_func_start atk23_getexp -atk23_getexp: @ 8021A68 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - ldr r0, _08021AB0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x50 - mov r9, r0 - ldr r0, _08021AB4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08021AB8 @ =gBattlerFainted - strb r0, [r1] - ldr r2, _08021ABC @ =gSentPokesToOpponent - movs r1, 0x2 - ands r1, r0 - lsls r1, 24 - lsrs r1, 25 - adds r1, r2 - ldrb r1, [r1] - mov r8, r1 - ldr r0, _08021AC0 @ =gBattleScripting - ldrb r0, [r0, 0x1C] - cmp r0, 0x6 - bls _08021AA4 - bl _080223DA -_08021AA4: - lsls r0, 2 - ldr r1, _08021AC4 @ =_08021AC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08021AB0: .4byte gBattleStruct -_08021AB4: .4byte gBattlescriptCurrInstr -_08021AB8: .4byte gBattlerFainted -_08021ABC: .4byte gSentPokesToOpponent -_08021AC0: .4byte gBattleScripting -_08021AC4: .4byte _08021AC8 - .align 2, 0 -_08021AC8: - .4byte _08021AE4 - .4byte _08021B50 - .4byte _08021C6A - .4byte _08021F78 - .4byte _0802207C - .4byte _08022368 - .4byte _080223B0 -_08021AE4: - ldr r4, _08021B34 @ =gBattlerFainted - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08021AF8 - bl _080223A4 -_08021AF8: - ldr r0, _08021B38 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08021B3C @ =0x00080982 - ands r0, r1 - cmp r0, 0 - beq _08021B08 - bl _080223A4 -_08021B08: - ldr r1, _08021B40 @ =gBattleScripting - ldrb r0, [r1, 0x1C] - adds r0, 0x1 - strb r0, [r1, 0x1C] - ldr r0, _08021B44 @ =gBattleStruct - ldr r2, [r0] - adds r2, 0xDF - ldr r3, _08021B48 @ =gBitTable - ldr r1, _08021B4C @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - bl _080223DA - .align 2, 0 -_08021B34: .4byte gBattlerFainted -_08021B38: .4byte gBattleTypeFlags -_08021B3C: .4byte 0x00080982 -_08021B40: .4byte gBattleScripting -_08021B44: .4byte gBattleStruct -_08021B48: .4byte gBitTable -_08021B4C: .4byte gBattlerPartyIndexes -_08021B50: - movs r5, 0 - movs r7, 0 -_08021B54: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _08021BA4 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08021BC2 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08021BC2 - ldr r0, _08021BA8 @ =gBitTable - lsls r1, r7, 2 - adds r1, r0 - ldr r0, [r1] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _08021B88 - adds r5, 0x1 -_08021B88: - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08021BB4 - ldr r0, _08021BAC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _08021BB0 @ =0x0000311a - adds r0, r2 - ldrb r4, [r0] - b _08021BBC - .align 2, 0 -_08021BA4: .4byte gPlayerParty -_08021BA8: .4byte gBitTable -_08021BAC: .4byte gSaveBlock1Ptr -_08021BB0: .4byte 0x0000311a -_08021BB4: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08021BBC: - cmp r4, 0x19 - bne _08021BC2 - adds r6, 0x1 -_08021BC2: - adds r7, 0x1 - cmp r7, 0x5 - ble _08021B54 - ldr r3, _08021C28 @ =gBaseStats - ldr r2, _08021C2C @ =gBattleMons - ldr r0, _08021C30 @ =gBattlerFainted - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r2, [r1] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x9] - adds r1, 0x2A - ldrb r0, [r1] - muls r0, r2 - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r6, 0 - beq _08021C38 - lsrs r4, r0, 17 - adds r0, r4, 0 - adds r1, r5, 0 - bl __divsi3 - mov r1, r9 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _08021C0E - movs r0, 0x1 - strh r0, [r1] -_08021C0E: - ldr r5, _08021C34 @ =gExpShareExp - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - strh r0, [r5] - lsls r0, 16 - cmp r0, 0 - bne _08021C52 - movs r0, 0x1 - strh r0, [r5] - b _08021C52 - .align 2, 0 -_08021C28: .4byte gBaseStats -_08021C2C: .4byte gBattleMons -_08021C30: .4byte gBattlerFainted -_08021C34: .4byte gExpShareExp -_08021C38: - adds r0, r1, 0 - adds r1, r5, 0 - bl __divsi3 - mov r2, r9 - strh r0, [r2] - lsls r0, 16 - cmp r0, 0 - bne _08021C4E - movs r0, 0x1 - strh r0, [r2] -_08021C4E: - ldr r0, _08021C9C @ =gExpShareExp - strh r6, [r0] -_08021C52: - ldr r1, _08021CA0 @ =gBattleScripting - ldrb r0, [r1, 0x1C] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1, 0x1C] - ldr r1, _08021CA4 @ =gBattleStruct - ldr r0, [r1] - strb r2, [r0, 0x10] - ldr r0, [r1] - adds r0, 0x53 - mov r4, r8 - strb r4, [r0] -_08021C6A: - ldr r0, _08021CA8 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08021C74 - b _080223DA -_08021C74: - ldr r0, _08021CA4 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021CAC @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08021CB8 - ldr r0, _08021CB0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08021CB4 @ =0x0000311a - adds r0, r1 - ldrb r4, [r0] - b _08021CC0 - .align 2, 0 -_08021C9C: .4byte gExpShareExp -_08021CA0: .4byte gBattleScripting -_08021CA4: .4byte gBattleStruct -_08021CA8: .4byte gBattleControllerExecFlags -_08021CAC: .4byte gPlayerParty -_08021CB0: .4byte gSaveBlock1Ptr -_08021CB4: .4byte 0x0000311a -_08021CB8: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08021CC0: - ldr r5, _08021CE0 @ =gBattleStruct - cmp r4, 0x19 - beq _08021CE8 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x53 - ldrb r0, [r1] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - bne _08021CE8 - lsrs r0, 1 - strb r0, [r1] - ldr r1, _08021CE4 @ =gBattleScripting - b _08021D0C - .align 2, 0 -_08021CE0: .4byte gBattleStruct -_08021CE4: .4byte gBattleScripting -_08021CE8: - ldr r0, [r5] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021D18 @ =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - bne _08021D24 - ldr r1, [r5] - adds r1, 0x53 - ldrb r0, [r1] - lsrs r0, 1 - strb r0, [r1] - ldr r1, _08021D1C @ =gBattleScripting - movs r2, 0 -_08021D0C: - movs r0, 0x5 - strb r0, [r1, 0x1C] - ldr r0, _08021D20 @ =gBattleMoveDamage - str r2, [r0] - b _080223DA - .align 2, 0 -_08021D18: .4byte gPlayerParty -_08021D1C: .4byte gBattleScripting -_08021D20: .4byte gBattleMoveDamage -_08021D24: - ldr r0, _08021D88 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08021D8C @ =0x00010008 - ands r0, r1 - cmp r0, 0 - bne _08021D52 - ldr r0, _08021D90 @ =gBattleMons - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08021D52 - ldr r0, [r5] - ldrb r0, [r0, 0x12] - cmp r0, 0 - bne _08021D52 - bl BattleStopLowHpSound - ldr r0, _08021D94 @ =0x00000137 - bl PlayBGM - ldr r1, [r5] - ldrb r0, [r1, 0x12] - adds r0, 0x1 - strb r0, [r1, 0x12] -_08021D52: - ldr r5, _08021D98 @ =gBattleStruct - ldr r0, [r5] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021D9C @ =gPlayerParty - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - bne _08021D6C - b _08021F4C -_08021D6C: - ldr r0, [r5] - adds r0, 0x53 - ldrb r0, [r0] - movs r3, 0x1 - ands r3, r0 - cmp r3, 0 - beq _08021DA4 - ldr r1, _08021DA0 @ =gBattleMoveDamage - mov r2, r9 - ldrh r0, [r2] - str r0, [r1] - mov r9, r1 - b _08021DAA - .align 2, 0 -_08021D88: .4byte gBattleTypeFlags -_08021D8C: .4byte 0x00010008 -_08021D90: .4byte gBattleMons -_08021D94: .4byte 0x00000137 -_08021D98: .4byte gBattleStruct -_08021D9C: .4byte gPlayerParty -_08021DA0: .4byte gBattleMoveDamage -_08021DA4: - ldr r0, _08021E28 @ =gBattleMoveDamage - str r3, [r0] - mov r9, r0 -_08021DAA: - cmp r4, 0x19 - bne _08021DBA - ldr r0, _08021E2C @ =gExpShareExp - ldrh r1, [r0] - mov r2, r9 - ldr r0, [r2] - adds r0, r1 - str r0, [r2] -_08021DBA: - cmp r4, 0x28 - bne _08021DCE - mov r4, r9 - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] -_08021DCE: - ldr r5, _08021E30 @ =gBattleTypeFlags - ldr r0, [r5] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08021DEA - ldr r4, _08021E28 @ =gBattleMoveDamage - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] -_08021DEA: - ldr r0, _08021E34 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021E38 @ =gPlayerParty - adds r0, r1 - bl IsTradedMon - lsls r0, 24 - cmp r0, 0 - beq _08021E3C - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - bne _08021E3C - ldr r4, _08021E28 @ =gBattleMoveDamage - ldr r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - movs r7, 0xA5 - lsls r7, 1 - mov r9, r4 - b _08021E42 - .align 2, 0 -_08021E28: .4byte gBattleMoveDamage -_08021E2C: .4byte gExpShareExp -_08021E30: .4byte gBattleTypeFlags -_08021E34: .4byte gBattleStruct -_08021E38: .4byte gPlayerParty -_08021E3C: - ldr r7, _08021E78 @ =0x00000149 - ldr r0, _08021E7C @ =gBattleMoveDamage - mov r9, r0 -_08021E42: - ldr r0, _08021E80 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08021EAE - ldr r0, _08021E84 @ =gBattlerPartyIndexes - ldr r1, _08021E88 @ =gBattleStruct - ldr r4, [r1] - ldrh r0, [r0, 0x4] - adds r5, r1, 0 - ldr r3, _08021E8C @ =gBitTable - ldr r2, _08021E90 @ =gAbsentBattlerFlags - ldrb r1, [r4, 0x10] - cmp r0, r1 - bne _08021E94 - ldrb r1, [r2] - ldr r0, [r3, 0x8] - ands r1, r0 - cmp r1, 0 - bne _08021E94 - adds r1, r4, 0 - adds r1, 0x8F - movs r0, 0x2 - strb r0, [r1] - b _08021EB6 - .align 2, 0 -_08021E78: .4byte 0x00000149 -_08021E7C: .4byte gBattleMoveDamage -_08021E80: .4byte gBattleTypeFlags -_08021E84: .4byte gBattlerPartyIndexes -_08021E88: .4byte gBattleStruct -_08021E8C: .4byte gBitTable -_08021E90: .4byte gAbsentBattlerFlags -_08021E94: - ldrb r2, [r2] - ldr r0, [r3] - ands r2, r0 - cmp r2, 0 - bne _08021EA6 - ldr r0, [r5] - adds r0, 0x8F - strb r2, [r0] - b _08021EB6 -_08021EA6: - ldr r0, [r5] - adds r0, 0x8F - movs r1, 0x2 - b _08021EB4 -_08021EAE: - ldr r0, _08021F5C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x8F -_08021EB4: - strb r1, [r0] -_08021EB6: - ldr r1, _08021F60 @ =gBattleTextBuff1 - movs r2, 0 - mov r12, r2 - movs r3, 0xFD - strb r3, [r1] - movs r5, 0x4 - strb r5, [r1, 0x1] - ldr r6, _08021F5C @ =gBattleStruct - ldr r2, [r6] - movs r4, 0x8F - adds r4, r2 - mov r8, r4 - ldrb r0, [r4] - strb r0, [r1, 0x2] - ldrb r0, [r2, 0x10] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08021F64 @ =gBattleTextBuff2 - strb r3, [r1] - mov r0, r12 - strb r0, [r1, 0x1] - strb r7, [r1, 0x2] - movs r4, 0xFF - lsls r4, 8 - ands r7, r4 - asrs r0, r7, 8 - strb r0, [r1, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x4] - ldr r1, _08021F68 @ =gBattleTextBuff3 - strb r3, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - mov r0, r9 - ldr r2, [r0] - strb r2, [r1, 0x4] - adds r0, r2, 0 - ands r0, r4 - asrs r0, 8 - strb r0, [r1, 0x5] - movs r0, 0xFF - lsls r0, 16 - ands r0, r2 - asrs r0, 16 - strb r0, [r1, 0x6] - lsrs r2, 24 - strb r2, [r1, 0x7] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x8] - mov r2, r8 - ldrb r1, [r2] - movs r0, 0xD - bl PrepareStringBattle - ldr r0, [r6] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08021F6C @ =gPlayerParty - adds r0, r1 - ldr r3, _08021F70 @ =gBattleMons - ldr r1, _08021F74 @ =gBattlerFainted - ldrb r2, [r1] - movs r1, 0x58 - muls r1, r2 - adds r1, r3 - ldrh r1, [r1] - bl MonGainEVs -_08021F4C: - ldr r0, _08021F5C @ =gBattleStruct - ldr r1, [r0] - adds r1, 0x53 - ldrb r0, [r1] - lsrs r0, 1 - strb r0, [r1] - b _08022052 - .align 2, 0 -_08021F5C: .4byte gBattleStruct -_08021F60: .4byte gBattleTextBuff1 -_08021F64: .4byte gBattleTextBuff2 -_08021F68: .4byte gBattleTextBuff3 -_08021F6C: .4byte gPlayerParty -_08021F70: .4byte gBattleMons -_08021F74: .4byte gBattlerFainted -_08021F78: - ldr r0, _0802205C @ =gBattleControllerExecFlags - ldr r2, [r0] - cmp r2, 0 - beq _08021F82 - b _080223DA -_08021F82: - ldr r1, _08022060 @ =gBattleBufferB - ldr r7, _08022064 @ =gBattleStruct - ldr r0, [r7] - adds r0, 0x8F - ldrb r0, [r0] - lsls r0, 9 - adds r0, r1 - strb r2, [r0] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08022068 @ =gPlayerParty - adds r0, r5 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08022052 - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _08022052 - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3A - bl GetMonData - ldr r4, _0802206C @ =gBattleResources - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3B - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x2] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3C - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x4] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3D - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x6] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3E - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0x8] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0x3F - bl GetMonData - ldr r1, [r4] - ldr r1, [r1, 0x10] - strh r0, [r1, 0xA] - ldr r4, _08022070 @ =gActiveBattler - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x8F - ldrb r0, [r0] - strb r0, [r4] - ldrb r1, [r1, 0x10] - ldr r0, _08022074 @ =gBattleMoveDamage - ldrh r2, [r0] - movs r0, 0 - bl BtlController_EmitExpUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08022052: - ldr r1, _08022078 @ =gBattleScripting - ldrb r0, [r1, 0x1C] - adds r0, 0x1 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_0802205C: .4byte gBattleControllerExecFlags -_08022060: .4byte gBattleBufferB -_08022064: .4byte gBattleStruct -_08022068: .4byte gPlayerParty -_0802206C: .4byte gBattleResources -_08022070: .4byte gActiveBattler -_08022074: .4byte gBattleMoveDamage -_08022078: .4byte gBattleScripting -_0802207C: - ldr r0, _08022314 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08022086 - b _080223DA -_08022086: - ldr r1, _08022318 @ =gActiveBattler - ldr r0, _0802231C @ =gBattleStruct - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x8F - ldrb r0, [r0] - strb r0, [r1] - ldr r3, _08022320 @ =gBattleBufferB - ldrb r2, [r1] - lsls r1, r2, 9 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0x21 - beq _080220A4 - b _08022350 -_080220A4: - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0xB - beq _080220B0 - b _08022350 -_080220B0: - ldr r0, _08022324 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080220DA - ldr r0, _08022328 @ =gBattlerPartyIndexes - lsls r1, r2, 1 - adds r1, r0 - ldrh r0, [r1] - ldrb r4, [r4, 0x10] - cmp r0, r4 - bne _080220DA - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802232C @ =gPlayerParty - adds r0, r1 - adds r1, r2, 0 - bl HandleLowHpMusicChange -_080220DA: - ldr r1, _08022330 @ =gBattleTextBuff1 - movs r3, 0xFD - strb r3, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r6, _08022318 @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r1, 0x2] - ldr r4, _0802231C @ =gBattleStruct - mov r9, r4 - ldr r2, [r4] - ldrb r0, [r2, 0x10] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r4, _08022334 @ =gBattleTextBuff2 - strb r3, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - movs r0, 0x3 - strb r0, [r4, 0x3] - ldrb r0, [r2, 0x10] - movs r1, 0x64 - mov r8, r1 - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - ldr r7, _0802232C @ =gPlayerParty - adds r0, r7 - movs r1, 0x38 - bl GetMonData - strb r0, [r4, 0x4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x5] - bl BattleScriptPushCursor - ldr r2, _08022338 @ =gLeveledUpInBattle - ldr r1, _0802233C @ =gBitTable - mov r4, r9 - ldr r5, [r4] - ldrb r0, [r5, 0x10] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r1, _08022340 @ =gBattlescriptCurrInstr - ldr r0, _08022344 @ =BattleScript_LevelUp - str r0, [r1] - ldr r4, _08022348 @ =gBattleMoveDamage - ldr r2, _08022320 @ =gBattleBufferB - ldrb r1, [r6] - lsls r1, 9 - adds r0, r2, 0x2 - adds r0, r1, r0 - ldrb r3, [r0] - adds r2, 0x3 - adds r1, r2 - ldrb r0, [r1] - lsls r0, 8 - orrs r3, r0 - str r3, [r4] - ldrb r0, [r5, 0x10] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - movs r1, 0 - bl AdjustFriendship - ldr r1, _08022328 @ =gBattlerPartyIndexes - mov r2, r9 - ldr r0, [r2] - ldrb r2, [r0, 0x10] - ldrh r0, [r1] - cmp r0, r2 - bne _08022246 - ldr r4, _0802234C @ =gBattleMons - ldrh r0, [r4, 0x28] - cmp r0, 0 - beq _08022246 - mov r0, r8 - muls r0, r2 - adds r0, r7 - movs r1, 0x38 - bl GetMonData - adds r1, r4, 0 - adds r1, 0x2A - strb r0, [r1] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x39 - bl GetMonData - strh r0, [r4, 0x28] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3A - bl GetMonData - strh r0, [r4, 0x2C] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3B - bl GetMonData - strh r0, [r4, 0x2] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3C - bl GetMonData - strh r0, [r4, 0x4] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3D - bl GetMonData - strh r0, [r4, 0x6] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3D - bl GetMonData - strh r0, [r4, 0x6] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3E - bl GetMonData - strh r0, [r4, 0x8] - mov r1, r9 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - adds r0, r7 - movs r1, 0x3F - bl GetMonData - strh r0, [r4, 0xA] -_08022246: - ldr r0, _08022328 @ =gBattlerPartyIndexes - ldr r7, _0802231C @ =gBattleStruct - ldr r1, [r7] - ldrb r2, [r1, 0x10] - ldrh r0, [r0, 0x4] - cmp r0, r2 - beq _08022256 - b _08022356 -_08022256: - ldr r6, _0802234C @ =gBattleMons - movs r4, 0xD8 - adds r4, r6 - mov r8, r4 - ldrh r0, [r4] - cmp r0, 0 - beq _08022356 - ldr r0, _08022324 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08022356 - movs r5, 0x64 - adds r0, r2, 0 - muls r0, r5 - ldr r4, _0802232C @ =gPlayerParty - adds r0, r4 - movs r1, 0x38 - bl GetMonData - adds r1, r6, 0 - adds r1, 0xDA - strb r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x39 - bl GetMonData - mov r1, r8 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3A - bl GetMonData - adds r1, r6, 0 - adds r1, 0xDC - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3B - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB2 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3C - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB4 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3D - bl GetMonData - movs r2, 0xB6 - adds r2, r6 - mov r8, r2 - strh r0, [r2] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3D - bl GetMonData - mov r1, r8 - strh r0, [r1] - ldr r0, [r7] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - movs r1, 0x3E - bl GetMonData - adds r1, r6, 0 - adds r1, 0xB8 - strh r0, [r1] - b _08022356 - .align 2, 0 -_08022314: .4byte gBattleControllerExecFlags -_08022318: .4byte gActiveBattler -_0802231C: .4byte gBattleStruct -_08022320: .4byte gBattleBufferB -_08022324: .4byte gBattleTypeFlags -_08022328: .4byte gBattlerPartyIndexes -_0802232C: .4byte gPlayerParty -_08022330: .4byte gBattleTextBuff1 -_08022334: .4byte gBattleTextBuff2 -_08022338: .4byte gLeveledUpInBattle -_0802233C: .4byte gBitTable -_08022340: .4byte gBattlescriptCurrInstr -_08022344: .4byte BattleScript_LevelUp -_08022348: .4byte gBattleMoveDamage -_0802234C: .4byte gBattleMons -_08022350: - ldr r1, _08022360 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] -_08022356: - ldr r1, _08022364 @ =gBattleScripting - movs r0, 0x5 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_08022360: .4byte gBattleMoveDamage -_08022364: .4byte gBattleScripting -_08022368: - ldr r0, _08022378 @ =gBattleMoveDamage - ldr r0, [r0] - cmp r0, 0 - beq _08022380 - ldr r1, _0802237C @ =gBattleScripting - movs r0, 0x3 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_08022378: .4byte gBattleMoveDamage -_0802237C: .4byte gBattleScripting -_08022380: - ldr r2, _0802239C @ =gBattleStruct - ldr r1, [r2] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - ldr r0, [r2] - ldrb r0, [r0, 0x10] - cmp r0, 0x5 - bhi _080223A4 - ldr r1, _080223A0 @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_0802239C: .4byte gBattleStruct -_080223A0: .4byte gBattleScripting -_080223A4: - ldr r1, _080223AC @ =gBattleScripting - movs r0, 0x6 - strb r0, [r1, 0x1C] - b _080223DA - .align 2, 0 -_080223AC: .4byte gBattleScripting -_080223B0: - ldr r0, _080223E8 @ =gBattleControllerExecFlags - ldr r5, [r0] - cmp r5, 0 - bne _080223DA - ldr r4, _080223EC @ =gBattleMons - ldr r2, _080223F0 @ =gBattlerFainted - ldrb r0, [r2] - movs r1, 0x58 - muls r0, r1 - adds r0, r4 - movs r3, 0 - strh r5, [r0, 0x2E] - ldrb r0, [r2] - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - strb r3, [r0] - ldr r1, _080223F4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_080223DA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080223E8: .4byte gBattleControllerExecFlags -_080223EC: .4byte gBattleMons -_080223F0: .4byte gBattlerFainted -_080223F4: .4byte gBattlescriptCurrInstr - thumb_func_end atk23_getexp - thumb_func_start atk24 atk24: @ 80223F8 push {r4-r7,lr} -- cgit v1.2.3 From db0d8e5bdbc0d043312ac78c5cec0ec53d7f45d6 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 26 Aug 2019 06:48:04 +0800 Subject: thru sub_8024398 --- asm/battle_script_commands.s | 4138 ------------------------------------------ 1 file changed, 4138 deletions(-) (limited to 'asm') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 1d0282835..ed848ba78 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,4144 +5,6 @@ .text - thumb_func_start atk24 -atk24: @ 80223F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, _08022534 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0802240A - b _0802258A -_0802240A: - movs r5, 0 -_0802240C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08022538 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802243C - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0802243C - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 -_0802243C: - adds r5, 0x1 - cmp r5, 0x5 - ble _0802240C - cmp r6, 0 - bne _08022450 - ldr r0, _0802253C @ =gBattleOutcome - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] -_08022450: - movs r6, 0 - movs r5, 0 -_08022454: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08022540 @ =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08022484 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08022484 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 -_08022484: - adds r5, 0x1 - cmp r5, 0x5 - ble _08022454 - ldr r2, _0802253C @ =gBattleOutcome - cmp r6, 0 - bne _08022498 - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_08022498: - ldrb r0, [r2] - cmp r0, 0 - bne _08022582 - ldr r0, _08022544 @ =gBattleTypeFlags - ldr r1, [r0] - movs r2, 0x2 - ands r1, r2 - mov r8, r0 - cmp r1, 0 - beq _08022582 - movs r3, 0 - movs r5, 0 - ldr r0, _08022548 @ =gBattlersCount - ldrb r1, [r0] - mov r12, r0 - ldr r7, _0802254C @ =gBattlescriptCurrInstr - cmp r3, r1 - bge _080224E4 - ldr r0, _08022550 @ =gHitMarker - movs r6, 0x80 - lsls r6, 21 - ldr r4, [r0] - adds r2, r1, 0 - ldr r1, _08022554 @ =gSpecialStatuses -_080224C8: - adds r0, r6, 0 - lsls r0, r5 - ands r0, r4 - cmp r0, 0 - beq _080224DC - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080224DC - adds r3, 0x1 -_080224DC: - adds r1, 0x28 - adds r5, 0x2 - cmp r5, r2 - blt _080224C8 -_080224E4: - movs r2, 0 - movs r5, 0x1 - mov r0, r12 - ldrb r1, [r0] - cmp r5, r1 - bge _0802251E - ldr r0, _08022550 @ =gHitMarker - movs r4, 0x80 - lsls r4, 21 - mov r12, r4 - ldr r6, [r0] - ldr r0, _08022554 @ =gSpecialStatuses - adds r4, r1, 0 - adds r1, r0, 0 - adds r1, 0x14 -_08022502: - mov r0, r12 - lsls r0, r5 - ands r0, r6 - cmp r0, 0 - beq _08022516 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08022516 - adds r2, 0x1 -_08022516: - adds r1, 0x28 - adds r5, 0x2 - cmp r5, r4 - blt _08022502 -_0802251E: - mov r1, r8 - ldr r0, [r1] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08022558 - adds r0, r2, r3 - cmp r0, 0x1 - bgt _08022560 - b _0802257A - .align 2, 0 -_08022534: .4byte gBattleControllerExecFlags -_08022538: .4byte gPlayerParty -_0802253C: .4byte gBattleOutcome -_08022540: .4byte gEnemyParty -_08022544: .4byte gBattleTypeFlags -_08022548: .4byte gBattlersCount -_0802254C: .4byte gBattlescriptCurrInstr -_08022550: .4byte gHitMarker -_08022554: .4byte gSpecialStatuses -_08022558: - cmp r2, 0 - beq _0802257A - cmp r3, 0 - beq _0802257A -_08022560: - ldr r2, [r7] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r7] - b _0802258A -_0802257A: - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - b _0802258A -_08022582: - ldr r1, _08022594 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802258A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08022594: .4byte gBattlescriptCurrInstr - thumb_func_end atk24 - - thumb_func_start MoveValuesCleanUp -MoveValuesCleanUp: @ 8022598 - ldr r1, _080225C0 @ =gMoveResultFlags - movs r0, 0 - strb r0, [r1] - ldr r0, _080225C4 @ =gBattleScripting - movs r2, 0 - movs r1, 0x1 - strb r1, [r0, 0xE] - ldr r0, _080225C8 @ =gCritMultiplier - strb r1, [r0] - ldr r0, _080225CC @ =gBattleCommunication - strb r2, [r0, 0x3] - strb r2, [r0, 0x6] - ldr r2, _080225D0 @ =gHitMarker - ldr r0, [r2] - subs r1, 0x42 - ands r0, r1 - ldr r1, _080225D4 @ =0xffffbfff - ands r0, r1 - str r0, [r2] - bx lr - .align 2, 0 -_080225C0: .4byte gMoveResultFlags -_080225C4: .4byte gBattleScripting -_080225C8: .4byte gCritMultiplier -_080225CC: .4byte gBattleCommunication -_080225D0: .4byte gHitMarker -_080225D4: .4byte 0xffffbfff - thumb_func_end MoveValuesCleanUp - - thumb_func_start atk25_movevaluescleanup -atk25_movevaluescleanup: @ 80225D8 - push {lr} - bl MoveValuesCleanUp - ldr r1, _080225EC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080225EC: .4byte gBattlescriptCurrInstr - thumb_func_end atk25_movevaluescleanup - - thumb_func_start atk26_setmultihit -atk26_setmultihit: @ 80225F0 - ldr r3, _08022600 @ =gMultiHitCounter - ldr r2, _08022604 @ =gBattlescriptCurrInstr - ldr r0, [r2] - ldrb r1, [r0, 0x1] - strb r1, [r3] - adds r0, 0x2 - str r0, [r2] - bx lr - .align 2, 0 -_08022600: .4byte gMultiHitCounter -_08022604: .4byte gBattlescriptCurrInstr - thumb_func_end atk26_setmultihit - - thumb_func_start atk27_decrementmultihit -atk27_decrementmultihit: @ 8022608 - push {lr} - ldr r1, _08022624 @ =gMultiHitCounter - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _0802262C - ldr r1, _08022628 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08022646 - .align 2, 0 -_08022624: .4byte gMultiHitCounter -_08022628: .4byte gBattlescriptCurrInstr -_0802262C: - ldr r3, _0802264C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r3] -_08022646: - pop {r0} - bx r0 - .align 2, 0 -_0802264C: .4byte gBattlescriptCurrInstr - thumb_func_end atk27_decrementmultihit - - thumb_func_start atk28_goto -atk28_goto: @ 8022650 - ldr r3, _0802266C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_0802266C: .4byte gBattlescriptCurrInstr - thumb_func_end atk28_goto - - thumb_func_start atk29_jumpifbyte -atk29_jumpifbyte: @ 8022670 - push {r4-r6,lr} - ldr r3, _080226B4 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r2, [r1, 0x7] - ldrb r0, [r1, 0x8] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x9] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xA] - lsls r0, 24 - adds r2, r0 - adds r1, 0xB - str r1, [r3] - cmp r6, 0x5 - bhi _08022708 - lsls r0, r6, 2 - ldr r1, _080226B8 @ =_080226BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080226B4: .4byte gBattlescriptCurrInstr -_080226B8: .4byte _080226BC - .align 2, 0 -_080226BC: - .4byte _080226D4 - .4byte _080226DC - .4byte _080226E4 - .4byte _080226EC - .4byte _080226F4 - .4byte _080226FE -_080226D4: - ldrb r0, [r5] - cmp r0, r4 - bne _08022708 - b _08022706 -_080226DC: - ldrb r0, [r5] - cmp r0, r4 - beq _08022708 - b _08022706 -_080226E4: - ldrb r0, [r5] - cmp r0, r4 - bls _08022708 - b _08022706 -_080226EC: - ldrb r0, [r5] - cmp r0, r4 - bcs _08022708 - b _08022706 -_080226F4: - ldrb r0, [r5] - ands r4, r0 - cmp r4, 0 - beq _08022708 - b _08022706 -_080226FE: - ldrb r0, [r5] - ands r4, r0 - cmp r4, 0 - bne _08022708 -_08022706: - str r2, [r3] -_08022708: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk29_jumpifbyte - - thumb_func_start atk2A_jumpifhalfword -atk2A_jumpifhalfword: @ 8022710 - push {r4-r6,lr} - ldr r3, _0802275C @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r0, [r1, 0x7] - lsls r0, 8 - orrs r4, r0 - ldrb r2, [r1, 0x8] - ldrb r0, [r1, 0x9] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xA] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xB] - lsls r0, 24 - adds r2, r0 - adds r1, 0xC - str r1, [r3] - cmp r6, 0x5 - bhi _080227B0 - lsls r0, r6, 2 - ldr r1, _08022760 @ =_08022764 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802275C: .4byte gBattlescriptCurrInstr -_08022760: .4byte _08022764 - .align 2, 0 -_08022764: - .4byte _0802277C - .4byte _08022784 - .4byte _0802278C - .4byte _08022794 - .4byte _0802279C - .4byte _080227A6 -_0802277C: - ldrh r0, [r5] - cmp r0, r4 - bne _080227B0 - b _080227AE -_08022784: - ldrh r0, [r5] - cmp r0, r4 - beq _080227B0 - b _080227AE -_0802278C: - ldrh r0, [r5] - cmp r0, r4 - bls _080227B0 - b _080227AE -_08022794: - ldrh r0, [r5] - cmp r0, r4 - bcs _080227B0 - b _080227AE -_0802279C: - ldrh r0, [r5] - ands r4, r0 - cmp r4, 0 - beq _080227B0 - b _080227AE -_080227A6: - ldrh r0, [r5] - ands r4, r0 - cmp r4, 0 - bne _080227B0 -_080227AE: - str r2, [r3] -_080227B0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk2A_jumpifhalfword - - thumb_func_start atk2B_jumpifword -atk2B_jumpifword: @ 80227B8 - push {r4-r6,lr} - ldr r3, _08022810 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r6, [r1, 0x1] - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x6] - ldrb r0, [r1, 0x7] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x8] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x9] - lsls r0, 24 - orrs r4, r0 - ldrb r2, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - adds r2, r0 - adds r1, 0xE - str r1, [r3] - cmp r6, 0x5 - bhi _08022864 - lsls r0, r6, 2 - ldr r1, _08022814 @ =_08022818 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08022810: .4byte gBattlescriptCurrInstr -_08022814: .4byte _08022818 - .align 2, 0 -_08022818: - .4byte _08022830 - .4byte _08022838 - .4byte _08022840 - .4byte _08022848 - .4byte _08022850 - .4byte _0802285A -_08022830: - ldr r0, [r5] - cmp r0, r4 - bne _08022864 - b _08022862 -_08022838: - ldr r0, [r5] - cmp r0, r4 - beq _08022864 - b _08022862 -_08022840: - ldr r0, [r5] - cmp r0, r4 - bls _08022864 - b _08022862 -_08022848: - ldr r0, [r5] - cmp r0, r4 - bcs _08022864 - b _08022862 -_08022850: - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - beq _08022864 - b _08022862 -_0802285A: - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - bne _08022864 -_08022862: - str r2, [r3] -_08022864: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk2B_jumpifword - - thumb_func_start atk2C_jumpifarrayequal -atk2C_jumpifarrayequal: @ 802286C - push {r4-r7,lr} - ldr r2, _080228C4 @ =gBattlescriptCurrInstr - ldr r3, [r2] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r5, r1, r0 - ldrb r1, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 24 - adds r4, r1, r0 - ldrb r6, [r3, 0x9] - ldrb r1, [r3, 0xA] - ldrb r0, [r3, 0xB] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0xC] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0xD] - lsls r0, 24 - adds r1, r0 - mov r12, r1 - movs r1, 0 - cmp r1, r6 - bcs _080228E4 - ldrb r0, [r5] - ldrb r7, [r4] - cmp r0, r7 - beq _080228C8 - adds r0, r3, 0 - b _080228E0 - .align 2, 0 -_080228C4: .4byte gBattlescriptCurrInstr -_080228C8: - adds r5, 0x1 - adds r4, 0x1 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r6 - bcs _080228E4 - ldrb r0, [r5] - ldrb r3, [r4] - cmp r0, r3 - beq _080228C8 - ldr r0, [r2] -_080228E0: - adds r0, 0xE - str r0, [r2] -_080228E4: - cmp r1, r6 - bne _080228EC - mov r7, r12 - str r7, [r2] -_080228EC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk2C_jumpifarrayequal - - thumb_func_start atk2D_jumpifarraynotequal -atk2D_jumpifarraynotequal: @ 80228F4 - push {r4-r7,lr} - movs r7, 0 - ldr r3, _08022968 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r5, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r4, r2, r0 - ldrb r6, [r1, 0x9] - ldrb r2, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - adds r2, r0 - mov r12, r2 - movs r1, 0 - cmp r7, r6 - bcs _0802295E -_08022942: - ldrb r0, [r5] - ldrb r2, [r4] - cmp r0, r2 - bne _08022950 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_08022950: - adds r5, 0x1 - adds r4, 0x1 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r6 - bcc _08022942 -_0802295E: - cmp r7, r6 - beq _0802296C - mov r0, r12 - b _08022970 - .align 2, 0 -_08022968: .4byte gBattlescriptCurrInstr -_0802296C: - ldr r0, [r3] - adds r0, 0xE -_08022970: - str r0, [r3] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk2D_jumpifarraynotequal - - thumb_func_start atk2E_setbyte -atk2E_setbyte: @ 8022978 - ldr r3, _0802299C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r2, 0x5] - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_0802299C: .4byte gBattlescriptCurrInstr - thumb_func_end atk2E_setbyte - - thumb_func_start atk2F_addbyte -atk2F_addbyte: @ 80229A0 - ldr r3, _080229C8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r2, 0x5] - ldrb r2, [r1] - adds r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_080229C8: .4byte gBattlescriptCurrInstr - thumb_func_end atk2F_addbyte - - thumb_func_start atk30_subbyte -atk30_subbyte: @ 80229CC - ldr r3, _080229F4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r2, 0x5] - subs r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_080229F4: .4byte gBattlescriptCurrInstr - thumb_func_end atk30_subbyte - - thumb_func_start atk31_copyarray -atk31_copyarray: @ 80229F8 - push {r4-r6,lr} - ldr r3, _08022A48 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r6, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0x9] - movs r2, 0 - cmp r2, r4 - bge _08022A3C -_08022A2E: - adds r0, r6, r2 - adds r1, r5, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r4 - blt _08022A2E -_08022A3C: - ldr r0, [r3] - adds r0, 0xA - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08022A48: .4byte gBattlescriptCurrInstr - thumb_func_end atk31_copyarray - - thumb_func_start atk32_copyarraywithindex -atk32_copyarraywithindex: @ 8022A4C - push {r4-r7,lr} - ldr r3, _08022AB4 @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - adds r7, r2, r0 - ldrb r2, [r1, 0x5] - ldrb r0, [r1, 0x6] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0x7] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0x8] - lsls r0, 24 - adds r6, r2, r0 - ldrb r2, [r1, 0x9] - ldrb r0, [r1, 0xA] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r1, 0xB] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 24 - adds r5, r2, r0 - ldrb r4, [r1, 0xD] - movs r2, 0 - cmp r2, r4 - bge _08022AA8 -_08022A96: - adds r0, r7, r2 - ldrb r1, [r5] - adds r1, r2, r1 - adds r1, r6, r1 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r4 - blt _08022A96 -_08022AA8: - ldr r0, [r3] - adds r0, 0xE - str r0, [r3] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08022AB4: .4byte gBattlescriptCurrInstr - thumb_func_end atk32_copyarraywithindex - - thumb_func_start atk33_orbyte -atk33_orbyte: @ 8022AB8 - ldr r3, _08022AE0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r0, [r1] - ldrb r2, [r2, 0x5] - orrs r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_08022AE0: .4byte gBattlescriptCurrInstr - thumb_func_end atk33_orbyte - - thumb_func_start atk34_orhalfword -atk34_orhalfword: @ 8022AE4 - push {r4,lr} - ldr r4, _08022B18 @ =gBattlescriptCurrInstr - ldr r3, [r4] - ldrb r2, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r2, r0 - ldrb r1, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2] - orrs r1, r0 - strh r1, [r2] - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022B18: .4byte gBattlescriptCurrInstr - thumb_func_end atk34_orhalfword - - thumb_func_start atk35_orword -atk35_orword: @ 8022B1C - push {r4,lr} - ldr r4, _08022B5C @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r3, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r3, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r3, r0 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - ldr r0, [r3] - orrs r0, r1 - str r0, [r3] - ldr r0, [r4] - adds r0, 0x9 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022B5C: .4byte gBattlescriptCurrInstr - thumb_func_end atk35_orword - - thumb_func_start atk36_bicbyte -atk36_bicbyte: @ 8022B60 - ldr r3, _08022B88 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r2, [r2, 0x5] - ldrb r0, [r1] - bics r0, r2 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x6 - str r0, [r3] - bx lr - .align 2, 0 -_08022B88: .4byte gBattlescriptCurrInstr - thumb_func_end atk36_bicbyte - - thumb_func_start atk37_bichalfword -atk37_bichalfword: @ 8022B8C - push {r4,lr} - ldr r4, _08022BC0 @ =gBattlescriptCurrInstr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 24 - adds r1, r0 - ldrb r2, [r3, 0x5] - ldrb r0, [r3, 0x6] - lsls r0, 8 - orrs r2, r0 - ldrh r0, [r1] - bics r0, r2 - strh r0, [r1] - ldr r0, [r4] - adds r0, 0x7 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022BC0: .4byte gBattlescriptCurrInstr - thumb_func_end atk37_bichalfword - - thumb_func_start atk38_bicword -atk38_bicword: @ 8022BC4 - push {r4,lr} - ldr r4, _08022C04 @ =gBattlescriptCurrInstr - ldr r2, [r4] - ldrb r3, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - adds r3, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - adds r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - adds r3, r0 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - adds r1, r0 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] - ldr r0, [r4] - adds r0, 0x9 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022C04: .4byte gBattlescriptCurrInstr - thumb_func_end atk38_bicword - - thumb_func_start atk39_pause -atk39_pause: @ 8022C08 - push {r4,r5,lr} - ldr r0, _08022C3C @ =gBattleControllerExecFlags - ldr r4, [r0] - cmp r4, 0 - bne _08022C34 - ldr r5, _08022C40 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r3, _08022C44 @ =gPauseCounterBattle - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - lsls r0, 16 - lsrs r0, 16 - cmp r0, r1 - bcc _08022C34 - strh r4, [r3] - adds r0, r2, 0x3 - str r0, [r5] -_08022C34: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08022C3C: .4byte gBattleControllerExecFlags -_08022C40: .4byte gBattlescriptCurrInstr -_08022C44: .4byte gPauseCounterBattle - thumb_func_end atk39_pause - - thumb_func_start atk3A_waitstate -atk3A_waitstate: @ 8022C48 - push {lr} - ldr r0, _08022C60 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08022C5A - ldr r1, _08022C64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08022C5A: - pop {r0} - bx r0 - .align 2, 0 -_08022C60: .4byte gBattleControllerExecFlags -_08022C64: .4byte gBattlescriptCurrInstr - thumb_func_end atk3A_waitstate - - thumb_func_start atk3B_healthbar_update -atk3B_healthbar_update: @ 8022C68 - push {lr} - ldr r0, _08022C7C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08022C88 - ldr r0, _08022C80 @ =gActiveBattler - ldr r1, _08022C84 @ =gBattlerTarget - b _08022C8C - .align 2, 0 -_08022C7C: .4byte gBattlescriptCurrInstr -_08022C80: .4byte gActiveBattler -_08022C84: .4byte gBattlerTarget -_08022C88: - ldr r0, _08022CB0 @ =gActiveBattler - ldr r1, _08022CB4 @ =gBattlerAttacker -_08022C8C: - ldrb r1, [r1] - strb r1, [r0] - ldr r0, _08022CB8 @ =gBattleMoveDamage - ldrh r1, [r0] - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldr r0, _08022CB0 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08022CBC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08022CB0: .4byte gActiveBattler -_08022CB4: .4byte gBattlerAttacker -_08022CB8: .4byte gBattleMoveDamage -_08022CBC: .4byte gBattlescriptCurrInstr - thumb_func_end atk3B_healthbar_update - - thumb_func_start atk3C_return -atk3C_return: @ 8022CC0 - push {lr} - bl BattleScriptPop - pop {r0} - bx r0 - thumb_func_end atk3C_return - - thumb_func_start atk3D_end -atk3D_end: @ 8022CCC - ldr r0, _08022CE0 @ =gMoveResultFlags - movs r1, 0 - strb r1, [r0] - ldr r0, _08022CE4 @ =gActiveBattler - strb r1, [r0] - ldr r1, _08022CE8 @ =gCurrentActionFuncId - movs r0, 0xB - strb r0, [r1] - bx lr - .align 2, 0 -_08022CE0: .4byte gMoveResultFlags -_08022CE4: .4byte gActiveBattler -_08022CE8: .4byte gCurrentActionFuncId - thumb_func_end atk3D_end - - thumb_func_start atk3E_end2 -atk3E_end2: @ 8022CEC - ldr r1, _08022CFC @ =gActiveBattler - movs r0, 0 - strb r0, [r1] - ldr r1, _08022D00 @ =gCurrentActionFuncId - movs r0, 0xB - strb r0, [r1] - bx lr - .align 2, 0 -_08022CFC: .4byte gActiveBattler -_08022D00: .4byte gCurrentActionFuncId - thumb_func_end atk3E_end2 - - thumb_func_start atk3F_end3 -atk3F_end3: @ 8022D04 - push {lr} - bl BattleScriptPop - ldr r3, _08022D38 @ =gBattleResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0 - beq _08022D1E - subs r0, 0x1 - strb r0, [r1] -_08022D1E: - ldr r2, _08022D3C @ =gBattleMainFunc - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_08022D38: .4byte gBattleResources -_08022D3C: .4byte gBattleMainFunc - thumb_func_end atk3F_end3 - - thumb_func_start atk41_call -atk41_call: @ 8022D40 - push {r4,lr} - ldr r4, _08022D6C @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x5 - bl BattleScriptPush - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08022D6C: .4byte gBattlescriptCurrInstr - thumb_func_end atk41_call - - thumb_func_start atk42_jumpiftype2 -atk42_jumpiftype2: @ 8022D70 - push {r4,lr} - ldr r4, _08022DB8 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r4] - ldr r2, _08022DBC @ =gBattleMons - movs r1, 0x58 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r2, [r3, 0x2] - ldrb r1, [r1] - cmp r2, r1 - beq _08022D9E - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - bne _08022DC0 -_08022D9E: - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08022DC4 - .align 2, 0 -_08022DB8: .4byte gBattlescriptCurrInstr -_08022DBC: .4byte gBattleMons -_08022DC0: - adds r0, r3, 0x7 - str r0, [r4] -_08022DC4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk42_jumpiftype2 - - thumb_func_start atk43_jumpifabilitypresent -atk43_jumpifabilitypresent: @ 8022DCC - push {r4,lr} - sub sp, 0x4 - ldr r4, _08022E04 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r2, [r0, 0x1] - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08022E08 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08022E0E - .align 2, 0 -_08022E04: .4byte gBattlescriptCurrInstr -_08022E08: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_08022E0E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk43_jumpifabilitypresent - - thumb_func_start atk44_endselectionscript -atk44_endselectionscript: @ 8022E18 - ldr r0, _08022E2C @ =gBattlerAttacker - ldrb r0, [r0] - ldr r1, _08022E30 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x54 - movs r1, 0x1 - strb r1, [r0] - bx lr - .align 2, 0 -_08022E2C: .4byte gBattlerAttacker -_08022E30: .4byte gBattleStruct - thumb_func_end atk44_endselectionscript - - thumb_func_start atk45_playanimation -atk45_playanimation: @ 8022E34 - push {r4-r6,lr} - ldr r4, _08022E84 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r6, _08022E88 @ =gActiveBattler - strb r0, [r6] - ldr r2, [r4] - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - adds r3, r1, r0 - ldrb r5, [r2, 0x2] - adds r0, r5, 0 - cmp r0, 0x1 - beq _08022E6E - cmp r0, 0x11 - beq _08022E6E - cmp r0, 0x2 - beq _08022E6E - cmp r0, 0x19 - bne _08022E8C -_08022E6E: - ldr r4, _08022E84 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x2] - ldrh r2, [r3] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldr r0, _08022E88 @ =gActiveBattler - ldrb r0, [r0] - b _08022EE4 - .align 2, 0 -_08022E84: .4byte gBattlescriptCurrInstr -_08022E88: .4byte gActiveBattler -_08022E8C: - ldr r0, _08022EA4 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08022EAC - adds r0, r2, 0x7 - bl BattleScriptPush - ldr r0, _08022EA8 @ =BattleScript_Pausex20 - b _08022EEC - .align 2, 0 -_08022EA4: .4byte gHitMarker -_08022EA8: .4byte BattleScript_Pausex20 -_08022EAC: - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08022ED8 - ldr r1, _08022ED0 @ =gStatuses3 - ldrb r0, [r6] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08022ED4 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08022ED8 - adds r0, r2, 0x7 - b _08022EEC - .align 2, 0 -_08022ED0: .4byte gStatuses3 -_08022ED4: .4byte 0x000400c0 -_08022ED8: - ldrb r1, [r2, 0x2] - ldrh r2, [r3] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldrb r0, [r6] -_08022EE4: - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x7 -_08022EEC: - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk45_playanimation - - thumb_func_start atk46_playanimation2 -atk46_playanimation2: @ 8022EF4 - push {r4-r7,lr} - ldr r6, _08022F5C @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r7, _08022F60 @ =gActiveBattler - strb r0, [r7] - ldr r2, [r6] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - adds r3, r1, r0 - ldrb r1, [r2, 0x6] - ldrb r0, [r2, 0x7] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x9] - lsls r0, 24 - adds r4, r1, r0 - ldrb r5, [r3] - adds r0, r5, 0 - cmp r0, 0x1 - beq _08022F3E - cmp r0, 0x11 - beq _08022F3E - cmp r0, 0x2 - bne _08022F64 -_08022F3E: - ldrb r1, [r3] - ldrh r2, [r4] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldr r0, _08022F60 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08022F5C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] - b _08022FBA - .align 2, 0 -_08022F5C: .4byte gBattlescriptCurrInstr -_08022F60: .4byte gActiveBattler -_08022F64: - ldr r0, _08022F74 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08022F78 - adds r0, r2, 0 - b _08022FB6 - .align 2, 0 -_08022F74: .4byte gHitMarker -_08022F78: - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08022FA4 - ldr r1, _08022F9C @ =gStatuses3 - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08022FA0 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08022FA4 - adds r0, r2, 0 - b _08022FB6 - .align 2, 0 -_08022F9C: .4byte gStatuses3 -_08022FA0: .4byte 0x000400c0 -_08022FA4: - ldrb r1, [r3] - ldrh r2, [r4] - movs r0, 0 - bl BtlController_EmitBattleAnimation - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r0, [r6] -_08022FB6: - adds r0, 0xA - str r0, [r6] -_08022FBA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk46_playanimation2 - - thumb_func_start atk47_setgraphicalstatchangevalues -atk47_setgraphicalstatchangevalues: @ 8022FC0 - push {r4,lr} - movs r3, 0 - ldr r1, _08022FDC @ =gBattleScripting - ldrb r0, [r1, 0x1A] - movs r2, 0xF0 - ands r2, r0 - adds r4, r1, 0 - cmp r2, 0x20 - beq _08022FEE - cmp r2, 0x20 - bgt _08022FE0 - cmp r2, 0x10 - beq _08022FEA - b _08022FF8 - .align 2, 0 -_08022FDC: .4byte gBattleScripting -_08022FE0: - cmp r2, 0x90 - beq _08022FF2 - cmp r2, 0xA0 - beq _08022FF6 - b _08022FF8 -_08022FEA: - movs r3, 0xF - b _08022FF8 -_08022FEE: - movs r3, 0x27 - b _08022FF8 -_08022FF2: - movs r3, 0x16 - b _08022FF8 -_08022FF6: - movs r3, 0x2E -_08022FF8: - ldrb r1, [r4, 0x1A] - movs r0, 0xF - ands r0, r1 - adds r0, r3, r0 - subs r0, 0x1 - movs r1, 0 - strb r0, [r4, 0x10] - strb r1, [r4, 0x11] - ldr r1, _08023018 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08023018: .4byte gBattlescriptCurrInstr - thumb_func_end atk47_setgraphicalstatchangevalues - - thumb_func_start atk48_playstatchangeanimation -atk48_playstatchangeanimation: @ 802301C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r7, 0 - movs r0, 0 - mov r8, r0 - movs r3, 0 - ldr r5, _08023090 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - str r3, [sp] - bl GetBattlerForBattleScript - ldr r2, _08023094 @ =gActiveBattler - strb r0, [r2] - ldr r0, [r5] - ldrb r4, [r0, 0x2] - ldrb r1, [r0, 0x3] - movs r0, 0x1 - ands r0, r1 - ldr r3, [sp] - cmp r0, 0 - beq _08023130 - movs r0, 0x2 - ands r0, r1 - movs r1, 0x15 - cmp r0, 0 - beq _0802305C - movs r1, 0x2D -_0802305C: - cmp r4, 0 - beq _08023104 - movs r0, 0x1 - mov r10, r0 - ldr r0, _08023098 @ =gUnknown_2023BFC - mov r9, r0 - lsls r5, r1, 16 -_0802306A: - adds r0, r4, 0 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - beq _080230F6 - ldr r0, _08023090 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802309C - ldr r0, _08023094 @ =gActiveBattler - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r7, r0 - b _080230E4 - .align 2, 0 -_08023090: .4byte gBattlescriptCurrInstr -_08023094: .4byte gActiveBattler -_08023098: .4byte gUnknown_2023BFC -_0802309C: - ldr r6, _08023120 @ =gActiveBattler - ldrb r0, [r6] - str r3, [sp] - bl GetBattlerPosition - mov r1, r10 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08023124 @ =gSideTimers - adds r0, r1 - ldrb r0, [r0, 0x4] - ldr r3, [sp] - cmp r0, 0 - bne _080230F6 - ldr r0, _08023128 @ =gBattleMons - ldrb r2, [r6] - movs r1, 0x58 - muls r2, r1 - adds r0, r2, r0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1D - beq _080230F6 - cmp r0, 0x49 - beq _080230F6 - cmp r0, 0x33 - bne _080230DA - cmp r7, 0x6 - beq _080230F6 -_080230DA: - cmp r0, 0x34 - bne _080230E2 - cmp r7, 0x1 - beq _080230F6 -_080230E2: - adds r0, r7, r2 -_080230E4: - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080230F6 - lsrs r0, r5, 16 - mov r8, r0 - adds r3, 0x1 -_080230F6: - lsrs r4, 1 - movs r1, 0x80 - lsls r1, 9 - adds r5, r1 - adds r7, 0x1 - cmp r4, 0 - bne _0802306A -_08023104: - ldr r0, _0802312C @ =gBattlescriptCurrInstr - mov r9, r0 - cmp r3, 0x1 - ble _08023192 - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x2 - ands r0, r1 - movs r1, 0x39 - mov r8, r1 - cmp r0, 0 - beq _08023192 - movs r0, 0x3A - b _08023190 - .align 2, 0 -_08023120: .4byte gActiveBattler -_08023124: .4byte gSideTimers -_08023128: .4byte gBattleMons -_0802312C: .4byte gBattlescriptCurrInstr -_08023130: - movs r0, 0x2 - ands r0, r1 - movs r1, 0xE - cmp r0, 0 - beq _0802313C - movs r1, 0x26 -_0802313C: - mov r9, r5 - cmp r4, 0 - beq _08023178 - ldr r6, _080231AC @ =gUnknown_2023BFC - adds r5, r2, 0 - lsls r2, r1, 16 -_08023148: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0802316A - ldrb r1, [r5] - movs r0, 0x58 - muls r0, r1 - adds r0, r7, r0 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xB - bgt _0802316A - lsrs r1, r2, 16 - mov r8, r1 - adds r3, 0x1 -_0802316A: - lsrs r4, 1 - movs r0, 0x80 - lsls r0, 9 - adds r2, r0 - adds r7, 0x1 - cmp r4, 0 - bne _08023148 -_08023178: - cmp r3, 0x1 - ble _08023192 - mov r1, r9 - ldr r0, [r1] - ldrb r1, [r0, 0x3] - movs r0, 0x2 - ands r0, r1 - movs r1, 0x37 - mov r8, r1 - cmp r0, 0 - beq _08023192 - movs r0, 0x38 -_08023190: - mov r8, r0 -_08023192: - mov r1, r9 - ldr r2, [r1] - ldrb r1, [r2, 0x3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080231B0 - cmp r3, 0x1 - bgt _080231B0 - adds r0, r2, 0x4 - mov r1, r9 - b _080231FE - .align 2, 0 -_080231AC: .4byte gUnknown_2023BFC -_080231B0: - cmp r3, 0 - beq _080231F8 - ldr r4, _080231EC @ =gBattleScripting - ldrb r0, [r4, 0x1B] - cmp r0, 0 - bne _080231F8 - movs r0, 0 - movs r1, 0x1 - mov r2, r8 - str r3, [sp] - bl BtlController_EmitBattleAnimation - ldr r0, _080231F0 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r0, _080231F4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x3] - movs r0, 0x4 - ands r0, r1 - ldr r3, [sp] - cmp r0, 0 - beq _080231E8 - cmp r3, 0x1 - ble _080231E8 - movs r0, 0x1 - strb r0, [r4, 0x1B] -_080231E8: - ldr r1, _080231F4 @ =gBattlescriptCurrInstr - b _080231FA - .align 2, 0 -_080231EC: .4byte gBattleScripting -_080231F0: .4byte gActiveBattler -_080231F4: .4byte gBattlescriptCurrInstr -_080231F8: - mov r1, r9 -_080231FA: - ldr r0, [r1] - adds r0, 0x4 -_080231FE: - str r0, [r1] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk48_playstatchangeanimation - - thumb_func_start atk49_moveend -atk49_moveend: @ 8023210 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r10, r0 - ldr r2, _08023260 @ =gChosenMove - ldrh r1, [r2] - ldr r0, _08023264 @ =0x0000ffff - movs r3, 0 - str r3, [sp, 0x18] - cmp r1, r0 - beq _08023232 - ldrh r2, [r2] - str r2, [sp, 0x18] -_08023232: - ldr r0, _08023268 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r4, [r0, 0x1] - str r4, [sp, 0x10] - ldrb r0, [r0, 0x2] - str r0, [sp, 0x14] - ldr r1, _0802326C @ =gBattleMons - ldr r0, _08023270 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08023278 - ldr r1, _08023274 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x7] - b _08023282 - .align 2, 0 -_08023260: .4byte gChosenMove -_08023264: .4byte 0x0000ffff -_08023268: .4byte gBattlescriptCurrInstr -_0802326C: .4byte gBattleMons -_08023270: .4byte gBattlerAttacker -_08023274: .4byte gEnigmaBerries -_08023278: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_08023282: - str r0, [sp, 0x8] - ldr r1, _080232A4 @ =gBattleStruct - ldr r0, _080232A8 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, 0xC8 - ldr r1, [r1] - adds r0, r1, r0 - str r0, [sp, 0xC] - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _08023334 - movs r5, 0x3F - ands r5, r0 - str r5, [sp, 0x4] - b _08023346 - .align 2, 0 -_080232A4: .4byte gBattleStruct -_080232A8: .4byte gBattlerAttacker -_080232AC: - ldr r4, _080232C0 @ =gActiveBattler - strb r2, [r4] - movs r0, 0 - movs r1, 0x1 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802379E - .align 2, 0 -_080232C0: .4byte gActiveBattler -_080232C4: - ldr r4, _080232E8 @ =gActiveBattler - strb r2, [r4] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldrb r1, [r6] - lsls r1, 2 - adds r1, r5 - ldr r0, [r1] - ldr r2, _080232EC @ =0xfffbff3f - ands r0, r2 - str r0, [r1] - b _0802379E - .align 2, 0 -_080232E8: .4byte gActiveBattler -_080232EC: .4byte 0xfffbff3f -_080232F0: - strb r2, [r7] - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - ldr r0, _08023324 @ =gBattleScripting - strb r4, [r0, 0x14] - bl MoveValuesCleanUp - ldr r2, _08023328 @ =gBattleScriptsForMoveEffects - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - bl BattleScriptPush - ldr r1, _0802332C @ =gBattlescriptCurrInstr - ldr r0, _08023330 @ =BattleScript_FlushMessageBox - bl _08023BFC - .align 2, 0 -_08023324: .4byte gBattleScripting -_08023328: .4byte gBattleScriptsForMoveEffects -_0802332C: .4byte gBattlescriptCurrInstr -_08023330: .4byte BattleScript_FlushMessageBox -_08023334: - ldr r2, _0802334C @ =gBattleMoves - ldr r0, _08023350 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - str r0, [sp, 0x4] -_08023346: - ldr r1, _08023354 @ =gBattleScripting - mov r12, r1 - b _08023362 - .align 2, 0 -_0802334C: .4byte gBattleMoves -_08023350: .4byte gCurrentMove -_08023354: .4byte gBattleScripting -_08023358: - mov r2, r10 - cmp r2, 0 - beq _08023362 - bl _08023BE8 -_08023362: - mov r3, r12 - ldrb r0, [r3, 0x14] - cmp r0, 0x11 - bls _0802336E - bl _08023BB4 -_0802336E: - lsls r0, 2 - ldr r1, _08023378 @ =_0802337C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08023378: .4byte _0802337C - .align 2, 0 -_0802337C: - .4byte _080233C4 - .4byte _080234A0 - .4byte _0802355C - .4byte _08023580 - .4byte _08023598 - .4byte _080235C0 - .4byte _080235E4 - .4byte _0802368C - .4byte _08023702 - .4byte _08023738 - .4byte _080237D8 - .4byte _080236CC - .4byte _080236EC - .4byte _0802381C - .4byte _08023860 - .4byte _08023A40 - .4byte _08023B28 - .4byte _08023BB4 -_080233C4: - ldr r6, _0802347C @ =gBattleMons - ldr r5, _08023480 @ =gBattlerTarget - ldrb r3, [r5] - movs r7, 0x58 - adds r2, r3, 0 - muls r2, r7 - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 16 - ands r0, r1 - cmp r0, 0 - bne _080233E4 - b _080237C8 -_080233E4: - adds r0, r2, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _080233EE - b _080237C8 -_080233EE: - ldr r0, _08023484 @ =gBattlerAttacker - ldrb r1, [r0] - cmp r1, r3 - bne _080233F8 - b _080237C8 -_080233F8: - adds r0, r1, 0 - bl GetBattlerSide - adds r4, r0, 0 - ldrb r0, [r5] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08023410 - b _080237C8 -_08023410: - ldr r0, _08023488 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802341E - b _080237C8 -_0802341E: - ldr r2, _0802348C @ =gSpecialStatuses - ldrb r3, [r5] - lsls r0, r3, 2 - adds r0, r3 - lsls r1, r0, 2 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _08023442 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _08023442 - b _080237C8 -_08023442: - ldr r2, _08023490 @ =gBattleMoves - ldr r0, _08023494 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08023458 - b _080237C8 -_08023458: - adds r0, r3, 0 - muls r0, r7 - adds r1, r0, r6 - ldrb r2, [r1, 0x19] - movs r0, 0x19 - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _0802346A - b _080237C8 -_0802346A: - adds r0, r2, 0x1 - strb r0, [r1, 0x19] - bl BattleScriptPushCursor - ldr r1, _08023498 @ =gBattlescriptCurrInstr - ldr r0, _0802349C @ =BattleScript_RageIsBuilding - str r0, [r1] - b _080236FC - .align 2, 0 -_0802347C: .4byte gBattleMons -_08023480: .4byte gBattlerTarget -_08023484: .4byte gBattlerAttacker -_08023488: .4byte gMoveResultFlags -_0802348C: .4byte gSpecialStatuses -_08023490: .4byte gBattleMoves -_08023494: .4byte gCurrentMove -_08023498: .4byte gBattlescriptCurrInstr -_0802349C: .4byte BattleScript_RageIsBuilding -_080234A0: - ldr r4, _0802353C @ =gBattleMons - ldr r6, _08023540 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - mov r12, r5 - mov r1, r12 - muls r1, r2 - adds r7, r4, 0 - adds r7, 0x4C - adds r5, r1, r7 - ldr r3, [r5] - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - bne _080234C0 - b _080237C8 -_080234C0: - adds r0, r1, r4 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _080234CA - b _080237C8 -_080234CA: - ldr r0, _08023544 @ =gBattlerAttacker - ldrb r0, [r0] - cmp r0, r2 - bne _080234D4 - b _080237C8 -_080234D4: - ldr r0, _08023548 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r0, 0xC - adds r1, r0 - ldr r0, [r1] - cmp r0, 0 - bne _080234E8 - b _080237C8 -_080234E8: - ldr r0, _0802354C @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _080234F6 - b _080237C8 -_080234F6: - ldr r0, [sp, 0x4] - cmp r0, 0xA - beq _080234FE - b _080237C8 -_080234FE: - movs r0, 0x21 - negs r0, r0 - ands r3, r0 - str r3, [r5] - ldr r4, _08023550 @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r4] - ldrb r0, [r6] - mov r1, r12 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - bl BattleScriptPushCursor - ldr r1, _08023554 @ =gBattlescriptCurrInstr - ldr r0, _08023558 @ =BattleScript_DefrostedViaFireMove - str r0, [r1] - movs r2, 0x1 - mov r10, r2 - b _080237C8 - .align 2, 0 -_0802353C: .4byte gBattleMons -_08023540: .4byte gBattlerTarget -_08023544: .4byte gBattlerAttacker -_08023548: .4byte gSpecialStatuses -_0802354C: .4byte gMoveResultFlags -_08023550: .4byte gActiveBattler -_08023554: .4byte gBattlescriptCurrInstr -_08023558: .4byte BattleScript_DefrostedViaFireMove -_0802355C: - ldr r0, _0802357C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _08023576 - b _080237C8 -_08023576: - movs r3, 0x1 - mov r10, r3 - b _080237C8 - .align 2, 0 -_0802357C: .4byte gBattlerTarget -_08023580: - ldr r0, _08023594 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x4 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - b _080236F6 - .align 2, 0 -_08023594: .4byte gBattlerTarget -_08023598: - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080235B0 - b _080237C8 -_080235B0: - movs r5, 0x1 - mov r10, r5 - ldr r0, _080235BC @ =gBattleScripting - mov r12, r0 - b _08023BB4 - .align 2, 0 -_080235BC: .4byte gBattleScripting -_080235C0: - ldr r0, _080235E0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080235DA - b _080237C8 -_080235DA: - movs r1, 0x1 - mov r10, r1 - b _080237C8 - .align 2, 0 -_080235E0: .4byte gBattlerAttacker -_080235E4: - ldr r0, _08023674 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _08023628 - ldr r2, [sp, 0x8] - cmp r2, 0x1D - bne _08023628 - ldr r0, _08023678 @ =gChosenMove - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, 0xA5 - beq _08023628 - ldr r4, [sp, 0xC] - ldrh r1, [r4] - cmp r1, 0 - beq _08023610 - ldr r0, _0802367C @ =0x0000ffff - cmp r1, r0 - bne _08023628 -_08023610: - cmp r2, 0xE2 - bne _08023622 - ldr r0, _08023680 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08023622 - b _08023AFA -_08023622: - ldrh r0, [r3] - ldr r1, [sp, 0xC] - strh r0, [r1] -_08023628: - movs r4, 0 - ldr r2, _08023684 @ =gBattleMons - ldr r3, _08023688 @ =gBattlerAttacker - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r2, 0xC - adds r0, r2 - ldrh r0, [r0] - ldr r5, [sp, 0xC] - ldrh r1, [r5] - mov r9, r3 - cmp r0, r1 - beq _08023660 - mov r6, r9 - movs r3, 0x58 - adds r5, r1, 0 -_0802364A: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08023660 - lsls r0, r4, 1 - ldrb r1, [r6] - muls r1, r3 - adds r0, r1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r5 - bne _0802364A -_08023660: - cmp r4, 0x4 - bne _0802366A - movs r0, 0 - ldr r1, [sp, 0xC] - strh r0, [r1] -_0802366A: - mov r2, r12 - ldrb r0, [r2, 0x14] - adds r0, 0x1 - strb r0, [r2, 0x14] - b _08023BB4 - .align 2, 0 -_08023674: .4byte gHitMarker -_08023678: .4byte gChosenMove -_0802367C: .4byte 0x0000ffff -_08023680: .4byte gMoveResultFlags -_08023684: .4byte gBattleMons -_08023688: .4byte gBattlerAttacker -_0802368C: - movs r4, 0 - ldr r0, _080236C0 @ =gBattlersCount - ldrb r3, [r0] - cmp r4, r3 - blt _08023698 - b _08023846 -_08023698: - ldr r7, _080236C4 @ =gBattleStruct - movs r6, 0 - movs r3, 0xD0 - adds r5, r0, 0 - ldr r2, _080236C8 @ =gBattleMons -_080236A2: - ldr r0, [r7] - adds r0, r3 - ldrh r1, [r0] - cmp r1, 0 - beq _080236B0 - strh r1, [r2, 0x2E] - strh r6, [r0] -_080236B0: - adds r3, 0x2 - adds r2, 0x58 - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _080236A2 - b _08023846 - .align 2, 0 -_080236C0: .4byte gBattlersCount -_080236C4: .4byte gBattleStruct -_080236C8: .4byte gBattleMons -_080236CC: - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ItemBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _080237C8 - movs r2, 0x1 - mov r10, r2 - ldr r3, _080236E8 @ =gBattleScripting - mov r12, r3 - b _08023BB4 - .align 2, 0 -_080236E8: .4byte gBattleScripting -_080236EC: - movs r0, 0x4 - movs r1, 0 - movs r2, 0 - bl ItemBattleEffects -_080236F6: - lsls r0, 24 - cmp r0, 0 - beq _080237C8 -_080236FC: - movs r4, 0x1 - mov r10, r4 - b _080237C8 -_08023702: - ldr r1, _08023728 @ =gStatuses3 - ldr r0, _0802372C @ =gBattlerAttacker - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08023730 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08023718 - b _08023AFA -_08023718: - ldr r0, _08023734 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08023726 - b _080232AC -_08023726: - b _08023AFA - .align 2, 0 -_08023728: .4byte gStatuses3 -_0802372C: .4byte gBattlerAttacker -_08023730: .4byte 0x000400c0 -_08023734: .4byte gHitMarker -_08023738: - ldr r0, _080237A8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08023764 - ldr r1, _080237AC @ =gStatuses3 - ldr r0, _080237B0 @ =gBattlerAttacker - ldrb r2, [r0] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080237B4 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - beq _08023764 - adds r0, r2, 0 - bl WasUnableToUseMove - lsls r0, 24 - cmp r0, 0 - beq _080237C8 -_08023764: - ldr r4, _080237B8 @ =gActiveBattler - ldr r5, _080237B0 @ =gBattlerAttacker - ldrb r0, [r5] - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, _080237AC @ =gStatuses3 - ldrb r2, [r5] - lsls r2, 2 - adds r2, r0 - ldr r0, [r2] - ldr r1, _080237BC @ =0xfffbff3f - ands r0, r1 - str r0, [r2] - ldr r2, _080237C0 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0802379E: - ldr r1, _080237C4 @ =gBattleScripting - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - b _08023BFE - .align 2, 0 -_080237A8: .4byte gMoveResultFlags -_080237AC: .4byte gStatuses3 -_080237B0: .4byte gBattlerAttacker -_080237B4: .4byte 0x000400c0 -_080237B8: .4byte gActiveBattler -_080237BC: .4byte 0xfffbff3f -_080237C0: .4byte gSpecialStatuses -_080237C4: .4byte gBattleScripting -_080237C8: - ldr r1, _080237D4 @ =gBattleScripting - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - mov r12, r1 - b _08023BB4 - .align 2, 0 -_080237D4: .4byte gBattleScripting -_080237D8: - ldr r0, _08023808 @ =gSpecialStatuses - ldr r6, _0802380C @ =gBattlerTarget - ldrb r2, [r6] - lsls r3, r2, 2 - adds r1, r3, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 29 - cmp r0, 0 - blt _08023846 - ldr r0, _08023810 @ =gBattlersCount - ldrb r0, [r0] - cmp r2, r0 - bcs _08023846 - ldr r5, _08023814 @ =gStatuses3 - adds r0, r3, r5 - ldr r0, [r0] - ldr r1, _08023818 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08023806 - b _080232C4 -_08023806: - b _08023846 - .align 2, 0 -_08023808: .4byte gSpecialStatuses -_0802380C: .4byte gBattlerTarget -_08023810: .4byte gBattlersCount -_08023814: .4byte gStatuses3 -_08023818: .4byte 0x000400c0 -_0802381C: - movs r4, 0 - ldr r0, _08023850 @ =gBattlersCount - ldrb r2, [r0] - cmp r4, r2 - bge _08023846 - ldr r2, _08023854 @ =gDisableStructs - ldr r5, _08023858 @ =0xfeffffff - adds r3, r0, 0 - ldr r1, _0802385C @ =gUnknown_2023C34 -_0802382E: - ldrb r0, [r2, 0xA] - cmp r0, 0 - bne _0802383A - ldr r0, [r1] - ands r0, r5 - str r0, [r1] -_0802383A: - adds r2, 0x1C - adds r1, 0x58 - adds r4, 0x1 - ldrb r0, [r3] - cmp r4, r0 - blt _0802382E -_08023846: - mov r1, r12 - ldrb r0, [r1, 0x14] - adds r0, 0x1 - strb r0, [r1, 0x14] - b _08023BB4 - .align 2, 0 -_08023850: .4byte gBattlersCount -_08023854: .4byte gDisableStructs -_08023858: .4byte 0xfeffffff -_0802385C: .4byte gUnknown_2023C34 -_08023860: - ldr r1, _08023914 @ =gHitMarker - ldr r3, [r1] - movs r0, 0x80 - lsls r0, 5 - ands r0, r3 - ldr r2, _08023918 @ =gBattlerAttacker - mov r9, r2 - adds r5, r1, 0 - cmp r0, 0 - beq _0802388A - ldr r0, _0802391C @ =gActiveBattler - ldrb r2, [r2] - strb r2, [r0] - ldr r1, _08023920 @ =gBattlerTarget - ldrb r0, [r1] - mov r4, r9 - strb r0, [r4] - strb r2, [r1] - ldr r0, _08023924 @ =0xffffefff - ands r3, r0 - str r3, [r5] -_0802388A: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - beq _080238A6 - ldr r0, _08023928 @ =gLastPrintedMoves - mov r2, r9 - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldr r0, _0802392C @ =gChosenMove - ldrh r0, [r0] - strh r0, [r1] -_080238A6: - ldr r0, _08023930 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08023934 @ =gBitTable - mov r3, r9 - ldrb r4, [r3] - lsls r0, r4, 2 - adds r0, r2 - ldr r3, [r0] - ands r1, r3 - adds r6, r2, 0 - cmp r1, 0 - beq _080238C0 - b _08023A2C -_080238C0: - ldr r0, _08023938 @ =gBattleStruct - ldr r1, [r0] - adds r1, 0x91 - ldrb r1, [r1] - ands r1, r3 - adds r7, r0, 0 - cmp r1, 0 - beq _080238D2 - b _08023A2C -_080238D2: - ldr r0, _0802393C @ =gBattleMoves - ldr r2, [sp, 0x18] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r1, [r1] - mov r8, r0 - cmp r1, 0x7F - bne _080238E8 - b _08023A2C -_080238E8: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _0802394C - ldr r0, _08023940 @ =gLastMoves - lsls r1, r4, 1 - adds r1, r0 - ldr r0, _0802392C @ =gChosenMove - ldrh r0, [r0] - strh r0, [r1] - ldr r0, _08023944 @ =gLastResultingMoves - mov r3, r9 - ldrb r1, [r3] - lsls r1, 1 - adds r1, r0 - ldr r0, _08023948 @ =gCurrentMove - ldrh r0, [r0] - strh r0, [r1] - b _08023966 - .align 2, 0 -_08023914: .4byte gHitMarker -_08023918: .4byte gBattlerAttacker -_0802391C: .4byte gActiveBattler -_08023920: .4byte gBattlerTarget -_08023924: .4byte 0xffffefff -_08023928: .4byte gLastPrintedMoves -_0802392C: .4byte gChosenMove -_08023930: .4byte gAbsentBattlerFlags -_08023934: .4byte gBitTable -_08023938: .4byte gBattleStruct -_0802393C: .4byte gBattleMoves -_08023940: .4byte gLastMoves -_08023944: .4byte gLastResultingMoves -_08023948: .4byte gCurrentMove -_0802394C: - ldr r1, _080239B4 @ =gLastMoves - lsls r0, r4, 1 - adds r0, r1 - ldr r1, _080239B8 @ =0x0000ffff - strh r1, [r0] - ldr r1, _080239BC @ =gLastResultingMoves - mov r4, r9 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - strh r1, [r0] -_08023966: - ldr r2, _080239C0 @ =gBattlerTarget - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r6 - ldr r0, [r0] - lsls r0, 28 - ldr r1, [r5] - ands r1, r0 - cmp r1, 0 - bne _08023984 - ldr r0, _080239C4 @ =gLastHitBy - adds r0, r3, r0 - mov r3, r9 - ldrb r1, [r3] - strb r1, [r0] -_08023984: - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _08023A20 - ldr r0, _080239C8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08023A20 - ldr r0, _080239CC @ =gChosenMove - ldrh r3, [r0] - ldr r0, _080239B8 @ =0x0000ffff - cmp r3, r0 - bne _080239D4 - ldr r1, _080239D0 @ =gLastLandedMoves - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - strh r3, [r0] - b _08023A2C - .align 2, 0 -_080239B4: .4byte gLastMoves -_080239B8: .4byte 0x0000ffff -_080239BC: .4byte gLastResultingMoves -_080239C0: .4byte gBattlerTarget -_080239C4: .4byte gLastHitBy -_080239C8: .4byte gMoveResultFlags -_080239CC: .4byte gChosenMove -_080239D0: .4byte gLastLandedMoves -_080239D4: - ldr r0, _080239F8 @ =gLastLandedMoves - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldr r4, _080239FC @ =gCurrentMove - ldrh r0, [r4] - strh r0, [r1] - ldr r0, [r7] - ldrb r3, [r0, 0x13] - cmp r3, 0 - beq _08023A04 - ldr r0, _08023A00 @ =gLastHitByType - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - movs r0, 0x3F - ands r0, r3 - b _08023A2A - .align 2, 0 -_080239F8: .4byte gLastLandedMoves -_080239FC: .4byte gCurrentMove -_08023A00: .4byte gLastHitByType -_08023A04: - ldr r0, _08023A1C @ =gLastHitByType - ldrb r2, [r2] - lsls r2, 1 - adds r2, r0 - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x2] - strh r0, [r2] - b _08023A2C - .align 2, 0 -_08023A1C: .4byte gLastHitByType -_08023A20: - ldr r0, _08023A38 @ =gLastLandedMoves - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldr r0, _08023A3C @ =0x0000ffff -_08023A2A: - strh r0, [r1] -_08023A2C: - mov r4, r12 - ldrb r0, [r4, 0x14] - adds r0, 0x1 - strb r0, [r4, 0x14] - b _08023BB4 - .align 2, 0 -_08023A38: .4byte gLastLandedMoves -_08023A3C: .4byte 0x0000ffff -_08023A40: - ldr r0, _08023B04 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r7, _08023B08 @ =gBitTable - ldr r2, _08023B0C @ =gBattlerAttacker - ldrb r3, [r2] - lsls r0, r3, 2 - adds r0, r7 - ldr r4, [r0] - ands r1, r4 - mov r9, r2 - cmp r1, 0 - bne _08023AFA - ldr r6, _08023B10 @ =gBattleStruct - ldr r5, [r6] - adds r0, r5, 0 - adds r0, 0x91 - ldrb r0, [r0] - ands r0, r4 - cmp r0, 0 - bne _08023AFA - ldr r1, _08023B14 @ =gBattleMoves - ldr r2, [sp, 0x18] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08023AFA - ldr r0, _08023B18 @ =gHitMarker - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 18 - ands r0, r1 - cmp r0, 0 - beq _08023AFA - ldr r4, _08023B1C @ =gBattlerTarget - ldrb r0, [r4] - cmp r3, r0 - beq _08023AFA - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - lsls r0, 28 - ands r1, r0 - cmp r1, 0 - bne _08023AFA - ldr r0, _08023B20 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _08023AFA - lsls r1, r2, 1 - adds r1, r5 - adds r1, 0x98 - ldr r3, _08023B24 @ =gChosenMove - ldrh r0, [r3] - strb r0, [r1] - ldrb r1, [r4] - ldr r0, [r6] - lsls r1, 1 - adds r1, r0 - adds r1, 0x99 - ldrh r0, [r3] - lsrs r0, 8 - strb r0, [r1] - ldrb r0, [r4] - mov r2, r9 - ldrb r1, [r2] - ldr r2, [r6] - lsls r0, 3 - lsls r1, 1 - adds r0, r1 - adds r0, r2 - adds r0, 0xE0 - ldrh r1, [r3] - strb r1, [r0] - ldrb r1, [r4] - mov r4, r9 - ldrb r0, [r4] - ldr r2, [r6] - lsls r1, 3 - lsls r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0xE1 - ldrh r0, [r3] - lsrs r0, 8 - strb r0, [r1] -_08023AFA: - mov r5, r12 - ldrb r0, [r5, 0x14] - adds r0, 0x1 - strb r0, [r5, 0x14] - b _08023BB4 - .align 2, 0 -_08023B04: .4byte gAbsentBattlerFlags -_08023B08: .4byte gBitTable -_08023B0C: .4byte gBattlerAttacker -_08023B10: .4byte gBattleStruct -_08023B14: .4byte gBattleMoves -_08023B18: .4byte gHitMarker -_08023B1C: .4byte gBattlerTarget -_08023B20: .4byte gMoveResultFlags -_08023B24: .4byte gChosenMove -_08023B28: - ldr r5, _08023C10 @ =gHitMarker - ldr r2, [r5] - movs r0, 0x80 - lsls r0, 12 - ands r0, r2 - cmp r0, 0 - bne _08023BAC - ldr r0, _08023C14 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08023BAC - ldr r1, _08023C18 @ =gProtectStructs - ldr r0, _08023C1C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r0, 0 - blt _08023BAC - ldr r0, _08023C20 @ =gBattleMoves - mov r9, r0 - ldr r1, _08023C24 @ =gCurrentMove - mov r8, r1 - ldrh r0, [r1] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _08023BAC - movs r6, 0x80 - lsls r6, 2 - adds r4, r6, 0 - ands r4, r2 - cmp r4, 0 - bne _08023BAC - ldr r7, _08023C28 @ =gBattlerTarget - ldrb r0, [r7] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08023C2C @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08023BA2 - bl _080232F0 -_08023BA2: - ldr r0, [r5] - orrs r0, r6 - str r0, [r5] - ldr r2, _08023C30 @ =gBattleScripting - mov r12, r2 -_08023BAC: - mov r3, r12 - ldrb r0, [r3, 0x14] - adds r0, 0x1 - strb r0, [r3, 0x14] -_08023BB4: - ldr r4, [sp, 0x10] - cmp r4, 0x1 - bne _08023BC6 - mov r5, r10 - cmp r5, 0 - bne _08023BC6 - movs r0, 0x11 - mov r1, r12 - strb r0, [r1, 0x14] -_08023BC6: - ldr r2, [sp, 0x10] - cmp r2, 0x2 - bne _08023BDC - ldr r4, [sp, 0x14] - mov r3, r12 - ldrb r3, [r3, 0x14] - cmp r4, r3 - bne _08023BDC - movs r0, 0x11 - mov r4, r12 - strb r0, [r4, 0x14] -_08023BDC: - mov r5, r12 - ldrb r0, [r5, 0x14] - cmp r0, 0x11 - beq _08023BE8 - bl _08023358 -_08023BE8: - mov r1, r12 - ldrb r0, [r1, 0x14] - cmp r0, 0x11 - bne _08023BFE - mov r2, r10 - cmp r2, 0 - bne _08023BFE - ldr r1, _08023C34 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 -_08023BFC: - str r0, [r1] -_08023BFE: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023C10: .4byte gHitMarker -_08023C14: .4byte gBattleTypeFlags -_08023C18: .4byte gProtectStructs -_08023C1C: .4byte gBattlerAttacker -_08023C20: .4byte gBattleMoves -_08023C24: .4byte gCurrentMove -_08023C28: .4byte gBattlerTarget -_08023C2C: .4byte gBattleMons -_08023C30: .4byte gBattleScripting -_08023C34: .4byte gBattlescriptCurrInstr - thumb_func_end atk49_moveend - - thumb_func_start atk4A_typecalc2 -atk4A_typecalc2: @ 8023C38 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - movs r5, 0 - ldr r2, _08023C9C @ =gBattleMoves - ldr r0, _08023CA0 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - mov r8, r0 - ldr r2, _08023CA4 @ =gBattleMons - ldr r3, _08023CA8 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r12, r2 - adds r7, r3, 0 - cmp r0, 0x1A - bne _08023CCC - mov r1, r8 - cmp r1, 0x4 - bne _08023CCC - ldr r3, _08023CAC @ =gLastUsedAbility - strb r0, [r3] - ldr r2, _08023CB0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x9 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08023CB4 @ =gLastLandedMoves - ldrb r0, [r7] - lsls r0, 1 - adds r0, r1 - strh r4, [r0] - ldr r0, _08023CB8 @ =gBattleCommunication - mov r2, r8 - strb r2, [r0, 0x6] - ldrb r0, [r7] - ldrb r1, [r3] - bl RecordAbilityBattle - b _08023DAE - .align 2, 0 -_08023C9C: .4byte gBattleMoves -_08023CA0: .4byte gCurrentMove -_08023CA4: .4byte gBattleMons -_08023CA8: .4byte gBattlerTarget -_08023CAC: .4byte gLastUsedAbility -_08023CB0: .4byte gMoveResultFlags -_08023CB4: .4byte gLastLandedMoves -_08023CB8: .4byte gBattleCommunication -_08023CBC: - ldr r0, _08023CC8 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - b _08023DAE - .align 2, 0 -_08023CC8: .4byte gMoveResultFlags -_08023CCC: - ldr r1, _08023CD8 @ =gTypeEffectiveness - adds r0, r5, r1 - ldrb r0, [r0] - adds r6, r1, 0 - b _08023D8E - .align 2, 0 -_08023CD8: .4byte gTypeEffectiveness -_08023CDC: - adds r0, r5, r6 - ldrb r0, [r0] - cmp r0, r8 - bne _08023D88 - adds r2, r5, 0x1 - adds r3, r2, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r0, 0x21 - ldrb r1, [r3] - adds r3, r2, 0 - ldrb r0, [r0] - cmp r1, r0 - bne _08023D1A - adds r0, r5, 0x2 - adds r0, r6 - ldrb r1, [r0] - cmp r1, 0 - beq _08023CBC - cmp r1, 0x5 - bne _08023D0E - movs r0, 0x4 - orrs r4, r0 -_08023D0E: - cmp r1, 0x14 - bne _08023D1A - movs r0, 0x2 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08023D1A: - adds r2, r3, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _08023D88 - adds r0, 0x21 - ldrb r1, [r0] - cmp r1, r2 - beq _08023D42 - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - beq _08023CBC -_08023D42: - cmp r1, r2 - beq _08023D58 - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08023D58 - movs r0, 0x4 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08023D58: - adds r2, r3, r6 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x22 - ldrb r2, [r2] - ldrb r1, [r1] - cmp r2, r1 - bne _08023D88 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, r2 - beq _08023D88 - adds r0, r5, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x14 - bne _08023D88 - movs r0, 0x2 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 -_08023D88: - adds r5, 0x3 - adds r0, r5, r6 - ldrb r0, [r0] -_08023D8E: - cmp r0, 0xFF - beq _08023DAE - cmp r0, 0xFE - bne _08023CDC - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 22 - ands r0, r1 - cmp r0, 0 - beq _08023D88 -_08023DAE: - ldr r2, _08023E5C @ =gBattleMons - ldr r0, _08023E60 @ =gBattlerTarget - mov r8, r0 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x20 - ldrb r6, [r0] - cmp r6, 0x19 - bne _08023E2A - movs r5, 0x29 - ands r5, r4 - cmp r5, 0 - bne _08023E2A - ldr r0, _08023E64 @ =gBattlerAttacker - ldrb r0, [r0] - ldr r7, _08023E68 @ =gCurrentMove - ldrh r1, [r7] - bl AttacksThisTurn - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _08023E2A - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08023DF0 - movs r0, 0x6 - ands r4, r0 - cmp r4, 0x6 - bne _08023E2A -_08023DF0: - ldr r2, _08023E6C @ =gBattleMoves - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08023E2A - ldr r3, _08023E70 @ =gLastUsedAbility - strb r6, [r3] - ldr r2, _08023E74 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08023E78 @ =gLastLandedMoves - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - adds r0, r1 - strh r5, [r0] - ldr r1, _08023E7C @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x6] - ldrb r0, [r2] - ldrb r1, [r3] - bl RecordAbilityBattle -_08023E2A: - ldr r0, _08023E74 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08023E48 - ldr r2, _08023E80 @ =gProtectStructs - ldr r0, _08023E64 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 4 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1, 0x1] -_08023E48: - ldr r1, _08023E84 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08023E5C: .4byte gBattleMons -_08023E60: .4byte gBattlerTarget -_08023E64: .4byte gBattlerAttacker -_08023E68: .4byte gCurrentMove -_08023E6C: .4byte gBattleMoves -_08023E70: .4byte gLastUsedAbility -_08023E74: .4byte gMoveResultFlags -_08023E78: .4byte gLastLandedMoves -_08023E7C: .4byte gBattleCommunication -_08023E80: .4byte gProtectStructs -_08023E84: .4byte gBattlescriptCurrInstr - thumb_func_end atk4A_typecalc2 - - thumb_func_start atk4B_returnatktoball -atk4B_returnatktoball: @ 8023E88 - push {r4,lr} - ldr r4, _08023EC4 @ =gActiveBattler - ldr r0, _08023EC8 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r2, _08023ECC @ =gHitMarker - ldr r1, _08023ED0 @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _08023EB6 - movs r0, 0 - movs r1, 0 - bl BtlController_EmitReturnMonToBall - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08023EB6: - ldr r1, _08023ED4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08023EC4: .4byte gActiveBattler -_08023EC8: .4byte gBattlerAttacker -_08023ECC: .4byte gHitMarker -_08023ED0: .4byte gBitTable -_08023ED4: .4byte gBattlescriptCurrInstr - thumb_func_end atk4B_returnatktoball - - thumb_func_start atk4C_getswitchedmondata -atk4C_getswitchedmondata: @ 8023ED8 - push {r4,r5,lr} - ldr r0, _08023F30 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08023F28 - ldr r5, _08023F34 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08023F38 @ =gActiveBattler - strb r0, [r4] - ldr r3, _08023F3C @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r2, r0, 1 - adds r2, r3 - ldr r1, _08023F40 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x5C - ldrb r0, [r0] - strh r0, [r2] - ldr r1, _08023F44 @ =gBitTable - ldrb r0, [r4] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitGetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_08023F28: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08023F30: .4byte gBattleControllerExecFlags -_08023F34: .4byte gBattlescriptCurrInstr -_08023F38: .4byte gActiveBattler -_08023F3C: .4byte gBattlerPartyIndexes -_08023F40: .4byte gBattleStruct -_08023F44: .4byte gBitTable - thumb_func_end atk4C_getswitchedmondata - - thumb_func_start atk4D_switchindataupdate -atk4D_switchindataupdate: @ 8023F48 - push {r4-r7,lr} - sub sp, 0x58 - ldr r0, _080240A0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08023F56 - b _08024098 -_08023F56: - ldr r0, _080240A4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080240A8 @ =gActiveBattler - strb r0, [r4] - ldr r6, _080240AC @ =gBattleMons - ldrb r0, [r4] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - mov r0, sp - movs r2, 0x58 - bl memcpy - ldrb r0, [r4] - muls r0, r5 - adds r3, r0, r6 - movs r2, 0 - ldr r5, _080240B0 @ =gBattleBufferB - adds r7, r4, 0 -_08023F84: - adds r0, r3, r2 - ldrb r1, [r4] - lsls r1, 9 - adds r1, 0x4 - adds r1, r2, r1 - adds r1, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x57 - bls _08023F84 - ldr r4, _080240AC @ =gBattleMons - ldrb r0, [r7] - movs r6, 0x58 - adds r2, r0, 0 - muls r2, r6 - adds r2, r4 - ldr r3, _080240B4 @ =gBaseStats - ldrh r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x6] - adds r2, 0x21 - strb r0, [r2] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldrh r2, [r1] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x7] - adds r1, 0x22 - strb r0, [r1] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldrh r0, [r1] - ldrb r1, [r1, 0x17] - lsrs r1, 7 - bl GetAbilityBySpecies - ldrb r1, [r7] - muls r1, r6 - adds r1, r4 - adds r1, 0x20 - strb r0, [r1] - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080240B8 @ =gWishFutureKnock - adds r0, 0x29 - adds r0, r2, r0 - ldrb r1, [r0] - ldr r3, _080240BC @ =gBitTable - ldr r2, _080240C0 @ =gBattlerPartyIndexes - ldrb r5, [r7] - lsls r0, r5, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ands r1, r0 - mov r12, r4 - cmp r1, 0 - beq _08024022 - adds r0, r5, 0 - muls r0, r6 - add r0, r12 - movs r1, 0 - strh r1, [r0, 0x2E] -_08024022: - ldr r2, _080240C4 @ =gBattleMoves - ldr r0, _080240C8 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7F - bne _08024068 - movs r2, 0 - adds r4, r7, 0 - movs r6, 0x58 - mov r5, r12 - adds r5, 0x18 - add r3, sp, 0x18 -_08024042: - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r6 - adds r1, r2, r1 - adds r1, r5 - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _08024042 - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - mov r1, r12 - adds r1, 0x50 - adds r0, r1 - ldr r1, [sp, 0x50] - str r1, [r0] -_08024068: - bl SwitchInClearSetData - ldr r0, _080240CC @ =gBattleScripting - ldr r3, _080240A8 @ =gActiveBattler - ldrb r2, [r3] - strb r2, [r0, 0x17] - ldr r1, _080240D0 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x7 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - ldr r2, _080240C0 @ =gBattlerPartyIndexes - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _080240A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08024098: - add sp, 0x58 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080240A0: .4byte gBattleControllerExecFlags -_080240A4: .4byte gBattlescriptCurrInstr -_080240A8: .4byte gActiveBattler -_080240AC: .4byte gBattleMons -_080240B0: .4byte gBattleBufferB -_080240B4: .4byte gBaseStats -_080240B8: .4byte gWishFutureKnock -_080240BC: .4byte gBitTable -_080240C0: .4byte gBattlerPartyIndexes -_080240C4: .4byte gBattleMoves -_080240C8: .4byte gCurrentMove -_080240CC: .4byte gBattleScripting -_080240D0: .4byte gBattleTextBuff1 - thumb_func_end atk4D_switchindataupdate - - thumb_func_start atk4E_switchinanim -atk4E_switchinanim: @ 80240D4 - push {r4-r6,lr} - ldr r0, _08024168 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08024160 - ldr r0, _0802416C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r6, _08024170 @ =gActiveBattler - strb r0, [r6] - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802412A - ldr r0, _08024174 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _08024178 @ =0x0001aa02 - ands r0, r1 - cmp r0, 0 - bne _0802412A - ldr r4, _0802417C @ =gBattleMons - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r0, r4 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r6] - muls r1, r5 - adds r4, 0x48 - adds r1, r4 - ldr r2, [r1] - movs r1, 0x2 - bl HandleSetPokedexFlag -_0802412A: - ldr r2, _08024180 @ =gAbsentBattlerFlags - ldr r1, _08024184 @ =gBitTable - ldr r5, _08024170 @ =gActiveBattler - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] - ldr r1, _08024188 @ =gBattlerPartyIndexes - ldrb r0, [r5] - lsls r0, 1 - adds r0, r1 - ldrb r1, [r0] - ldr r4, _0802416C @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r2, [r0, 0x2] - movs r0, 0 - bl BtlController_EmitSwitchInAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] -_08024160: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08024168: .4byte gBattleControllerExecFlags -_0802416C: .4byte gBattlescriptCurrInstr -_08024170: .4byte gActiveBattler -_08024174: .4byte gBattleTypeFlags -_08024178: .4byte 0x0001aa02 -_0802417C: .4byte gBattleMons -_08024180: .4byte gAbsentBattlerFlags -_08024184: .4byte gBitTable -_08024188: .4byte gBattlerPartyIndexes - thumb_func_end atk4E_switchinanim - - thumb_func_start atk4F_jumpifcantswitch -atk4F_jumpifcantswitch: @ 802418C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080241F0 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - movs r0, 0x7F - ands r0, r1 - bl GetBattlerForBattleScript - ldr r3, _080241F4 @ =gActiveBattler - strb r0, [r3] - ldr r2, [r4] - ldrb r1, [r2, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08024204 - ldr r1, _080241F8 @ =gBattleMons - ldrb r3, [r3] - movs r0, 0x58 - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080241FC @ =0x0400e000 - ands r0, r1 - cmp r0, 0 - bne _080241D8 - ldr r1, _08024200 @ =gStatuses3 - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 3 - ands r0, r1 - cmp r0, 0 - beq _08024204 -_080241D8: - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08024388 - .align 2, 0 -_080241F0: .4byte gBattlescriptCurrInstr -_080241F4: .4byte gActiveBattler -_080241F8: .4byte gBattleMons -_080241FC: .4byte 0x0400e000 -_08024200: .4byte gStatuses3 -_08024204: - ldr r5, _08024290 @ =gBattleTypeFlags - ldr r0, [r5] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080242A4 - ldr r4, _08024294 @ =gActiveBattler - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08024298 @ =gPlayerParty - mov r8, r1 - cmp r0, 0x1 - bne _08024228 - ldr r0, _0802429C @ =gEnemyParty - mov r8, r0 -_08024228: - movs r5, 0 - ldrb r0, [r4] - bl GetBattlerMultiplayerId - lsls r0, 24 - lsrs r0, 24 - bl GetLinkTrainerFlankId - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08024242 - movs r5, 0x3 -_08024242: - adds r6, r5, 0x3 - cmp r5, r6 - bge _0802428A - ldr r7, _080242A0 @ =gBattlerPartyIndexes -_0802424A: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08024284 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08024284 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08024284 - ldr r0, _08024294 @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - cmp r0, r5 - bne _0802428A -_08024284: - adds r5, 0x1 - cmp r5, r6 - blt _0802424A -_0802428A: - cmp r5, r6 - beq _08024358 - b _08024380 - .align 2, 0 -_08024290: .4byte gBattleTypeFlags -_08024294: .4byte gActiveBattler -_08024298: .4byte gPlayerParty -_0802429C: .4byte gEnemyParty -_080242A0: .4byte gBattlerPartyIndexes -_080242A4: - ldr r0, _080242D4 @ =gActiveBattler - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080242E4 - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r5] - ands r0, r4 - cmp r0, 0 - beq _080242D8 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - b _080242DA - .align 2, 0 -_080242D4: .4byte gActiveBattler -_080242D8: - adds r6, r7, 0 -_080242DA: - ldr r0, _080242E0 @ =gEnemyParty - mov r8, r0 - b _0802430A - .align 2, 0 -_080242E0: .4byte gEnemyParty -_080242E4: - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r5] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08024304 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r6, r0, 24 - b _08024306 -_08024304: - adds r6, r7, 0 -_08024306: - ldr r1, _08024374 @ =gPlayerParty - mov r8, r1 -_0802430A: - movs r5, 0 -_0802430C: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802434E - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0802434E - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0802434E - ldr r1, _08024378 @ =gBattlerPartyIndexes - lsls r0, r7, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - beq _0802434E - lsls r0, r6, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r5, r0 - bne _08024354 -_0802434E: - adds r5, 0x1 - cmp r5, 0x5 - ble _0802430C -_08024354: - cmp r5, 0x6 - bne _08024380 -_08024358: - ldr r3, _0802437C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08024388 - .align 2, 0 -_08024374: .4byte gPlayerParty -_08024378: .4byte gBattlerPartyIndexes -_0802437C: .4byte gBattlescriptCurrInstr -_08024380: - ldr r1, _08024394 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] -_08024388: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024394: .4byte gBattlescriptCurrInstr - thumb_func_end atk4F_jumpifcantswitch - - thumb_func_start sub_8024398 -sub_8024398: @ 8024398 - push {r4,r5,lr} - sub sp, 0x4 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r4, _080243E0 @ =gActiveBattler - ldrb r0, [r4] - ldr r5, _080243E4 @ =gBattleStruct - ldr r1, [r5] - adds r1, r0, r1 - adds r1, 0x58 - ldr r3, _080243E8 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1] - ldrb r0, [r4] - lsls r1, r0, 1 - adds r1, r0 - adds r1, 0x60 - ldr r0, [r5] - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x1 - movs r3, 0 - bl BtlController_EmitChoosePokemon - ldrb r0, [r4] - bl MarkBattlerForControllerExec - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080243E0: .4byte gActiveBattler -_080243E4: .4byte gBattleStruct -_080243E8: .4byte gBattlerPartyIndexes - thumb_func_end sub_8024398 - thumb_func_start atk50_openpartyscreen atk50_openpartyscreen: @ 80243EC push {r4-r7,lr} -- cgit v1.2.3 From 184066d1c106d6dc61621504abe808112b48674e Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Mon, 26 Aug 2019 14:38:40 +0800 Subject: thru atk6B --- asm/battle_script_commands.s | 3695 ------------------------------------- asm/evolution_scene.s | 4 +- asm/learn_move.s | 2 +- asm/party_menu.s | 2 +- asm/pokemon_summary_screen.s | 6 +- asm/script_pokemon_util_80BF8FC.s | 2 +- 6 files changed, 8 insertions(+), 3703 deletions(-) (limited to 'asm') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index ed848ba78..7a0f29fb8 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,3701 +5,6 @@ .text - thumb_func_start atk50_openpartyscreen -atk50_openpartyscreen: @ 80243EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r7, 0 - movs r0, 0 - mov r9, r0 - ldr r6, _08024498 @ =gBattlescriptCurrInstr - ldr r2, [r6] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - mov r8, r1 - ldrb r1, [r2, 0x1] - adds r0, r1, 0 - mov r12, r6 - cmp r0, 0x5 - beq _08024422 - b _080248B8 -_08024422: - ldr r0, _0802449C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x41 - ands r1, r0 - cmp r1, 0x1 - beq _08024510 - ldr r1, _080244A0 @ =gActiveBattler - strb r7, [r1] - ldr r0, _080244A4 @ =gBattlersCount - ldrb r0, [r0] - cmp r7, r0 - bcc _0802443C - b _080248A6 -_0802443C: - ldr r7, _080244A8 @ =gHitMarker - ldr r6, _080244AC @ =gBitTable - adds r4, r1, 0 - ldr r2, _080244B0 @ =gAbsentBattlerFlags - mov r8, r2 -_08024446: - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - ands r0, r1 - cmp r0, 0 - beq _080244E8 - adds r0, r2, 0 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080244B4 - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - mov r2, r8 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - bics r0, r1 - str r0, [r7] - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _080244F6 - .align 2, 0 -_08024498: .4byte gBattlescriptCurrInstr -_0802449C: .4byte gBattleTypeFlags -_080244A0: .4byte gActiveBattler -_080244A4: .4byte gBattlersCount -_080244A8: .4byte gHitMarker -_080244AC: .4byte gBitTable -_080244B0: .4byte gAbsentBattlerFlags -_080244B4: - ldr r5, _080244E4 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080244F6 - movs r0, 0x6 - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _080244F6 - .align 2, 0 -_080244E4: .4byte gSpecialStatuses -_080244E8: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080244F6: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _0802450C @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08024446 - b _080248A6 - .align 2, 0 -_0802450C: .4byte gBattlersCount -_08024510: - ands r0, r1 - cmp r0, 0 - bne _08024518 - b _080248A6 -_08024518: - ldr r0, _08024570 @ =gHitMarker - mov r8, r0 - ldr r0, [r0] - lsrs r5, r0, 28 - ldr r6, _08024574 @ =gBitTable - ldr r0, [r6] - ands r0, r5 - cmp r0, 0 - beq _080245CE - ldr r4, _08024578 @ =gActiveBattler - strb r7, [r4] - movs r0, 0 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _08024580 - ldr r2, _0802457C @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - mov r2, r8 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _080245CE - .align 2, 0 -_08024570: .4byte gHitMarker -_08024574: .4byte gBitTable -_08024578: .4byte gActiveBattler -_0802457C: .4byte gAbsentBattlerFlags -_08024580: - ldr r6, _080245B4 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080245BC - ldr r0, _080245B8 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5E - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _080245CE - .align 2, 0 -_080245B4: .4byte gSpecialStatuses -_080245B8: .4byte gBattleStruct -_080245BC: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec - movs r0, 0x1 - mov r9, r0 -_080245CE: - ldr r6, _08024628 @ =gBitTable - ldr r0, [r6, 0x8] - ands r0, r5 - cmp r0, 0 - beq _0802468C - ldr r0, [r6] - ands r0, r5 - cmp r0, 0 - bne _0802468C - ldr r4, _0802462C @ =gActiveBattler - movs r0, 0x2 - strb r0, [r4] - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _08024638 - ldr r2, _08024630 @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _08024634 @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802468C - .align 2, 0 -_08024628: .4byte gBitTable -_0802462C: .4byte gActiveBattler -_08024630: .4byte gAbsentBattlerFlags -_08024634: .4byte gHitMarker -_08024638: - ldr r6, _0802466C @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024674 - ldr r0, _08024670 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5C - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0802468C - .align 2, 0 -_0802466C: .4byte gSpecialStatuses -_08024670: .4byte gBattleStruct -_08024674: - movs r0, 0x1 - mov r1, r9 - ands r0, r1 - cmp r0, 0 - bne _0802468C - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802468C: - ldr r6, _080246DC @ =gBitTable - ldr r0, [r6, 0x4] - ands r0, r5 - cmp r0, 0 - beq _0802473E - ldr r4, _080246E0 @ =gActiveBattler - movs r0, 0x1 - strb r0, [r4] - movs r0, 0x1 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080246EC - ldr r2, _080246E4 @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080246E8 @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802473E - .align 2, 0 -_080246DC: .4byte gBitTable -_080246E0: .4byte gActiveBattler -_080246E4: .4byte gAbsentBattlerFlags -_080246E8: .4byte gHitMarker -_080246EC: - ldr r6, _08024720 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024728 - ldr r0, _08024724 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5F - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0802473E - .align 2, 0 -_08024720: .4byte gSpecialStatuses -_08024724: .4byte gBattleStruct -_08024728: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec - movs r0, 0x2 - mov r2, r9 - orrs r2, r0 - mov r9, r2 -_0802473E: - ldr r6, _08024798 @ =gBitTable - ldr r0, [r6, 0xC] - ands r0, r5 - cmp r0, 0 - beq _080247FC - ldr r0, [r6, 0x4] - ands r0, r5 - cmp r0, 0 - bne _080247FC - ldr r4, _0802479C @ =gActiveBattler - movs r0, 0x3 - strb r0, [r4] - movs r0, 0x3 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080247A8 - ldr r2, _080247A0 @ =gAbsentBattlerFlags - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080247A4 @ =gHitMarker - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _080247FC - .align 2, 0 -_08024798: .4byte gBitTable -_0802479C: .4byte gActiveBattler -_080247A0: .4byte gAbsentBattlerFlags -_080247A4: .4byte gHitMarker -_080247A8: - ldr r6, _080247DC @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _080247E4 - ldr r0, _080247E0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5D - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _080247FC - .align 2, 0 -_080247DC: .4byte gSpecialStatuses -_080247E0: .4byte gBattleStruct -_080247E4: - movs r0, 0x2 - mov r1, r9 - ands r1, r0 - cmp r1, 0 - bne _080247FC - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080247FC: - ldr r1, _0802482C @ =gSpecialStatuses - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024850 - adds r0, r1, 0 - adds r0, 0x28 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _08024850 - cmp r5, 0 - beq _08024850 - ldr r0, _08024830 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r0, _08024834 @ =gBitTable - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0802483C - ldr r1, _08024838 @ =gActiveBattler - movs r0, 0x2 - strb r0, [r1] - b _08024840 - .align 2, 0 -_0802482C: .4byte gSpecialStatuses -_08024830: .4byte gAbsentBattlerFlags -_08024834: .4byte gBitTable -_08024838: .4byte gActiveBattler -_0802483C: - ldr r0, _08024880 @ =gActiveBattler - strb r1, [r0] -_08024840: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldr r0, _08024880 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec -_08024850: - ldr r1, _08024884 @ =gSpecialStatuses - ldrb r0, [r1, 0x14] - lsls r0, 25 - cmp r0, 0 - blt _080248A6 - adds r0, r1, 0 - adds r0, 0x3C - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - blt _080248A6 - cmp r5, 0 - beq _080248A6 - ldr r0, _08024888 @ =gAbsentBattlerFlags - ldrb r0, [r0] - ldr r1, _0802488C @ =gBitTable - ldr r1, [r1, 0x4] - ands r0, r1 - cmp r0, 0 - beq _08024890 - ldr r1, _08024880 @ =gActiveBattler - movs r0, 0x3 - b _08024894 - .align 2, 0 -_08024880: .4byte gActiveBattler -_08024884: .4byte gSpecialStatuses -_08024888: .4byte gAbsentBattlerFlags -_0802488C: .4byte gBitTable -_08024890: - ldr r1, _080248B0 @ =gActiveBattler - movs r0, 0x1 -_08024894: - strb r0, [r1] - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldr r0, _080248B0 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec -_080248A6: - ldr r1, _080248B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - b _08024C2E - .align 2, 0 -_080248B0: .4byte gActiveBattler -_080248B4: .4byte gBattlescriptCurrInstr -_080248B8: - cmp r0, 0x6 - beq _080248BE - b _08024AAC -_080248BE: - ldr r0, _08024934 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080248CC - b _08024A48 -_080248CC: - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080248D6 - b _08024A48 -_080248D6: - ldr r7, _08024938 @ =gHitMarker - ldr r0, [r7] - lsrs r5, r0, 28 - ldr r4, _0802493C @ =gBitTable - ldr r0, [r4, 0x8] - ands r0, r5 - cmp r0, 0 - beq _0802497E - ldr r0, [r4] - ands r0, r5 - cmp r0, 0 - beq _0802497E - ldr r6, _08024940 @ =gActiveBattler - movs r0, 0x2 - strb r0, [r6] - ldr r0, _08024944 @ =gBattleBufferB - ldrb r1, [r0, 0x1] - movs r0, 0x2 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _0802494C - ldr r2, _08024948 @ =gAbsentBattlerFlags - ldrb r0, [r6] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r6] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r7] - bics r0, r1 - str r0, [r7] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r6] - bl MarkBattlerForControllerExec - b _0802497E - .align 2, 0 -_08024934: .4byte gBattleTypeFlags -_08024938: .4byte gHitMarker -_0802493C: .4byte gBitTable -_08024940: .4byte gActiveBattler -_08024944: .4byte gBattleBufferB -_08024948: .4byte gAbsentBattlerFlags -_0802494C: - ldr r4, _080249DC @ =gSpecialStatuses - ldrb r0, [r6] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _0802497E - ldr r0, _080249E0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5C - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] -_0802497E: - ldr r4, _080249E4 @ =gBitTable - ldr r0, [r4, 0xC] - ands r0, r5 - cmp r0, 0 - beq _08024A2E - ldr r0, [r4, 0x4] - ands r5, r0 - cmp r5, 0 - beq _08024A2E - ldr r5, _080249E8 @ =gActiveBattler - movs r0, 0x3 - strb r0, [r5] - ldr r0, _080249EC @ =gBattleBufferB - ldr r2, _080249F0 @ =0x00000201 - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x3 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _080249FC - ldr r2, _080249F4 @ =gAbsentBattlerFlags - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080249F8 @ =gHitMarker - ldrb r0, [r5] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - movs r0, 0 - bl BtlController_EmitCmd42 - ldrb r0, [r5] - bl MarkBattlerForControllerExec - b _08024A2E - .align 2, 0 -_080249DC: .4byte gSpecialStatuses -_080249E0: .4byte gBattleStruct -_080249E4: .4byte gBitTable -_080249E8: .4byte gActiveBattler -_080249EC: .4byte gBattleBufferB -_080249F0: .4byte 0x00000201 -_080249F4: .4byte gAbsentBattlerFlags -_080249F8: .4byte gHitMarker -_080249FC: - ldr r4, _08024A3C @ =gSpecialStatuses - ldrb r0, [r5] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 25 - cmp r0, 0 - blt _08024A2E - ldr r0, _08024A40 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x5D - ldrb r0, [r0] - bl sub_8024398 - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] -_08024A2E: - ldr r1, _08024A44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - mov r12, r1 - b _08024A4C - .align 2, 0 -_08024A3C: .4byte gSpecialStatuses -_08024A40: .4byte gBattleStruct -_08024A44: .4byte gBattlescriptCurrInstr -_08024A48: - adds r0, r2, 0x6 - str r0, [r6] -_08024A4C: - ldr r0, _08024A9C @ =gHitMarker - ldr r0, [r0] - lsrs r5, r0, 28 - ldr r1, _08024AA0 @ =gBattlerFainted - movs r0, 0 - strb r0, [r1] - ldr r4, _08024AA4 @ =gBitTable - ldr r2, [r4] - ands r2, r5 - ldr r6, _08024AA8 @ =gBattlersCount - cmp r2, 0 - bne _08024A88 - adds r7, r6, 0 - ldrb r0, [r6] - cmp r2, r0 - bcs _08024A88 - adds r3, r1, 0 -_08024A6E: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldrb r2, [r3] - lsls r0, r2, 2 - adds r0, r4 - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - bne _08024A88 - ldrb r0, [r7] - cmp r2, r0 - bcc _08024A6E -_08024A88: - ldrb r0, [r1] - ldrb r6, [r6] - cmp r0, r6 - beq _08024A92 - b _08024C2E -_08024A92: - mov r1, r8 - mov r2, r12 - str r1, [r2] - b _08024C2E - .align 2, 0 -_08024A9C: .4byte gHitMarker -_08024AA0: .4byte gBattlerFainted -_08024AA4: .4byte gBitTable -_08024AA8: .4byte gBattlersCount -_08024AAC: - movs r0, 0x80 - ands r0, r1 - movs r5, 0x1 - cmp r0, 0 - beq _08024AB8 - movs r5, 0 -_08024AB8: - movs r0, 0x7F - ands r0, r1 - bl GetBattlerForBattleScript - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08024AE0 @ =gSpecialStatuses - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 25 - cmp r0, 0 - bge _08024AE4 - ldr r0, [r6] - adds r0, 0x6 - str r0, [r6] - b _08024C2E - .align 2, 0 -_08024AE0: .4byte gSpecialStatuses -_08024AE4: - adds r0, r7, 0 - movs r1, 0x6 - movs r2, 0x6 - bl HasNoMonsToSwitch - lsls r0, 24 - cmp r0, 0 - beq _08024B34 - ldr r2, _08024B24 @ =gActiveBattler - strb r7, [r2] - ldr r3, _08024B28 @ =gAbsentBattlerFlags - ldr r4, _08024B2C @ =gBitTable - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrb r1, [r3] - orrs r0, r1 - strb r0, [r3] - ldr r3, _08024B30 @ =gHitMarker - ldrb r0, [r2] - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r3] - bics r0, r1 - str r0, [r3] - mov r0, r8 - str r0, [r6] - b _08024C2E - .align 2, 0 -_08024B24: .4byte gActiveBattler -_08024B28: .4byte gAbsentBattlerFlags -_08024B2C: .4byte gBitTable -_08024B30: .4byte gHitMarker -_08024B34: - ldr r4, _08024BD8 @ =gActiveBattler - strb r7, [r4] - ldrb r0, [r4] - ldr r3, _08024BDC @ =gBattleStruct - ldr r1, [r3] - adds r1, r0, r1 - adds r1, 0x58 - ldr r2, _08024BE0 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - ldr r3, [r3] - adds r0, r3 - adds r0, 0x5C - ldrb r2, [r0] - ldrb r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - adds r0, 0x60 - adds r3, r0 - str r3, [sp] - movs r0, 0 - adds r1, r5, 0 - movs r3, 0 - bl BtlController_EmitChoosePokemon - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r6] - adds r0, 0x6 - str r0, [r6] - ldrb r0, [r4] - bl GetBattlerPosition - lsls r0, 24 - cmp r0, 0 - bne _08024B94 - ldr r1, _08024BE4 @ =gBattleResults - ldrb r0, [r1, 0x2] - cmp r0, 0xFE - bhi _08024B94 - adds r0, 0x1 - strb r0, [r1, 0x2] -_08024B94: - ldr r0, _08024BE8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08024BF0 - ldr r1, _08024BD8 @ =gActiveBattler - movs r0, 0 - strb r0, [r1] - ldr r0, _08024BEC @ =gBattlersCount - ldrb r0, [r0] - cmp r0, 0 - beq _08024C2E - adds r4, r1, 0 -_08024BB0: - ldrb r0, [r4] - cmp r0, r7 - beq _08024BC4 - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08024BC4: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _08024BEC @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08024BB0 - b _08024C2E - .align 2, 0 -_08024BD8: .4byte gActiveBattler -_08024BDC: .4byte gBattleStruct -_08024BE0: .4byte gBattlerPartyIndexes -_08024BE4: .4byte gBattleResults -_08024BE8: .4byte gBattleTypeFlags -_08024BEC: .4byte gBattlersCount -_08024BF0: - adds r0, r7, 0 - bl GetBattlerPosition - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r4, _08024C3C @ =gActiveBattler - strb r0, [r4] - ldr r0, _08024C40 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08024C44 @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08024C20 - movs r0, 0x2 - eors r3, r0 - strb r3, [r4] -_08024C20: - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitLinkStandbyMsg - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08024C2E: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024C3C: .4byte gActiveBattler -_08024C40: .4byte gAbsentBattlerFlags -_08024C44: .4byte gBitTable - thumb_func_end atk50_openpartyscreen - - thumb_func_start atk51_switchhandleorder -atk51_switchhandleorder: @ 8024C48 - push {r4-r7,lr} - ldr r0, _08024C74 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _08024C54 - b _08024E16 -_08024C54: - ldr r4, _08024C78 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r7, _08024C7C @ =gActiveBattler - strb r0, [r7] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0x1 - beq _08024CC4 - cmp r0, 0x1 - bgt _08024C80 - cmp r0, 0 - beq _08024C86 - b _08024E0E - .align 2, 0 -_08024C74: .4byte gBattleControllerExecFlags -_08024C78: .4byte gBattlescriptCurrInstr -_08024C7C: .4byte gActiveBattler -_08024C80: - cmp r0, 0x2 - beq _08024CE0 - b _08024E0E -_08024C86: - movs r3, 0 - ldr r0, _08024CB8 @ =gBattlersCount - ldrb r1, [r0] - cmp r3, r1 - blt _08024C92 - b _08024E0E -_08024C92: - ldr r6, _08024CBC @ =gBattleStruct - ldr r2, _08024CC0 @ =gBattleBufferB - movs r5, 0x80 - lsls r5, 2 - adds r4, r0, 0 -_08024C9C: - ldrb r0, [r2] - cmp r0, 0x22 - bne _08024CAC - ldr r0, [r6] - adds r0, r3, r0 - adds r0, 0x5C - ldrb r1, [r2, 0x1] - strb r1, [r0] -_08024CAC: - adds r2, r5 - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _08024C9C - b _08024E0E - .align 2, 0 -_08024CB8: .4byte gBattlersCount -_08024CBC: .4byte gBattleStruct -_08024CC0: .4byte gBattleBufferB -_08024CC4: - ldr r0, _08024CDC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08024CD2 - b _08024E0E -_08024CD2: - ldrb r0, [r7] - bl sub_8013F6C - b _08024E0E - .align 2, 0 -_08024CDC: .4byte gBattleTypeFlags -_08024CE0: - ldr r1, _08024DAC @ =gBattleCommunication - ldr r4, _08024DB0 @ =gBattleBufferB - ldrb r0, [r7] - lsls r0, 9 - adds r2, r4, 0x1 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldr r6, _08024DB4 @ =gBattleStruct - ldr r1, [r6] - adds r1, r0, r1 - adds r1, 0x5C - lsls r0, 9 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _08024DB8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08024DBC - ldrb r0, [r7] - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - ldrb r2, [r1] - movs r0, 0xF - ands r0, r2 - strb r0, [r1] - ldrb r0, [r7] - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - lsls r0, 9 - adds r5, r4, 0x2 - adds r0, r5 - ldrb r2, [r0] - movs r3, 0xF0 - adds r0, r3, 0 - ands r0, r2 - ldrb r2, [r1] - orrs r0, r2 - strb r0, [r1] - ldrb r1, [r7] - ldr r2, [r6] - lsls r0, r1, 1 - adds r0, r1 - adds r0, r2 - adds r0, 0x61 - lsls r1, 9 - adds r4, 0x3 - mov r12, r4 - add r1, r12 - ldrb r1, [r1] - strb r1, [r0] - ldrb r0, [r7] - movs r4, 0x2 - eors r0, r4 - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r7] - eors r0, r4 - ldr r2, [r6] - lsls r1, r0, 1 - adds r1, r0 - adds r1, r2 - adds r1, 0x60 - ldrb r0, [r7] - lsls r0, 9 - adds r0, r5 - ldrb r0, [r0] - ands r3, r0 - lsrs r3, 4 - ldrb r0, [r1] - orrs r3, r0 - strb r3, [r1] - ldrb r0, [r7] - eors r4, r0 - ldr r0, [r6] - lsls r1, r4, 1 - adds r1, r4 - adds r1, r0 - adds r1, 0x62 - ldrb r0, [r7] - lsls r0, 9 - add r0, r12 - ldrb r0, [r0] - strb r0, [r1] - b _08024DC2 - .align 2, 0 -_08024DAC: .4byte gBattleCommunication -_08024DB0: .4byte gBattleBufferB -_08024DB4: .4byte gBattleStruct -_08024DB8: .4byte gBattleTypeFlags -_08024DBC: - ldrb r0, [r7] - bl sub_8013F6C -_08024DC2: - ldr r1, _08024E1C @ =gBattleTextBuff1 - movs r5, 0xFD - strb r5, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, _08024E20 @ =gBattleMons - ldr r3, _08024E24 @ =gBattlerAttacker - ldrb r0, [r3] - movs r2, 0x58 - muls r0, r2 - adds r0, r4 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - muls r0, r2 - adds r0, r4 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r2, _08024E28 @ =gBattleTextBuff2 - strb r5, [r2] - movs r0, 0x7 - strb r0, [r2, 0x1] - ldr r3, _08024E2C @ =gActiveBattler - ldrb r0, [r3] - strb r0, [r2, 0x2] - ldr r1, _08024E30 @ =gBattleBufferB - ldrb r0, [r3] - lsls r0, 9 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r2, 0x4] -_08024E0E: - ldr r1, _08024E34 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] -_08024E16: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08024E1C: .4byte gBattleTextBuff1 -_08024E20: .4byte gBattleMons -_08024E24: .4byte gBattlerAttacker -_08024E28: .4byte gBattleTextBuff2 -_08024E2C: .4byte gActiveBattler -_08024E30: .4byte gBattleBufferB -_08024E34: .4byte gBattlescriptCurrInstr - thumb_func_end atk51_switchhandleorder - - thumb_func_start atk52_switchineffects -atk52_switchineffects: @ 8024E38 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r6, _08024F40 @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08024F44 @ =gActiveBattler - strb r0, [r4] - ldrb r0, [r4] - bl sub_80174B8 - ldr r2, _08024F48 @ =gHitMarker - ldr r1, _08024F4C @ =gBitTable - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 28 - ldr r0, [r2] - bics r0, r1 - str r0, [r2] - ldr r2, _08024F50 @ =gSpecialStatuses - ldrb r0, [r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r4] - bl GetBattlerSide - ldr r5, _08024F54 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 2 - mov r8, r0 - ands r0, r1 - cmp r0, 0 - bne _08024F88 - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08024F88 - ldr r1, _08024F58 @ =gBattleMons - mov r9, r1 - ldrb r2, [r4] - movs r7, 0x58 - adds r0, r2, 0 - muls r0, r7 - adds r1, r0, r1 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08024F88 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x2 - beq _08024F88 - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1A - beq _08024F88 - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r2, [r0] - mov r1, r8 - orrs r1, r2 - strh r1, [r0] - ldrb r0, [r4] - bl GetBattlerSide - ldr r2, _08024F5C @ =gSideTimers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0xA] - movs r1, 0x5 - subs r1, r0 - lsls r1, 25 - lsrs r1, 24 - ldr r5, _08024F60 @ =gBattleMoveDamage - ldrb r0, [r4] - muls r0, r7 - add r0, r9 - ldrh r0, [r0, 0x2C] - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _08024F28 - movs r0, 0x1 - str r0, [r5] -_08024F28: - ldr r0, _08024F64 @ =gBattleScripting - ldrb r1, [r4] - strb r1, [r0, 0x17] - bl BattleScriptPushCursor - ldr r0, [r6] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _08024F6C - ldr r0, _08024F68 @ =BattleScript_SpikesOnTarget - str r0, [r6] - b _080250C6 - .align 2, 0 -_08024F40: .4byte gBattlescriptCurrInstr -_08024F44: .4byte gActiveBattler -_08024F48: .4byte gHitMarker -_08024F4C: .4byte gBitTable -_08024F50: .4byte gSpecialStatuses -_08024F54: .4byte gSideStatuses -_08024F58: .4byte gBattleMons -_08024F5C: .4byte gSideTimers -_08024F60: .4byte gBattleMoveDamage -_08024F64: .4byte gBattleScripting -_08024F68: .4byte BattleScript_SpikesOnTarget -_08024F6C: - cmp r0, 0x1 - bne _08024F7C - ldr r0, _08024F78 @ =BattleScript_SpikesOnAttacker - str r0, [r6] - b _080250C6 - .align 2, 0 -_08024F78: .4byte BattleScript_SpikesOnAttacker -_08024F7C: - ldr r0, _08024F84 @ =BattleScript_SpikesOnFaintedBattler - str r0, [r6] - b _080250C6 - .align 2, 0 -_08024F84: .4byte BattleScript_SpikesOnFaintedBattler -_08024F88: - ldr r1, _08025064 @ =gBattleMons - ldr r5, _08025068 @ =gActiveBattler - ldrb r2, [r5] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x36 - bne _08024FAE - ldr r1, _0802506C @ =gDisableStructs - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x18] -_08024FAE: - ldrb r1, [r5] - movs r0, 0 - str r0, [sp] - movs r2, 0 - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08024FC4 - b _080250C6 -_08024FC4: - ldrb r1, [r5] - movs r0, 0 - movs r2, 0 - bl ItemBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _080250C6 - ldrb r0, [r5] - bl GetBattlerSide - ldr r1, _08025070 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - ldrh r2, [r0] - ldr r1, _08025074 @ =0x0000fdff - ands r1, r2 - strh r1, [r0] - movs r4, 0 - ldr r0, _08025078 @ =gBattlersCount - ldrb r3, [r0] - cmp r4, r3 - bge _08025012 - ldr r6, _0802507C @ =gBattlerByTurnOrder - ldr r3, _08025080 @ =gActionsByTurnOrder - movs r2, 0xC - adds r1, r0, 0 -_08024FFC: - adds r0, r4, r6 - ldrb r0, [r0] - ldrb r7, [r5] - cmp r0, r7 - bne _0802500A - adds r0, r4, r3 - strb r2, [r0] -_0802500A: - adds r4, 0x1 - ldrb r0, [r1] - cmp r4, r0 - blt _08024FFC -_08025012: - movs r4, 0 - ldr r0, _08025078 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - bge _08025046 - ldr r6, _08025084 @ =gBattleStruct - ldr r5, _08025064 @ =gBattleMons -_08025020: - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, 0xA8 - ldr r1, [r6] - adds r1, r0 - movs r0, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x28] - strh r0, [r1] - adds r4, 0x1 - ldr r0, _08025078 @ =gBattlersCount - ldrb r0, [r0] - cmp r4, r0 - blt _08025020 -_08025046: - ldr r0, _08025088 @ =gBattlescriptCurrInstr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x5 - bne _080250C0 - ldr r0, _0802508C @ =gHitMarker - ldr r0, [r0] - lsrs r4, r0, 28 - ldr r1, _08025090 @ =gBattlerFainted - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r2, _08025094 @ =gBitTable - b _080250A6 - .align 2, 0 -_08025064: .4byte gBattleMons -_08025068: .4byte gActiveBattler -_0802506C: .4byte gDisableStructs -_08025070: .4byte gSideStatuses -_08025074: .4byte 0x0000fdff -_08025078: .4byte gBattlersCount -_0802507C: .4byte gBattlerByTurnOrder -_08025080: .4byte gActionsByTurnOrder -_08025084: .4byte gBattleStruct -_08025088: .4byte gBattlescriptCurrInstr -_0802508C: .4byte gHitMarker -_08025090: .4byte gBattlerFainted -_08025094: .4byte gBitTable -_08025098: - ldr r0, _080250D4 @ =gBattlersCount - ldrb r3, [r1] - ldrb r0, [r0] - cmp r3, r0 - bcs _080250C0 - adds r0, r3, 0x1 - strb r0, [r1] -_080250A6: - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r3, [r0] - adds r0, r4, 0 - ands r0, r3 - cmp r0, 0 - beq _08025098 - ldr r0, _080250D8 @ =gAbsentBattlerFlags - ldrb r0, [r0] - ands r0, r3 - cmp r0, 0 - bne _08025098 -_080250C0: - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080250C6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080250D4: .4byte gBattlersCount -_080250D8: .4byte gAbsentBattlerFlags - thumb_func_end atk52_switchineffects - - thumb_func_start atk53_trainerslidein -atk53_trainerslidein: @ 80250DC - push {lr} - ldr r0, _080250EC @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0 - bne _080250F0 - movs r0, 0 - b _080250F2 - .align 2, 0 -_080250EC: .4byte gBattlescriptCurrInstr -_080250F0: - movs r0, 0x1 -_080250F2: - bl GetBattlerAtPosition - ldr r1, _08025114 @ =gActiveBattler - strb r0, [r1] - movs r0, 0 - bl BtlController_EmitTrainerSlide - ldr r0, _08025114 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08025118 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025114: .4byte gActiveBattler -_08025118: .4byte gBattlescriptCurrInstr - thumb_func_end atk53_trainerslidein - - thumb_func_start atk54_playse -atk54_playse: @ 802511C - push {r4,r5,lr} - ldr r5, _0802514C @ =gActiveBattler - ldr r0, _08025150 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _08025154 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl BtlController_EmitPlaySE - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802514C: .4byte gActiveBattler -_08025150: .4byte gBattlerAttacker -_08025154: .4byte gBattlescriptCurrInstr - thumb_func_end atk54_playse - - thumb_func_start atk55_fanfare -atk55_fanfare: @ 8025158 - push {r4,r5,lr} - ldr r5, _08025188 @ =gActiveBattler - ldr r0, _0802518C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r4, _08025190 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r1, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r1, r0 - movs r0, 0 - bl BtlController_EmitPlayFanfare - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r4] - adds r0, 0x3 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025188: .4byte gActiveBattler -_0802518C: .4byte gBattlerAttacker -_08025190: .4byte gBattlescriptCurrInstr - thumb_func_end atk55_fanfare - - thumb_func_start atk56_playfaintcry -atk56_playfaintcry: @ 8025194 - push {r4,r5,lr} - ldr r5, _080251BC @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080251C0 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - bl BtlController_EmitFaintingCry - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080251BC: .4byte gBattlescriptCurrInstr -_080251C0: .4byte gActiveBattler - thumb_func_end atk56_playfaintcry - - thumb_func_start atk57 -atk57: @ 80251C4 - push {r4,lr} - movs r0, 0 - bl GetBattlerAtPosition - ldr r4, _080251F0 @ =gActiveBattler - strb r0, [r4] - ldr r0, _080251F4 @ =gBattleOutcome - ldrb r1, [r0] - movs r0, 0 - bl BtlController_EmitCmd55 - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _080251F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080251F0: .4byte gActiveBattler -_080251F4: .4byte gBattleOutcome -_080251F8: .4byte gBattlescriptCurrInstr - thumb_func_end atk57 - - thumb_func_start atk58_returntoball -atk58_returntoball: @ 80251FC - push {r4,r5,lr} - ldr r5, _08025228 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _0802522C @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - movs r1, 0x1 - bl BtlController_EmitReturnMonToBall - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025228: .4byte gBattlescriptCurrInstr -_0802522C: .4byte gActiveBattler - thumb_func_end atk58_returntoball - - thumb_func_start atk59_handlelearnnewmove -atk59_handlelearnnewmove: @ 8025230 - push {r4-r7,lr} - ldr r0, _080252A4 @ =gBattlescriptCurrInstr - ldr r2, [r0] - ldrb r6, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r6, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r6, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r6, r0 - ldrb r4, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r4, r0 - ldr r0, _080252A8 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080252AC @ =gPlayerParty - adds r0, r1 - ldrb r1, [r2, 0x9] - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080252B0 @ =0x0000fffe - cmp r5, r0 - bne _0802529A - adds r7, r5, 0 -_0802527E: - ldr r0, _080252A8 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080252AC @ =gPlayerParty - adds r0, r1 - movs r1, 0 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r7 - beq _0802527E -_0802529A: - cmp r5, 0 - bne _080252B4 - ldr r0, _080252A4 @ =gBattlescriptCurrInstr - str r4, [r0] - b _0802535C - .align 2, 0 -_080252A4: .4byte gBattlescriptCurrInstr -_080252A8: .4byte gBattleStruct -_080252AC: .4byte gPlayerParty -_080252B0: .4byte 0x0000fffe -_080252B4: - ldr r0, _080252C4 @ =0x0000ffff - cmp r5, r0 - bne _080252CC - ldr r1, _080252C8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0xA - str r0, [r1] - b _0802535C - .align 2, 0 -_080252C4: .4byte 0x0000ffff -_080252C8: .4byte gBattlescriptCurrInstr -_080252CC: - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _08025364 @ =gActiveBattler - strb r0, [r1] - ldr r2, _08025368 @ =gBattlerPartyIndexes - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r2 - ldr r1, _0802536C @ =gBattleStruct - ldr r1, [r1] - ldrh r0, [r0] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _0802530C - ldr r4, _08025370 @ =gBattleMons - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0802530C - adds r0, r2, r4 - adds r1, r5, 0 - bl GiveMoveToBattleMon -_0802530C: - ldr r0, _08025374 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08025358 - movs r0, 0x2 - bl GetBattlerAtPosition - ldr r1, _08025364 @ =gActiveBattler - strb r0, [r1] - ldr r2, _08025368 @ =gBattlerPartyIndexes - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r2 - ldr r1, _0802536C @ =gBattleStruct - ldr r1, [r1] - ldrh r0, [r0] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _08025358 - ldr r4, _08025370 @ =gBattleMons - movs r0, 0x58 - adds r2, r3, 0 - muls r2, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08025358 - adds r0, r2, r4 - adds r1, r5, 0 - bl GiveMoveToBattleMon -_08025358: - ldr r0, _08025378 @ =gBattlescriptCurrInstr - str r6, [r0] -_0802535C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025364: .4byte gActiveBattler -_08025368: .4byte gBattlerPartyIndexes -_0802536C: .4byte gBattleStruct -_08025370: .4byte gBattleMons -_08025374: .4byte gBattleTypeFlags -_08025378: .4byte gBattlescriptCurrInstr - thumb_func_end atk59_handlelearnnewmove - - thumb_func_start atk5A_yesnoboxlearnmove -atk5A_yesnoboxlearnmove: @ 802537C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, _080253A0 @ =gActiveBattler - movs r1, 0 - strb r1, [r0] - ldr r0, _080253A4 @ =gBattleScripting - ldrb r1, [r0, 0x1F] - adds r2, r0, 0 - cmp r1, 0x5 - bls _08025396 - b _080256D0 -_08025396: - lsls r0, r1, 2 - ldr r1, _080253A8 @ =_080253AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080253A0: .4byte gActiveBattler -_080253A4: .4byte gBattleScripting -_080253A8: .4byte _080253AC - .align 2, 0 -_080253AC: - .4byte _080253C4 - .4byte _080253FC - .4byte _080254A8 - .4byte _08025500 - .4byte _080256A4 - .4byte _080256C4 -_080253C4: - movs r4, 0 - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _080253F0 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldr r1, _080253F4 @ =gBattleScripting - ldrb r0, [r1, 0x1F] - adds r0, 0x1 - strb r0, [r1, 0x1F] - ldr r0, _080253F8 @ =gBattleCommunication - strb r4, [r0, 0x1] - bl BattleCreateYesNoCursorAt - b _080256D0 - .align 2, 0 -_080253F0: .4byte gText_BattleYesNoChoice -_080253F4: .4byte gBattleScripting -_080253F8: .4byte gBattleCommunication -_080253FC: - ldr r0, _08025484 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08025422 - ldr r4, _08025488 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _08025422 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025422: - ldr r0, _08025484 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08025448 - ldr r4, _08025488 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08025448 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025448: - ldr r0, _08025484 @ =gMain - ldrh r1, [r0, 0x2E] - movs r5, 0x1 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0802548C - movs r0, 0x5 - bl PlaySE - ldr r0, _08025488 @ =gBattleCommunication - ldrb r4, [r0, 0x1] - cmp r4, 0 - bne _0802549C - str r5, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080254D8 - .align 2, 0 -_08025484: .4byte gMain -_08025488: .4byte gBattleCommunication -_0802548C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08025496 - b _080256D0 -_08025496: - movs r0, 0x5 - bl PlaySE -_0802549C: - ldr r1, _080254A4 @ =gBattleScripting - movs r0, 0x4 - strb r0, [r1, 0x1F] - b _080256D0 - .align 2, 0 -_080254A4: .4byte gBattleScripting -_080254A8: - ldr r0, _080254E4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080254B6 - b _080256D0 -_080254B6: - bl FreeAllWindowBuffers - ldr r0, _080254E8 @ =gPlayerParty - ldr r1, _080254EC @ =gBattleStruct - ldr r1, [r1] - ldrb r1, [r1, 0x10] - ldr r2, _080254F0 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080254F4 @ =ReshowBattleScreenAfterMenu - ldr r4, _080254F8 @ =gMoveToLearn - ldrh r4, [r4] - str r4, [sp] - bl sub_8134738 -_080254D8: - ldr r1, _080254FC @ =gBattleScripting - ldrb r0, [r1, 0x1F] - adds r0, 0x1 - strb r0, [r1, 0x1F] - b _080256D0 - .align 2, 0 -_080254E4: .4byte gPaletteFade -_080254E8: .4byte gPlayerParty -_080254EC: .4byte gBattleStruct -_080254F0: .4byte gPlayerPartyCount -_080254F4: .4byte ReshowBattleScreenAfterMenu -_080254F8: .4byte gMoveToLearn -_080254FC: .4byte gBattleScripting -_08025500: - ldr r0, _0802552C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802550E - b _080256D0 -_0802550E: - ldr r0, _08025530 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _08025534 @ =BattleMainCB2 - cmp r1, r0 - beq _0802551A - b _080256D0 -_0802551A: - bl sub_8138B2C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bne _0802553C - ldr r0, _08025538 @ =gBattleScripting - strb r5, [r0, 0x1F] - b _080256D0 - .align 2, 0 -_0802552C: .4byte gPaletteFade -_08025530: .4byte gMain -_08025534: .4byte BattleMainCB2 -_08025538: .4byte gBattleScripting -_0802553C: - ldr r6, _08025578 @ =gBattleStruct - ldr r0, [r6] - ldrb r0, [r0, 0x10] - movs r1, 0x64 - mov r8, r1 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - ldr r7, _0802557C @ =gPlayerParty - adds r0, r7 - adds r1, r5, 0 - adds r1, 0xD - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl IsHMMove2 - cmp r0, 0 - beq _0802558C - ldr r0, _08025580 @ =0x0000013f - ldr r1, _08025584 @ =gActiveBattler - ldrb r1, [r1] - bl PrepareStringBattle - ldr r1, _08025588 @ =gBattleScripting - movs r0, 0x5 - strb r0, [r1, 0x1F] - b _080256D0 - .align 2, 0 -_08025578: .4byte gBattleStruct -_0802557C: .4byte gPlayerParty -_08025580: .4byte 0x0000013f -_08025584: .4byte gActiveBattler -_08025588: .4byte gBattleScripting -_0802558C: - ldr r3, _08025680 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - ldr r1, _08025684 @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - strb r4, [r1, 0x2] - lsrs r0, r4, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r0, [r6] - ldrb r0, [r0, 0x10] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - adds r1, r5, 0 - bl RemoveMonPPBonus - ldr r0, [r6] - ldrb r0, [r0, 0x10] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r7 - ldr r7, _08025688 @ =gMoveToLearn - ldrh r1, [r7] - adds r2, r5, 0 - bl SetMonMoveSlot - ldr r0, _0802568C @ =gBattlerPartyIndexes - ldr r1, [r6] - ldrh r0, [r0] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _08025622 - ldr r4, _08025690 @ =gBattleMons - ldr r0, [r4, 0x50] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08025622 - ldr r0, _08025694 @ =gDisableStructs - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _08025698 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08025622 - adds r0, r4, 0 - adds r1, r5, 0 - bl RemoveBattleMonPPBonus - ldrh r1, [r7] - adds r0, r4, 0 - adds r2, r5, 0 - bl SetBattleMonMoveSlot -_08025622: - ldr r0, _0802569C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080256D0 - ldr r2, _0802568C @ =gBattlerPartyIndexes - ldr r0, _080256A0 @ =gBattleStruct - ldr r1, [r0] - ldrh r0, [r2, 0x4] - ldrb r1, [r1, 0x10] - cmp r0, r1 - bne _080256D0 - ldr r4, _08025690 @ =gBattleMons - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _080256D0 - ldr r0, _08025694 @ =gDisableStructs - adds r0, 0x50 - ldrb r1, [r0] - lsrs r1, 4 - ldr r2, _08025698 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080256D0 - adds r4, 0xB0 - adds r0, r4, 0 - adds r1, r5, 0 - bl RemoveBattleMonPPBonus - ldr r0, _08025688 @ =gMoveToLearn - ldrh r1, [r0] - adds r0, r4, 0 - adds r2, r5, 0 - bl SetBattleMonMoveSlot - b _080256D0 - .align 2, 0 -_08025680: .4byte gBattlescriptCurrInstr -_08025684: .4byte gBattleTextBuff2 -_08025688: .4byte gMoveToLearn -_0802568C: .4byte gBattlerPartyIndexes -_08025690: .4byte gBattleMons -_08025694: .4byte gDisableStructs -_08025698: .4byte gBitTable -_0802569C: .4byte gBattleTypeFlags -_080256A0: .4byte gBattleStruct -_080256A4: - movs r0, 0x1 - str r0, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r1, _080256C0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _080256D0 - .align 2, 0 -_080256C0: .4byte gBattlescriptCurrInstr -_080256C4: - ldr r0, _080256DC @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _080256D0 - movs r0, 0x2 - strb r0, [r2, 0x1F] -_080256D0: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080256DC: .4byte gBattleControllerExecFlags - thumb_func_end atk5A_yesnoboxlearnmove - - thumb_func_start atk5B_yesnoboxstoplearningmove -atk5B_yesnoboxstoplearningmove: @ 80256E0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080256F4 @ =gBattleScripting - ldrb r4, [r5, 0x1F] - cmp r4, 0 - beq _080256F8 - cmp r4, 0x1 - beq _08025728 - b _0802580E - .align 2, 0 -_080256F4: .4byte gBattleScripting -_080256F8: - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _08025720 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldrb r0, [r5, 0x1F] - adds r0, 0x1 - strb r0, [r5, 0x1F] - ldr r0, _08025724 @ =gBattleCommunication - strb r4, [r0, 0x1] - bl BattleCreateYesNoCursorAt - b _0802580E - .align 2, 0 -_08025720: .4byte gText_BattleYesNoChoice -_08025724: .4byte gBattleCommunication -_08025728: - ldr r0, _080257AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802574E - ldr r4, _080257B0 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0802574E - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_0802574E: - ldr r0, _080257AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08025774 - ldr r4, _080257B0 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08025774 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025774: - ldr r0, _080257AC @ =gMain - ldrh r1, [r0, 0x2E] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080257D8 - movs r0, 0x5 - bl PlaySE - ldr r0, _080257B0 @ =gBattleCommunication - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _080257B8 - ldr r3, _080257B4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _080257C0 - .align 2, 0 -_080257AC: .4byte gMain -_080257B0: .4byte gBattleCommunication -_080257B4: .4byte gBattlescriptCurrInstr -_080257B8: - ldr r1, _080257D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_080257C0: - movs r0, 0x1 - str r0, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - b _0802580E - .align 2, 0 -_080257D4: .4byte gBattlescriptCurrInstr -_080257D8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802580E - movs r0, 0x5 - bl PlaySE - ldr r3, _08025818 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow -_0802580E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025818: .4byte gBattlescriptCurrInstr - thumb_func_end atk5B_yesnoboxstoplearningmove - - thumb_func_start atk5C_hitanimation -atk5C_hitanimation: @ 802581C - push {r4,lr} - ldr r4, _08025888 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r2, _0802588C @ =gActiveBattler - strb r0, [r2] - ldr r0, _08025890 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - bne _080258A0 - ldr r0, _08025894 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - beq _0802586E - ldr r1, _08025898 @ =gBattleMons - ldrb r2, [r2] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - beq _0802586E - ldr r0, _0802589C @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _080258A0 -_0802586E: - movs r0, 0 - bl BtlController_EmitHitAnimation - ldr r0, _0802588C @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08025888 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - b _080258A6 - .align 2, 0 -_08025888: .4byte gBattlescriptCurrInstr -_0802588C: .4byte gActiveBattler -_08025890: .4byte gMoveResultFlags -_08025894: .4byte gHitMarker -_08025898: .4byte gBattleMons -_0802589C: .4byte gDisableStructs -_080258A0: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] -_080258A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atk5C_hitanimation - - thumb_func_start atk5D_getmoneyreward -atk5D_getmoneyreward: @ 80258AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - movs r5, 0 - ldr r0, _080258F0 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 - beq _080258C0 - b _080259FA -_080258C0: - ldr r0, _080258F4 @ =gTrainerBattleOpponent_A - ldrh r2, [r0] - movs r1, 0x80 - lsls r1, 3 - cmp r2, r1 - bne _08025904 - ldr r0, _080258F8 @ =gBattleResources - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x94 - ldrb r2, [r0] - ldr r0, _080258FC @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x4A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r4, r2, 0 - muls r4, r0 - ldr r0, _08025900 @ =gSaveBlock1Ptr - mov r8, r0 - b _080259E8 - .align 2, 0 -_080258F0: .4byte gBattleOutcome -_080258F4: .4byte gTrainerBattleOpponent_A -_080258F8: .4byte gBattleResources -_080258FC: .4byte gBattleStruct -_08025900: .4byte gSaveBlock1Ptr -_08025904: - ldr r2, _08025920 @ =gTrainers - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r3, r0, 3 - adds r4, r3, r2 - ldrb r1, [r4] - cmp r1, 0x1 - beq _0802595A - cmp r1, 0x1 - bgt _08025924 - cmp r1, 0 - beq _0802592E - b _08025970 - .align 2, 0 -_08025920: .4byte gTrainers -_08025924: - cmp r1, 0x2 - beq _08025944 - cmp r1, 0x3 - beq _0802595A - b _08025970 -_0802592E: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - subs r0, 0x8 - b _0802596E -_08025944: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r1 - subs r0, 0x8 - b _0802596E -_0802595A: - adds r0, r2, 0 - adds r0, 0x24 - adds r0, r3, r0 - ldr r1, [r0] - adds r0, r4, 0 - adds r0, 0x20 - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - subs r0, 0x10 -_0802596E: - ldrb r5, [r0, 0x2] -_08025970: - ldr r0, _080259CC @ =gTrainerMoneyTable - lsls r1, r6, 2 - adds r3, r1, r0 - ldrb r1, [r3] - ldr r7, _080259D0 @ =gBattleStruct - mov r12, r0 - lsls r4, r5, 2 - ldr r5, _080259D4 @ =gBattleTypeFlags - ldr r0, _080259D8 @ =gSaveBlock1Ptr - mov r8, r0 - cmp r1, 0xFF - beq _080259AA - ldr r2, _080259DC @ =gTrainers - ldr r0, _080259E0 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r2, [r0, 0x1] - adds r1, r3, 0 -_0802599A: - ldrb r0, [r1] - cmp r0, r2 - beq _080259AA - adds r1, 0x4 - adds r6, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0802599A -_080259AA: - ldr r0, [r7] - adds r0, 0x4A - ldrb r0, [r0] - adds r3, r4, 0 - muls r3, r0 - lsls r0, r6, 2 - add r0, r12 - ldrb r2, [r0, 0x1] - ldr r0, [r5] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080259E4 - lsls r0, r2, 1 - adds r4, r3, 0 - muls r4, r0 - b _080259E8 - .align 2, 0 -_080259CC: .4byte gTrainerMoneyTable -_080259D0: .4byte gBattleStruct -_080259D4: .4byte gBattleTypeFlags -_080259D8: .4byte gSaveBlock1Ptr -_080259DC: .4byte gTrainers -_080259E0: .4byte gTrainerBattleOpponent_A -_080259E4: - adds r4, r3, 0 - muls r4, r2 -_080259E8: - mov r1, r8 - ldr r0, [r1] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - adds r1, r4, 0 - bl AddMoney - b _08025A00 -_080259FA: - bl sub_8054C04 - adds r4, r0, 0 -_08025A00: - ldr r1, _08025A40 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - movs r0, 0x4 - strb r0, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - strb r4, [r1, 0x4] - movs r0, 0xFF - lsls r0, 8 - ands r0, r4 - lsrs r0, 8 - strb r0, [r1, 0x5] - movs r0, 0xFF - lsls r0, 16 - ands r0, r4 - lsrs r0, 16 - strb r0, [r1, 0x6] - lsrs r0, r4, 24 - strb r0, [r1, 0x7] - movs r0, 0xFF - strb r0, [r1, 0x8] - cmp r4, 0 - beq _08025A48 - ldr r1, _08025A44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08025A62 - .align 2, 0 -_08025A40: .4byte gBattleTextBuff1 -_08025A44: .4byte gBattlescriptCurrInstr -_08025A48: - ldr r3, _08025A6C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08025A62: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025A6C: .4byte gBattlescriptCurrInstr - thumb_func_end atk5D_getmoneyreward - - thumb_func_start atk5E -atk5E: @ 8025A70 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _08025A94 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r6, _08025A98 @ =gActiveBattler - strb r0, [r6] - ldr r5, _08025A9C @ =gBattleCommunication - ldrb r0, [r5] - mov r8, r4 - cmp r0, 0 - beq _08025AA0 - cmp r0, 0x1 - beq _08025AB8 - b _08025B0C - .align 2, 0 -_08025A94: .4byte gBattlescriptCurrInstr -_08025A98: .4byte gActiveBattler -_08025A9C: .4byte gBattleCommunication -_08025AA0: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl BtlController_EmitGetMonData - ldrb r0, [r6] - bl MarkBattlerForControllerExec - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _08025B0C -_08025AB8: - ldr r0, _08025B18 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025B0C - ldrb r0, [r6] - lsls r0, 9 - ldr r1, _08025B1C @ =gUnknown_20233C8 - adds r0, r1 - mov r12, r0 - movs r2, 0 - adds r4, r6, 0 - movs r5, 0x58 - ldr r6, _08025B20 @ =gUnknown_2023C08 - adds r7, r6, 0 - subs r7, 0x18 - mov r3, r12 - adds r3, 0xC -_08025ADA: - lsls r1, r2, 1 - ldrb r0, [r4] - muls r0, r5 - adds r1, r0 - adds r1, r7 - ldrh r0, [r3] - strh r0, [r1] - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r5 - adds r1, r2, r1 - adds r1, r6 - mov r0, r12 - adds r0, 0x24 - adds r0, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _08025ADA - mov r1, r8 - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08025B0C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025B18: .4byte gBattleControllerExecFlags -_08025B1C: .4byte gUnknown_20233C8 -_08025B20: .4byte gUnknown_2023C08 - thumb_func_end atk5E - - thumb_func_start atk5F_swapattackerwithtarget -atk5F_swapattackerwithtarget: @ 8025B24 - push {lr} - ldr r0, _08025B4C @ =gActiveBattler - ldr r2, _08025B50 @ =gBattlerAttacker - ldrb r3, [r2] - strb r3, [r0] - ldr r1, _08025B54 @ =gBattlerTarget - ldrb r0, [r1] - strb r0, [r2] - strb r3, [r1] - ldr r2, _08025B58 @ =gHitMarker - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 5 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _08025B60 - ldr r0, _08025B5C @ =0xffffefff - ands r1, r0 - b _08025B62 - .align 2, 0 -_08025B4C: .4byte gActiveBattler -_08025B50: .4byte gBattlerAttacker -_08025B54: .4byte gBattlerTarget -_08025B58: .4byte gHitMarker -_08025B5C: .4byte 0xffffefff -_08025B60: - orrs r1, r3 -_08025B62: - str r1, [r2] - ldr r1, _08025B70 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025B70: .4byte gBattlescriptCurrInstr - thumb_func_end atk5F_swapattackerwithtarget - - thumb_func_start atk60_incrementgamestat -atk60_incrementgamestat: @ 8025B74 - push {lr} - ldr r0, _08025B9C @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08025B8E - ldr r0, _08025BA0 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl IncrementGameStat -_08025B8E: - ldr r1, _08025BA0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08025B9C: .4byte gBattlerAttacker -_08025BA0: .4byte gBattlescriptCurrInstr - thumb_func_end atk60_incrementgamestat - - thumb_func_start atk61_drawpartystatussummary -atk61_drawpartystatussummary: @ 8025BA4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x30 - ldr r0, _08025C08 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025C58 - ldr r0, _08025C0C @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08025C10 @ =gActiveBattler - strb r0, [r1] - ldrb r0, [r1] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _08025C14 @ =gEnemyParty - mov r8, r1 - cmp r0, 0 - bne _08025BD6 - ldr r0, _08025C18 @ =gPlayerParty - mov r8, r0 -_08025BD6: - movs r7, 0 - add r6, sp, 0x4 - mov r5, sp -_08025BDC: - movs r0, 0x64 - muls r0, r7 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08025C00 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08025C20 -_08025C00: - ldr r0, _08025C1C @ =0x0000ffff - strh r0, [r5] - movs r0, 0 - b _08025C32 - .align 2, 0 -_08025C08: .4byte gBattleControllerExecFlags -_08025C0C: .4byte gBattlescriptCurrInstr -_08025C10: .4byte gActiveBattler -_08025C14: .4byte gEnemyParty -_08025C18: .4byte gPlayerParty -_08025C1C: .4byte 0x0000ffff -_08025C20: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData -_08025C32: - str r0, [r6] - adds r6, 0x8 - adds r5, 0x8 - adds r7, 0x1 - cmp r7, 0x5 - ble _08025BDC - movs r0, 0 - mov r1, sp - movs r2, 0x1 - bl BtlController_EmitDrawPartyStatusSummary - ldr r0, _08025C64 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _08025C68 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08025C58: - add sp, 0x30 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08025C64: .4byte gActiveBattler -_08025C68: .4byte gBattlescriptCurrInstr - thumb_func_end atk61_drawpartystatussummary - - thumb_func_start atk62_hidepartystatussummary -atk62_hidepartystatussummary: @ 8025C6C - push {r4,r5,lr} - ldr r5, _08025C94 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08025C98 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - bl BtlController_EmitHidePartyStatusSummary - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025C94: .4byte gBattlescriptCurrInstr -_08025C98: .4byte gActiveBattler - thumb_func_end atk62_hidepartystatussummary - - thumb_func_start atk63_jumptocalledmove -atk63_jumptocalledmove: @ 8025C9C - push {r4,lr} - ldr r0, _08025CB4 @ =gBattlescriptCurrInstr - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0 - beq _08025CC0 - ldr r0, _08025CB8 @ =gCurrentMove - ldr r1, _08025CBC @ =gCalledMove - ldrh r1, [r1] - strh r1, [r0] - b _08025CCE - .align 2, 0 -_08025CB4: .4byte gBattlescriptCurrInstr -_08025CB8: .4byte gCurrentMove -_08025CBC: .4byte gCalledMove -_08025CC0: - ldr r2, _08025CEC @ =gChosenMove - ldr r1, _08025CF0 @ =gCurrentMove - ldr r0, _08025CF4 @ =gCalledMove - ldrh r0, [r0] - strh r0, [r1] - strh r0, [r2] - adds r0, r1, 0 -_08025CCE: - ldr r3, _08025CF8 @ =gBattleScriptsForMoveEffects - ldr r2, _08025CFC @ =gBattleMoves - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08025CEC: .4byte gChosenMove -_08025CF0: .4byte gCurrentMove -_08025CF4: .4byte gCalledMove -_08025CF8: .4byte gBattleScriptsForMoveEffects -_08025CFC: .4byte gBattleMoves - thumb_func_end atk63_jumptocalledmove - - thumb_func_start atk64_statusanimation -atk64_statusanimation: @ 8025D00 - push {r4,lr} - ldr r0, _08025D70 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025D68 - ldr r0, _08025D74 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08025D78 @ =gActiveBattler - strb r0, [r4] - ldr r1, _08025D7C @ =gStatuses3 - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08025D80 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08025D60 - ldr r0, _08025D84 @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08025D60 - ldr r0, _08025D88 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08025D60 - ldr r1, _08025D8C @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - ldr r2, [r0] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitStatusAnimation - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08025D60: - ldr r1, _08025D74 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] -_08025D68: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08025D70: .4byte gBattleControllerExecFlags -_08025D74: .4byte gBattlescriptCurrInstr -_08025D78: .4byte gActiveBattler -_08025D7C: .4byte gStatuses3 -_08025D80: .4byte 0x000400c0 -_08025D84: .4byte gDisableStructs -_08025D88: .4byte gHitMarker -_08025D8C: .4byte gBattleMons - thumb_func_end atk64_statusanimation - - thumb_func_start atk65_status2animation -atk65_status2animation: @ 8025D90 - push {r4,r5,lr} - ldr r0, _08025E18 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025E10 - ldr r4, _08025E1C @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _08025E20 @ =gActiveBattler - strb r0, [r5] - ldr r1, [r4] - ldrb r3, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0x4] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0x5] - lsls r0, 24 - orrs r3, r0 - ldr r1, _08025E24 @ =gStatuses3 - ldrb r2, [r5] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08025E28 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08025E08 - ldr r0, _08025E2C @ =gDisableStructs - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08025E08 - ldr r0, _08025E30 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08025E08 - ldr r1, _08025E34 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r2, [r0] - ands r2, r3 - movs r0, 0 - movs r1, 0x1 - bl BtlController_EmitStatusAnimation - ldrb r0, [r5] - bl MarkBattlerForControllerExec -_08025E08: - ldr r1, _08025E1C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] -_08025E10: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025E18: .4byte gBattleControllerExecFlags -_08025E1C: .4byte gBattlescriptCurrInstr -_08025E20: .4byte gActiveBattler -_08025E24: .4byte gStatuses3 -_08025E28: .4byte 0x000400c0 -_08025E2C: .4byte gDisableStructs -_08025E30: .4byte gHitMarker -_08025E34: .4byte gBattleMons - thumb_func_end atk65_status2animation - - thumb_func_start atk66_chosenstatusanimation -atk66_chosenstatusanimation: @ 8025E38 - push {r4,r5,lr} - ldr r0, _08025EB0 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - bne _08025EAA - ldr r4, _08025EB4 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _08025EB8 @ =gActiveBattler - strb r0, [r5] - ldr r4, [r4] - ldrb r2, [r4, 0x3] - ldrb r0, [r4, 0x4] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r4, 0x5] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r4, 0x6] - lsls r0, 24 - orrs r2, r0 - ldr r1, _08025EBC @ =gStatuses3 - ldrb r3, [r5] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ldr r1, _08025EC0 @ =0x000400c0 - ands r0, r1 - cmp r0, 0 - bne _08025EA2 - ldr r0, _08025EC4 @ =gDisableStructs - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - cmp r0, 0 - bne _08025EA2 - ldr r0, _08025EC8 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08025EA2 - ldrb r1, [r4, 0x2] - movs r0, 0 - bl BtlController_EmitStatusAnimation - ldrb r0, [r5] - bl MarkBattlerForControllerExec -_08025EA2: - ldr r1, _08025EB4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x7 - str r0, [r1] -_08025EAA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025EB0: .4byte gBattleControllerExecFlags -_08025EB4: .4byte gBattlescriptCurrInstr -_08025EB8: .4byte gActiveBattler -_08025EBC: .4byte gStatuses3 -_08025EC0: .4byte 0x000400c0 -_08025EC4: .4byte gDisableStructs -_08025EC8: .4byte gHitMarker - thumb_func_end atk66_chosenstatusanimation - - thumb_func_start atk67_yesnobox -atk67_yesnobox: @ 8025ECC - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08025EE0 @ =gBattleCommunication - ldrb r4, [r5] - cmp r4, 0 - beq _08025EE4 - cmp r4, 0x1 - beq _08025F0C - b _08025F9A - .align 2, 0 -_08025EE0: .4byte gBattleCommunication -_08025EE4: - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _08025F08 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - strb r4, [r5, 0x1] - bl BattleCreateYesNoCursorAt - b _08025F9A - .align 2, 0 -_08025F08: .4byte gText_BattleYesNoChoice -_08025F0C: - ldr r0, _08025F6C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08025F30 - ldrb r0, [r5, 0x1] - cmp r0, 0 - beq _08025F30 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r5, 0x1] - bl BattleCreateYesNoCursorAt -_08025F30: - ldr r0, _08025F6C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08025F56 - ldr r4, _08025F70 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _08025F56 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_08025F56: - ldr r0, _08025F6C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08025F74 - ldr r0, _08025F70 @ =gBattleCommunication - movs r4, 0x1 - strb r4, [r0, 0x1] - b _08025F7E - .align 2, 0 -_08025F6C: .4byte gMain -_08025F70: .4byte gBattleCommunication -_08025F74: - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08025F9A -_08025F7E: - movs r0, 0x5 - bl PlaySE - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r1, _08025FA4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08025F9A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025FA4: .4byte gBattlescriptCurrInstr - thumb_func_end atk67_yesnobox - - thumb_func_start atk68_cancelallactions -atk68_cancelallactions: @ 8025FA8 - push {r4,r5,lr} - movs r1, 0 - ldr r2, _08025FD4 @ =gBattlersCount - ldr r5, _08025FD8 @ =gBattlescriptCurrInstr - ldrb r0, [r2] - cmp r1, r0 - bge _08025FC6 - ldr r4, _08025FDC @ =gActionsByTurnOrder - movs r3, 0xC -_08025FBA: - adds r0, r1, r4 - strb r3, [r0] - adds r1, 0x1 - ldrb r0, [r2] - cmp r1, r0 - blt _08025FBA -_08025FC6: - ldr r0, [r5] - adds r0, 0x1 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08025FD4: .4byte gBattlersCount -_08025FD8: .4byte gBattlescriptCurrInstr -_08025FDC: .4byte gActionsByTurnOrder - thumb_func_end atk68_cancelallactions - - thumb_func_start atk69_adjustsetdamage -atk69_adjustsetdamage: @ 8025FE0 - push {r4-r7,lr} - ldr r7, _08026008 @ =gBattleMons - ldr r6, _0802600C @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08026014 - ldr r1, _08026010 @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0802602E - .align 2, 0 -_08026008: .4byte gBattleMons -_0802600C: .4byte gBattlerTarget -_08026010: .4byte gEnigmaBerries -_08026014: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0802602E: - ldr r1, _080260F0 @ =gPotentialItemEffectBattler - ldr r5, _080260F4 @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _0802606C - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _0802606C - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _080260F8 @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0802606C: - ldr r2, _080260FC @ =gBattleMons - ldr r3, _080260F4 @ =gBattlerTarget - ldrb r4, [r3] - movs r0, 0x58 - muls r0, r4 - adds r1, r2, 0 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 17 - ands r1, r0 - adds r5, r2, 0 - cmp r1, 0 - bne _0802613C - ldr r2, _08026100 @ =gBattleMoves - ldr r0, _08026104 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x65 - beq _080260BE - ldr r0, _08026108 @ =gProtectStructs - lsls r1, r4, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - blt _080260BE - ldr r0, _080260F8 @ =gSpecialStatuses - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0802613C -_080260BE: - ldrb r0, [r3] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - ldrh r1, [r0, 0x28] - ldr r2, _0802610C @ =gBattleMoveDamage - ldr r0, [r2] - cmp r1, r0 - bgt _0802613C - subs r0, r1, 0x1 - str r0, [r2] - ldr r1, _08026108 @ =gProtectStructs - ldrb r3, [r3] - lsls r0, r3, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 30 - cmp r0, 0 - bge _08026114 - ldr r0, _08026110 @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - b _0802613C - .align 2, 0 -_080260F0: .4byte gPotentialItemEffectBattler -_080260F4: .4byte gBattlerTarget -_080260F8: .4byte gSpecialStatuses -_080260FC: .4byte gBattleMons -_08026100: .4byte gBattleMoves -_08026104: .4byte gCurrentMove -_08026108: .4byte gProtectStructs -_0802610C: .4byte gBattleMoveDamage -_08026110: .4byte gMoveResultFlags -_08026114: - ldr r0, _0802614C @ =gSpecialStatuses - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0802613C - ldr r2, _08026150 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08026154 @ =gLastUsedItem - adds r0, r3, 0 - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2E] - strh r0, [r1] -_0802613C: - ldr r1, _08026158 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802614C: .4byte gSpecialStatuses -_08026150: .4byte gMoveResultFlags -_08026154: .4byte gLastUsedItem -_08026158: .4byte gBattlescriptCurrInstr - thumb_func_end atk69_adjustsetdamage - - thumb_func_start atk6A_removeitem -atk6A_removeitem: @ 802615C - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _080261BC @ =gBattlescriptCurrInstr - ldr r0, [r6] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r5, _080261C0 @ =gActiveBattler - strb r0, [r5] - ldr r1, _080261C4 @ =gBattleStruct - ldrb r4, [r5] - lsls r0, r4, 1 - adds r0, 0xB8 - ldr r1, [r1] - adds r1, r0 - ldr r2, _080261C8 @ =gBattleMons - movs r3, 0x58 - adds r0, r4, 0 - muls r0, r3 - adds r0, r2 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - ldrb r0, [r5] - muls r0, r3 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x2E] - ldrb r0, [r5] - muls r0, r3 - adds r2, 0x2E - adds r0, r2 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080261BC: .4byte gBattlescriptCurrInstr -_080261C0: .4byte gActiveBattler -_080261C4: .4byte gBattleStruct -_080261C8: .4byte gBattleMons - thumb_func_end atk6A_removeitem - - thumb_func_start atk6B_atknameinbuff1 -atk6B_atknameinbuff1: @ 80261CC - ldr r1, _080261F8 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x7 - strb r0, [r1, 0x1] - ldr r2, _080261FC @ =gBattlerAttacker - ldrb r0, [r2] - strb r0, [r1, 0x2] - ldr r3, _08026200 @ =gBattlerPartyIndexes - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08026204 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_080261F8: .4byte gBattleTextBuff1 -_080261FC: .4byte gBattlerAttacker -_08026200: .4byte gBattlerPartyIndexes -_08026204: .4byte gBattlescriptCurrInstr - thumb_func_end atk6B_atknameinbuff1 - thumb_func_start atk6C_drawlvlupbox atk6C_drawlvlupbox: @ 8026208 push {r4,lr} diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 8669270af..d88145fde 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -2449,7 +2449,7 @@ _080CF2C2: ldr r4, _080CF308 @ =gMoveToLearn ldrh r4, [r4] str r4, [sp] - bl sub_8134738 + bl ShowSelectMovePokemonSummaryScreen ldrh r0, [r5, 0x14] adds r0, 0x1 strh r0, [r5, 0x14] @@ -3718,7 +3718,7 @@ _080CFDC6: ldr r4, _080CFE2C @ =gMoveToLearn ldrh r4, [r4] str r4, [sp] - bl sub_8134738 + bl ShowSelectMovePokemonSummaryScreen ldrh r0, [r5, 0x14] adds r0, 0x1 strh r0, [r5, 0x14] diff --git a/asm/learn_move.s b/asm/learn_move.s index 6684874bb..a7a5b264d 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -758,7 +758,7 @@ _080E4C7E: adds r5, r4 ldrh r4, [r5] str r4, [sp] - bl sub_8134738 + bl ShowSelectMovePokemonSummaryScreen ldr r1, [r7] movs r0, 0x1C b _080E4ED8 diff --git a/asm/party_menu.s b/asm/party_menu.s index e7126dfda..661dddf60 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -14645,7 +14645,7 @@ sub_8125E4C: @ 8125E4C ldr r3, _08125E80 @ =sub_8125E84 ldrh r4, [r4, 0xE] str r4, [sp] - bl sub_8134738 + bl ShowSelectMovePokemonSummaryScreen add sp, 0x4 pop {r4} pop {r0} diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 3385c3d5c..14577269c 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -270,8 +270,8 @@ _08134730: .4byte 0x00003204 _08134734: .4byte sub_8135C34 thumb_func_end sub_81344F8 - thumb_func_start sub_8134738 -sub_8134738: @ 8134738 + thumb_func_start ShowSelectMovePokemonSummaryScreen +ShowSelectMovePokemonSummaryScreen: @ 8134738 push {r4,r5,lr} sub sp, 0x4 ldr r5, [sp, 0x10] @@ -296,7 +296,7 @@ sub_8134738: @ 8134738 .align 2, 0 _08134764: .4byte gUnknown_203B140 _08134768: .4byte 0x00003260 - thumb_func_end sub_8134738 + thumb_func_end ShowSelectMovePokemonSummaryScreen thumb_func_start sub_813476C sub_813476C: @ 813476C diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s index b5ef5f090..297d09e9a 100644 --- a/asm/script_pokemon_util_80BF8FC.s +++ b/asm/script_pokemon_util_80BF8FC.s @@ -115,7 +115,7 @@ sub_80BF9BC: @ 80BF9BC ldr r3, _080BF9FC @ =CB2_ReturnToField movs r4, 0 str r4, [sp] - bl sub_8134738 + bl ShowSelectMovePokemonSummaryScreen movs r0, 0x3 bl sub_8138B38 ldr r1, _080BFA00 @ =gFieldCallback -- cgit v1.2.3 From b5162467692853dabb7765976fc7c0fa679c0f3d Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 08:01:01 +0800 Subject: thru TryDoForceSwitchOut --- asm/battle_script_commands.s | 4174 ------------------------------------------ asm/party_menu.s | 8 +- asm/pokemon_special_anim.s | 22 +- 3 files changed, 15 insertions(+), 4189 deletions(-) (limited to 'asm') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 7a0f29fb8..68bff599e 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,4180 +5,6 @@ .text - thumb_func_start atk6C_drawlvlupbox -atk6C_drawlvlupbox: @ 8026208 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08026224 @ =gBattleScripting - ldrb r1, [r0, 0x1E] - adds r4, r0, 0 - cmp r1, 0 - bne _0802622C - bl IsMonGettingExpSentOut - cmp r0, 0 - beq _08026228 - movs r0, 0x3 - b _0802622A - .align 2, 0 -_08026224: .4byte gBattleScripting -_08026228: - movs r0, 0x1 -_0802622A: - strb r0, [r4, 0x1E] -_0802622C: - ldrb r0, [r4, 0x1E] - subs r0, 0x1 - cmp r0, 0x9 - bls _08026236 - b _080263F6 -_08026236: - lsls r0, 2 - ldr r1, _08026240 @ =_08026244 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08026240: .4byte _08026244 - .align 2, 0 -_08026244: - .4byte _0802626C - .4byte _08026298 - .4byte _080262B0 - .4byte _08026304 - .4byte _08026318 - .4byte _08026330 - .4byte _08026318 - .4byte _08026350 - .4byte _08026380 - .4byte _080263C4 -_0802626C: - ldr r1, _08026290 @ =gBattle_BG2_Y - movs r0, 0x60 - strh r0, [r1] - movs r0, 0x2 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x2 - bl ShowBg - bl sub_8026480 - ldr r1, _08026294 @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_08026290: .4byte gBattle_BG2_Y -_08026294: .4byte gBattleScripting -_08026298: - bl sub_80264D0 - lsls r0, 24 - cmp r0, 0 - beq _080262A4 - b _080263F6 -_080262A4: - ldr r1, _080262AC @ =gBattleScripting - movs r0, 0x3 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_080262AC: .4byte gBattleScripting -_080262B0: - ldr r1, _080262F8 @ =gBattle_BG1_X - movs r0, 0 - strh r0, [r1] - ldr r1, _080262FC @ =gBattle_BG1_Y - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0 - movs r1, 0x7 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x1 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x80 - str r0, [sp] - movs r0, 0x12 - movs r1, 0x7 - movs r2, 0x1D - movs r3, 0x13 - bl HandleBattleWindow - ldr r1, _08026300 @ =gBattleScripting - movs r0, 0x4 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_080262F8: .4byte gBattle_BG1_X -_080262FC: .4byte gBattle_BG1_Y -_08026300: .4byte gBattleScripting -_08026304: - bl DrawLevelUpWindow1 - movs r0, 0xC - bl PutWindowTilemap - movs r0, 0xC - movs r1, 0x3 - bl CopyWindowToVram - b _0802636E -_08026318: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080263F6 - ldr r0, _0802632C @ =gBattle_BG1_Y - strh r1, [r0] - b _0802636E - .align 2, 0 -_0802632C: .4byte gBattle_BG1_Y -_08026330: - ldr r0, _0802634C @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _080263F6 - movs r0, 0x5 - bl PlaySE - bl DrawLevelUpWindow2 - movs r0, 0xC - movs r1, 0x2 - bl CopyWindowToVram - b _0802636E - .align 2, 0 -_0802634C: .4byte gMain -_08026350: - ldr r0, _08026378 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _080263F6 - movs r0, 0x5 - bl PlaySE - movs r0, 0x81 - str r0, [sp] - movs r0, 0x12 - movs r1, 0x7 - movs r2, 0x1D - movs r3, 0x13 - bl HandleBattleWindow -_0802636E: - ldr r1, _0802637C @ =gBattleScripting - ldrb r0, [r1, 0x1E] - adds r0, 0x1 - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_08026378: .4byte gMain -_0802637C: .4byte gBattleScripting -_08026380: - bl sub_8026648 - lsls r0, 24 - cmp r0, 0 - bne _080263F6 - movs r0, 0xD - bl ClearWindowTilemap - movs r0, 0xD - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0xC - bl ClearWindowTilemap - movs r0, 0xC - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x7 - movs r2, 0x2 - bl SetBgAttribute - movs r0, 0x2 - bl ShowBg - ldr r1, _080263C0 @ =gBattleScripting - movs r0, 0xA - strb r0, [r1, 0x1E] - b _080263F6 - .align 2, 0 -_080263C0: .4byte gBattleScripting -_080263C4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _080263F6 - movs r0, 0 - movs r1, 0x7 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x1 - movs r1, 0x7 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r1, _08026400 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080263F6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08026400: .4byte gBattlescriptCurrInstr - thumb_func_end atk6C_drawlvlupbox - - thumb_func_start DrawLevelUpWindow1 -DrawLevelUpWindow1: @ 8026404 - push {lr} - sub sp, 0x14 - ldr r0, _0802643C @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08026440 @ =gPlayerParty - adds r0, r1 - add r1, sp, 0x8 - bl sub_811D130 - ldr r0, _08026444 @ =gBattleResources - ldr r0, [r0] - ldr r1, [r0, 0x10] - movs r0, 0xD - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0xC - add r2, sp, 0x8 - movs r3, 0xE - bl sub_811E7F0 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_0802643C: .4byte gBattleStruct -_08026440: .4byte gPlayerParty -_08026444: .4byte gBattleResources - thumb_func_end DrawLevelUpWindow1 - - thumb_func_start DrawLevelUpWindow2 -DrawLevelUpWindow2: @ 8026448 - push {lr} - sub sp, 0x10 - ldr r0, _08026478 @ =gBattleStruct - ldr r0, [r0] - ldrb r1, [r0, 0x10] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802647C @ =gPlayerParty - adds r0, r1 - add r1, sp, 0x4 - bl sub_811D130 - movs r0, 0xF - str r0, [sp] - movs r0, 0xC - add r1, sp, 0x4 - movs r2, 0xE - movs r3, 0xD - bl sub_811E93C - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_08026478: .4byte gBattleStruct -_0802647C: .4byte gPlayerParty - thumb_func_end DrawLevelUpWindow2 - - thumb_func_start sub_8026480 -sub_8026480: @ 8026480 - push {lr} - ldr r1, _080264C0 @ =gBattle_BG2_Y - movs r0, 0 - strh r0, [r1] - ldr r1, _080264C4 @ =gBattle_BG2_X - movs r2, 0xD0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080264C8 @ =gUnknown_82506D0 - movs r1, 0x60 - movs r2, 0x20 - bl LoadPalette - ldr r1, _080264CC @ =gUnknown_82506F0 - movs r0, 0xD - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - movs r0, 0xD - bl PutWindowTilemap - movs r0, 0xD - movs r1, 0x3 - bl CopyWindowToVram - bl PutMonIconOnLvlUpBox - pop {r0} - bx r0 - .align 2, 0 -_080264C0: .4byte gBattle_BG2_Y -_080264C4: .4byte gBattle_BG2_X -_080264C8: .4byte gUnknown_82506D0 -_080264CC: .4byte gUnknown_82506F0 - thumb_func_end sub_8026480 - - thumb_func_start sub_80264D0 -sub_80264D0: @ 80264D0 - push {r4,r5,lr} - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _080264E0 - movs r0, 0x1 - b _0802651A -_080264E0: - ldr r4, _080264F0 @ =gBattle_BG2_X - ldrh r1, [r4] - movs r5, 0x80 - lsls r5, 2 - cmp r1, r5 - bne _080264F4 - movs r0, 0 - b _0802651A - .align 2, 0 -_080264F0: .4byte gBattle_BG2_X -_080264F4: - movs r0, 0xD0 - lsls r0, 1 - cmp r1, r0 - bne _08026500 - bl PutLevelAndGenderOnLvlUpBox -_08026500: - ldrh r0, [r4] - adds r0, 0x8 - strh r0, [r4] - lsls r0, 16 - ldr r1, _08026520 @ =0x01ff0000 - cmp r0, r1 - bls _08026510 - strh r5, [r4] -_08026510: - ldrh r1, [r4] - eors r1, r5 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_0802651A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08026520: .4byte 0x01ff0000 - thumb_func_end sub_80264D0 - - thumb_func_start PutLevelAndGenderOnLvlUpBox -PutLevelAndGenderOnLvlUpBox: @ 8026524 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r6, _080265F8 @ =gBattleStruct - ldr r0, [r6] - ldrb r0, [r0, 0x10] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080265FC @ =gPlayerParty - adds r0, r4 - movs r1, 0x38 - bl GetMonData - mov r8, r0 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r0, [r6] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - bl GetMonGender - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, [r6] - ldrb r0, [r0, 0x10] - muls r0, r5 - adds r0, r4 - ldr r6, _08026600 @ =gStringVar4 - adds r1, r6, 0 - bl GetMonNickname - str r6, [sp] - mov r1, sp - movs r4, 0 - movs r0, 0xD - strb r0, [r1, 0x4] - mov r0, sp - strb r4, [r0, 0x5] - movs r5, 0x20 - strb r5, [r0, 0x6] - strb r4, [r0, 0x7] - strb r5, [r0, 0x8] - strb r4, [r0, 0x9] - strb r4, [r0, 0xA] - strb r4, [r0, 0xB] - mov r3, sp - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - mov r2, sp - movs r0, 0x10 - strb r0, [r2, 0xC] - ldrb r0, [r2, 0xD] - ands r1, r0 - strb r1, [r2, 0xD] - mov r0, sp - strb r5, [r0, 0xD] - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - movs r0, 0xF9 - strb r0, [r6] - adds r6, 0x1 - movs r0, 0x5 - strb r0, [r6] - adds r6, 0x1 - strb r4, [r6] - adds r6, 0x1 - adds r4, r6, 0 - adds r0, r4, 0 - mov r1, r8 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r6, r0, 0 - movs r1, 0 - movs r2, 0x5 - bl StringFill - adds r6, r4, 0x4 - cmp r7, 0xFF - beq _08026624 - cmp r7, 0 - bne _08026604 - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xC - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r1, 0x1 - movs r2, 0xD - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r0, 0xB5 - b _0802661C - .align 2, 0 -_080265F8: .4byte gBattleStruct -_080265FC: .4byte gPlayerParty -_08026600: .4byte gStringVar4 -_08026604: - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xE - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r1, 0x1 - movs r2, 0xF - bl WriteColorChangeControlCode - adds r6, r0, 0 - movs r0, 0xB6 -_0802661C: - strb r0, [r6] - adds r6, 0x1 - movs r0, 0xFF - strb r0, [r6] -_08026624: - mov r0, sp - movs r1, 0xA - strb r1, [r0, 0x7] - strb r1, [r0, 0x9] - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - movs r0, 0xD - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PutLevelAndGenderOnLvlUpBox - - thumb_func_start sub_8026648 -sub_8026648: @ 8026648 - push {lr} - ldr r0, _0802665C @ =gBattle_BG2_X - ldrh r1, [r0] - movs r3, 0xD0 - lsls r3, 1 - adds r2, r0, 0 - cmp r1, r3 - bne _08026660 - movs r0, 0 - b _08026684 - .align 2, 0 -_0802665C: .4byte gBattle_BG2_X -_08026660: - ldrh r0, [r2] - adds r1, r0, 0 - subs r1, 0x10 - ldr r0, _08026670 @ =0x0000019f - cmp r1, r0 - bgt _08026674 - strh r3, [r2] - b _08026676 - .align 2, 0 -_08026670: .4byte 0x0000019f -_08026674: - strh r1, [r2] -_08026676: - ldrh r1, [r2] - movs r0, 0xD0 - lsls r0, 1 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 -_08026684: - pop {r1} - bx r1 - thumb_func_end sub_8026648 - - thumb_func_start PutMonIconOnLvlUpBox -PutMonIconOnLvlUpBox: @ 8026688 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - ldr r0, _08026730 @ =gBattleStruct - mov r8, r0 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08026734 @ =gPlayerParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r1, r8 - ldr r0, [r1] - ldrb r0, [r0, 0x10] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - bl GetMonIconPtr - str r0, [sp] - ldr r5, _08026738 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r5 - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - ldr r1, _0802673C @ =0x0000ffff - ands r0, r1 - ldr r1, _08026740 @ =0xd75a0000 - orrs r0, r1 - str r0, [sp, 0x4] - adds r0, r4, 0 - bl GetValidMonIconPalettePtr - str r0, [sp, 0x8] - add r4, sp, 0x8 - ldr r0, [r4, 0x4] - ands r0, r5 - ldr r1, _08026744 @ =0x0000d75a - orrs r0, r1 - str r0, [r4, 0x4] - mov r0, sp - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - ldr r0, _08026748 @ =sSpriteTemplate_MonIconOnLvlUpBox - movs r1, 0x80 - lsls r1, 1 - movs r2, 0xA - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0802674C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, _08026750 @ =gBattle_BG2_X - ldrh r0, [r0] - strh r0, [r1, 0x30] - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08026730: .4byte gBattleStruct -_08026734: .4byte gPlayerParty -_08026738: .4byte 0xffff0000 -_0802673C: .4byte 0x0000ffff -_08026740: .4byte 0xd75a0000 -_08026744: .4byte 0x0000d75a -_08026748: .4byte sSpriteTemplate_MonIconOnLvlUpBox -_0802674C: .4byte gSprites -_08026750: .4byte gBattle_BG2_X - thumb_func_end PutMonIconOnLvlUpBox - - thumb_func_start SpriteCB_MonIconOnLvlUpBox -SpriteCB_MonIconOnLvlUpBox: @ 8026754 - push {r4,lr} - adds r2, r0, 0 - ldr r0, _08026770 @ =gBattle_BG2_X - ldrh r1, [r2, 0x30] - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x24] - lsls r1, 16 - cmp r1, 0 - beq _08026774 - movs r0, 0x1 - strh r0, [r2, 0x2E] - b _08026790 - .align 2, 0 -_08026770: .4byte gBattle_BG2_X -_08026774: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _08026790 - adds r0, r2, 0 - bl DestroySprite - ldr r4, _08026798 @ =0x0000d75a - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag -_08026790: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08026798: .4byte 0x0000d75a - thumb_func_end SpriteCB_MonIconOnLvlUpBox - - thumb_func_start IsMonGettingExpSentOut -IsMonGettingExpSentOut: @ 802679C - push {lr} - ldr r3, _080267C4 @ =gBattlerPartyIndexes - ldr r0, _080267C8 @ =gBattleStruct - ldr r0, [r0] - ldrh r1, [r3] - ldrb r2, [r0, 0x10] - cmp r1, r2 - beq _080267BE - ldr r0, _080267CC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080267D0 - ldrh r0, [r3, 0x4] - cmp r0, r2 - bne _080267D0 -_080267BE: - movs r0, 0x1 - b _080267D2 - .align 2, 0 -_080267C4: .4byte gBattlerPartyIndexes -_080267C8: .4byte gBattleStruct -_080267CC: .4byte gBattleTypeFlags -_080267D0: - movs r0, 0 -_080267D2: - pop {r1} - bx r1 - thumb_func_end IsMonGettingExpSentOut - - thumb_func_start atk6D_resetsentmonsvalue -atk6D_resetsentmonsvalue: @ 80267D8 - push {lr} - bl ResetSentPokesToOpponentValue - ldr r1, _080267EC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080267EC: .4byte gBattlescriptCurrInstr - thumb_func_end atk6D_resetsentmonsvalue - - thumb_func_start atk6E_setatktoplayer0 -atk6E_setatktoplayer0: @ 80267F0 - push {lr} - movs r0, 0 - bl GetBattlerAtPosition - ldr r1, _08026808 @ =gBattlerAttacker - strb r0, [r1] - ldr r1, _0802680C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08026808: .4byte gBattlerAttacker -_0802680C: .4byte gBattlescriptCurrInstr - thumb_func_end atk6E_setatktoplayer0 - - thumb_func_start atk6F_makevisible -atk6F_makevisible: @ 8026810 - push {r4,r5,lr} - ldr r5, _0802683C @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _08026840 @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitSpriteInvisibility - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802683C: .4byte gBattlescriptCurrInstr -_08026840: .4byte gActiveBattler - thumb_func_end atk6F_makevisible - - thumb_func_start atk70_recordlastability -atk70_recordlastability: @ 8026844 - push {r4,lr} - ldr r4, _0802686C @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08026870 @ =gActiveBattler - strb r0, [r1] - ldrb r0, [r1] - ldr r1, _08026874 @ =gLastUsedAbility - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802686C: .4byte gBattlescriptCurrInstr -_08026870: .4byte gActiveBattler -_08026874: .4byte gLastUsedAbility - thumb_func_end atk70_recordlastability - - thumb_func_start BufferMoveToLearnIntoBattleTextBuff2 -BufferMoveToLearnIntoBattleTextBuff2: @ 8026878 - ldr r2, _08026898 @ =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x2 - strb r0, [r2, 0x1] - ldr r0, _0802689C @ =gMoveToLearn - ldrh r1, [r0] - strb r1, [r2, 0x2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - lsrs r0, 8 - strb r0, [r2, 0x3] - movs r0, 0xFF - strb r0, [r2, 0x4] - bx lr - .align 2, 0 -_08026898: .4byte gBattleTextBuff2 -_0802689C: .4byte gMoveToLearn - thumb_func_end BufferMoveToLearnIntoBattleTextBuff2 - - thumb_func_start atk71_buffermovetolearn -atk71_buffermovetolearn: @ 80268A0 - push {lr} - bl BufferMoveToLearnIntoBattleTextBuff2 - ldr r1, _080268B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080268B4: .4byte gBattlescriptCurrInstr - thumb_func_end atk71_buffermovetolearn - - thumb_func_start atk72_jumpifplayerran -atk72_jumpifplayerran: @ 80268B8 - push {lr} - ldr r0, _080268E4 @ =gBattlerFainted - ldrb r0, [r0] - bl TryRunFromBattle - lsls r0, 24 - cmp r0, 0 - beq _080268EC - ldr r3, _080268E8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _080268F4 - .align 2, 0 -_080268E4: .4byte gBattlerFainted -_080268E8: .4byte gBattlescriptCurrInstr -_080268EC: - ldr r1, _080268F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_080268F4: - pop {r0} - bx r0 - .align 2, 0 -_080268F8: .4byte gBattlescriptCurrInstr - thumb_func_end atk72_jumpifplayerran - - thumb_func_start atk73_hpthresholds -atk73_hpthresholds: @ 80268FC - push {r4-r6,lr} - ldr r0, _0802694C @ =gBattleTypeFlags - ldr r4, [r0] - movs r6, 0x1 - ands r4, r6 - cmp r4, 0 - bne _08026992 - ldr r0, _08026950 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08026954 @ =gActiveBattler - strb r0, [r1] - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08026958 @ =gBattleMons - movs r1, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r5, [r1, 0x28] - movs r0, 0x64 - muls r0, r5 - ldrh r1, [r1, 0x2C] - bl __divsi3 - cmp r0, 0 - bne _0802693A - movs r0, 0x1 -_0802693A: - cmp r0, 0x45 - bgt _08026942 - cmp r5, 0 - bne _08026960 -_08026942: - ldr r0, _0802695C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - strb r4, [r0] - b _08026992 - .align 2, 0 -_0802694C: .4byte gBattleTypeFlags -_08026950: .4byte gBattlescriptCurrInstr -_08026954: .4byte gActiveBattler -_08026958: .4byte gBattleMons -_0802695C: .4byte gBattleStruct -_08026960: - cmp r0, 0x27 - ble _08026974 - ldr r0, _08026970 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - strb r6, [r0] - b _08026992 - .align 2, 0 -_08026970: .4byte gBattleStruct -_08026974: - cmp r0, 0x9 - ble _08026988 - ldr r0, _08026984 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - movs r1, 0x2 - b _08026990 - .align 2, 0 -_08026984: .4byte gBattleStruct -_08026988: - ldr r0, _080269A0 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xAD - movs r1, 0x3 -_08026990: - strb r1, [r0] -_08026992: - ldr r1, _080269A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080269A0: .4byte gBattleStruct -_080269A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk73_hpthresholds - - thumb_func_start atk74_hpthresholds2 -atk74_hpthresholds2: @ 80269A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08026A0C @ =gBattleTypeFlags - ldr r7, [r0] - movs r0, 0x1 - mov r8, r0 - ands r7, r0 - cmp r7, 0 - bne _08026A42 - ldr r0, _08026A10 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - adds r4, r0, 0 - ldr r0, _08026A14 @ =gActiveBattler - strb r4, [r0] - movs r0, 0x1 - eors r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - ldr r1, _08026A18 @ =gBattleStruct - ldr r6, [r1] - lsrs r0, 23 - adds r0, r6 - adds r0, 0xA8 - ldrb r5, [r0] - ldr r1, _08026A1C @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - ldrh r4, [r0, 0x28] - subs r1, r5, r4 - movs r0, 0x64 - muls r0, r1 - adds r1, r5, 0 - bl __divsi3 - adds r1, r0, 0 - cmp r4, r5 - bcc _08026A20 - adds r0, r6, 0 - adds r0, 0xAD - strb r7, [r0] - b _08026A42 - .align 2, 0 -_08026A0C: .4byte gBattleTypeFlags -_08026A10: .4byte gBattlescriptCurrInstr -_08026A14: .4byte gActiveBattler -_08026A18: .4byte gBattleStruct -_08026A1C: .4byte gBattleMons -_08026A20: - cmp r0, 0x1D - bgt _08026A2E - adds r0, r6, 0 - adds r0, 0xAD - mov r1, r8 - strb r1, [r0] - b _08026A42 -_08026A2E: - cmp r1, 0x45 - bgt _08026A3A - adds r1, r6, 0 - adds r1, 0xAD - movs r0, 0x2 - b _08026A40 -_08026A3A: - adds r1, r6, 0 - adds r1, 0xAD - movs r0, 0x3 -_08026A40: - strb r0, [r1] -_08026A42: - ldr r1, _08026A54 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08026A54: .4byte gBattlescriptCurrInstr - thumb_func_end atk74_hpthresholds2 - - thumb_func_start atk75_useitemonopponent -atk75_useitemonopponent: @ 8026A58 - push {lr} - sub sp, 0x4 - ldr r2, _08026A98 @ =gBattlerInMenuId - ldr r1, _08026A9C @ =gBattlerAttacker - ldrb r0, [r1] - strb r0, [r2] - ldr r2, _08026AA0 @ =gBattlerPartyIndexes - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrh r2, [r0] - movs r0, 0x64 - muls r0, r2 - ldr r1, _08026AA4 @ =gEnemyParty - adds r0, r1 - ldr r1, _08026AA8 @ =gLastUsedItem - ldrh r1, [r1] - lsls r2, 24 - lsrs r2, 24 - movs r3, 0x1 - str r3, [sp] - movs r3, 0 - bl PokemonUseItemEffects - ldr r1, _08026AAC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08026A98: .4byte gBattlerInMenuId -_08026A9C: .4byte gBattlerAttacker -_08026AA0: .4byte gBattlerPartyIndexes -_08026AA4: .4byte gEnemyParty -_08026AA8: .4byte gLastUsedItem -_08026AAC: .4byte gBattlescriptCurrInstr - thumb_func_end atk75_useitemonopponent - - thumb_func_start atk76_various -atk76_various: @ 8026AB0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - ldr r4, _08026ADC @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _08026AE0 @ =gActiveBattler - strb r0, [r1] - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0xC - bls _08026AD2 - b _08026F4E -_08026AD2: - lsls r0, 2 - ldr r1, _08026AE4 @ =_08026AE8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08026ADC: .4byte gBattlescriptCurrInstr -_08026AE0: .4byte gActiveBattler -_08026AE4: .4byte _08026AE8 - .align 2, 0 -_08026AE8: - .4byte _08026B1C - .4byte _08026B2C - .4byte _08026B8C - .4byte _08026B9C - .4byte _08026BB4 - .4byte _08026BF0 - .4byte _08026C28 - .4byte _08026CB4 - .4byte _08026CF4 - .4byte _08026D50 - .4byte _08026D64 - .4byte _08026DA0 - .4byte _08026F44 -_08026B1C: - ldr r0, _08026B28 @ =gActiveBattler - ldrb r0, [r0] - bl CancelMultiTurnMoves - b _08026F4E - .align 2, 0 -_08026B28: .4byte gActiveBattler -_08026B2C: - ldr r1, _08026B68 @ =gBattlerAttacker - ldr r4, _08026B6C @ =gBattlerTarget - ldrb r0, [r4] - strb r0, [r1] - ldrb r0, [r1] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08026B70 @ =gSideTimers - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _08026B78 - ldr r1, _08026B74 @ =gBattleMons - ldrb r2, [r2, 0x9] - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08026B78 - strb r2, [r4] - b _08026F4E - .align 2, 0 -_08026B68: .4byte gBattlerAttacker -_08026B6C: .4byte gBattlerTarget -_08026B70: .4byte gSideTimers -_08026B74: .4byte gBattleMons -_08026B78: - ldr r0, _08026B84 @ =gBattlerTarget - ldr r1, _08026B88 @ =gActiveBattler - ldrb r1, [r1] - strb r1, [r0] - b _08026F4E - .align 2, 0 -_08026B84: .4byte gBattlerTarget -_08026B88: .4byte gActiveBattler -_08026B8C: - bl IsRunningFromBattleImpossible - ldr r1, _08026B98 @ =gBattleCommunication - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026B98: .4byte gBattleCommunication -_08026B9C: - ldr r0, _08026BAC @ =gCurrentMove - ldrh r0, [r0] - movs r1, 0 - bl GetMoveTarget - ldr r1, _08026BB0 @ =gBattlerTarget - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026BAC: .4byte gCurrentMove -_08026BB0: .4byte gBattlerTarget -_08026BB4: - ldr r2, _08026BD4 @ =gHitMarker - ldr r1, _08026BD8 @ =gBitTable - ldr r0, _08026BDC @ =gActiveBattler - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r0, 28 - ldr r2, [r2] - ands r2, r0 - cmp r2, 0 - beq _08026BE4 - ldr r1, _08026BE0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026BD4: .4byte gHitMarker -_08026BD8: .4byte gBitTable -_08026BDC: .4byte gActiveBattler -_08026BE0: .4byte gBattleCommunication -_08026BE4: - ldr r0, _08026BEC @ =gBattleCommunication - strb r2, [r0] - b _08026F4E - .align 2, 0 -_08026BEC: .4byte gBattleCommunication -_08026BF0: - ldr r4, _08026C20 @ =gSpecialStatuses - ldr r3, _08026C24 @ =gActiveBattler - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _08026F4E - .align 2, 0 -_08026C20: .4byte gSpecialStatuses -_08026C24: .4byte gActiveBattler -_08026C28: - ldr r4, _08026C4C @ =gBattlerPartyIndexes - ldr r1, _08026C50 @ =gBattleStruct - ldr r0, [r1] - ldrh r3, [r4] - ldrb r2, [r0, 0x10] - adds r5, r1, 0 - cmp r3, r2 - beq _08026C44 - ldrh r0, [r4, 0x4] - cmp r0, r2 - beq _08026C40 - b _08026F4E -_08026C40: - cmp r3, r0 - bne _08026C58 -_08026C44: - ldr r1, _08026C54 @ =gActiveBattler - movs r0, 0 - b _08026C5C - .align 2, 0 -_08026C4C: .4byte gBattlerPartyIndexes -_08026C50: .4byte gBattleStruct -_08026C54: .4byte gActiveBattler -_08026C58: - ldr r1, _08026CAC @ =gActiveBattler - movs r0, 0x2 -_08026C5C: - strb r0, [r1] - mov r8, r1 - mov r0, r8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, 0xC8 - ldr r1, [r5] - adds r3, r1, r0 - movs r7, 0 - ldr r1, _08026CB0 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - ldrh r2, [r3] - cmp r0, r2 - beq _08026C9E - mov r5, r8 - movs r4, 0x58 - adds r2, r1, 0 -_08026C86: - adds r7, 0x1 - cmp r7, 0x3 - bgt _08026C9E - lsls r1, r7, 1 - ldrb r0, [r5] - muls r0, r4 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - ldrh r1, [r3] - cmp r0, r1 - bne _08026C86 -_08026C9E: - cmp r7, 0x4 - beq _08026CA4 - b _08026F4E -_08026CA4: - movs r0, 0 - strh r0, [r3] - b _08026F4E - .align 2, 0 -_08026CAC: .4byte gActiveBattler -_08026CB0: .4byte gBattleMons -_08026CB4: - ldr r0, _08026CE4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xB - ands r0, r1 - cmp r0, 0x8 - beq _08026CC2 - b _08026F4E -_08026CC2: - ldr r1, _08026CE8 @ =gBattleMons - ldrh r0, [r1, 0x28] - cmp r0, 0 - bne _08026CCC - b _08026F4E -_08026CCC: - adds r0, r1, 0 - adds r0, 0x80 - ldrh r0, [r0] - cmp r0, 0 - bne _08026CD8 - b _08026F4E -_08026CD8: - ldr r0, _08026CEC @ =gHitMarker - ldr r1, [r0] - ldr r2, _08026CF0 @ =0xffbfffff - ands r1, r2 - str r1, [r0] - b _08026F4E - .align 2, 0 -_08026CE4: .4byte gBattleTypeFlags -_08026CE8: .4byte gBattleMons -_08026CEC: .4byte gHitMarker -_08026CF0: .4byte 0xffbfffff -_08026CF4: - movs r7, 0 - ldr r2, _08026D3C @ =gBattleCommunication - strb r7, [r2, 0x5] - ldr r1, _08026D40 @ =gActiveBattler - movs r0, 0x1 - strb r0, [r1] - mov r8, r1 - ldr r0, _08026D44 @ =gBattlersCount - mov r4, r8 - ldrb r5, [r0] - ldr r6, _08026D48 @ =gBattleMons - ldr r3, _08026D4C @ =gBitTable -_08026D0C: - ldrb r0, [r4] - cmp r0, r5 - bcs _08026D2A - mov r0, r8 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08026D2A - ldr r0, [r3] - ldrb r1, [r2, 0x5] - orrs r0, r1 - strb r0, [r2, 0x5] -_08026D2A: - adds r3, 0x4 - ldrb r0, [r4] - adds r0, 0x2 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08026D0C - b _08026F4E - .align 2, 0 -_08026D3C: .4byte gBattleCommunication -_08026D40: .4byte gActiveBattler -_08026D44: .4byte gBattlersCount -_08026D48: .4byte gBattleMons -_08026D4C: .4byte gBitTable -_08026D50: - ldr r4, _08026D5C @ =gActiveBattler - movs r0, 0x1 - strb r0, [r4] - ldr r0, _08026D60 @ =gBattleMons - adds r0, 0x58 - b _08026D7C - .align 2, 0 -_08026D5C: .4byte gActiveBattler -_08026D60: .4byte gBattleMons -_08026D64: - ldr r0, _08026D94 @ =gBattlersCount - ldrb r0, [r0] - cmp r0, 0x3 - bhi _08026D6E - b _08026F4E -_08026D6E: - ldr r4, _08026D98 @ =gActiveBattler - movs r0, 0x3 - strb r0, [r4] - ldr r0, _08026D9C @ =gBattleMons - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 -_08026D7C: - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _08026D84 - b _08026F4E -_08026D84: - movs r0, 0 - movs r1, 0 - bl BtlController_EmitReturnMonToBall - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _08026F4E - .align 2, 0 -_08026D94: .4byte gBattlersCount -_08026D98: .4byte gActiveBattler -_08026D9C: .4byte gBattleMons -_08026DA0: - ldr r0, _08026F28 @ =gBattleCommunication - movs r1, 0 - strb r1, [r0, 0x5] - mov r8, r1 - movs r7, 0 - ldr r0, _08026F2C @ =gBattlersCount - mov r12, r0 - ldrb r2, [r0] - cmp r8, r2 - bge _08026DEE - ldr r4, _08026F30 @ =gBattleMons - adds r3, r4, 0 - adds r3, 0x50 - adds r6, r4, 0 - adds r6, 0x20 - movs r5, 0 -_08026DC0: - ldrb r0, [r6] - cmp r0, 0x2B - beq _08026DDE - adds r2, r4, 0 - adds r2, 0x4C - adds r2, r5, r2 - ldr r0, [r2] - movs r1, 0x8 - negs r1, r1 - ands r0, r1 - str r0, [r2] - ldr r0, [r3] - ldr r1, _08026F34 @ =0xf7ffffff - ands r0, r1 - str r0, [r3] -_08026DDE: - adds r3, 0x58 - adds r6, 0x58 - adds r5, 0x58 - adds r7, 0x1 - mov r0, r12 - ldrb r0, [r0] - cmp r7, r0 - blt _08026DC0 -_08026DEE: - movs r7, 0 - movs r1, 0xCE - lsls r1, 1 - mov r9, r1 -_08026DF6: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _08026F38 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - adds r1, r0, 0 - str r1, [sp, 0x4] - cmp r5, 0 - beq _08026E4E - cmp r5, r9 - beq _08026E4E - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08026E4E - adds r0, r5, 0 - adds r1, r6, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2B - beq _08026E4E - movs r0, 0x1 - lsls r0, r7 - mov r2, r8 - orrs r2, r0 - mov r8, r2 -_08026E4E: - adds r7, 0x1 - cmp r7, 0x5 - ble _08026DF6 - mov r0, r8 - cmp r0, 0 - beq _08026E88 - movs r0, 0 - bl GetBattlerAtPosition - ldr r4, _08026F3C @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - str r0, [sp, 0x4] - mov r1, r8 - lsls r2, r1, 24 - lsrs r2, 24 - add r0, sp, 0x4 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _08026F28 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_08026E88: - movs r1, 0 - mov r8, r1 - movs r7, 0 - movs r2, 0xCE - lsls r2, 1 - mov r9, r2 -_08026E94: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _08026F40 @ =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - adds r1, r0, 0 - str r1, [sp, 0x4] - cmp r5, 0 - beq _08026EEC - cmp r5, r9 - beq _08026EEC - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08026EEC - adds r0, r5, 0 - adds r1, r6, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2B - beq _08026EEC - movs r0, 0x1 - lsls r0, r7 - mov r1, r8 - orrs r1, r0 - mov r8, r1 -_08026EEC: - adds r7, 0x1 - cmp r7, 0x5 - ble _08026E94 - mov r2, r8 - cmp r2, 0 - beq _08026F4E - movs r0, 0x1 - bl GetBattlerAtPosition - ldr r4, _08026F3C @ =gActiveBattler - strb r0, [r4] - movs r0, 0 - str r0, [sp, 0x4] - mov r0, r8 - lsls r2, r0, 24 - lsrs r2, 24 - add r1, sp, 0x4 - str r1, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _08026F28 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08026F4E - .align 2, 0 -_08026F28: .4byte gBattleCommunication -_08026F2C: .4byte gBattlersCount -_08026F30: .4byte gBattleMons -_08026F34: .4byte 0xf7ffffff -_08026F38: .4byte gPlayerParty -_08026F3C: .4byte gActiveBattler -_08026F40: .4byte gEnemyParty -_08026F44: - bl IsFanfareTaskInactive - lsls r0, 24 - cmp r0, 0 - beq _08026F56 -_08026F4E: - ldr r1, _08026F64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x3 - str r0, [r1] -_08026F56: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08026F64: .4byte gBattlescriptCurrInstr - thumb_func_end atk76_various - - thumb_func_start atk77_setprotectlike -atk77_setprotectlike: @ 8026F68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0x1 - ldr r2, _08027034 @ =gLastResultingMoves - ldr r1, _08027038 @ =gBattlerAttacker - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r2 - ldrh r0, [r0] - mov r8, r1 - ldr r7, _0802703C @ =gDisableStructs - cmp r0, 0xB6 - beq _08026F98 - cmp r0, 0xC5 - beq _08026F98 - cmp r0, 0xCB - beq _08026F98 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r7 - movs r1, 0 - strb r1, [r0, 0x8] -_08026F98: - ldr r0, _08027040 @ =gCurrentTurnActionNumber - ldrb r1, [r0] - ldr r0, _08027044 @ =gBattlersCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _08026FA8 - movs r6, 0 -_08026FA8: - ldr r2, _08027048 @ =sProtectSuccessRates - mov r5, r8 - ldrb r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r4, [r0, 0x8] - lsls r4, 1 - adds r4, r2 - bl Random - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bcc _0802705C - cmp r6, 0 - beq _0802705C - ldr r4, _0802704C @ =gBattleMoves - ldr r3, _08027050 @ =gCurrentMove - ldrh r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - cmp r0, 0x6F - bne _08026FF8 - ldr r0, _08027054 @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08027058 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] -_08026FF8: - ldrh r0, [r3] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - cmp r0, 0x74 - bne _0802701E - ldr r0, _08027054 @ =gProtectStructs - ldrb r1, [r5] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08027058 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] -_0802701E: - mov r1, r8 - ldrb r0, [r1] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] - b _0802707E - .align 2, 0 -_08027034: .4byte gLastResultingMoves -_08027038: .4byte gBattlerAttacker -_0802703C: .4byte gDisableStructs -_08027040: .4byte gCurrentTurnActionNumber -_08027044: .4byte gBattlersCount -_08027048: .4byte sProtectSuccessRates -_0802704C: .4byte gBattleMoves -_08027050: .4byte gCurrentMove -_08027054: .4byte gProtectStructs -_08027058: .4byte gBattleCommunication -_0802705C: - ldr r2, _08027090 @ =gDisableStructs - ldr r0, _08027094 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x8] - ldr r1, _08027098 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - ldr r2, _0802709C @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_0802707E: - ldr r1, _080270A0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027090: .4byte gDisableStructs -_08027094: .4byte gBattlerAttacker -_08027098: .4byte gBattleCommunication -_0802709C: .4byte gMoveResultFlags -_080270A0: .4byte gBattlescriptCurrInstr - thumb_func_end atk77_setprotectlike - - thumb_func_start atk78_faintifabilitynotdamp -atk78_faintifabilitynotdamp: @ 80270A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08027160 @ =gBattleControllerExecFlags - ldr r2, [r0] - cmp r2, 0 - bne _080271A8 - ldr r1, _08027164 @ =gBattlerTarget - strb r2, [r1] - ldr r0, _08027168 @ =gBattlersCount - ldrb r3, [r0] - adds r5, r1, 0 - mov r8, r0 - ldr r6, _0802716C @ =gBattleMons - cmp r2, r3 - bcs _080270F0 - adds r0, r6, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x6 - beq _080270F0 - adds r2, r3, 0 - adds r4, r6, 0 - movs r3, 0x58 -_080270D4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r2 - bcs _080270F0 - ldrb r0, [r5] - muls r0, r3 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x6 - bne _080270D4 -_080270F0: - ldrb r0, [r5] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - bne _0802718C - ldr r4, _08027170 @ =gActiveBattler - ldr r7, _08027174 @ =gBattlerAttacker - ldrb r0, [r7] - strb r0, [r4] - ldr r2, _08027178 @ =gBattleMoveDamage - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r6 - ldrh r0, [r0, 0x28] - str r0, [r2] - ldr r1, _0802717C @ =0x00007fff - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _08027180 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - movs r0, 0 - strb r0, [r5] - mov r2, r8 - ldrb r0, [r2] - cmp r0, 0 - beq _080271A8 - adds r3, r5, 0 - ldrb r5, [r7] - ldr r7, _08027184 @ =gBitTable - adds r4, r0, 0 - ldr r6, _08027188 @ =gAbsentBattlerFlags -_0802713C: - ldrb r2, [r3] - cmp r2, r5 - beq _08027152 - ldrb r0, [r6] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r7 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _080271A8 -_08027152: - adds r0, r2, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcc _0802713C - b _080271A8 - .align 2, 0 -_08027160: .4byte gBattleControllerExecFlags -_08027164: .4byte gBattlerTarget -_08027168: .4byte gBattlersCount -_0802716C: .4byte gBattleMons -_08027170: .4byte gActiveBattler -_08027174: .4byte gBattlerAttacker -_08027178: .4byte gBattleMoveDamage -_0802717C: .4byte 0x00007fff -_08027180: .4byte gBattlescriptCurrInstr -_08027184: .4byte gBitTable -_08027188: .4byte gAbsentBattlerFlags -_0802718C: - ldr r1, _080271B4 @ =gLastUsedAbility - movs r0, 0x6 - strb r0, [r1] - ldrb r0, [r5] - movs r1, 0x58 - muls r1, r0 - adds r1, r6 - adds r1, 0x20 - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r1, _080271B8 @ =gBattlescriptCurrInstr - ldr r0, _080271BC @ =BattleScript_DampStopsExplosion - str r0, [r1] -_080271A8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080271B4: .4byte gLastUsedAbility -_080271B8: .4byte gBattlescriptCurrInstr -_080271BC: .4byte BattleScript_DampStopsExplosion - thumb_func_end atk78_faintifabilitynotdamp - - thumb_func_start atk79_setatkhptozero -atk79_setatkhptozero: @ 80271C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0802720C @ =gBattleControllerExecFlags - ldr r3, [r0] - cmp r3, 0 - bne _08027204 - ldr r4, _08027210 @ =gActiveBattler - ldr r0, _08027214 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r1, _08027218 @ =gBattleMons - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r0, r1 - strh r3, [r0, 0x28] - ldrb r0, [r4] - muls r0, r2 - adds r1, 0x28 - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2A - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _0802721C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08027204: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802720C: .4byte gBattleControllerExecFlags -_08027210: .4byte gActiveBattler -_08027214: .4byte gBattlerAttacker -_08027218: .4byte gBattleMons -_0802721C: .4byte gBattlescriptCurrInstr - thumb_func_end atk79_setatkhptozero - - thumb_func_start atk7A_jumpifnexttargetvalid -atk7A_jumpifnexttargetvalid: @ 8027220 - push {r4-r7,lr} - ldr r3, _08027298 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r4, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r4, r0 - ldr r0, _0802729C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - adds r7, r3, 0 - cmp r0, 0 - beq _080272B8 - ldr r0, _080272A0 @ =gBattlerTarget - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r2, _080272A4 @ =gBattlerAttacker - lsls r1, 24 - lsrs r1, 24 - adds r3, r0, 0 - ldr r6, _080272A8 @ =gAbsentBattlerFlags - ldr r5, _080272AC @ =gBitTable - ldr r0, _080272B0 @ =gBattlersCount - mov r12, r0 - ldrb r0, [r2] - cmp r1, r0 - bne _08027276 -_08027266: - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2] - cmp r0, r1 - beq _08027266 -_08027276: - ldrb r0, [r6] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r5 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - bne _08027266 - ldrb r0, [r3] - mov r2, r12 - ldrb r2, [r2] - cmp r0, r2 - bcc _080272B4 - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - b _080272BC - .align 2, 0 -_08027298: .4byte gBattlescriptCurrInstr -_0802729C: .4byte gBattleTypeFlags -_080272A0: .4byte gBattlerTarget -_080272A4: .4byte gBattlerAttacker -_080272A8: .4byte gAbsentBattlerFlags -_080272AC: .4byte gBitTable -_080272B0: .4byte gBattlersCount -_080272B4: - str r4, [r7] - b _080272BC -_080272B8: - adds r0, r2, 0x5 - str r0, [r3] -_080272BC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk7A_jumpifnexttargetvalid - - thumb_func_start atk7B_tryhealhalfhealth -atk7B_tryhealhalfhealth: @ 80272C4 - push {r4-r6,lr} - ldr r4, _08027320 @ =gBattlescriptCurrInstr - ldr r1, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldrb r0, [r1, 0x5] - ldr r3, _08027324 @ =gBattlerTarget - cmp r0, 0x1 - bne _080272EC - ldr r0, _08027328 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r3] -_080272EC: - ldr r1, _0802732C @ =gBattleMoveDamage - ldr r6, _08027330 @ =gBattleMons - ldrb r0, [r3] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _08027306 - movs r0, 0x1 - str r0, [r1] -_08027306: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldrb r0, [r3] - muls r0, r5 - adds r0, r6 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - bne _08027334 - str r2, [r4] - b _0802733A - .align 2, 0 -_08027320: .4byte gBattlescriptCurrInstr -_08027324: .4byte gBattlerTarget -_08027328: .4byte gBattlerAttacker -_0802732C: .4byte gBattleMoveDamage -_08027330: .4byte gBattleMons -_08027334: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_0802733A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk7B_tryhealhalfhealth - - thumb_func_start atk7C_trymirrormove -atk7C_trymirrormove: @ 8027340 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r2, _080273E0 @ =gBattlersCount - ldr r0, _080273E4 @ =gBattleStruct - mov r10, r0 - movs r1, 0 - add r0, sp, 0x4 -_08027356: - strh r1, [r0] - subs r0, 0x2 - cmp r0, sp - bge _08027356 - movs r1, 0 - mov r8, r1 - movs r5, 0 - ldrb r1, [r2] - cmp r5, r1 - bge _080273AC - ldr r0, _080273E8 @ =gBattlerAttacker - ldrb r6, [r0] - ldr r2, _080273EC @ =0x0000ffff - mov r9, r2 - lsls r4, r6, 3 - mov r2, sp - ldr r0, _080273E4 @ =gBattleStruct - mov r12, r0 - adds r7, r1, 0 -_0802737C: - cmp r5, r6 - beq _080273A4 - mov r1, r12 - ldr r0, [r1] - adds r0, r4, r0 - adds r1, r0, 0 - adds r1, 0xE0 - ldrb r3, [r1] - adds r0, 0xE1 - ldrb r0, [r0] - lsls r0, 8 - orrs r3, r0 - cmp r3, 0 - beq _080273A4 - cmp r3, r9 - beq _080273A4 - strh r3, [r2] - adds r2, 0x2 - movs r0, 0x1 - add r8, r0 -_080273A4: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, r7 - blt _0802737C -_080273AC: - ldr r1, _080273E8 @ =gBattlerAttacker - ldrb r0, [r1] - mov r2, r10 - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r1, r0, 0 - adds r1, 0x98 - ldrb r3, [r1] - adds r0, 0x99 - ldrb r0, [r0] - lsls r0, 8 - orrs r3, r0 - cmp r3, 0 - beq _080273FC - ldr r0, _080273EC @ =0x0000ffff - cmp r3, r0 - beq _080273FC - ldr r2, _080273F0 @ =gHitMarker - ldr r0, [r2] - ldr r1, _080273F4 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _080273F8 @ =gCurrentMove - strh r3, [r4] - b _08027426 - .align 2, 0 -_080273E0: .4byte gBattlersCount -_080273E4: .4byte gBattleStruct -_080273E8: .4byte gBattlerAttacker -_080273EC: .4byte 0x0000ffff -_080273F0: .4byte gHitMarker -_080273F4: .4byte 0xfffffbff -_080273F8: .4byte gCurrentMove -_080273FC: - mov r0, r8 - cmp r0, 0 - beq _0802746C - ldr r2, _08027450 @ =gHitMarker - ldr r0, [r2] - ldr r1, _08027454 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - bl Random - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - bl __modsi3 - adds r5, r0, 0 - ldr r4, _08027458 @ =gCurrentMove - lsls r0, r5, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4] -_08027426: - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802745C @ =gBattlerTarget - strb r0, [r1] - ldr r5, _08027460 @ =gBattlescriptCurrInstr - ldr r3, _08027464 @ =gBattleScriptsForMoveEffects - ldr r2, _08027468 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - str r0, [r5] - b _0802748A - .align 2, 0 -_08027450: .4byte gHitMarker -_08027454: .4byte 0xfffffbff -_08027458: .4byte gCurrentMove -_0802745C: .4byte gBattlerTarget -_08027460: .4byte gBattlescriptCurrInstr -_08027464: .4byte gBattleScriptsForMoveEffects -_08027468: .4byte gBattleMoves -_0802746C: - ldr r2, _0802749C @ =gSpecialStatuses - ldr r0, _080274A0 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r1, _080274A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0802748A: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802749C: .4byte gSpecialStatuses -_080274A0: .4byte gBattlerAttacker -_080274A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk7C_trymirrormove - - thumb_func_start atk7D_setrain -atk7D_setrain: @ 80274A8 - push {lr} - ldr r2, _080274C8 @ =gBattleWeather - ldrh r0, [r2] - movs r1, 0x7 - ands r1, r0 - cmp r1, 0 - beq _080274D4 - ldr r2, _080274CC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080274D0 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _080274E4 - .align 2, 0 -_080274C8: .4byte gBattleWeather -_080274CC: .4byte gMoveResultFlags -_080274D0: .4byte gBattleCommunication -_080274D4: - movs r0, 0x1 - strh r0, [r2] - ldr r0, _080274F0 @ =gBattleCommunication - strb r1, [r0, 0x5] - ldr r0, _080274F4 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_080274E4: - ldr r1, _080274F8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080274F0: .4byte gBattleCommunication -_080274F4: .4byte gWishFutureKnock -_080274F8: .4byte gBattlescriptCurrInstr - thumb_func_end atk7D_setrain - - thumb_func_start atk7E_setreflect -atk7E_setreflect: @ 80274FC - push {r4-r6,lr} - ldr r6, _0802752C @ =gBattlerAttacker - ldrb r0, [r6] - bl GetBattlerPosition - ldr r4, _08027530 @ =gSideStatuses - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r1, [r1] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _0802753C - ldr r2, _08027534 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08027538 @ =gBattleCommunication - movs r0, 0 - b _080275B0 - .align 2, 0 -_0802752C: .4byte gBattlerAttacker -_08027530: .4byte gSideStatuses -_08027534: .4byte gMoveResultFlags -_08027538: .4byte gBattleCommunication -_0802753C: - ldrb r0, [r6] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r0, [r1] - movs r2, 0x1 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r6] - bl GetBattlerPosition - ldr r4, _080275A0 @ =gSideTimers - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x5 - strb r1, [r0] - ldrb r0, [r6] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r6] - strb r1, [r0, 0x1] - ldr r0, _080275A4 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r5 - cmp r0, 0 - beq _080275AC - movs r0, 0x1 - bl CountAliveMonsInBattle - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x2 - bne _080275AC - ldr r0, _080275A8 @ =gBattleCommunication - strb r1, [r0, 0x5] - b _080275B2 - .align 2, 0 -_080275A0: .4byte gSideTimers -_080275A4: .4byte gBattleTypeFlags -_080275A8: .4byte gBattleCommunication -_080275AC: - ldr r1, _080275C0 @ =gBattleCommunication - movs r0, 0x1 -_080275B0: - strb r0, [r1, 0x5] -_080275B2: - ldr r1, _080275C4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080275C0: .4byte gBattleCommunication -_080275C4: .4byte gBattlescriptCurrInstr - thumb_func_end atk7E_setreflect - - thumb_func_start atk7F_setseeded -atk7F_setseeded: @ 80275C8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r7, _08027608 @ =gMoveResultFlags - ldrb r5, [r7] - movs r0, 0x29 - ands r0, r5 - cmp r0, 0 - bne _080275FA - ldr r0, _0802760C @ =gStatuses3 - mov r9, r0 - ldr r1, _08027610 @ =gBattlerTarget - mov r8, r1 - ldrb r4, [r1] - lsls r0, r4, 2 - mov r2, r9 - adds r6, r0, r2 - ldr r2, [r6] - movs r0, 0x4 - mov r12, r0 - adds r3, r2, 0 - ands r3, r0 - cmp r3, 0 - beq _08027618 -_080275FA: - movs r0, 0x1 - orrs r0, r5 - strb r0, [r7] - ldr r1, _08027614 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08027668 - .align 2, 0 -_08027608: .4byte gMoveResultFlags -_0802760C: .4byte gStatuses3 -_08027610: .4byte gBattlerTarget -_08027614: .4byte gBattleCommunication -_08027618: - ldr r1, _08027644 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, r0, r1 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xC - beq _08027634 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xC - bne _0802764C -_08027634: - movs r0, 0x1 - orrs r0, r5 - strb r0, [r7] - ldr r1, _08027648 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _08027668 - .align 2, 0 -_08027644: .4byte gBattleMons -_08027648: .4byte gBattleCommunication -_0802764C: - ldr r0, _0802767C @ =gBattlerAttacker - ldrb r0, [r0] - orrs r2, r0 - str r2, [r6] - mov r2, r8 - ldrb r1, [r2] - lsls r1, 2 - add r1, r9 - ldr r0, [r1] - mov r2, r12 - orrs r0, r2 - str r0, [r1] - ldr r0, _08027680 @ =gBattleCommunication - strb r3, [r0, 0x5] -_08027668: - ldr r1, _08027684 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802767C: .4byte gBattlerAttacker -_08027680: .4byte gBattleCommunication -_08027684: .4byte gBattlescriptCurrInstr - thumb_func_end atk7F_setseeded - - thumb_func_start atk80_manipulatedamage -atk80_manipulatedamage: @ 8027688 - push {r4,lr} - ldr r1, _080276A0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - ldrb r2, [r0, 0x1] - adds r4, r1, 0 - cmp r2, 0x1 - beq _080276B8 - cmp r2, 0x1 - bgt _080276A4 - cmp r2, 0 - beq _080276AA - b _080276F8 - .align 2, 0 -_080276A0: .4byte gBattlescriptCurrInstr -_080276A4: - cmp r2, 0x2 - beq _080276F0 - b _080276F8 -_080276AA: - ldr r1, _080276B4 @ =gBattleMoveDamage - ldr r0, [r1] - negs r0, r0 - b _080276F6 - .align 2, 0 -_080276B4: .4byte gBattleMoveDamage -_080276B8: - ldr r3, _080276E4 @ =gBattleMoveDamage - ldr r0, [r3] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - str r0, [r3] - cmp r0, 0 - bne _080276CA - str r2, [r3] -_080276CA: - ldr r2, _080276E8 @ =gBattleMons - ldr r0, _080276EC @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r1, r0, 1 - ldr r0, [r3] - cmp r1, r0 - bge _080276F8 - str r1, [r3] - b _080276F8 - .align 2, 0 -_080276E4: .4byte gBattleMoveDamage -_080276E8: .4byte gBattleMons -_080276EC: .4byte gBattlerTarget -_080276F0: - ldr r1, _08027704 @ =gBattleMoveDamage - ldr r0, [r1] - lsls r0, 1 -_080276F6: - str r0, [r1] -_080276F8: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08027704: .4byte gBattleMoveDamage - thumb_func_end atk80_manipulatedamage - - thumb_func_start atk81_trysetrest -atk81_trysetrest: @ 8027708 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _08027760 @ =gBattlescriptCurrInstr - mov r12, r0 - ldr r1, [r0] - ldrb r6, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r6, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r6, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r6, r0 - ldr r5, _08027764 @ =gActiveBattler - ldr r2, _08027768 @ =gBattlerTarget - ldr r0, _0802776C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r2] - strb r0, [r5] - ldr r4, _08027770 @ =gBattleMoveDamage - ldr r1, _08027774 @ =gBattleMons - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - adds r0, r1 - ldrh r0, [r0, 0x2C] - negs r0, r0 - str r0, [r4] - ldrb r0, [r2] - adds r4, r0, 0 - muls r4, r3 - adds r0, r4, r1 - ldrh r3, [r0, 0x28] - adds r7, r5, 0 - adds r5, r2, 0 - adds r2, r1, 0 - ldrh r0, [r0, 0x2C] - cmp r3, r0 - bne _08027778 - mov r0, r12 - str r6, [r0] - b _080277C8 - .align 2, 0 -_08027760: .4byte gBattlescriptCurrInstr -_08027764: .4byte gActiveBattler -_08027768: .4byte gBattlerTarget -_0802776C: .4byte gBattlerAttacker -_08027770: .4byte gBattleMoveDamage -_08027774: .4byte gBattleMons -_08027778: - adds r0, r2, 0 - adds r0, 0x4C - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0xF8 - ands r1, r0 - cmp r1, 0 - beq _08027794 - ldr r1, _08027790 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08027798 - .align 2, 0 -_08027790: .4byte gBattleCommunication -_08027794: - ldr r0, _080277D0 @ =gBattleCommunication - strb r1, [r0, 0x5] -_08027798: - ldrb r0, [r5] - movs r3, 0x58 - muls r0, r3 - adds r2, 0x4C - adds r0, r2 - movs r1, 0x3 - str r1, [r0] - ldrb r0, [r7] - muls r0, r3 - adds r0, r2 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r1, _080277D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_080277C8: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080277D0: .4byte gBattleCommunication -_080277D4: .4byte gBattlescriptCurrInstr - thumb_func_end atk81_trysetrest - - thumb_func_start atk82_jumpifnotfirstturn -atk82_jumpifnotfirstturn: @ 80277D8 - push {r4,r5,lr} - ldr r5, _0802780C @ =gBattlescriptCurrInstr - ldr r4, [r5] - ldrb r3, [r4, 0x1] - ldrb r0, [r4, 0x2] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r4, 0x3] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r4, 0x4] - lsls r0, 24 - orrs r3, r0 - ldr r2, _08027810 @ =gDisableStructs - ldr r0, _08027814 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x16] - cmp r0, 0 - beq _08027818 - adds r0, r4, 0x5 - str r0, [r5] - b _0802781A - .align 2, 0 -_0802780C: .4byte gBattlescriptCurrInstr -_08027810: .4byte gDisableStructs -_08027814: .4byte gBattlerAttacker -_08027818: - str r3, [r5] -_0802781A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end atk82_jumpifnotfirstturn - - thumb_func_start atk83_nop -atk83_nop: @ 8027820 - ldr r1, _0802782C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802782C: .4byte gBattlescriptCurrInstr - thumb_func_end atk83_nop - - thumb_func_start UproarWakeUpCheck -UproarWakeUpCheck: @ 8027830 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r0, _08027888 @ =gBattlersCount - ldrb r1, [r0] - mov r8, r0 - cmp r2, r1 - bge _080278A4 - ldr r0, _0802788C @ =gBattleMons - mov r12, r0 - movs r0, 0x58 - muls r0, r3 - add r0, r12 - adds r5, r0, 0 - adds r5, 0x20 - adds r4, r1, 0 - movs r3, 0 - ldr r6, _08027890 @ =gBattleScripting - ldr r7, _08027894 @ =gBattleCommunication -_0802785C: - mov r0, r12 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x70 - ands r0, r1 - cmp r0, 0 - beq _0802789C - ldrb r0, [r5] - cmp r0, 0x2B - beq _0802789C - movs r3, 0 - strb r2, [r6, 0x17] - ldr r1, _08027898 @ =gBattlerTarget - ldrb r0, [r1] - cmp r0, 0xFF - beq _080278BC - cmp r0, r2 - beq _080278B0 - movs r0, 0x1 - strb r0, [r7, 0x5] - b _080278A4 - .align 2, 0 -_08027888: .4byte gBattlersCount -_0802788C: .4byte gBattleMons -_08027890: .4byte gBattleScripting -_08027894: .4byte gBattleCommunication -_08027898: .4byte gBattlerTarget -_0802789C: - adds r3, 0x58 - adds r2, 0x1 - cmp r2, r4 - blt _0802785C -_080278A4: - mov r1, r8 - ldrb r1, [r1] - cmp r2, r1 - beq _080278C0 - movs r0, 0x1 - b _080278C2 -_080278B0: - ldr r0, _080278B8 @ =gBattleCommunication - strb r3, [r0, 0x5] - b _080278A4 - .align 2, 0 -_080278B8: .4byte gBattleCommunication -_080278BC: - strb r2, [r1] - b _080278A4 -_080278C0: - movs r0, 0 -_080278C2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end UproarWakeUpCheck - - thumb_func_start atk84_jumpifcantmakeasleep -atk84_jumpifcantmakeasleep: @ 80278CC - push {r4-r6,lr} - ldr r5, _080278F8 @ =gBattlescriptCurrInstr - ldr r1, [r5] - ldrb r4, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r4, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r4, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r4, r0 - ldr r6, _080278FC @ =gBattlerTarget - ldrb r0, [r6] - bl UproarWakeUpCheck - lsls r0, 24 - cmp r0, 0 - beq _08027900 - str r4, [r5] - b _08027942 - .align 2, 0 -_080278F8: .4byte gBattlescriptCurrInstr -_080278FC: .4byte gBattlerTarget -_08027900: - ldr r1, _08027930 @ =gBattleMons - ldrb r3, [r6] - movs r0, 0x58 - muls r0, r3 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r1, 0xF - beq _08027918 - cmp r1, 0x48 - bne _0802793C -_08027918: - ldr r2, _08027934 @ =gLastUsedAbility - strb r0, [r2] - ldr r1, _08027938 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - str r4, [r5] - ldrb r1, [r2] - adds r0, r3, 0 - bl RecordAbilityBattle - b _08027942 - .align 2, 0 -_08027930: .4byte gBattleMons -_08027934: .4byte gLastUsedAbility -_08027938: .4byte gBattleCommunication -_0802793C: - ldr r0, [r5] - adds r0, 0x5 - str r0, [r5] -_08027942: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end atk84_jumpifcantmakeasleep - - thumb_func_start atk85_stockpile -atk85_stockpile: @ 8027948 - push {r4,r5,lr} - ldr r5, _08027970 @ =gDisableStructs - ldr r4, _08027974 @ =gBattlerAttacker - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x9] - cmp r0, 0x3 - bne _08027980 - ldr r2, _08027978 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802797C @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _080279AA - .align 2, 0 -_08027970: .4byte gDisableStructs -_08027974: .4byte gBattlerAttacker -_08027978: .4byte gMoveResultFlags -_0802797C: .4byte gBattleCommunication -_08027980: - adds r0, 0x1 - movs r3, 0 - strb r0, [r1, 0x9] - ldr r2, _080279B8 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x1 - strb r0, [r2, 0x1] - strb r0, [r2, 0x2] - strb r0, [r2, 0x3] - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x9] - strb r0, [r2, 0x4] - movs r0, 0xFF - strb r0, [r2, 0x5] - ldr r0, _080279BC @ =gBattleCommunication - strb r3, [r0, 0x5] -_080279AA: - ldr r1, _080279C0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080279B8: .4byte gBattleTextBuff1 -_080279BC: .4byte gBattleCommunication -_080279C0: .4byte gBattlescriptCurrInstr - thumb_func_end atk85_stockpile - - thumb_func_start atk86_stockpiletobasedamage -atk86_stockpiletobasedamage: @ 80279C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - ldr r3, _080279FC @ =gBattlescriptCurrInstr - ldr r1, [r3] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldr r7, _08027A00 @ =gDisableStructs - ldr r6, _08027A04 @ =gBattlerAttacker - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _08027A08 - str r2, [r3] - b _08027AAA - .align 2, 0 -_080279FC: .4byte gBattlescriptCurrInstr -_08027A00: .4byte gDisableStructs -_08027A04: .4byte gBattlerAttacker -_08027A08: - ldr r0, _08027AB8 @ =gBattleCommunication - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - beq _08027A90 - ldr r0, _08027ABC @ =gBattleMoveDamage - mov r8, r0 - ldr r4, _08027AC0 @ =gSideStatuses - ldr r5, _08027AC4 @ =gBattlerTarget - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldrb r0, [r6] - movs r4, 0x58 - muls r0, r4 - ldr r2, _08027AC8 @ =gBattleMons - adds r0, r2 - ldrb r1, [r5] - muls r1, r4 - adds r1, r2 - ldr r2, _08027ACC @ =gCurrentMove - ldrh r2, [r2] - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - ldrb r4, [r6] - str r4, [sp, 0x8] - ldrb r4, [r5] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldrb r2, [r6] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r7 - ldrb r1, [r1, 0x9] - adds r3, r0, 0 - muls r3, r1 - mov r1, r8 - str r3, [r1] - ldr r2, _08027AD0 @ =gBattleScripting - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r0, [r0, 0x9] - strb r0, [r2, 0x18] - ldr r1, _08027AD4 @ =gProtectStructs - ldrb r0, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _08027A90 - lsls r0, r3, 4 - subs r0, r3 - movs r1, 0xA - bl __divsi3 - mov r1, r8 - str r0, [r1] -_08027A90: - ldr r2, _08027AD8 @ =gDisableStructs - ldr r0, _08027ADC @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x9] - ldr r1, _08027AE0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08027AAA: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027AB8: .4byte gBattleCommunication -_08027ABC: .4byte gBattleMoveDamage -_08027AC0: .4byte gSideStatuses -_08027AC4: .4byte gBattlerTarget -_08027AC8: .4byte gBattleMons -_08027ACC: .4byte gCurrentMove -_08027AD0: .4byte gBattleScripting -_08027AD4: .4byte gProtectStructs -_08027AD8: .4byte gDisableStructs -_08027ADC: .4byte gBattlerAttacker -_08027AE0: .4byte gBattlescriptCurrInstr - thumb_func_end atk86_stockpiletobasedamage - - thumb_func_start atk87_stockpiletohpheal -atk87_stockpiletohpheal: @ 8027AE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _08027B24 @ =gBattlescriptCurrInstr - ldr r1, [r7] - ldrb r2, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r2, r0 - ldr r0, _08027B28 @ =gDisableStructs - mov r8, r0 - ldr r6, _08027B2C @ =gBattlerAttacker - ldrb r3, [r6] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - mov r1, r8 - adds r4, r0, r1 - ldrb r1, [r4, 0x9] - cmp r1, 0 - bne _08027B34 - str r2, [r7] - ldr r0, _08027B30 @ =gBattleCommunication - strb r1, [r0, 0x5] - b _08027BB0 - .align 2, 0 -_08027B24: .4byte gBattlescriptCurrInstr -_08027B28: .4byte gDisableStructs -_08027B2C: .4byte gBattlerAttacker -_08027B30: .4byte gBattleCommunication -_08027B34: - ldr r1, _08027B58 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r1, r0, r1 - ldrh r0, [r1, 0x2C] - ldrh r3, [r1, 0x28] - cmp r0, r3 - bne _08027B64 - movs r0, 0 - strb r0, [r4, 0x9] - str r2, [r7] - ldr r1, _08027B5C @ =gBattlerTarget - ldrb r0, [r6] - strb r0, [r1] - ldr r1, _08027B60 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08027BB0 - .align 2, 0 -_08027B58: .4byte gBattleMons -_08027B5C: .4byte gBattlerTarget -_08027B60: .4byte gBattleCommunication -_08027B64: - ldr r5, _08027BBC @ =gBattleMoveDamage - ldrh r0, [r1, 0x2C] - ldrb r1, [r4, 0x9] - movs r2, 0x3 - subs r2, r1 - movs r4, 0x1 - adds r1, r4, 0 - lsls r1, r2 - bl __divsi3 - str r0, [r5] - cmp r0, 0 - bne _08027B80 - str r4, [r5] -_08027B80: - ldr r0, [r5] - negs r0, r0 - str r0, [r5] - ldr r3, _08027BC0 @ =gBattleScripting - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x9] - movs r2, 0 - strb r0, [r3, 0x18] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - strb r2, [r0, 0x9] - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - ldr r1, _08027BC4 @ =gBattlerTarget - ldrb r0, [r6] - strb r0, [r1] -_08027BB0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08027BBC: .4byte gBattleMoveDamage -_08027BC0: .4byte gBattleScripting -_08027BC4: .4byte gBattlerTarget - thumb_func_end atk87_stockpiletohpheal - - thumb_func_start atk88_negativedamage -atk88_negativedamage: @ 8027BC8 - push {lr} - ldr r2, _08027BF0 @ =gBattleMoveDamage - ldr r0, _08027BF4 @ =gHpDealt - ldr r0, [r0] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - negs r0, r0 - str r0, [r2] - cmp r0, 0 - bne _08027BE4 - movs r0, 0x1 - negs r0, r0 - str r0, [r2] -_08027BE4: - ldr r1, _08027BF8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08027BF0: .4byte gBattleMoveDamage -_08027BF4: .4byte gHpDealt -_08027BF8: .4byte gBattlescriptCurrInstr - thumb_func_end atk88_negativedamage - - thumb_func_start ChangeStatBuffs -ChangeStatBuffs: @ 8027BFC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r3 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0 - mov r9, r0 - mov r10, r0 - movs r0, 0x40 - ands r0, r5 - cmp r0, 0 - beq _08027C30 - ldr r0, _08027C28 @ =gActiveBattler - ldr r1, _08027C2C @ =gBattlerAttacker - b _08027C34 - .align 2, 0 -_08027C28: .4byte gActiveBattler -_08027C2C: .4byte gBattlerAttacker -_08027C30: - ldr r0, _08027CD4 @ =gActiveBattler - ldr r1, _08027CD8 @ =gBattlerTarget -_08027C34: - ldrb r1, [r1] - strb r1, [r0] - movs r0, 0xBF - ands r5, r0 - movs r0, 0x80 - ands r0, r5 - cmp r0, 0 - beq _08027C4E - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08027C4E: - movs r0, 0x7F - ands r5, r0 - movs r0, 0x20 - ands r0, r5 - cmp r0, 0 - beq _08027C64 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 -_08027C64: - movs r0, 0xDF - ands r5, r0 - ldr r1, _08027CDC @ =gBattleTextBuff1 - movs r4, 0 - movs r2, 0xFD - strb r2, [r1] - movs r0, 0x5 - strb r0, [r1, 0x1] - strb r7, [r1, 0x2] - movs r3, 0x1 - negs r3, r3 - mov r12, r3 - movs r0, 0xFF - strb r0, [r1, 0x3] - lsls r0, r6, 24 - cmp r0, 0 - blt _08027C88 - b _08027F6C -_08027C88: - ldr r4, _08027CE0 @ =gSideTimers - ldr r1, _08027CD4 @ =gActiveBattler - ldrb r0, [r1] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08027D28 - mov r2, r9 - cmp r2, 0 - bne _08027D28 - ldr r0, _08027CE4 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08027D58 - cmp r5, 0x1 - bne _08027D48 - ldr r4, _08027CE8 @ =gSpecialStatuses - ldr r3, _08027CD4 @ =gActiveBattler - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08027CF0 - ldr r0, _08027CEC @ =gBattlescriptCurrInstr - mov r4, r8 - str r4, [r0] - b _08027D48 - .align 2, 0 -_08027CD4: .4byte gActiveBattler -_08027CD8: .4byte gBattlerTarget -_08027CDC: .4byte gBattleTextBuff1 -_08027CE0: .4byte gSideTimers -_08027CE4: .4byte gCurrentMove -_08027CE8: .4byte gSpecialStatuses -_08027CEC: .4byte gBattlescriptCurrInstr -_08027CF0: - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027D18 @ =gBattleScripting - ldr r6, _08027D1C @ =gActiveBattler - ldrb r0, [r6] - strb r0, [r1, 0x17] - ldr r1, _08027D20 @ =gBattlescriptCurrInstr - ldr r0, _08027D24 @ =BattleScript_MistProtected - str r0, [r1] - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _08027D48 - .align 2, 0 -_08027D18: .4byte gBattleScripting -_08027D1C: .4byte gActiveBattler -_08027D20: .4byte gBattlescriptCurrInstr -_08027D24: .4byte BattleScript_MistProtected -_08027D28: - ldr r0, _08027D4C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08027D58 - mov r0, r10 - cmp r0, 0x1 - beq _08027D58 - movs r0, 0 - bl JumpIfMoveAffectedByProtect - lsls r0, 24 - cmp r0, 0 - beq _08027D58 - ldr r1, _08027D50 @ =gBattlescriptCurrInstr - ldr r0, _08027D54 @ =BattleScript_ButItFailed - str r0, [r1] -_08027D48: - movs r0, 0x1 - b _08028060 - .align 2, 0 -_08027D4C: .4byte gCurrentMove -_08027D50: .4byte gBattlescriptCurrInstr -_08027D54: .4byte BattleScript_ButItFailed -_08027D58: - ldr r2, _08027DA0 @ =gBattleMons - ldr r1, _08027DA4 @ =gActiveBattler - ldrb r3, [r1] - movs r4, 0x58 - adds r0, r3, 0 - muls r0, r4 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - mov r10, r2 - cmp r0, 0x1D - beq _08027D74 - cmp r0, 0x49 - bne _08027E0C -_08027D74: - mov r0, r9 - cmp r0, 0 - bne _08027E0C - ldr r0, _08027DA8 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xAE - beq _08027E0C - cmp r5, 0x1 - bne _08027D48 - ldr r4, _08027DAC @ =gSpecialStatuses - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08027DB4 - ldr r0, _08027DB0 @ =gBattlescriptCurrInstr - mov r1, r8 - str r1, [r0] - b _08027D48 - .align 2, 0 -_08027DA0: .4byte gBattleMons -_08027DA4: .4byte gActiveBattler -_08027DA8: .4byte gCurrentMove -_08027DAC: .4byte gSpecialStatuses -_08027DB0: .4byte gBattlescriptCurrInstr -_08027DB4: - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027DF8 @ =gBattleScripting - ldr r2, _08027DFC @ =gActiveBattler - ldrb r0, [r2] - strb r0, [r1, 0x17] - ldr r1, _08027E00 @ =gBattlescriptCurrInstr - ldr r0, _08027E04 @ =BattleScript_AbilityNoStatLoss - str r0, [r1] - ldr r1, _08027E08 @ =gLastUsedAbility - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r2] - ldrb r1, [r1] - bl RecordAbilityBattle - ldr r6, _08027DFC @ =gActiveBattler - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _08027D48 - .align 2, 0 -_08027DF8: .4byte gBattleScripting -_08027DFC: .4byte gActiveBattler -_08027E00: .4byte gBattlescriptCurrInstr -_08027E04: .4byte BattleScript_AbilityNoStatLoss -_08027E08: .4byte gLastUsedAbility -_08027E0C: - ldr r1, _08027E58 @ =gActiveBattler - ldrb r0, [r1] - movs r4, 0x58 - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x33 - bne _08027E6C - mov r2, r9 - cmp r2, 0 - bne _08027E6C - cmp r7, 0x6 - bne _08027E6C - cmp r5, 0x1 - bne _08027D48 - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027E5C @ =gBattleScripting - ldr r3, _08027E58 @ =gActiveBattler - ldrb r0, [r3] - strb r0, [r1, 0x17] - ldr r1, _08027E60 @ =gBattlescriptCurrInstr - ldr r0, _08027E64 @ =BattleScript_AbilityNoSpecificStatLoss - str r0, [r1] - ldr r1, _08027E68 @ =gLastUsedAbility - ldrb r0, [r3] - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r3] - ldrb r1, [r1] - bl RecordAbilityBattle - b _08027D48 - .align 2, 0 -_08027E58: .4byte gActiveBattler -_08027E5C: .4byte gBattleScripting -_08027E60: .4byte gBattlescriptCurrInstr -_08027E64: .4byte BattleScript_AbilityNoSpecificStatLoss -_08027E68: .4byte gLastUsedAbility -_08027E6C: - ldr r4, _08027EBC @ =gActiveBattler - ldrb r0, [r4] - movs r4, 0x58 - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x34 - bne _08027ED0 - mov r0, r9 - cmp r0, 0 - bne _08027ED0 - cmp r7, 0x1 - bne _08027ED0 - cmp r5, 0x1 - beq _08027E8E - b _08027D48 -_08027E8E: - mov r0, r8 - bl BattleScriptPush - ldr r1, _08027EC0 @ =gBattleScripting - ldr r2, _08027EBC @ =gActiveBattler - ldrb r0, [r2] - strb r0, [r1, 0x17] - ldr r1, _08027EC4 @ =gBattlescriptCurrInstr - ldr r0, _08027EC8 @ =BattleScript_AbilityNoSpecificStatLoss - str r0, [r1] - ldr r1, _08027ECC @ =gLastUsedAbility - ldrb r0, [r2] - muls r0, r4 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r2] - ldrb r1, [r1] - bl RecordAbilityBattle - b _08027D48 - .align 2, 0 -_08027EBC: .4byte gActiveBattler -_08027EC0: .4byte gBattleScripting -_08027EC4: .4byte gBattlescriptCurrInstr -_08027EC8: .4byte BattleScript_AbilityNoSpecificStatLoss -_08027ECC: .4byte gLastUsedAbility -_08027ED0: - ldr r3, _08027F5C @ =gActiveBattler - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - add r0, r10 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x13 - bne _08027EE8 - cmp r5, 0 - bne _08027EE8 - b _08027D48 -_08027EE8: - lsls r0, r6, 24 - asrs r0, 28 - movs r1, 0x7 - ands r0, r1 - negs r0, r0 - lsls r0, 24 - ldr r3, _08027F60 @ =gBattleTextBuff2 - movs r4, 0 - movs r1, 0xFD - strb r1, [r3] - movs r2, 0x1 - lsrs r6, r0, 24 - asrs r0, 24 - subs r1, 0xFF - cmp r0, r1 - bne _08027F12 - strb r4, [r3, 0x1] - movs r0, 0xD3 - strb r0, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0x4 -_08027F12: - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xD4 - strb r0, [r1] - adds r2, 0x1 - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xFF - strb r0, [r1] - ldr r4, _08027F5C @ =gActiveBattler - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r0, r7, r0 - mov r1, r10 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _08027FC2 - movs r1, 0 - ldr r0, _08027F64 @ =gBattlerTarget - ldrb r0, [r0] - ldr r3, _08027F68 @ =gBattleCommunication - mov r8, r3 - cmp r0, r2 - bne _08027F56 - movs r1, 0x1 -_08027F56: - mov r4, r8 - strb r1, [r4, 0x5] - b _08027FF0 - .align 2, 0 -_08027F5C: .4byte gActiveBattler -_08027F60: .4byte gBattleTextBuff2 -_08027F64: .4byte gBattlerTarget -_08027F68: .4byte gBattleCommunication -_08027F6C: - asrs r6, r0, 28 - movs r0, 0x7 - ands r6, r0 - ldr r3, _08027FCC @ =gBattleTextBuff2 - strb r2, [r3] - movs r2, 0x1 - cmp r6, 0x2 - bne _08027F86 - strb r4, [r3, 0x1] - movs r0, 0xD1 - strb r0, [r3, 0x2] - strb r4, [r3, 0x3] - movs r2, 0x4 -_08027F86: - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - movs r0, 0xD2 - strb r0, [r1] - adds r2, 0x1 - adds r0, r2, r3 - strb r4, [r0] - adds r2, 0x1 - adds r1, r2, r3 - ldrb r0, [r1] - mov r2, r12 - orrs r0, r2 - strb r0, [r1] - ldr r2, _08027FD0 @ =gBattleMons - ldr r4, _08027FD4 @ =gActiveBattler - ldrb r3, [r4] - movs r0, 0x58 - muls r0, r3 - adds r0, r7, r0 - adds r1, r2, 0 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - mov r10, r2 - cmp r0, 0xC - bne _08027FDC -_08027FC2: - ldr r1, _08027FD8 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - mov r8, r1 - b _08027FF0 - .align 2, 0 -_08027FCC: .4byte gBattleTextBuff2 -_08027FD0: .4byte gBattleMons -_08027FD4: .4byte gActiveBattler -_08027FD8: .4byte gBattleCommunication -_08027FDC: - movs r1, 0 - ldr r0, _08028070 @ =gBattlerTarget - ldrb r0, [r0] - ldr r2, _08028074 @ =gBattleCommunication - mov r8, r2 - cmp r0, r3 - bne _08027FEC - movs r1, 0x1 -_08027FEC: - mov r3, r8 - strb r1, [r3, 0x5] -_08027FF0: - ldr r2, _08028078 @ =gActiveBattler - ldrb r0, [r2] - movs r4, 0x58 - adds r1, r0, 0 - muls r1, r4 - adds r1, r7, r1 - mov r3, r10 - adds r3, 0x18 - adds r1, r3 - lsls r0, r6, 24 - asrs r0, 24 - ldrb r6, [r1] - adds r0, r6 - strb r0, [r1] - ldrb r0, [r2] - muls r0, r4 - adds r0, r7, r0 - adds r1, r0, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _08028020 - movs r0, 0 - strb r0, [r1] -_08028020: - ldr r1, _08028078 @ =gActiveBattler - ldrb r0, [r1] - muls r0, r4 - adds r0, r7, r0 - adds r1, r0, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _08028036 - movs r0, 0xC - strb r0, [r1] -_08028036: - mov r2, r8 - ldrb r0, [r2, 0x5] - cmp r0, 0x2 - bne _0802805E - movs r3, 0x1 - ands r3, r5 - cmp r3, 0 - beq _08028050 - ldr r0, _0802807C @ =gMoveResultFlags - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] -_08028050: - mov r4, r8 - ldrb r0, [r4, 0x5] - cmp r0, 0x2 - bne _0802805E - cmp r3, 0 - bne _0802805E - b _08027D48 -_0802805E: - movs r0, 0 -_08028060: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08028070: .4byte gBattlerTarget -_08028074: .4byte gBattleCommunication -_08028078: .4byte gActiveBattler -_0802807C: .4byte gMoveResultFlags - thumb_func_end ChangeStatBuffs - - thumb_func_start atk89_statbuffchange -atk89_statbuffchange: @ 8028080 - push {r4,r5,lr} - ldr r5, _080280C4 @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r3, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r3, r0 - ldr r0, _080280C8 @ =gBattleScripting - ldrb r4, [r0, 0x1A] - movs r0, 0xF0 - ands r0, r4 - lsls r0, 24 - asrs r0, 24 - movs r1, 0xF - ands r1, r4 - ldrb r2, [r2, 0x1] - bl ChangeStatBuffs - lsls r0, 24 - cmp r0, 0 - bne _080280BC - ldr r0, [r5] - adds r0, 0x6 - str r0, [r5] -_080280BC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080280C4: .4byte gBattlescriptCurrInstr -_080280C8: .4byte gBattleScripting - thumb_func_end atk89_statbuffchange - - thumb_func_start atk8A_normalisebuffs -atk8A_normalisebuffs: @ 80280CC - push {r4-r7,lr} - movs r2, 0 - ldr r0, _08028114 @ =gBattlersCount - ldrb r1, [r0] - ldr r0, _08028118 @ =gBattlescriptCurrInstr - mov r12, r0 - cmp r2, r1 - bge _08028104 - ldr r0, _0802811C @ =gBattleMons - movs r4, 0x6 - adds r5, r1, 0 - movs r7, 0x58 - adds r6, r0, 0 - adds r6, 0x18 -_080280E8: - adds r3, r2, 0x1 - movs r1, 0x7 - adds r0, r2, 0 - muls r0, r7 - adds r0, r6 - adds r0, 0x7 -_080280F4: - strb r4, [r0] - subs r0, 0x1 - subs r1, 0x1 - cmp r1, 0 - bge _080280F4 - adds r2, r3, 0 - cmp r2, r5 - blt _080280E8 -_08028104: - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028114: .4byte gBattlersCount -_08028118: .4byte gBattlescriptCurrInstr -_0802811C: .4byte gBattleMons - thumb_func_end atk8A_normalisebuffs - - thumb_func_start atk8B_setbide -atk8B_setbide: @ 8028120 - push {r4,r5,lr} - ldr r4, _08028178 @ =gBattleMons - ldr r3, _0802817C @ =gBattlerAttacker - ldrb r0, [r3] - movs r5, 0x58 - adds r2, r0, 0 - muls r2, r5 - adds r4, 0x50 - adds r2, r4 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 5 - orrs r0, r1 - str r0, [r2] - ldr r1, _08028180 @ =gLockedMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r1 - ldr r1, _08028184 @ =gCurrentMove - ldrh r1, [r1] - movs r2, 0 - strh r1, [r0] - ldr r1, _08028188 @ =gTakenDmg - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - str r2, [r0] - ldrb r0, [r3] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 2 - orrs r0, r2 - str r0, [r1] - ldr r1, _0802818C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028178: .4byte gBattleMons -_0802817C: .4byte gBattlerAttacker -_08028180: .4byte gLockedMoves -_08028184: .4byte gCurrentMove -_08028188: .4byte gTakenDmg -_0802818C: .4byte gBattlescriptCurrInstr - thumb_func_end atk8B_setbide - - thumb_func_start atk8C_confuseifrepeatingattackends -atk8C_confuseifrepeatingattackends: @ 8028190 - push {lr} - ldr r1, _080281C0 @ =gBattleMons - ldr r0, _080281C4 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 4 - ands r0, r1 - cmp r0, 0 - bne _080281B2 - ldr r1, _080281C8 @ =gBattleCommunication - movs r0, 0x75 - strb r0, [r1, 0x3] -_080281B2: - ldr r1, _080281CC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080281C0: .4byte gBattleMons -_080281C4: .4byte gBattlerAttacker -_080281C8: .4byte gBattleCommunication -_080281CC: .4byte gBattlescriptCurrInstr - thumb_func_end atk8C_confuseifrepeatingattackends - - thumb_func_start atk8D_setmultihitcounter -atk8D_setmultihitcounter: @ 80281D0 - push {r4,r5,lr} - ldr r0, _080281E4 @ =gBattlescriptCurrInstr - ldr r0, [r0] - ldrb r1, [r0, 0x1] - cmp r1, 0 - beq _080281EC - ldr r0, _080281E8 @ =gMultiHitCounter - strb r1, [r0] - b _08028206 - .align 2, 0 -_080281E4: .4byte gBattlescriptCurrInstr -_080281E8: .4byte gMultiHitCounter -_080281EC: - ldr r4, _08028214 @ =gMultiHitCounter - bl Random - movs r5, 0x3 - ands r0, r5 - strb r0, [r4] - cmp r0, 0x1 - bls _08028202 - bl Random - ands r0, r5 -_08028202: - adds r0, 0x2 - strb r0, [r4] -_08028206: - ldr r1, _08028218 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028214: .4byte gMultiHitCounter -_08028218: .4byte gBattlescriptCurrInstr - thumb_func_end atk8D_setmultihitcounter - - thumb_func_start atk8E_initmultihitstring -atk8E_initmultihitstring: @ 802821C - ldr r1, _0802823C @ =gBattleScripting - movs r2, 0 - movs r0, 0xFD - strb r0, [r1, 0x8] - movs r0, 0x1 - strb r0, [r1, 0x9] - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - strb r2, [r1, 0xC] - movs r0, 0xFF - strb r0, [r1, 0xD] - ldr r1, _08028240 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802823C: .4byte gBattleScripting -_08028240: .4byte gBattlescriptCurrInstr - thumb_func_end atk8E_initmultihitstring - - thumb_func_start TryDoForceSwitchOut -TryDoForceSwitchOut: @ 8028244 - push {r4-r7,lr} - ldr r6, _08028278 @ =gBattleMons - ldr r7, _0802827C @ =gBattlerAttacker - ldrb r0, [r7] - movs r5, 0x58 - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - adds r1, 0x2A - ldr r4, _08028280 @ =gBattlerTarget - ldrb r3, [r4] - adds r0, r3, 0 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcc _0802828C - ldr r0, _08028284 @ =gBattleStruct - ldr r1, [r0] - adds r1, r3, r1 - adds r1, 0x58 - ldr r2, _08028288 @ =gBattlerPartyIndexes - lsls r0, r3, 1 - b _080282E8 - .align 2, 0 -_08028278: .4byte gBattleMons -_0802827C: .4byte gBattlerAttacker -_08028280: .4byte gBattlerTarget -_08028284: .4byte gBattleStruct -_08028288: .4byte gBattlerPartyIndexes -_0802828C: - bl Random - movs r3, 0xFF - ands r3, r0 - ldrb r0, [r7] - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r2, [r0] - ldrb r4, [r4] - adds r0, r4, 0 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r0] - adds r2, r1 - adds r0, r3, 0 - muls r0, r2 - asrs r0, 8 - adds r0, 0x1 - lsrs r1, 2 - cmp r0, r1 - bhi _080282DC - ldr r3, _080282D8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - movs r0, 0 - b _080282F6 - .align 2, 0 -_080282D8: .4byte gBattlescriptCurrInstr -_080282DC: - ldr r0, _080282FC @ =gBattleStruct - ldr r1, [r0] - adds r1, r4, r1 - adds r1, 0x58 - ldr r2, _08028300 @ =gBattlerPartyIndexes - lsls r0, r4, 1 -_080282E8: - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r1, _08028304 @ =gBattlescriptCurrInstr - ldr r0, _08028308 @ =BattleScript_SuccessForceOut - str r0, [r1] - movs r0, 0x1 -_080282F6: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080282FC: .4byte gBattleStruct -_08028300: .4byte gBattlerPartyIndexes -_08028304: .4byte gBattlescriptCurrInstr -_08028308: .4byte BattleScript_SuccessForceOut - thumb_func_end TryDoForceSwitchOut - thumb_func_start atk8F_forcerandomswitch atk8F_forcerandomswitch: @ 802830C push {r4-r7,lr} diff --git a/asm/party_menu.s b/asm/party_menu.s index 661dddf60..44a250e82 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -15250,7 +15250,7 @@ sub_8126350: @ 8126350 lsls r2, 2 adds r1, r7, r2 adds r0, r4, 0 - bl sub_811D130 + bl GetMonLevelUpWindowStats ldrb r0, [r6, 0x9] ldr r5, _0812641C @ =gSpecialVar_ItemId ldrh r1, [r5] @@ -15260,7 +15260,7 @@ sub_8126350: @ 8126350 lsls r0, 2 adds r1, r7, r0 adds r0, r4, 0 - bl sub_811D130 + bl GetMonLevelUpWindowStats ldr r1, _08126420 @ =gUnknown_203B0C0 movs r0, 0x1 strb r0, [r1] @@ -15497,7 +15497,7 @@ sub_8126570: @ 8126570 str r1, [sp, 0x4] adds r1, r4, 0 movs r3, 0x1 - bl sub_811E7F0 + bl DrawLevelUpWindowPg1 ldrb r0, [r4, 0x18] movs r1, 0x2 bl CopyWindowToVram @@ -15528,7 +15528,7 @@ sub_81265BC: @ 81265BC str r2, [sp] movs r2, 0x1 movs r3, 0x2 - bl sub_811E93C + bl DrawLevelUpWindowPg2 ldrb r0, [r4, 0x18] movs r1, 0x2 bl CopyWindowToVram diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index c8906230b..9092a38aa 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -1508,8 +1508,8 @@ sub_811D120: @ 811D120 bx r1 thumb_func_end sub_811D120 - thumb_func_start sub_811D130 -sub_811D130: @ 811D130 + thumb_func_start GetMonLevelUpWindowStats +GetMonLevelUpWindowStats: @ 811D130 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -1539,7 +1539,7 @@ sub_811D130: @ 811D130 pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_811D130 + thumb_func_end GetMonLevelUpWindowStats thumb_func_start sub_811D178 sub_811D178: @ 811D178 @@ -2294,7 +2294,7 @@ sub_811D764: @ 811D764 adds r1, r4, 0 adds r2, r5, 0 movs r3, 0x1 - bl sub_811E7F0 + bl DrawLevelUpWindowPg1 movs r0, 0x1 bl PutWindowTilemap movs r0, 0x1 @@ -2316,7 +2316,7 @@ sub_811D7A0: @ 811D7A0 movs r0, 0x1 movs r2, 0x1 movs r3, 0x2 - bl sub_811E93C + bl DrawLevelUpWindowPg2 movs r0, 0x1 movs r1, 0x2 bl CopyWindowToVram @@ -4457,8 +4457,8 @@ _0811E7E8: _0811E7EC: .4byte gTasks thumb_func_end sub_811E7B4 - thumb_func_start sub_811E7F0 -sub_811E7F0: @ 811E7F0 + thumb_func_start DrawLevelUpWindowPg1 +DrawLevelUpWindowPg1: @ 811E7F0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -4622,10 +4622,10 @@ _0811E8F4: _0811E930: .4byte gUnknown_8459B48 _0811E934: .4byte gUnknown_841B2E5 _0811E938: .4byte gUnknown_841B2DC - thumb_func_end sub_811E7F0 + thumb_func_end DrawLevelUpWindowPg1 - thumb_func_start sub_811E93C -sub_811E93C: @ 811E93C + thumb_func_start DrawLevelUpWindowPg2 +DrawLevelUpWindowPg2: @ 811E93C push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -4755,6 +4755,6 @@ _0811E9C0: bx r0 .align 2, 0 _0811EA40: .4byte gUnknown_8459B48 - thumb_func_end sub_811E93C + thumb_func_end DrawLevelUpWindowPg2 .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From ca130a8aeb39d05340495766a1f33dc854f6b4a1 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 10:27:36 +0800 Subject: thru atkc0 --- asm/battle_script_commands.s | 6463 ------------------------------------------ 1 file changed, 6463 deletions(-) (limited to 'asm') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 68bff599e..5d8648ced 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,6469 +5,6 @@ .text - thumb_func_start atk8F_forcerandomswitch -atk8F_forcerandomswitch: @ 802830C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080283A4 @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08028320 - b _080285F4 -_08028320: - ldr r5, _080283A8 @ =gBattlerTarget - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _080283AC @ =gEnemyParty - mov r8, r1 - cmp r0, 0 - bne _08028336 - ldr r0, _080283B0 @ =gPlayerParty - mov r8, r0 -_08028336: - ldr r0, [r4] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080283B4 - movs r7, 0 - movs r6, 0 - ldrb r0, [r5] - bl GetBattlerMultiplayerId - lsls r0, 24 - lsrs r0, 24 - bl GetLinkTrainerFlankId - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0802835C - movs r6, 0x3 -_0802835C: - adds r5, r6, 0 - adds r0, r5, 0x3 - cmp r5, r0 - bge _080283F4 -_08028364: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08028396 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _08028396 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08028396 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_08028396: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0x3 - cmp r5, r0 - blt _08028364 - b _080283F4 - .align 2, 0 -_080283A4: .4byte gBattleTypeFlags -_080283A8: .4byte gBattlerTarget -_080283AC: .4byte gEnemyParty -_080283B0: .4byte gPlayerParty -_080283B4: - movs r7, 0 - movs r5, 0 -_080283B8: - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080283EA - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _080283EA - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080283EA - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080283EA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080283B8 -_080283F4: - cmp r7, 0x1 - bhi _08028404 - ldr r0, _08028438 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x41 - ands r0, r1 - cmp r0, 0x1 - bne _0802841C -_08028404: - cmp r7, 0x2 - bhi _08028440 - ldr r0, _08028438 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08028440 - movs r0, 0x40 - ands r1, r0 - cmp r1, 0 - bne _08028440 -_0802841C: - ldr r3, _0802843C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _080285F8 - .align 2, 0 -_08028438: .4byte gBattleTypeFlags -_0802843C: .4byte gBattlescriptCurrInstr -_08028440: - bl TryDoForceSwitchOut - lsls r0, 24 - cmp r0, 0 - bne _0802844C - b _080285F8 -_0802844C: - ldr r0, _0802848C @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080284F0 -_08028458: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08028490 @ =gBattlerTarget - ldrb r0, [r0] - bl GetBattlerMultiplayerId - lsls r0, 24 - lsrs r0, 24 - bl GetLinkTrainerFlankId - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _08028494 - adds r0, r6, 0x3 - lsls r0, 24 - lsrs r5, r0, 24 - b _08028496 - .align 2, 0 -_0802848C: .4byte gBattleTypeFlags -_08028490: .4byte gBattlerTarget -_08028494: - adds r5, r6, 0 -_08028496: - ldr r4, _080284E8 @ =gBattlerPartyIndexes - ldr r0, _080284EC @ =gBattlerTarget - ldrb r2, [r0] - lsls r1, r2, 1 - adds r1, r4 - lsls r0, r5, 16 - lsrs r3, r0, 16 - ldrh r1, [r1] - cmp r3, r1 - beq _08028458 - movs r0, 0x2 - eors r2, r0 - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r3, r0 - beq _08028458 - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08028458 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _08028458 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08028458 - b _080285AE - .align 2, 0 -_080284E8: .4byte gBattlerPartyIndexes -_080284EC: .4byte gBattlerTarget -_080284F0: - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08028560 - ldr r6, _08028558 @ =gBattlerPartyIndexes -_080284FA: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0802855C @ =gBattlerTarget - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r6 - adds r2, r5, 0 - ldrh r0, [r0] - cmp r2, r0 - beq _080284FA - movs r0, 0x2 - eors r1, r0 - lsls r0, r1, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r2, r0 - beq _080284FA - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _080284FA - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _080284FA - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _080284FA - b _080285AE - .align 2, 0 -_08028558: .4byte gBattlerPartyIndexes -_0802855C: .4byte gBattlerTarget -_08028560: - ldr r6, _080285E8 @ =gBattlerPartyIndexes -_08028562: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080285EC @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - cmp r5, r0 - beq _08028562 - movs r0, 0x64 - muls r0, r5 - mov r1, r8 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _08028562 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0x1 - beq _08028562 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08028562 -_080285AE: - ldr r4, _080285EC @ =gBattlerTarget - ldrb r0, [r4] - ldr r1, _080285F0 @ =gBattleStruct - ldr r1, [r1] - adds r0, r1 - adds r0, 0x5C - strb r5, [r0] - bl IsMultiBattle - lsls r0, 24 - cmp r0, 0 - bne _080285CC - ldrb r0, [r4] - bl sub_8013F6C -_080285CC: - ldrb r0, [r4] - adds r1, r5, 0 - movs r2, 0 - bl sub_8127EC4 - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8127EC4 - b _080285F8 - .align 2, 0 -_080285E8: .4byte gBattlerPartyIndexes -_080285EC: .4byte gBattlerTarget -_080285F0: .4byte gBattleStruct -_080285F4: - bl TryDoForceSwitchOut -_080285F8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk8F_forcerandomswitch - - thumb_func_start atk90_tryconversiontypechange -atk90_tryconversiontypechange: @ 8028604 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r2, _08028698 @ =gBattleMons - ldr r3, _0802869C @ =gBattlerAttacker - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r1, r2, 0 - adds r1, 0xC - adds r0, r1 - ldrh r0, [r0] - mov r8, r2 - cmp r0, 0 - beq _08028646 - movs r5, 0x58 - adds r2, r1, 0 -_0802862C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bhi _08028646 - lsls r1, r6, 1 - ldrb r0, [r3] - muls r0, r5 - adds r1, r0 - adds r1, r2 - ldrh r0, [r1] - cmp r0, 0 - bne _0802862C -_08028646: - movs r3, 0 - cmp r3, r6 - bcs _080286C8 - ldr r0, _080286A0 @ =gBattleMoves - mov r10, r0 - ldr r5, _08028698 @ =gBattleMons - mov r12, r5 - ldr r7, _0802869C @ =gBattlerAttacker - ldrb r0, [r7] - movs r4, 0x58 - adds r5, r0, 0 - muls r5, r4 - movs r0, 0xC - add r0, r12 - mov r9, r0 -_08028664: - lsls r0, r3, 1 - adds r0, r5 - add r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r2, [r0, 0x2] - cmp r2, 0x9 - bne _080286A6 - mov r0, r8 - adds r1, r5, r0 - adds r0, r1, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _08028692 - adds r0, r1, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _080286A4 -_08028692: - movs r2, 0x7 - b _080286A6 - .align 2, 0 -_08028698: .4byte gBattleMons -_0802869C: .4byte gBattlerAttacker -_080286A0: .4byte gBattleMoves -_080286A4: - movs r2, 0 -_080286A6: - ldrb r0, [r7] - muls r0, r4 - add r0, r12 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r2, r1 - beq _080286BE - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - bne _080286C8 -_080286BE: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r6 - bcc _08028664 -_080286C8: - cmp r3, r6 - bne _080286EC - ldr r3, _080286E8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08028790 - .align 2, 0 -_080286E8: .4byte gBattlescriptCurrInstr -_080286EC: - movs r7, 0x3 - ldr r5, _08028744 @ =gBattleMoves - mov r9, r5 -_080286F2: - bl Random - adds r3, r0, 0 - ands r3, r7 - cmp r3, r6 - bcs _080286F2 - ldr r4, _08028748 @ =gBattleMons - lsls r1, r3, 1 - ldr r3, _0802874C @ =gBattlerAttacker - ldrb r2, [r3] - movs r0, 0x58 - adds r5, r2, 0 - muls r5, r0 - adds r1, r5 - adds r0, r4, 0 - adds r0, 0xC - adds r1, r0 - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldrb r2, [r0, 0x2] - mov r8, r4 - adds r4, r3, 0 - cmp r2, 0x9 - bne _08028752 - mov r0, r8 - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x7 - beq _08028740 - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x7 - bne _08028750 -_08028740: - movs r2, 0x7 - b _08028752 - .align 2, 0 -_08028744: .4byte gBattleMoves -_08028748: .4byte gBattleMons -_0802874C: .4byte gBattlerAttacker -_08028750: - movs r2, 0 -_08028752: - ldrb r0, [r4] - movs r3, 0x58 - muls r0, r3 - add r0, r8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r5, [r1] - cmp r2, r5 - beq _080286F2 - adds r0, 0x22 - ldrb r0, [r0] - cmp r2, r0 - beq _080286F2 - strb r2, [r1] - ldrb r0, [r4] - muls r0, r3 - add r0, r8 - adds r0, 0x22 - strb r2, [r0] - ldr r1, _080287A0 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _080287A4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08028790: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080287A0: .4byte gBattleTextBuff1 -_080287A4: .4byte gBattlescriptCurrInstr - thumb_func_end atk90_tryconversiontypechange - - thumb_func_start atk91_givepaydaymoney -atk91_givepaydaymoney: @ 80287A8 - push {r4,r5,lr} - ldr r0, _0802880C @ =gBattleTypeFlags - ldr r0, [r0] - movs r5, 0x2 - ands r0, r5 - cmp r0, 0 - bne _08028828 - ldr r1, _08028810 @ =gPaydayMoney - ldrh r0, [r1] - cmp r0, 0 - beq _08028828 - adds r1, r0, 0 - ldr r0, _08028814 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x4A - ldrb r0, [r0] - adds r4, r1, 0 - muls r4, r0 - ldr r0, _08028818 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - adds r1, r4, 0 - bl AddMoney - ldr r1, _0802881C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0x5 - strb r0, [r1, 0x3] - strb r4, [r1, 0x4] - movs r0, 0xFF - lsls r0, 8 - ands r4, r0 - lsrs r4, 8 - strb r4, [r1, 0x5] - movs r0, 0xFF - strb r0, [r1, 0x6] - ldr r4, _08028820 @ =gBattlescriptCurrInstr - ldr r0, [r4] - adds r0, 0x1 - bl BattleScriptPush - ldr r0, _08028824 @ =BattleScript_PrintPayDayMoneyString - str r0, [r4] - b _08028830 - .align 2, 0 -_0802880C: .4byte gBattleTypeFlags -_08028810: .4byte gPaydayMoney -_08028814: .4byte gBattleStruct -_08028818: .4byte gSaveBlock1Ptr -_0802881C: .4byte gBattleTextBuff1 -_08028820: .4byte gBattlescriptCurrInstr -_08028824: .4byte BattleScript_PrintPayDayMoneyString -_08028828: - ldr r1, _08028838 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08028830: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028838: .4byte gBattlescriptCurrInstr - thumb_func_end atk91_givepaydaymoney - - thumb_func_start atk92_setlightscreen -atk92_setlightscreen: @ 802883C - push {r4-r6,lr} - ldr r5, _0802886C @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerPosition - ldr r4, _08028870 @ =gSideStatuses - movs r6, 0x1 - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r1, [r1] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0802887C - ldr r2, _08028874 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08028878 @ =gBattleCommunication - movs r0, 0 - b _080288F0 - .align 2, 0 -_0802886C: .4byte gBattlerAttacker -_08028870: .4byte gSideStatuses -_08028874: .4byte gMoveResultFlags -_08028878: .4byte gBattleCommunication -_0802887C: - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r0, [r1] - movs r2, 0x2 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r5] - bl GetBattlerPosition - ldr r4, _080288E0 @ =gSideTimers - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x5 - strb r1, [r0, 0x2] - ldrb r0, [r5] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r5] - strb r1, [r0, 0x3] - ldr r0, _080288E4 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r6 - cmp r0, 0 - beq _080288EC - movs r0, 0x1 - bl CountAliveMonsInBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080288EC - ldr r1, _080288E8 @ =gBattleCommunication - movs r0, 0x4 - b _080288F0 - .align 2, 0 -_080288E0: .4byte gSideTimers -_080288E4: .4byte gBattleTypeFlags -_080288E8: .4byte gBattleCommunication -_080288EC: - ldr r1, _08028900 @ =gBattleCommunication - movs r0, 0x3 -_080288F0: - strb r0, [r1, 0x5] - ldr r1, _08028904 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08028900: .4byte gBattleCommunication -_08028904: .4byte gBattlescriptCurrInstr - thumb_func_end atk92_setlightscreen - - thumb_func_start atk93_tryKO -atk93_tryKO: @ 8028908 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r7, _08028934 @ =gBattleMons - ldr r6, _08028938 @ =gBattlerTarget - ldrb r2, [r6] - movs r5, 0x58 - adds r0, r2, 0 - muls r0, r5 - adds r1, r0, r7 - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _08028940 - ldr r1, _0802893C @ =gEnigmaBerries - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x7] - ldrb r6, [r0, 0x1A] - b _0802895A - .align 2, 0 -_08028934: .4byte gBattleMons -_08028938: .4byte gBattlerTarget -_0802893C: .4byte gEnigmaBerries -_08028940: - ldrh r0, [r1, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7 - ldrh r0, [r0, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r6, r0, 24 -_0802895A: - ldr r1, _080289D4 @ =gPotentialItemEffectBattler - ldr r5, _080289D8 @ =gBattlerTarget - ldrb r0, [r5] - strb r0, [r1] - cmp r4, 0x27 - bne _08028998 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcs _08028998 - ldrb r0, [r5] - movs r1, 0x27 - bl RecordItemEffectBattle - ldr r2, _080289DC @ =gSpecialStatuses - ldrb r1, [r5] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_08028998: - ldr r1, _080289E0 @ =gBattleMons - ldr r2, _080289D8 @ =gBattlerTarget - ldrb r3, [r2] - movs r6, 0x58 - adds r0, r3, 0 - muls r0, r6 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x20 - ldrb r4, [r0] - mov r8, r1 - mov r9, r2 - cmp r4, 0x5 - bne _080289F4 - ldr r2, _080289E4 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080289E8 @ =gLastUsedAbility - strb r4, [r0] - ldr r1, _080289EC @ =gBattlescriptCurrInstr - ldr r0, _080289F0 @ =BattleScript_SturdyPreventsOHKO - str r0, [r1] - mov r1, r9 - ldrb r0, [r1] - movs r1, 0x5 - bl RecordAbilityBattle - b _08028C48 - .align 2, 0 -_080289D4: .4byte gPotentialItemEffectBattler -_080289D8: .4byte gBattlerTarget -_080289DC: .4byte gSpecialStatuses -_080289E0: .4byte gBattleMons -_080289E4: .4byte gMoveResultFlags -_080289E8: .4byte gLastUsedAbility -_080289EC: .4byte gBattlescriptCurrInstr -_080289F0: .4byte BattleScript_SturdyPreventsOHKO -_080289F4: - ldr r1, _08028A68 @ =gStatuses3 - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x18 - ands r0, r1 - cmp r0, 0 - bne _08028A78 - ldr r1, _08028A6C @ =gBattleMoves - ldr r0, _08028A70 @ =gCurrentMove - ldrh r0, [r0] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldr r7, _08028A74 @ =gBattlerAttacker - ldrb r0, [r7] - muls r0, r6 - add r0, r8 - adds r0, 0x2A - ldrb r0, [r0] - adds r1, r5, 0 - adds r1, 0x2A - ldrb r1, [r1] - subs r0, r1 - ldrb r2, [r2, 0x3] - adds r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - blt _08028A48 - b _08028BE0 -_08028A48: - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - add r1, r8 - adds r1, 0x2A - mov r2, r9 - ldrb r0, [r2] - muls r0, r6 - add r0, r8 - adds r0, 0x2A - ldrb r1, [r1] - movs r4, 0x1 - ldrb r0, [r0] - cmp r1, r0 - bcs _08028B0E - b _08028BE0 - .align 2, 0 -_08028A68: .4byte gStatuses3 -_08028A6C: .4byte gBattleMoves -_08028A70: .4byte gCurrentMove -_08028A74: .4byte gBattlerAttacker -_08028A78: - ldr r1, _08028B44 @ =gDisableStructs - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldr r1, _08028B48 @ =gBattlerAttacker - ldrb r0, [r0, 0x15] - adds r7, r1, 0 - ldrb r3, [r7] - cmp r0, r3 - bne _08028AA2 - ldrb r0, [r7] - muls r0, r6 - add r0, r8 - adds r0, 0x2A - adds r1, r5, 0 - adds r1, 0x2A - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _08028B1A -_08028AA2: - ldr r1, _08028B4C @ =gBattleMoves - ldr r0, _08028B50 @ =gCurrentMove - ldrh r0, [r0] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldr r6, _08028B54 @ =gBattleMons - ldrb r0, [r7] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r0] - ldr r0, _08028B58 @ =gBattlerTarget - mov r8, r0 - ldrb r0, [r0] - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r0, [r0] - subs r1, r0 - ldrb r2, [r2, 0x3] - adds r1, r2 - lsls r1, 16 - lsrs r4, r1, 16 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, 0x1 - cmp r0, r4 - bge _08028B0C - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r5 - adds r1, r6 - adds r1, 0x2A - mov r2, r8 - ldrb r0, [r2] - muls r0, r5 - adds r0, r6 - adds r0, 0x2A - ldrb r1, [r1] - movs r4, 0x1 - ldrb r0, [r0] - cmp r1, r0 - bcs _08028B0E -_08028B0C: - movs r4, 0 -_08028B0E: - ldr r3, _08028B54 @ =gBattleMons - mov r8, r3 - ldr r0, _08028B58 @ =gBattlerTarget - mov r9, r0 - cmp r4, 0 - beq _08028BE0 -_08028B1A: - ldr r0, _08028B5C @ =gProtectStructs - mov r1, r9 - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 30 - cmp r0, 0 - bge _08028B68 - ldr r1, _08028B60 @ =gBattleMoveDamage - movs r0, 0x58 - muls r0, r2 - add r0, r8 - ldrh r0, [r0, 0x28] - subs r0, 0x1 - str r0, [r1] - ldr r2, _08028B64 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x40 - b _08028BC6 - .align 2, 0 -_08028B44: .4byte gDisableStructs -_08028B48: .4byte gBattlerAttacker -_08028B4C: .4byte gBattleMoves -_08028B50: .4byte gCurrentMove -_08028B54: .4byte gBattleMons -_08028B58: .4byte gBattlerTarget -_08028B5C: .4byte gProtectStructs -_08028B60: .4byte gBattleMoveDamage -_08028B64: .4byte gMoveResultFlags -_08028B68: - ldr r0, _08028BA4 @ =gSpecialStatuses - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _08028BB4 - ldr r1, _08028BA8 @ =gBattleMoveDamage - movs r3, 0x58 - adds r0, r2, 0 - muls r0, r3 - add r0, r8 - ldrh r0, [r0, 0x28] - subs r0, 0x1 - str r0, [r1] - ldr r2, _08028BAC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08028BB0 @ =gLastUsedItem - mov r2, r9 - ldrb r0, [r2] - muls r0, r3 - add r0, r8 - ldrh r0, [r0, 0x2E] - strh r0, [r1] - b _08028BCA - .align 2, 0 -_08028BA4: .4byte gSpecialStatuses -_08028BA8: .4byte gBattleMoveDamage -_08028BAC: .4byte gMoveResultFlags -_08028BB0: .4byte gLastUsedItem -_08028BB4: - ldr r1, _08028BD4 @ =gBattleMoveDamage - movs r0, 0x58 - muls r0, r2 - add r0, r8 - ldrh r0, [r0, 0x28] - str r0, [r1] - ldr r2, _08028BD8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x10 -_08028BC6: - orrs r0, r1 - strb r0, [r2] -_08028BCA: - ldr r1, _08028BDC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08028C48 - .align 2, 0 -_08028BD4: .4byte gBattleMoveDamage -_08028BD8: .4byte gMoveResultFlags -_08028BDC: .4byte gBattlescriptCurrInstr -_08028BE0: - ldr r2, _08028C14 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r3, _08028C18 @ =gBattleMons - ldr r0, _08028C1C @ =gBattlerAttacker - ldrb r0, [r0] - movs r2, 0x58 - adds r1, r0, 0 - muls r1, r2 - adds r1, r3 - adds r1, 0x2A - ldr r0, _08028C20 @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x2A - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcc _08028C28 - ldr r1, _08028C24 @ =gBattleCommunication - movs r0, 0 - b _08028C2C - .align 2, 0 -_08028C14: .4byte gMoveResultFlags -_08028C18: .4byte gBattleMons -_08028C1C: .4byte gBattlerAttacker -_08028C20: .4byte gBattlerTarget -_08028C24: .4byte gBattleCommunication -_08028C28: - ldr r1, _08028C54 @ =gBattleCommunication - movs r0, 0x1 -_08028C2C: - strb r0, [r1, 0x5] - ldr r3, _08028C58 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08028C48: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08028C54: .4byte gBattleCommunication -_08028C58: .4byte gBattlescriptCurrInstr - thumb_func_end atk93_tryKO - - thumb_func_start atk94_damagetohalftargethp -atk94_damagetohalftargethp: @ 8028C5C - push {lr} - ldr r3, _08028C88 @ =gBattleMoveDamage - ldr r2, _08028C8C @ =gBattleMons - ldr r0, _08028C90 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - lsrs r0, 1 - str r0, [r3] - cmp r0, 0 - bne _08028C7A - movs r0, 0x1 - str r0, [r3] -_08028C7A: - ldr r1, _08028C94 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08028C88: .4byte gBattleMoveDamage -_08028C8C: .4byte gBattleMons -_08028C90: .4byte gBattlerTarget -_08028C94: .4byte gBattlescriptCurrInstr - thumb_func_end atk94_damagetohalftargethp - - thumb_func_start atk95_setsandstorm -atk95_setsandstorm: @ 8028C98 - push {lr} - ldr r2, _08028CB8 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _08028CC4 - ldr r2, _08028CBC @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _08028CC0 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _08028CD6 - .align 2, 0 -_08028CB8: .4byte gBattleWeather -_08028CBC: .4byte gMoveResultFlags -_08028CC0: .4byte gBattleCommunication -_08028CC4: - movs r0, 0x8 - strh r0, [r2] - ldr r1, _08028CE4 @ =gBattleCommunication - movs r0, 0x3 - strb r0, [r1, 0x5] - ldr r0, _08028CE8 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_08028CD6: - ldr r1, _08028CEC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08028CE4: .4byte gBattleCommunication -_08028CE8: .4byte gWishFutureKnock -_08028CEC: .4byte gBattlescriptCurrInstr - thumb_func_end atk95_setsandstorm - - thumb_func_start atk96_weatherdamage -atk96_weatherdamage: @ 8028CF0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08028DBC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 8 - ands r0, r1 - movs r1, 0x80 - lsls r1, 8 - cmp r0, r1 - bne _08028D18 - ldr r0, _08028DC0 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08028D18 - b _08028E64 -_08028D18: - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08028D32 - b _08028E48 -_08028D32: - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _08028D48 - b _08028E48 -_08028D48: - ldr r2, _08028DC4 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x18 - ands r0, r1 - ldr r5, _08028DC0 @ =gBattlerAttacker - adds r4, r2, 0 - cmp r0, 0 - beq _08028DDA - ldr r0, _08028DC8 @ =gBattleMons - ldrb r2, [r5] - movs r1, 0x58 - muls r1, r2 - adds r3, r1, r0 - adds r0, r3, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08028DD4 - cmp r0, 0x8 - beq _08028DD4 - cmp r0, 0x4 - beq _08028DD4 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08028DD4 - cmp r0, 0x8 - beq _08028DD4 - cmp r0, 0x4 - beq _08028DD4 - adds r0, r3, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x8 - beq _08028DD4 - ldr r0, _08028DCC @ =gStatuses3 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08028DD4 - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - bne _08028DD4 - ldr r1, _08028DD0 @ =gBattleMoveDamage - ldrh r0, [r3, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _08028DDA - movs r0, 0x1 - b _08028DD8 - .align 2, 0 -_08028DBC: .4byte gBattleTypeFlags -_08028DC0: .4byte gBattlerAttacker -_08028DC4: .4byte gBattleWeather -_08028DC8: .4byte gBattleMons -_08028DCC: .4byte gStatuses3 -_08028DD0: .4byte gBattleMoveDamage -_08028DD4: - ldr r1, _08028E30 @ =gBattleMoveDamage - movs r0, 0 -_08028DD8: - str r0, [r1] -_08028DDA: - ldrh r1, [r4] - movs r4, 0x80 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08028E50 - ldr r1, _08028E34 @ =gBattleMons - ldrb r3, [r5] - movs r0, 0x58 - muls r0, r3 - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x21 - ldrb r0, [r0] - cmp r0, 0xF - beq _08028E3C - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xF - beq _08028E3C - ldr r0, _08028E38 @ =gStatuses3 - lsls r1, r3, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r1, 0 - ands r0, r4 - cmp r0, 0 - bne _08028E3C - movs r0, 0x80 - lsls r0, 11 - ands r1, r0 - cmp r1, 0 - bne _08028E3C - ldr r1, _08028E30 @ =gBattleMoveDamage - ldrh r0, [r2, 0x2C] - lsrs r0, 4 - str r0, [r1] - cmp r0, 0 - bne _08028E50 - movs r0, 0x1 - str r0, [r1] - b _08028E50 - .align 2, 0 -_08028E30: .4byte gBattleMoveDamage -_08028E34: .4byte gBattleMons -_08028E38: .4byte gStatuses3 -_08028E3C: - ldr r1, _08028E44 @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - b _08028E50 - .align 2, 0 -_08028E44: .4byte gBattleMoveDamage -_08028E48: - ldr r1, _08028E7C @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - ldr r5, _08028E80 @ =gBattlerAttacker -_08028E50: - ldr r0, _08028E84 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _08028E88 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _08028E6A -_08028E64: - ldr r1, _08028E7C @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] -_08028E6A: - ldr r1, _08028E8C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08028E7C: .4byte gBattleMoveDamage -_08028E80: .4byte gBattlerAttacker -_08028E84: .4byte gAbsentBattlerFlags -_08028E88: .4byte gBitTable -_08028E8C: .4byte gBattlescriptCurrInstr - thumb_func_end atk96_weatherdamage - - thumb_func_start atk97_tryinfatuating -atk97_tryinfatuating: @ 8028E90 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, _08028EBC @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08028EC8 - ldr r1, _08028EC0 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028EC4 @ =gPlayerParty - b _08028ED8 - .align 2, 0 -_08028EBC: .4byte gBattlerAttacker -_08028EC0: .4byte gBattlerPartyIndexes -_08028EC4: .4byte gPlayerParty -_08028EC8: - ldr r1, _08028EFC @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028F00 @ =gEnemyParty -_08028ED8: - adds r5, r1, r0 - ldr r4, _08028F04 @ =gBattlerTarget - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08028F0C - ldr r1, _08028EFC @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028F08 @ =gPlayerParty - b _08028F1C - .align 2, 0 -_08028EFC: .4byte gBattlerPartyIndexes -_08028F00: .4byte gEnemyParty -_08028F04: .4byte gBattlerTarget -_08028F08: .4byte gPlayerParty -_08028F0C: - ldr r1, _08028F78 @ =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08028F7C @ =gEnemyParty -_08028F1C: - adds r4, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - adds r0, r5, 0 - movs r1, 0 - bl GetMonData - mov r9, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r7, r0, 0 - ldr r5, _08028F80 @ =gBattlerTarget - ldrb r0, [r5] - movs r6, 0x58 - muls r0, r6 - ldr r1, _08028F84 @ =gBattleMons - adds r0, r1 - adds r0, 0x20 - ldrb r2, [r0] - cmp r2, 0xC - bne _08028F94 - ldr r1, _08028F88 @ =gBattlescriptCurrInstr - ldr r0, _08028F8C @ =BattleScript_ObliviousPreventsAttraction - str r0, [r1] - ldr r0, _08028F90 @ =gLastUsedAbility - strb r2, [r0] - ldrb r0, [r5] - movs r1, 0xC - bl RecordAbilityBattle - b _0802902C - .align 2, 0 -_08028F78: .4byte gBattlerPartyIndexes -_08028F7C: .4byte gEnemyParty -_08028F80: .4byte gBattlerTarget -_08028F84: .4byte gBattleMons -_08028F88: .4byte gBattlescriptCurrInstr -_08028F8C: .4byte BattleScript_ObliviousPreventsAttraction -_08028F90: .4byte gLastUsedAbility -_08028F94: - mov r0, r10 - mov r1, r9 - bl GetGenderFromSpeciesAndPersonality - adds r4, r0, 0 - mov r0, r8 - adds r1, r7, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08028FE4 - ldrb r0, [r5] - muls r0, r6 - ldr r4, _08029000 @ =gBattleMons - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r1, 0xF0 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - bne _08028FE4 - mov r0, r10 - mov r1, r9 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08028FE4 - mov r0, r8 - adds r1, r7, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _08029008 -_08028FE4: - ldr r3, _08029004 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802902C - .align 2, 0 -_08029000: .4byte gBattleMons -_08029004: .4byte gBattlescriptCurrInstr -_08029008: - ldrb r0, [r5] - adds r2, r0, 0 - muls r2, r6 - adds r2, r4 - ldr r1, _0802903C @ =gBitTable - ldr r0, _08029040 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r1, 16 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - ldr r1, _08029044 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802902C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802903C: .4byte gBitTable -_08029040: .4byte gBattlerAttacker -_08029044: .4byte gBattlescriptCurrInstr - thumb_func_end atk97_tryinfatuating - - thumb_func_start atk98_updatestatusicon -atk98_updatestatusicon: @ 8029048 - push {r4-r7,lr} - ldr r0, _080290B8 @ =gBattleControllerExecFlags - ldr r1, [r0] - cmp r1, 0 - beq _08029054 - b _080291C0 -_08029054: - ldr r5, _080290BC @ =gBattlescriptCurrInstr - ldr r2, [r5] - ldrb r0, [r2, 0x1] - cmp r0, 0xD - bne _080290D4 - ldr r2, _080290C0 @ =gActiveBattler - strb r1, [r2] - ldr r0, _080290C4 @ =gBattlersCount - ldrb r0, [r0] - cmp r1, r0 - bcs _08029164 - ldr r7, _080290C8 @ =gBitTable - adds r4, r2, 0 - ldr r5, _080290CC @ =gBattleMons - adds r6, r5, 0 - adds r6, 0x50 -_08029074: - ldr r0, _080290D0 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _080290A2 - movs r0, 0x58 - muls r2, r0 - adds r0, r5, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r2, r6 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_080290A2: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _080290C4 @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bcc _08029074 - b _08029164 - .align 2, 0 -_080290B8: .4byte gBattleControllerExecFlags -_080290BC: .4byte gBattlescriptCurrInstr -_080290C0: .4byte gActiveBattler -_080290C4: .4byte gBattlersCount -_080290C8: .4byte gBitTable -_080290CC: .4byte gBattleMons -_080290D0: .4byte gAbsentBattlerFlags -_080290D4: - cmp r0, 0x4 - bne _0802918C - ldr r4, _08029170 @ =gActiveBattler - ldr r5, _08029174 @ =gBattlerAttacker - ldrb r0, [r5] - strb r0, [r4] - ldr r6, _08029178 @ =gAbsentBattlerFlags - ldrb r1, [r6] - ldr r7, _0802917C @ =gBitTable - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08029114 - ldr r3, _08029180 @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08029114: - ldr r0, _08029184 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08029164 - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - strb r0, [r4] - ldrb r1, [r6] - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r7 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08029164 - ldr r3, _08029180 @ =gBattleMons - movs r0, 0x58 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_08029164: - ldr r1, _08029188 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - b _080291C0 - .align 2, 0 -_08029170: .4byte gActiveBattler -_08029174: .4byte gBattlerAttacker -_08029178: .4byte gAbsentBattlerFlags -_0802917C: .4byte gBitTable -_08029180: .4byte gBattleMons -_08029184: .4byte gBattleTypeFlags -_08029188: .4byte gBattlescriptCurrInstr -_0802918C: - ldrb r0, [r2, 0x1] - bl GetBattlerForBattleScript - ldr r4, _080291C8 @ =gActiveBattler - strb r0, [r4] - ldr r3, _080291CC @ =gBattleMons - ldrb r1, [r4] - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - adds r0, r3, 0 - adds r0, 0x4C - adds r0, r2, r0 - ldr r1, [r0] - adds r3, 0x50 - adds r2, r3 - ldr r2, [r2] - movs r0, 0 - bl BtlController_EmitStatusIconUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] -_080291C0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080291C8: .4byte gActiveBattler -_080291CC: .4byte gBattleMons - thumb_func_end atk98_updatestatusicon - - thumb_func_start atk99_setmist -atk99_setmist: @ 80291D0 - push {r4-r6,lr} - ldr r6, _08029200 @ =gSideTimers - ldr r4, _08029204 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerPosition - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x4] - cmp r0, 0 - beq _08029210 - ldr r2, _08029208 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0802920C @ =gBattleCommunication - strb r5, [r0, 0x5] - b _0802925E - .align 2, 0 -_08029200: .4byte gSideTimers -_08029204: .4byte gBattlerAttacker -_08029208: .4byte gMoveResultFlags -_0802920C: .4byte gBattleCommunication -_08029210: - ldrb r0, [r4] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - strb r1, [r0, 0x4] - ldrb r0, [r4] - bl GetBattlerPosition - adds r1, r5, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0, 0x5] - ldrb r0, [r4] - bl GetBattlerPosition - ldr r2, _0802926C @ =gSideStatuses - adds r1, r5, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - movs r3, 0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _08029270 @ =gBattleCommunication - strb r3, [r0, 0x5] -_0802925E: - ldr r1, _08029274 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802926C: .4byte gSideStatuses -_08029270: .4byte gBattleCommunication -_08029274: .4byte gBattlescriptCurrInstr - thumb_func_end atk99_setmist - - thumb_func_start atk9A_setfocusenergy -atk9A_setfocusenergy: @ 8029278 - push {lr} - ldr r1, _080292A8 @ =gBattleMons - ldr r0, _080292AC @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r3, 0x80 - lsls r3, 13 - adds r2, r1, 0 - ands r2, r3 - cmp r2, 0 - beq _080292B8 - ldr r2, _080292B0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080292B4 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _080292C0 - .align 2, 0 -_080292A8: .4byte gBattleMons -_080292AC: .4byte gBattlerAttacker -_080292B0: .4byte gMoveResultFlags -_080292B4: .4byte gBattleCommunication -_080292B8: - orrs r1, r3 - str r1, [r0] - ldr r0, _080292CC @ =gBattleCommunication - strb r2, [r0, 0x5] -_080292C0: - ldr r1, _080292D0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080292CC: .4byte gBattleCommunication -_080292D0: .4byte gBattlescriptCurrInstr - thumb_func_end atk9A_setfocusenergy - - thumb_func_start atk9B_transformdataexecution -atk9B_transformdataexecution: @ 80292D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _0802932C @ =gChosenMove - ldr r2, _08029330 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08029334 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r7, _08029338 @ =gBattleMons - ldr r0, _0802933C @ =gBattlerTarget - mov r12, r0 - ldrb r1, [r0] - movs r6, 0x58 - adds r0, r1, 0 - muls r0, r6 - adds r5, r7, 0 - adds r5, 0x50 - adds r0, r5 - ldr r0, [r0] - movs r4, 0x80 - lsls r4, 14 - ands r0, r4 - cmp r0, 0 - bne _0802931A - ldr r0, _08029340 @ =gStatuses3 - lsls r1, 2 - adds r1, r0 - ldr r2, [r1] - ldr r0, _08029344 @ =0x000400c0 - ands r2, r0 - cmp r2, 0 - beq _08029350 -_0802931A: - ldr r2, _08029348 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802934C @ =gBattleCommunication - movs r0, 0x1 - b _08029464 - .align 2, 0 -_0802932C: .4byte gChosenMove -_08029330: .4byte 0x0000ffff -_08029334: .4byte gBattlescriptCurrInstr -_08029338: .4byte gBattleMons -_0802933C: .4byte gBattlerTarget -_08029340: .4byte gStatuses3 -_08029344: .4byte 0x000400c0 -_08029348: .4byte gMoveResultFlags -_0802934C: .4byte gBattleCommunication -_08029350: - ldr r3, _08029424 @ =gBattlerAttacker - ldrb r0, [r3] - adds r1, r0, 0 - muls r1, r6 - adds r1, r5 - ldr r0, [r1] - orrs r0, r4 - str r0, [r1] - ldr r4, _08029428 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - strh r2, [r0, 0x4] - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0xB] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - mov r2, r12 - ldrb r1, [r2] - muls r1, r6 - adds r2, r7, 0 - adds r2, 0x48 - adds r1, r2 - ldr r1, [r1] - str r1, [r0] - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x18] - movs r0, 0xF - ands r0, r2 - strb r0, [r1, 0x18] - ldr r1, _0802942C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - mov r2, r12 - ldrb r0, [r2] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r2] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r0, [r3] - muls r0, r6 - adds r5, r0, r7 - ldrb r0, [r2] - muls r0, r6 - adds r2, r0, r7 - movs r4, 0 - adds r6, r3, 0 - ldr r0, _08029430 @ =gActiveBattler - mov r8, r0 -_080293E8: - adds r0, r5, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x23 - bls _080293E8 - movs r4, 0 - ldr r7, _08029434 @ =gBattleMoves - ldr r3, _08029438 @ =gUnknown_2023BF0 - adds r5, r3, 0 - adds r5, 0x18 -_08029400: - lsls r1, r4, 1 - ldrb r2, [r6] - movs r0, 0x58 - muls r2, r0 - adds r1, r2 - adds r1, r3 - ldrh r1, [r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - ldrb r1, [r0, 0x4] - cmp r1, 0x4 - bhi _0802943C - adds r0, r4, r2 - adds r0, r5 - b _08029442 - .align 2, 0 -_08029424: .4byte gBattlerAttacker -_08029428: .4byte gDisableStructs -_0802942C: .4byte gBattleTextBuff1 -_08029430: .4byte gActiveBattler -_08029434: .4byte gBattleMoves -_08029438: .4byte gUnknown_2023BF0 -_0802943C: - adds r0, r4, r2 - adds r0, r5 - movs r1, 0x5 -_08029442: - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x3 - ble _08029400 - ldrb r0, [r6] - mov r1, r8 - strb r0, [r1] - movs r0, 0 - movs r1, 0x2 - bl BtlController_EmitResetActionMoveSelection - mov r2, r8 - ldrb r0, [r2] - bl MarkBattlerForControllerExec - ldr r1, _08029470 @ =gBattleCommunication - movs r0, 0 -_08029464: - strb r0, [r1, 0x5] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029470: .4byte gBattleCommunication - thumb_func_end atk9B_transformdataexecution - - thumb_func_start atk9C_setsubstitute -atk9C_setsubstitute: @ 8029474 - push {r4-r7,lr} - ldr r7, _080294A4 @ =gBattleMons - ldr r6, _080294A8 @ =gBattlerAttacker - ldrb r0, [r6] - movs r5, 0x58 - muls r0, r5 - adds r3, r0, r7 - ldrh r0, [r3, 0x2C] - lsrs r1, r0, 2 - adds r2, r1, 0 - cmp r1, 0 - bne _0802948E - movs r2, 0x1 -_0802948E: - ldrh r0, [r3, 0x28] - cmp r0, r2 - bhi _080294B4 - ldr r1, _080294AC @ =gBattleMoveDamage - movs r0, 0 - str r0, [r1] - ldr r1, _080294B0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _08029508 - .align 2, 0 -_080294A4: .4byte gBattleMons -_080294A8: .4byte gBattlerAttacker -_080294AC: .4byte gBattleMoveDamage -_080294B0: .4byte gBattleCommunication -_080294B4: - ldr r4, _08029518 @ =gBattleMoveDamage - str r1, [r4] - cmp r1, 0 - bne _080294C0 - movs r0, 0x1 - str r0, [r4] -_080294C0: - ldrb r0, [r6] - adds r2, r0, 0 - muls r2, r5 - adds r3, r7, 0 - adds r3, 0x50 - adds r2, r3 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 17 - orrs r0, r1 - str r0, [r2] - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r3 - ldr r0, [r1] - ldr r2, _0802951C @ =0xffff1fff - ands r0, r2 - str r0, [r1] - ldr r2, _08029520 @ =gDisableStructs - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, [r4] - movs r2, 0 - strb r1, [r0, 0xA] - ldr r0, _08029524 @ =gBattleCommunication - strb r2, [r0, 0x5] - ldr r2, _08029528 @ =gHitMarker - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 1 - orrs r0, r1 - str r0, [r2] -_08029508: - ldr r1, _0802952C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029518: .4byte gBattleMoveDamage -_0802951C: .4byte 0xffff1fff -_08029520: .4byte gDisableStructs -_08029524: .4byte gBattleCommunication -_08029528: .4byte gHitMarker -_0802952C: .4byte gBattlescriptCurrInstr - thumb_func_end atk9C_setsubstitute - - thumb_func_start IsMoveUncopyableByMimic -IsMoveUncopyableByMimic: @ 8029530 - push {r4,r5,lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r3, 0 - ldr r0, _08029570 @ =sMovesForbiddenToCopy - ldrh r1, [r0] - ldr r4, _08029574 @ =0x0000fffe - adds r5, r0, 0 - cmp r1, r4 - beq _08029558 - cmp r1, r2 - beq _08029558 - adds r1, r5, 0 -_0802954A: - adds r1, 0x2 - adds r3, 0x1 - ldrh r0, [r1] - cmp r0, r4 - beq _08029558 - cmp r0, r2 - bne _0802954A -_08029558: - lsls r0, r3, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r0, _08029574 @ =0x0000fffe - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08029570: .4byte sMovesForbiddenToCopy -_08029574: .4byte 0x0000fffe - thumb_func_end IsMoveUncopyableByMimic - - thumb_func_start atk9D_mimicattackcopy -atk9D_mimicattackcopy: @ 8029578 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _080295F0 @ =gChosenMove - ldr r1, _080295F4 @ =0x0000ffff - adds r7, r1, 0 - strh r7, [r0] - ldr r5, _080295F8 @ =gLastMoves - ldr r6, _080295FC @ =gBattlerTarget - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - bl IsMoveUncopyableByMimic - lsls r0, 24 - cmp r0, 0 - bne _080295D2 - ldr r3, _08029600 @ =gBattleMons - ldr r2, _08029604 @ =gBattlerAttacker - ldrb r1, [r2] - movs r0, 0x58 - adds r4, r1, 0 - muls r4, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - mov r12, r3 - mov r9, r2 - cmp r1, 0 - bne _080295D2 - ldrb r0, [r6] - lsls r0, 1 - adds r0, r5 - ldrh r1, [r0] - cmp r1, 0 - beq _080295D2 - cmp r1, r7 - bne _0802960C -_080295D2: - ldr r3, _08029608 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08029744 - .align 2, 0 -_080295F0: .4byte gChosenMove -_080295F4: .4byte 0x0000ffff -_080295F8: .4byte gLastMoves -_080295FC: .4byte gBattlerTarget -_08029600: .4byte gBattleMons -_08029604: .4byte gBattlerAttacker -_08029608: .4byte gBattlescriptCurrInstr -_0802960C: - movs r2, 0 - mov r3, r12 - adds r3, 0xC - adds r0, r4, r3 - ldrh r0, [r0] - ldr r4, _0802969C @ =gBattlescriptCurrInstr - mov r10, r4 - cmp r0, r1 - beq _08029646 - mov r8, r3 - adds r7, r5, 0 - adds r5, r6, 0 - mov r4, r9 - movs r3, 0x58 -_08029628: - adds r2, 0x1 - cmp r2, 0x3 - bgt _08029646 - lsls r1, r2, 1 - ldrb r0, [r4] - muls r0, r3 - adds r1, r0 - add r1, r8 - ldrb r0, [r5] - lsls r0, 1 - adds r0, r7 - ldrh r1, [r1] - ldrh r0, [r0] - cmp r1, r0 - bne _08029628 -_08029646: - cmp r2, 0x4 - bne _08029728 - ldr r5, _080296A0 @ =gCurrMovePos - ldrb r1, [r5] - lsls r1, 1 - mov r2, r9 - ldrb r0, [r2] - movs r6, 0x58 - muls r0, r6 - adds r1, r0 - mov r0, r12 - adds r0, 0xC - adds r1, r0 - ldr r2, _080296A4 @ =gLastMoves - ldr r3, _080296A8 @ =gBattlerTarget - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - ldr r4, _080296AC @ =gBattleMoves - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r4, [r0, 0x4] - cmp r4, 0x4 - bhi _080296B0 - mov r1, r9 - ldrb r0, [r1] - muls r0, r6 - ldrb r1, [r5] - adds r0, r1 - mov r1, r12 - adds r1, 0x24 - adds r0, r1 - strb r4, [r0] - b _080296C4 - .align 2, 0 -_0802969C: .4byte gBattlescriptCurrInstr -_080296A0: .4byte gCurrMovePos -_080296A4: .4byte gLastMoves -_080296A8: .4byte gBattlerTarget -_080296AC: .4byte gBattleMoves -_080296B0: - mov r4, r9 - ldrb r0, [r4] - muls r0, r6 - ldrb r1, [r5] - adds r0, r1 - mov r1, r12 - adds r1, 0x24 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] -_080296C4: - ldr r1, _0802971C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _08029720 @ =gDisableStructs - mov r2, r9 - ldrb r0, [r2] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r4, [r2, 0x18] - lsrs r3, r4, 4 - ldr r1, _08029724 @ =gBitTable - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - orrs r1, r3 - lsls r1, 4 - movs r0, 0xF - ands r0, r4 - orrs r0, r1 - strb r0, [r2, 0x18] - mov r4, r10 - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - b _08029744 - .align 2, 0 -_0802971C: .4byte gBattleTextBuff1 -_08029720: .4byte gDisableStructs -_08029724: .4byte gBitTable -_08029728: - mov r0, r10 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - mov r2, r10 - str r1, [r2] -_08029744: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atk9D_mimicattackcopy - - thumb_func_start atk9E_metronome -atk9E_metronome: @ 8029754 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r7, _080297D4 @ =gCurrentMove - movs r6, 0xB1 - lsls r6, 1 - ldr r5, _080297D8 @ =sMovesForbiddenToCopy - ldr r0, _080297DC @ =gBattlescriptCurrInstr - mov r8, r0 -_08029766: - bl Random - ldr r2, _080297E0 @ =0x000001ff - adds r1, r2, 0 - ands r0, r1 - adds r0, 0x1 - strh r0, [r7] - cmp r0, r6 - bhi _08029766 - movs r0, 0x3 -_0802977A: - subs r0, 0x1 - cmp r0, 0 - bge _0802977A - ldr r4, _080297D4 @ =gCurrentMove - ldrh r2, [r4] - ldr r3, _080297E4 @ =0x0000ffff - subs r0, r5, 0x2 -_08029788: - adds r0, 0x2 - ldrh r1, [r0] - cmp r1, r2 - beq _08029794 - cmp r1, r3 - bne _08029788 -_08029794: - ldr r0, _080297E4 @ =0x0000ffff - cmp r1, r0 - bne _08029766 - ldr r2, _080297E8 @ =gHitMarker - ldr r0, [r2] - ldr r1, _080297EC @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r3, _080297F0 @ =gBattleScriptsForMoveEffects - ldr r2, _080297F4 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - mov r1, r8 - str r0, [r1] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _080297F8 @ =gBattlerTarget - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080297D4: .4byte gCurrentMove -_080297D8: .4byte sMovesForbiddenToCopy -_080297DC: .4byte gBattlescriptCurrInstr -_080297E0: .4byte 0x000001ff -_080297E4: .4byte 0x0000ffff -_080297E8: .4byte gHitMarker -_080297EC: .4byte 0xfffffbff -_080297F0: .4byte gBattleScriptsForMoveEffects -_080297F4: .4byte gBattleMoves -_080297F8: .4byte gBattlerTarget - thumb_func_end atk9E_metronome - - thumb_func_start atk9F_dmgtolevel -atk9F_dmgtolevel: @ 80297FC - ldr r3, _0802981C @ =gBattleMoveDamage - ldr r2, _08029820 @ =gBattleMons - ldr r0, _08029824 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r0, [r0] - str r0, [r3] - ldr r1, _08029828 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802981C: .4byte gBattleMoveDamage -_08029820: .4byte gBattleMons -_08029824: .4byte gBattlerAttacker -_08029828: .4byte gBattlescriptCurrInstr - thumb_func_end atk9F_dmgtolevel - - thumb_func_start atkA0_psywavedamageeffect -atkA0_psywavedamageeffect: @ 802982C - push {r4,lr} - movs r4, 0xF -_08029830: - bl Random - adds r3, r4, 0 - ands r3, r0 - cmp r3, 0xA - bgt _08029830 - lsls r0, r3, 2 - adds r0, r3 - lsls r3, r0, 1 - ldr r4, _08029870 @ =gBattleMoveDamage - ldr r2, _08029874 @ =gBattleMons - ldr r0, _08029878 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - adds r0, r3, 0 - adds r0, 0x32 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - ldr r1, _0802987C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029870: .4byte gBattleMoveDamage -_08029874: .4byte gBattleMons -_08029878: .4byte gBattlerAttacker -_0802987C: .4byte gBattlescriptCurrInstr - thumb_func_end atkA0_psywavedamageeffect - - thumb_func_start atkA1_counterdamagecalculator -atkA1_counterdamagecalculator: @ 8029880 - push {r4-r6,lr} - ldr r4, _080298F0 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080298F4 @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r5 - ldrb r0, [r0, 0xC] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r0, r5, 0x4 - adds r0, r1, r0 - ldr r3, [r0] - cmp r3, 0 - beq _08029934 - cmp r6, r2 - beq _08029934 - ldr r6, _080298F8 @ =gBattleMons - adds r0, r1, r5 - ldrb r0, [r0, 0xC] - movs r4, 0x58 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029934 - ldr r1, _080298FC @ =gBattleMoveDamage - lsls r0, r3, 1 - str r0, [r1] - ldr r1, _08029900 @ =gSideTimers - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _08029908 - ldrb r1, [r1, 0x9] - adds r0, r1, 0 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029908 - ldr r0, _08029904 @ =gBattlerTarget - strb r1, [r0] - b _08029918 - .align 2, 0 -_080298F0: .4byte gBattlerAttacker -_080298F4: .4byte gProtectStructs -_080298F8: .4byte gBattleMons -_080298FC: .4byte gBattleMoveDamage -_08029900: .4byte gSideTimers -_08029904: .4byte gBattlerTarget -_08029908: - ldr r2, _08029924 @ =gBattlerTarget - ldr r1, _08029928 @ =gProtectStructs - ldr r0, _0802992C @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xC] - strb r0, [r2] -_08029918: - ldr r1, _08029930 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029964 - .align 2, 0 -_08029924: .4byte gBattlerTarget -_08029928: .4byte gProtectStructs -_0802992C: .4byte gBattlerAttacker -_08029930: .4byte gBattlescriptCurrInstr -_08029934: - ldr r2, _0802996C @ =gSpecialStatuses - ldr r0, _08029970 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _08029974 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029964: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802996C: .4byte gSpecialStatuses -_08029970: .4byte gBattlerAttacker -_08029974: .4byte gBattlescriptCurrInstr - thumb_func_end atkA1_counterdamagecalculator - - thumb_func_start atkA2_mirrorcoatdamagecalculator -atkA2_mirrorcoatdamagecalculator: @ 8029978 - push {r4-r6,lr} - ldr r4, _080299E8 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080299EC @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r5 - ldrb r0, [r0, 0xD] - bl GetBattlerSide - lsls r0, 24 - lsrs r2, r0, 24 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r3, [r0] - cmp r3, 0 - beq _08029A2C - cmp r6, r2 - beq _08029A2C - ldr r6, _080299F0 @ =gBattleMons - adds r0, r1, r5 - ldrb r0, [r0, 0xD] - movs r4, 0x58 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029A2C - ldr r1, _080299F4 @ =gBattleMoveDamage - lsls r0, r3, 1 - str r0, [r1] - ldr r1, _080299F8 @ =gSideTimers - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x8] - cmp r0, 0 - beq _08029A00 - ldrb r1, [r1, 0x9] - adds r0, r1, 0 - muls r0, r4 - adds r0, r6 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _08029A00 - ldr r0, _080299FC @ =gBattlerTarget - strb r1, [r0] - b _08029A10 - .align 2, 0 -_080299E8: .4byte gBattlerAttacker -_080299EC: .4byte gProtectStructs -_080299F0: .4byte gBattleMons -_080299F4: .4byte gBattleMoveDamage -_080299F8: .4byte gSideTimers -_080299FC: .4byte gBattlerTarget -_08029A00: - ldr r2, _08029A1C @ =gBattlerTarget - ldr r1, _08029A20 @ =gProtectStructs - ldr r0, _08029A24 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0, 0xD] - strb r0, [r2] -_08029A10: - ldr r1, _08029A28 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029A5C - .align 2, 0 -_08029A1C: .4byte gBattlerTarget -_08029A20: .4byte gProtectStructs -_08029A24: .4byte gBattlerAttacker -_08029A28: .4byte gBattlescriptCurrInstr -_08029A2C: - ldr r2, _08029A64 @ =gSpecialStatuses - ldr r0, _08029A68 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _08029A6C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029A5C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08029A64: .4byte gSpecialStatuses -_08029A68: .4byte gBattlerAttacker -_08029A6C: .4byte gBattlescriptCurrInstr - thumb_func_end atkA2_mirrorcoatdamagecalculator - - thumb_func_start atkA3_disablelastusedattack -atkA3_disablelastusedattack: @ 8029A70 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r2, _08029B70 @ =gBattleMons - ldr r3, _08029B74 @ =gBattlerTarget - ldrb r1, [r3] - movs r0, 0x58 - muls r0, r1 - adds r7, r2, 0 - adds r7, 0xC - adds r0, r7 - ldr r5, _08029B78 @ =gLastMoves - lsls r1, 1 - adds r1, r5 - ldrh r0, [r0] - mov r9, r2 - adds r6, r3, 0 - ldr r2, _08029B7C @ =gDisableStructs - mov r8, r2 - ldrh r1, [r1] - cmp r0, r1 - beq _08029AC4 - mov r12, r6 - movs r3, 0x58 -_08029AA4: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08029AC4 - lsls r2, r4, 1 - mov r0, r12 - ldrb r1, [r0] - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r2, r7 - lsls r1, 1 - adds r1, r5 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _08029AA4 -_08029AC4: - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - ldrh r0, [r0, 0x4] - cmp r0, 0 - bne _08029B88 - cmp r4, 0x4 - beq _08029B88 - movs r5, 0x58 - adds r0, r1, 0 - muls r0, r5 - adds r0, r4, r0 - mov r1, r9 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08029B88 - ldr r1, _08029B80 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - lsls r2, r4, 1 - ldrb r0, [r6] - muls r0, r5 - adds r0, r2, r0 - mov r3, r9 - adds r3, 0xC - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r6] - muls r0, r5 - adds r0, r2, r0 - adds r0, r3 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r8 - muls r1, r5 - adds r2, r1 - adds r2, r3 - ldrh r1, [r2] - strh r1, [r0, 0x4] - bl Random - ldrb r2, [r6] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r8 - movs r2, 0x3 - ands r2, r0 - adds r2, 0x2 - ldrb r3, [r1, 0xB] - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xB] - ldrb r0, [r6] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r3, [r1, 0xB] - lsls r2, r3, 28 - lsrs r2, 24 - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xB] - ldr r1, _08029B84 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029BA2 - .align 2, 0 -_08029B70: .4byte gBattleMons -_08029B74: .4byte gBattlerTarget -_08029B78: .4byte gLastMoves -_08029B7C: .4byte gDisableStructs -_08029B80: .4byte gBattleTextBuff1 -_08029B84: .4byte gBattlescriptCurrInstr -_08029B88: - ldr r3, _08029BB0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029BA2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029BB0: .4byte gBattlescriptCurrInstr - thumb_func_end atkA3_disablelastusedattack - - thumb_func_start atkA4_trysetencore -atkA4_trysetencore: @ 8029BB4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r5, 0 - ldr r3, _08029CA8 @ =gBattleMons - ldr r4, _08029CAC @ =gBattlerTarget - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r6, r3, 0 - adds r6, 0xC - adds r0, r6 - ldr r2, _08029CB0 @ =gLastMoves - lsls r1, 1 - adds r1, r2 - ldrh r0, [r0] - mov r10, r3 - mov r8, r2 - ldr r2, _08029CB4 @ =gDisableStructs - mov r9, r2 - ldrh r1, [r1] - cmp r0, r1 - beq _08029C0E - mov r12, r4 - adds r7, r6, 0 - mov r6, r8 - movs r3, 0x58 -_08029BEE: - adds r5, 0x1 - cmp r5, 0x3 - bgt _08029C0E - lsls r2, r5, 1 - mov r0, r12 - ldrb r1, [r0] - adds r0, r1, 0 - muls r0, r3 - adds r2, r0 - adds r2, r7 - lsls r1, 1 - adds r1, r6 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _08029BEE -_08029C0E: - ldrb r0, [r4] - lsls r0, 1 - add r0, r8 - ldrh r2, [r0] - cmp r2, 0xA5 - beq _08029C22 - cmp r2, 0xE3 - beq _08029C22 - cmp r2, 0x77 - bne _08029C24 -_08029C22: - movs r5, 0x4 -_08029C24: - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r2, r9 - adds r3, r0, r2 - ldrh r0, [r3, 0x6] - cmp r0, 0 - bne _08029CBC - cmp r5, 0x4 - beq _08029CBC - movs r0, 0x58 - adds r2, r1, 0 - muls r2, r0 - adds r0, r5, r2 - mov r1, r10 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08029CBC - lsls r0, r5, 1 - adds r0, r2 - subs r1, 0x18 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3, 0x6] - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r9 - strb r5, [r0, 0xC] - bl Random - ldrb r2, [r4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - add r1, r9 - movs r2, 0x3 - ands r2, r0 - adds r2, 0x3 - ldrb r3, [r1, 0xE] - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xE] - ldrb r0, [r4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - add r1, r9 - ldrb r3, [r1, 0xE] - lsls r2, r3, 28 - lsrs r2, 24 - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0xE] - ldr r1, _08029CB8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029CD6 - .align 2, 0 -_08029CA8: .4byte gBattleMons -_08029CAC: .4byte gBattlerTarget -_08029CB0: .4byte gLastMoves -_08029CB4: .4byte gDisableStructs -_08029CB8: .4byte gBattlescriptCurrInstr -_08029CBC: - ldr r3, _08029CE4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029CD6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029CE4: .4byte gBattlescriptCurrInstr - thumb_func_end atkA4_trysetencore - - thumb_func_start atkA5_painsplitdmgcalc -atkA5_painsplitdmgcalc: @ 8029CE8 - push {r4-r7,lr} - ldr r6, _08029D68 @ =gBattleMons - ldr r0, _08029D6C @ =gBattlerTarget - mov r12, r0 - ldrb r0, [r0] - movs r7, 0x58 - adds r2, r0, 0 - muls r2, r7 - adds r0, r6, 0 - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - cmp r0, 0 - bne _08029D88 - ldr r5, _08029D70 @ =gBattlerAttacker - ldrb r0, [r5] - muls r0, r7 - adds r0, r6 - ldrh r3, [r0, 0x28] - adds r0, r2, r6 - ldrh r1, [r0, 0x28] - adds r3, r1 - asrs r3, 1 - ldr r4, _08029D74 @ =gBattleMoveDamage - subs r1, r3 - str r1, [r4] - ldr r2, _08029D78 @ =gBattleScripting - strb r1, [r2] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - asrs r0, 8 - strb r0, [r2, 0x1] - movs r0, 0xFF - lsls r0, 16 - ands r0, r1 - asrs r0, 16 - strb r0, [r2, 0x2] - lsrs r1, 24 - strb r1, [r2, 0x3] - ldrb r0, [r5] - muls r0, r7 - adds r0, r6 - ldrh r0, [r0, 0x28] - subs r0, r3 - str r0, [r4] - ldr r2, _08029D7C @ =gSpecialStatuses - mov r0, r12 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x4 - adds r0, r2 - ldr r1, _08029D80 @ =0x0000ffff - str r1, [r0] - ldr r1, _08029D84 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029DA2 - .align 2, 0 -_08029D68: .4byte gBattleMons -_08029D6C: .4byte gBattlerTarget -_08029D70: .4byte gBattlerAttacker -_08029D74: .4byte gBattleMoveDamage -_08029D78: .4byte gBattleScripting -_08029D7C: .4byte gSpecialStatuses -_08029D80: .4byte 0x0000ffff -_08029D84: .4byte gBattlescriptCurrInstr -_08029D88: - ldr r3, _08029DA8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_08029DA2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029DA8: .4byte gBattlescriptCurrInstr - thumb_func_end atkA5_painsplitdmgcalc - - thumb_func_start atkA6_settypetorandomresistance -atkA6_settypetorandomresistance: @ 8029DAC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, _08029E14 @ =gLastLandedMoves - ldr r4, _08029E18 @ =gBattlerAttacker - ldrb r0, [r4] - lsls r0, 1 - adds r2, r0, r1 - ldrh r1, [r2] - cmp r1, 0 - beq _08029DF6 - ldr r0, _08029E1C @ =0x0000ffff - cmp r1, r0 - beq _08029DF6 - ldrh r0, [r2] - bl IsTwoTurnsMove - lsls r0, 24 - cmp r0, 0 - beq _08029E94 - ldr r1, _08029E20 @ =gBattleMons - ldr r2, _08029E24 @ =gLastHitBy - ldrb r0, [r4] - adds r0, r2 - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 5 - ands r0, r1 - cmp r0, 0 - beq _08029E94 -_08029DF6: - ldr r3, _08029E28 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08029F80 - .align 2, 0 -_08029E14: .4byte gLastLandedMoves -_08029E18: .4byte gBattlerAttacker -_08029E1C: .4byte 0x0000ffff -_08029E20: .4byte gBattleMons -_08029E24: .4byte gLastHitBy -_08029E28: .4byte gBattlescriptCurrInstr -_08029E2C: - mov r0, r12 - strb r5, [r0] - mov r1, r10 - ldrb r0, [r1] - muls r0, r2 - adds r0, r7 - adds r0, 0x22 - strb r5, [r0] - ldr r1, _08029E50 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r5, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _08029E54 @ =gBattlescriptCurrInstr - b _08029E82 - .align 2, 0 -_08029E50: .4byte gBattleTextBuff1 -_08029E54: .4byte gBattlescriptCurrInstr -_08029E58: - mov r0, r8 - adds r0, 0x1 - adds r0, r3 - ldrb r2, [r0] - strb r2, [r4] - mov r4, r10 - ldrb r0, [r4] - muls r0, r6 - ldr r7, _08029E8C @ =gBattleMons - adds r0, r7 - adds r0, 0x22 - strb r2, [r0] - ldr r1, _08029E90 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - strb r2, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - mov r1, r12 -_08029E82: - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _08029F80 - .align 2, 0 -_08029E8C: .4byte gBattleMons -_08029E90: .4byte gBattleTextBuff1 -_08029E94: - movs r4, 0 - mov r8, r4 - movs r7, 0x7F - mov r9, r7 -_08029E9C: - bl Random - mov r4, r9 - ands r4, r0 - cmp r4, 0x70 - bhi _08029E9C - lsls r0, r4, 1 - adds r4, r0, r4 - ldr r6, _08029F90 @ =gTypeEffectiveness - adds r3, r4, r6 - ldr r1, _08029F94 @ =gLastHitByType - ldr r2, _08029F98 @ =gBattlerAttacker - ldrb r5, [r2] - lsls r0, r5, 1 - adds r0, r1 - ldrb r1, [r3] - mov r10, r2 - ldrh r0, [r0] - cmp r1, r0 - bne _08029EF8 - adds r0, r4, 0x2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08029EF8 - ldr r7, _08029F9C @ =gBattleMons - movs r2, 0x58 - adds r0, r5, 0 - muls r0, r2 - adds r3, r0, r7 - movs r0, 0x21 - adds r0, r3 - mov r12, r0 - adds r0, r4, 0x1 - adds r0, r6 - ldrb r5, [r0] - mov r1, r12 - ldrb r0, [r1] - adds r1, r5, 0 - cmp r0, r1 - beq _08029EF8 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - bne _08029E2C -_08029EF8: - movs r7, 0x1 - add r8, r7 - ldr r0, _08029FA0 @ =0x000003e7 - cmp r8, r0 - ble _08029E9C - movs r0, 0 - mov r8, r0 - ldr r1, _08029FA4 @ =gBattlescriptCurrInstr - mov r12, r1 - ldr r3, _08029F90 @ =gTypeEffectiveness - adds r0, r4, 0x1 - adds r0, r3 - mov r9, r0 - adds r5, r3, 0 -_08029F14: - ldrb r1, [r5] - cmp r1, 0xFF - bgt _08029F1E - cmp r1, 0xFE - bge _08029F58 -_08029F1E: - mov r4, r10 - ldrb r2, [r4] - lsls r0, r2, 1 - ldr r7, _08029F94 @ =gLastHitByType - adds r0, r7 - ldrh r0, [r0] - cmp r1, r0 - bne _08029F58 - ldrb r0, [r5, 0x2] - cmp r0, 0x5 - bhi _08029F58 - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - ldr r1, _08029F9C @ =gBattleMons - adds r2, r0, r1 - adds r4, r2, 0 - adds r4, 0x21 - ldrb r0, [r4] - mov r7, r9 - ldrb r1, [r7] - cmp r0, r1 - beq _08029F58 - adds r0, r2, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - beq _08029F58 - b _08029E58 -_08029F58: - adds r5, 0x3 - movs r0, 0x3 - add r8, r0 - ldr r0, _08029FA8 @ =0x0000014f - cmp r8, r0 - bls _08029F14 - mov r1, r12 - ldr r2, [r1] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - mov r4, r12 - str r1, [r4] -_08029F80: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08029F90: .4byte gTypeEffectiveness -_08029F94: .4byte gLastHitByType -_08029F98: .4byte gBattlerAttacker -_08029F9C: .4byte gBattleMons -_08029FA0: .4byte 0x000003e7 -_08029FA4: .4byte gBattlescriptCurrInstr -_08029FA8: .4byte 0x0000014f - thumb_func_end atkA6_settypetorandomresistance - - thumb_func_start atkA7_setalwayshitflag -atkA7_setalwayshitflag: @ 8029FAC - push {r4,lr} - ldr r4, _08029FF0 @ =gStatuses3 - ldr r3, _08029FF4 @ =gBattlerTarget - ldrb r1, [r3] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x19 - negs r2, r2 - ands r0, r2 - str r0, [r1] - ldrb r1, [r3] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x10 - orrs r0, r2 - str r0, [r1] - ldr r2, _08029FF8 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _08029FFC @ =gBattlerAttacker - ldrb r1, [r1] - strb r1, [r0, 0x15] - ldr r1, _0802A000 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08029FF0: .4byte gStatuses3 -_08029FF4: .4byte gBattlerTarget -_08029FF8: .4byte gDisableStructs -_08029FFC: .4byte gBattlerAttacker -_0802A000: .4byte gBattlescriptCurrInstr - thumb_func_end atkA7_setalwayshitflag - - thumb_func_start atkA8_copymovepermanently -atkA8_copymovepermanently: @ 802A004 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - ldr r0, _0802A164 @ =gChosenMove - ldr r1, _0802A168 @ =0x0000ffff - adds r5, r1, 0 - strh r5, [r0] - ldr r3, _0802A16C @ =gBattleMons - ldr r2, _0802A170 @ =gBattlerAttacker - ldrb r1, [r2] - movs r0, 0x58 - adds r4, r1, 0 - muls r4, r0 - adds r0, r3, 0 - adds r0, 0x50 - adds r0, r4, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - mov r12, r3 - mov r10, r2 - cmp r1, 0 - beq _0802A03C - b _0802A190 -_0802A03C: - ldr r0, _0802A174 @ =gLastPrintedMoves - ldr r2, _0802A178 @ =gBattlerTarget - ldrb r1, [r2] - lsls r1, 1 - adds r1, r0 - ldrh r1, [r1] - mov r9, r0 - mov r8, r2 - cmp r1, 0xA5 - bne _0802A052 - b _0802A190 -_0802A052: - cmp r1, 0 - bne _0802A058 - b _0802A190 -_0802A058: - cmp r1, r5 - bne _0802A05E - b _0802A190 -_0802A05E: - cmp r1, 0xA6 - bne _0802A064 - b _0802A190 -_0802A064: - movs r7, 0 - mov r5, r9 - mov r0, r12 - adds r0, 0xC - adds r1, r4, r0 - mov r3, r8 -_0802A070: - ldrh r2, [r1] - cmp r2, 0xA6 - beq _0802A082 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r2, r0 - beq _0802A08A -_0802A082: - adds r1, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _0802A070 -_0802A08A: - cmp r7, 0x4 - beq _0802A090 - b _0802A190 -_0802A090: - ldr r4, _0802A17C @ =gCurrMovePos - ldrb r1, [r4] - lsls r1, 1 - mov r2, r10 - ldrb r0, [r2] - movs r3, 0x58 - muls r0, r3 - adds r1, r0 - mov r6, r12 - adds r6, 0xC - adds r1, r6 - mov r2, r8 - ldrb r0, [r2] - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - strh r0, [r1] - mov r1, r10 - ldrb r0, [r1] - adds r2, r0, 0 - muls r2, r3 - ldrb r4, [r4] - adds r2, r4 - mov r5, r12 - adds r5, 0x24 - adds r2, r5 - ldr r4, _0802A180 @ =gBattleMoves - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - add r0, r9 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x4] - strb r0, [r2] - ldr r1, _0802A184 @ =gActiveBattler - mov r2, r10 - ldrb r0, [r2] - strb r0, [r1] - movs r7, 0 - ldrb r0, [r2] - muls r0, r3 - adds r4, r0, r5 - adds r3, r0, 0 - add r2, sp, 0x4 - add r5, sp, 0xC -_0802A0F2: - adds r0, r3, r6 - ldrh r0, [r0] - strh r0, [r2] - adds r1, r5, r7 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x1 - adds r3, 0x2 - adds r2, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _0802A0F2 - add r2, sp, 0x4 - mov r0, r10 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r12 - adds r0, 0x3B - ldrb r0, [r0] - strb r0, [r2, 0xC] - str r2, [sp] - movs r0, 0 - movs r1, 0x3 - movs r2, 0 - movs r3, 0x10 - bl BtlController_EmitSetMonData - ldr r0, _0802A184 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _0802A188 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldr r3, _0802A174 @ =gLastPrintedMoves - ldr r2, _0802A178 @ =gBattlerTarget - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r2] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802A18C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A1AA - .align 2, 0 -_0802A164: .4byte gChosenMove -_0802A168: .4byte 0x0000ffff -_0802A16C: .4byte gBattleMons -_0802A170: .4byte gBattlerAttacker -_0802A174: .4byte gLastPrintedMoves -_0802A178: .4byte gBattlerTarget -_0802A17C: .4byte gCurrMovePos -_0802A180: .4byte gBattleMoves -_0802A184: .4byte gActiveBattler -_0802A188: .4byte gBattleTextBuff1 -_0802A18C: .4byte gBattlescriptCurrInstr -_0802A190: - ldr r3, _0802A1BC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A1AA: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A1BC: .4byte gBattlescriptCurrInstr - thumb_func_end atkA8_copymovepermanently - - thumb_func_start IsTwoTurnsMove -IsTwoTurnsMove: @ 802A1C0 - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0802A1F0 @ =gBattleMoves - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1] - cmp r0, 0x91 - beq _0802A1EA - cmp r0, 0x27 - beq _0802A1EA - cmp r0, 0x4B - beq _0802A1EA - cmp r0, 0x97 - beq _0802A1EA - cmp r0, 0x9B - beq _0802A1EA - cmp r0, 0x1A - bne _0802A1F4 -_0802A1EA: - movs r0, 0x1 - b _0802A1F6 - .align 2, 0 -_0802A1F0: .4byte gBattleMoves -_0802A1F4: - movs r0, 0 -_0802A1F6: - pop {r1} - bx r1 - thumb_func_end IsTwoTurnsMove - - thumb_func_start IsInvalidForSleepTalkOrAssist -IsInvalidForSleepTalkOrAssist: @ 802A1FC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0802A21A - cmp r1, 0xD6 - beq _0802A21A - movs r0, 0x89 - lsls r0, 1 - cmp r1, r0 - beq _0802A21A - cmp r1, 0x77 - beq _0802A21A - cmp r1, 0x76 - bne _0802A21E -_0802A21A: - movs r0, 0x1 - b _0802A220 -_0802A21E: - movs r0, 0 -_0802A220: - pop {r1} - bx r1 - thumb_func_end IsInvalidForSleepTalkOrAssist - - thumb_func_start AttacksThisTurn -AttacksThisTurn: @ 802A224 - push {lr} - lsls r1, 16 - lsrs r2, r1, 16 - ldr r1, _0802A27C @ =gBattleMoves - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x97 - bne _0802A248 - ldr r0, _0802A280 @ =gBattleWeather - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - bne _0802A288 -_0802A248: - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x91 - beq _0802A26A - cmp r0, 0x27 - beq _0802A26A - cmp r0, 0x4B - beq _0802A26A - cmp r0, 0x97 - beq _0802A26A - cmp r0, 0x9B - beq _0802A26A - cmp r0, 0x1A - bne _0802A288 -_0802A26A: - ldr r0, _0802A284 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 20 - ands r0, r1 - cmp r0, 0 - beq _0802A288 - movs r0, 0x1 - b _0802A28A - .align 2, 0 -_0802A27C: .4byte gBattleMoves -_0802A280: .4byte gBattleWeather -_0802A284: .4byte gHitMarker -_0802A288: - movs r0, 0x2 -_0802A28A: - pop {r1} - bx r1 - thumb_func_end AttacksThisTurn - - thumb_func_start atkA9_trychoosesleeptalkmove -atkA9_trychoosesleeptalkmove: @ 802A290 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - movs r5, 0 - ldr r0, _0802A320 @ =gBattlerAttacker - mov r9, r0 - movs r1, 0x58 - mov r8, r1 - ldr r7, _0802A324 @ =gUnknown_2023BF0 - movs r0, 0x84 - lsls r0, 1 - mov r10, r0 -_0802A2AE: - lsls r4, r5, 1 - mov r1, r9 - ldrb r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4, r0 - adds r0, r7 - ldrh r0, [r0] - bl IsInvalidForSleepTalkOrAssist - lsls r0, 24 - cmp r0, 0 - bne _0802A2EE - mov r1, r9 - ldrb r0, [r1] - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - adds r0, r4, r0 - adds r0, r7 - ldrh r1, [r0] - cmp r1, r10 - beq _0802A2EE - cmp r1, 0xFD - beq _0802A2EE - adds r0, r1, 0 - bl IsTwoTurnsMove - lsls r0, 24 - cmp r0, 0 - beq _0802A2FC -_0802A2EE: - ldr r1, _0802A328 @ =gBitTable - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_0802A2FC: - adds r5, 0x1 - cmp r5, 0x3 - ble _0802A2AE - ldr r0, _0802A320 @ =gBattlerAttacker - ldrb r0, [r0] - adds r1, r6, 0 - movs r2, 0xFD - bl CheckMoveLimitations - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bne _0802A330 - ldr r1, _0802A32C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802A394 - .align 2, 0 -_0802A320: .4byte gBattlerAttacker -_0802A324: .4byte gUnknown_2023BF0 -_0802A328: .4byte gBitTable -_0802A32C: .4byte gBattlescriptCurrInstr -_0802A330: - movs r7, 0x3 - ldr r4, _0802A3A4 @ =gBitTable -_0802A334: - bl Random - adds r5, r7, 0 - ands r5, r0 - lsls r0, r5, 2 - adds r0, r4 - ldr r0, [r0] - ands r0, r6 - cmp r0, 0 - bne _0802A334 - ldr r4, _0802A3A8 @ =gCalledMove - ldr r2, _0802A3AC @ =gBattleMons - lsls r1, r5, 1 - ldr r0, _0802A3B0 @ =gBattlerAttacker - ldrb r3, [r0] - movs r0, 0x58 - muls r0, r3 - adds r1, r0 - adds r2, 0xC - adds r1, r2 - ldrh r0, [r1] - strh r0, [r4] - ldr r0, _0802A3B4 @ =gCurrMovePos - strb r5, [r0] - ldr r2, _0802A3B8 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802A3BC @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802A3C0 @ =gBattlerTarget - strb r0, [r1] - ldr r3, _0802A3C4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A394: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A3A4: .4byte gBitTable -_0802A3A8: .4byte gCalledMove -_0802A3AC: .4byte gBattleMons -_0802A3B0: .4byte gBattlerAttacker -_0802A3B4: .4byte gCurrMovePos -_0802A3B8: .4byte gHitMarker -_0802A3BC: .4byte 0xfffffbff -_0802A3C0: .4byte gBattlerTarget -_0802A3C4: .4byte gBattlescriptCurrInstr - thumb_func_end atkA9_trychoosesleeptalkmove - - thumb_func_start atkAA_setdestinybond -atkAA_setdestinybond: @ 802A3C8 - ldr r1, _0802A3EC @ =gBattleMons - ldr r0, _0802A3F0 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 18 - orrs r0, r1 - str r0, [r2] - ldr r1, _0802A3F4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802A3EC: .4byte gBattleMons -_0802A3F0: .4byte gBattlerAttacker -_0802A3F4: .4byte gBattlescriptCurrInstr - thumb_func_end atkAA_setdestinybond - - thumb_func_start TrySetDestinyBondToHappen -TrySetDestinyBondToHappen: @ 802A3F8 - push {r4,r5,lr} - ldr r0, _0802A448 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0802A44C @ =gBattlerTarget - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _0802A450 @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _0802A442 - cmp r5, r3 - beq _0802A442 - ldr r2, _0802A454 @ =gHitMarker - ldr r1, [r2] - movs r0, 0x80 - lsls r0, 17 - ands r0, r1 - cmp r0, 0 - bne _0802A442 - movs r0, 0x40 - orrs r1, r0 - str r1, [r2] -_0802A442: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802A448: .4byte gBattlerAttacker -_0802A44C: .4byte gBattlerTarget -_0802A450: .4byte gBattleMons -_0802A454: .4byte gHitMarker - thumb_func_end TrySetDestinyBondToHappen - - thumb_func_start atkAB_trysetdestinybondtohappen -atkAB_trysetdestinybondtohappen: @ 802A458 - push {lr} - bl TrySetDestinyBondToHappen - ldr r1, _0802A46C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802A46C: .4byte gBattlescriptCurrInstr - thumb_func_end atkAB_trysetdestinybondtohappen - - thumb_func_start atkAC_remaininghptopower -atkAC_remaininghptopower: @ 802A470 - push {lr} - ldr r2, _0802A4C4 @ =gBattleMons - ldr r0, _0802A4C8 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - movs r2, 0x28 - ldrsh r0, [r1, r2] - movs r2, 0x2C - ldrsh r1, [r1, r2] - movs r2, 0x30 - bl GetScaledHPFraction - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0 - ldr r0, _0802A4CC @ =sFlailHpScaleToPowerTable - ldrb r2, [r0] - cmp r1, r2 - ble _0802A4AA - adds r2, r0, 0 -_0802A49C: - adds r3, 0x2 - cmp r3, 0xB - bgt _0802A4AA - adds r0, r3, r2 - ldrb r0, [r0] - cmp r1, r0 - bgt _0802A49C -_0802A4AA: - ldr r2, _0802A4D0 @ =gDynamicBasePower - ldr r1, _0802A4CC @ =sFlailHpScaleToPowerTable - adds r0, r3, 0x1 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2] - ldr r1, _0802A4D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802A4C4: .4byte gBattleMons -_0802A4C8: .4byte gBattlerAttacker -_0802A4CC: .4byte sFlailHpScaleToPowerTable -_0802A4D0: .4byte gDynamicBasePower -_0802A4D4: .4byte gBattlescriptCurrInstr - thumb_func_end atkAC_remaininghptopower - - thumb_func_start atkAD_tryspiteppreduce -atkAD_tryspiteppreduce: @ 802A4D8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, _0802A658 @ =gLastMoves - ldr r1, _0802A65C @ =gBattlerTarget - ldrb r3, [r1] - lsls r0, r3, 1 - adds r0, r4 - ldrh r2, [r0] - mov r8, r1 - cmp r2, 0 - bne _0802A4F8 - b _0802A680 -_0802A4F8: - ldr r0, _0802A660 @ =0x0000ffff - cmp r2, r0 - bne _0802A500 - b _0802A680 -_0802A500: - movs r7, 0 - ldr r0, _0802A664 @ =gBattleMons - movs r1, 0x58 - muls r1, r3 - adds r3, r0, 0 - adds r3, 0xC - adds r1, r3 - ldrh r1, [r1] - cmp r2, r1 - beq _0802A538 - adds r6, r4, 0 - mov r5, r8 - adds r4, r3, 0 - movs r3, 0x58 -_0802A51C: - adds r7, 0x1 - cmp r7, 0x3 - bgt _0802A538 - ldrb r0, [r5] - lsls r2, r0, 1 - adds r2, r6 - lsls r1, r7, 1 - muls r0, r3 - adds r1, r0 - adds r1, r4 - ldrh r0, [r2] - ldrh r1, [r1] - cmp r0, r1 - bne _0802A51C -_0802A538: - cmp r7, 0x4 - bne _0802A53E - b _0802A680 -_0802A53E: - mov r4, r8 - ldrb r0, [r4] - movs r1, 0x58 - mov r9, r1 - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7, r0 - ldr r1, _0802A664 @ =gBattleMons - adds r1, 0x24 - mov r10, r1 - add r0, r10 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _0802A55E - b _0802A680 -_0802A55E: - bl Random - movs r1, 0x3 - ands r1, r0 - adds r6, r1, 0x2 - ldrb r0, [r4] - mov r3, r9 - muls r3, r0 - adds r0, r3, 0 - adds r0, r7, r0 - add r0, r10 - ldrb r0, [r0] - cmp r0, r6 - bge _0802A57C - adds r6, r0, 0 -_0802A57C: - ldr r1, _0802A668 @ =gBattleTextBuff1 - movs r5, 0xFD - strb r5, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldr r2, _0802A658 @ =gLastMoves - mov r3, r8 - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1, 0x2] - ldrb r0, [r3] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r4, _0802A66C @ =gBattleTextBuff2 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - strb r5, [r4] - movs r0, 0x1 - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - strb r6, [r4, 0x4] - subs r0, 0x2 - strb r0, [r4, 0x5] - mov r1, r8 - ldrb r0, [r1] - mov r1, r9 - muls r1, r0 - adds r1, r7, r1 - add r1, r10 - ldrb r0, [r1] - subs r0, r6 - strb r0, [r1] - ldr r4, _0802A670 @ =gActiveBattler - mov r3, r8 - ldrb r0, [r3] - strb r0, [r4] - ldr r1, _0802A674 @ =gDisableStructs - ldrb r3, [r4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0802A678 @ =gBitTable - lsls r0, r7, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802A630 - mov r2, r9 - muls r2, r3 - ldr r0, _0802A664 @ =gBattleMons - adds r0, 0x50 - adds r0, r2, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0802A630 - adds r1, r7, 0 - adds r1, 0x9 - lsls r1, 24 - lsrs r1, 24 - mov r3, r10 - adds r0, r2, r3 - adds r0, r7 - str r0, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0x1 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802A630: - ldr r1, _0802A67C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r1, _0802A664 @ =gBattleMons - ldr r0, _0802A65C @ =gBattlerTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r0, r7, r0 - adds r1, 0x24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0802A69A - adds r0, r2, 0 - bl CancelMultiTurnMoves - b _0802A69A - .align 2, 0 -_0802A658: .4byte gLastMoves -_0802A65C: .4byte gBattlerTarget -_0802A660: .4byte 0x0000ffff -_0802A664: .4byte gBattleMons -_0802A668: .4byte gBattleTextBuff1 -_0802A66C: .4byte gBattleTextBuff2 -_0802A670: .4byte gActiveBattler -_0802A674: .4byte gDisableStructs -_0802A678: .4byte gBitTable -_0802A67C: .4byte gBattlescriptCurrInstr -_0802A680: - ldr r3, _0802A6AC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802A69A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A6AC: .4byte gBattlescriptCurrInstr - thumb_func_end atkAD_tryspiteppreduce - - thumb_func_start atkAE_healpartystatus -atkAE_healpartystatus: @ 802A6B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r4, 0 - str r4, [sp, 0x4] - mov r8, r4 - ldr r0, _0802A720 @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0xD7 - beq _0802A6CC - b _0802A8B6 -_0802A6CC: - ldr r6, _0802A724 @ =gBattleCommunication - mov r0, r8 - strb r0, [r6, 0x5] - ldr r5, _0802A728 @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - ldr r1, _0802A72C @ =gEnemyParty - mov r10, r1 - cmp r0, 0 - bne _0802A6E8 - ldr r2, _0802A730 @ =gPlayerParty - mov r10, r2 -_0802A6E8: - ldr r4, _0802A734 @ =gBattleMons - ldrb r3, [r5] - movs r7, 0x58 - adds r2, r3, 0 - muls r2, r7 - adds r0, r2, r4 - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0x2B - beq _0802A73C - adds r0, r4, 0 - adds r0, 0x4C - adds r0, r2, r0 - mov r1, r8 - str r1, [r0] - ldrb r0, [r5] - adds r2, r0, 0 - muls r2, r7 - adds r0, r4, 0 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - ldr r1, _0802A738 @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - b _0802A74C - .align 2, 0 -_0802A720: .4byte gCurrentMove -_0802A724: .4byte gBattleCommunication -_0802A728: .4byte gBattlerAttacker -_0802A72C: .4byte gEnemyParty -_0802A730: .4byte gPlayerParty -_0802A734: .4byte gBattleMons -_0802A738: .4byte 0xf7ffffff -_0802A73C: - ldrb r1, [r1] - adds r0, r3, 0 - bl RecordAbilityBattle - ldrb r0, [r6, 0x5] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r6, 0x5] -_0802A74C: - ldr r7, _0802A7C0 @ =gActiveBattler - ldr r0, _0802A7C4 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - movs r2, 0x2 - mov r9, r2 - mov r1, r9 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r1, _0802A7C8 @ =gBattleScripting - strb r0, [r1, 0x17] - strb r0, [r7] - ldr r0, _0802A7CC @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802A7F2 - ldr r0, _0802A7D0 @ =gAbsentBattlerFlags - ldrb r2, [r0] - ldr r1, _0802A7D4 @ =gBitTable - ldrb r3, [r7] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - bne _0802A7F2 - ldr r5, _0802A7D8 @ =gBattleMons - movs r6, 0x58 - adds r4, r3, 0 - muls r4, r6 - adds r0, r4, r5 - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0x2B - beq _0802A7E0 - adds r0, r5, 0 - adds r0, 0x4C - adds r0, r4, r0 - str r2, [r0] - ldrb r0, [r7] - adds r2, r0, 0 - muls r2, r6 - adds r0, r5, 0 - adds r0, 0x50 - adds r2, r0 - ldr r0, [r2] - ldr r1, _0802A7DC @ =0xf7ffffff - ands r0, r1 - str r0, [r2] - b _0802A7F2 - .align 2, 0 -_0802A7C0: .4byte gActiveBattler -_0802A7C4: .4byte gBattlerAttacker -_0802A7C8: .4byte gBattleScripting -_0802A7CC: .4byte gBattleTypeFlags -_0802A7D0: .4byte gAbsentBattlerFlags -_0802A7D4: .4byte gBitTable -_0802A7D8: .4byte gBattleMons -_0802A7DC: .4byte 0xf7ffffff -_0802A7E0: - ldrb r1, [r1] - adds r0, r3, 0 - bl RecordAbilityBattle - ldr r1, _0802A838 @ =gBattleCommunication - ldrb r0, [r1, 0x5] - mov r2, r9 - orrs r0, r2 - strb r0, [r1, 0x5] -_0802A7F2: - movs r6, 0 - ldr r7, _0802A83C @ =gBattleMons -_0802A7F6: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - add r4, r10 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - lsls r0, 24 - lsrs r4, r0, 24 - cmp r5, 0 - beq _0802A8AE - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - beq _0802A8AE - ldr r2, _0802A840 @ =gBattlerPartyIndexes - ldr r0, _0802A844 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _0802A848 - movs r0, 0x58 - muls r0, r1 - b _0802A878 - .align 2, 0 -_0802A838: .4byte gBattleCommunication -_0802A83C: .4byte gBattleMons -_0802A840: .4byte gBattlerPartyIndexes -_0802A844: .4byte gBattlerAttacker -_0802A848: - ldr r0, _0802A880 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802A890 - ldr r0, _0802A884 @ =gActiveBattler - ldrb r3, [r0] - lsls r0, r3, 1 - adds r0, r2 - ldrh r0, [r0] - cmp r0, r6 - bne _0802A890 - ldr r0, _0802A888 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802A88C @ =gBitTable - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802A890 - movs r0, 0x58 - muls r0, r3 -_0802A878: - adds r0, r7 - adds r0, 0x20 - ldrb r0, [r0] - b _0802A89C - .align 2, 0 -_0802A880: .4byte gBattleTypeFlags -_0802A884: .4byte gActiveBattler -_0802A888: .4byte gAbsentBattlerFlags -_0802A88C: .4byte gBitTable -_0802A890: - adds r0, r5, 0 - adds r1, r4, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 -_0802A89C: - cmp r0, 0x2B - beq _0802A8AE - movs r0, 0x1 - lsls r0, r6 - mov r1, r8 - orrs r1, r0 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 -_0802A8AE: - adds r6, 0x1 - cmp r6, 0x5 - ble _0802A7F6 - b _0802A934 -_0802A8B6: - ldr r1, _0802A970 @ =gBattleCommunication - movs r0, 0x4 - strb r0, [r1, 0x5] - movs r2, 0x3F - mov r8, r2 - ldr r3, _0802A974 @ =gBattleMons - ldr r2, _0802A978 @ =gBattlerAttacker - ldrb r0, [r2] - movs r5, 0x58 - muls r0, r5 - movs r1, 0x4C - adds r1, r3 - mov r9, r1 - add r0, r9 - str r4, [r0] - ldrb r0, [r2] - adds r1, r0, 0 - muls r1, r5 - adds r7, r3, 0 - adds r7, 0x50 - adds r1, r7 - ldr r0, [r1] - ldr r6, _0802A97C @ =0xf7ffffff - ands r0, r6 - str r0, [r1] - ldrb r0, [r2] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r4, _0802A980 @ =gActiveBattler - strb r0, [r4] - ldr r0, _0802A984 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802A934 - ldr r0, _0802A988 @ =gAbsentBattlerFlags - ldrb r2, [r0] - ldr r1, _0802A98C @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r1 - ldr r0, [r0] - ands r2, r0 - cmp r2, 0 - bne _0802A934 - adds r0, r3, 0 - muls r0, r5 - add r0, r9 - str r2, [r0] - ldrb r0, [r4] - adds r1, r0, 0 - muls r1, r5 - adds r1, r7 - ldr r0, [r1] - ands r0, r6 - str r0, [r1] -_0802A934: - mov r2, r8 - cmp r2, 0 - beq _0802A956 - ldr r4, _0802A980 @ =gActiveBattler - ldr r0, _0802A978 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - add r0, sp, 0x4 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802A956: - ldr r1, _0802A990 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802A970: .4byte gBattleCommunication -_0802A974: .4byte gBattleMons -_0802A978: .4byte gBattlerAttacker -_0802A97C: .4byte 0xf7ffffff -_0802A980: .4byte gActiveBattler -_0802A984: .4byte gBattleTypeFlags -_0802A988: .4byte gAbsentBattlerFlags -_0802A98C: .4byte gBitTable -_0802A990: .4byte gBattlescriptCurrInstr - thumb_func_end atkAE_healpartystatus - - thumb_func_start atkAF_cursetarget -atkAF_cursetarget: @ 802A994 - push {r4,r5,lr} - ldr r5, _0802A9D4 @ =gBattleMons - ldr r0, _0802A9D8 @ =gBattlerTarget - ldrb r0, [r0] - movs r4, 0x58 - adds r1, r0, 0 - muls r1, r4 - adds r0, r5, 0 - adds r0, 0x50 - adds r1, r0 - ldr r2, [r1] - movs r3, 0x80 - lsls r3, 21 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _0802A9E0 - ldr r3, _0802A9DC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802AA04 - .align 2, 0 -_0802A9D4: .4byte gBattleMons -_0802A9D8: .4byte gBattlerTarget -_0802A9DC: .4byte gBattlescriptCurrInstr -_0802A9E0: - orrs r2, r3 - str r2, [r1] - ldr r1, _0802AA0C @ =gBattleMoveDamage - ldr r0, _0802AA10 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r4 - adds r0, r5 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _0802A9FC - movs r0, 0x1 - str r0, [r1] -_0802A9FC: - ldr r1, _0802AA14 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802AA04: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802AA0C: .4byte gBattleMoveDamage -_0802AA10: .4byte gBattlerAttacker -_0802AA14: .4byte gBattlescriptCurrInstr - thumb_func_end atkAF_cursetarget - - thumb_func_start atkB0_trysetspikes -atkB0_trysetspikes: @ 802AA18 - push {r4,lr} - ldr r4, _0802AA6C @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0802AA70 @ =gSideTimers - lsls r2, r0, 1 - adds r0, r2, r0 - lsls r0, 2 - adds r3, r0, r1 - ldrb r0, [r3, 0xA] - cmp r0, 0x3 - bne _0802AA7C - ldr r2, _0802AA74 @ =gSpecialStatuses - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r3, _0802AA78 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802AA96 - .align 2, 0 -_0802AA6C: .4byte gBattlerAttacker -_0802AA70: .4byte gSideTimers -_0802AA74: .4byte gSpecialStatuses -_0802AA78: .4byte gBattlescriptCurrInstr -_0802AA7C: - ldr r1, _0802AA9C @ =gSideStatuses - adds r1, r2, r1 - ldrh r2, [r1] - movs r0, 0x10 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r3, 0xA] - adds r0, 0x1 - strb r0, [r3, 0xA] - ldr r1, _0802AAA0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802AA96: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802AA9C: .4byte gSideStatuses -_0802AAA0: .4byte gBattlescriptCurrInstr - thumb_func_end atkB0_trysetspikes - - thumb_func_start atkB1_setforesight -atkB1_setforesight: @ 802AAA4 - ldr r1, _0802AAC8 @ =gBattleMons - ldr r0, _0802AACC @ =gBattlerTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 22 - orrs r0, r1 - str r0, [r2] - ldr r1, _0802AAD0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802AAC8: .4byte gBattleMons -_0802AACC: .4byte gBattlerTarget -_0802AAD0: .4byte gBattlescriptCurrInstr - thumb_func_end atkB1_setforesight - - thumb_func_start atkB2_trysetperishsong -atkB2_trysetperishsong: @ 802AAD4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r6, 0 - movs r3, 0 - ldr r0, _0802AB18 @ =gBattlersCount - adds r7, r0, 0 - ldr r0, _0802AB1C @ =gBattlerAttacker - mov r8, r0 - ldrb r1, [r7] - cmp r6, r1 - bge _0802AB40 - movs r5, 0x20 - ldr r0, _0802AB20 @ =gBattleMons - mov r12, r0 - ldr r0, _0802AB24 @ =gDisableStructs - adds r4, r0, 0 - adds r4, 0xF - ldr r2, _0802AB28 @ =gStatuses3 -_0802AAFC: - ldr r1, [r2] - adds r0, r1, 0 - ands r0, r5 - cmp r0, 0 - bne _0802AB14 - movs r0, 0x58 - muls r0, r3 - add r0, r12 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x2B - bne _0802AB2C -_0802AB14: - adds r6, 0x1 - b _0802AB34 - .align 2, 0 -_0802AB18: .4byte gBattlersCount -_0802AB1C: .4byte gBattlerAttacker -_0802AB20: .4byte gBattleMons -_0802AB24: .4byte gDisableStructs -_0802AB28: .4byte gStatuses3 -_0802AB2C: - orrs r1, r5 - str r1, [r2] - movs r0, 0x33 - strb r0, [r4] -_0802AB34: - adds r4, 0x1C - adds r2, 0x4 - adds r3, 0x1 - ldrb r0, [r7] - cmp r3, r0 - blt _0802AAFC -_0802AB40: - mov r1, r8 - ldrb r0, [r1] - bl PressurePPLoseOnUsingPerishSong - ldr r0, _0802AB6C @ =gBattlersCount - ldrb r0, [r0] - cmp r6, r0 - bne _0802AB74 - ldr r3, _0802AB70 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802AB7C - .align 2, 0 -_0802AB6C: .4byte gBattlersCount -_0802AB70: .4byte gBattlescriptCurrInstr -_0802AB74: - ldr r1, _0802AB88 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802AB7C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802AB88: .4byte gBattlescriptCurrInstr - thumb_func_end atkB2_trysetperishsong - - thumb_func_start atkB3_rolloutdamagecalculation -atkB3_rolloutdamagecalculation: @ 802AB8C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802ABB0 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802ABC0 - ldr r0, _0802ABB4 @ =gBattlerAttacker - ldrb r0, [r0] - bl CancelMultiTurnMoves - ldr r1, _0802ABB8 @ =gBattlescriptCurrInstr - ldr r0, _0802ABBC @ =BattleScript_MoveMissedPause - str r0, [r1] - b _0802ACD8 - .align 2, 0 -_0802ABB0: .4byte gMoveResultFlags -_0802ABB4: .4byte gBattlerAttacker -_0802ABB8: .4byte gBattlescriptCurrInstr -_0802ABBC: .4byte BattleScript_MoveMissedPause -_0802ABC0: - ldr r2, _0802ACE4 @ =gBattleMons - ldr r1, _0802ACE8 @ =gBattlerAttacker - ldrb r3, [r1] - movs r5, 0x58 - adds r0, r3, 0 - muls r0, r5 - adds r4, r2, 0 - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r7, 0x80 - lsls r7, 5 - ands r0, r7 - adds r6, r1, 0 - mov r9, r2 - ldr r1, _0802ACEC @ =gDisableStructs - mov r12, r1 - ldr r2, _0802ACF0 @ =gCurrentMove - mov r8, r2 - cmp r0, 0 - bne _0802AC32 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - add r0, r12 - ldrb r2, [r0, 0x11] - movs r1, 0x10 - negs r1, r1 - ands r1, r2 - movs r2, 0x5 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r2, [r0, 0x11] - movs r1, 0xF - ands r1, r2 - movs r2, 0x50 - orrs r1, r2 - strb r1, [r0, 0x11] - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - orrs r0, r7 - str r0, [r1] - ldr r1, _0802ACF4 @ =gLockedMoves - ldrb r0, [r6] - lsls r0, 1 - adds r0, r1 - mov r2, r8 - ldrh r1, [r2] - strh r1, [r0] -_0802AC32: - ldrb r0, [r6] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - add r2, r12 - ldrb r3, [r2, 0x11] - lsls r1, r3, 28 - lsrs r1, 28 - subs r1, 0x1 - movs r0, 0xF - ands r1, r0 - movs r0, 0x10 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x11] - cmp r1, 0 - bne _0802AC66 - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r5 - adds r1, r4 - ldr r0, [r1] - ldr r2, _0802ACF8 @ =0xffffefff - ands r0, r2 - str r0, [r1] -_0802AC66: - ldr r3, _0802ACFC @ =gDynamicBasePower - ldr r2, _0802AD00 @ =gBattleMoves - mov r0, r8 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r3] - movs r2, 0x1 - ldrb r1, [r6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r1, r12 - adds r4, r0, r1 - ldrb r0, [r4, 0x11] - lsls r0, 28 - lsrs r0, 28 - movs r1, 0x5 - subs r1, r0 - ldr r7, _0802AD04 @ =gBattlescriptCurrInstr - adds r5, r3, 0 - cmp r2, r1 - bge _0802ACB4 - adds r1, r5, 0 - adds r3, r4, 0 - movs r4, 0x5 -_0802ACA0: - ldrh r0, [r1] - lsls r0, 1 - strh r0, [r1] - adds r2, 0x1 - ldrb r0, [r3, 0x11] - lsls r0, 28 - lsrs r0, 28 - subs r0, r4, r0 - cmp r2, r0 - blt _0802ACA0 -_0802ACB4: - ldrb r1, [r6] - movs r0, 0x58 - muls r0, r1 - mov r1, r9 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 23 - ands r0, r1 - cmp r0, 0 - beq _0802ACD2 - ldrh r0, [r5] - lsls r0, 1 - strh r0, [r5] -_0802ACD2: - ldr r0, [r7] - adds r0, 0x1 - str r0, [r7] -_0802ACD8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802ACE4: .4byte gBattleMons -_0802ACE8: .4byte gBattlerAttacker -_0802ACEC: .4byte gDisableStructs -_0802ACF0: .4byte gCurrentMove -_0802ACF4: .4byte gLockedMoves -_0802ACF8: .4byte 0xffffefff -_0802ACFC: .4byte gDynamicBasePower -_0802AD00: .4byte gBattleMoves -_0802AD04: .4byte gBattlescriptCurrInstr - thumb_func_end atkB3_rolloutdamagecalculation - - thumb_func_start atkB4_jumpifconfusedandstatmaxed -atkB4_jumpifconfusedandstatmaxed: @ 802AD08 - push {r4,r5,lr} - ldr r5, _0802AD58 @ =gBattleMons - ldr r0, _0802AD5C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - adds r3, r1, 0 - muls r3, r0 - adds r0, r5, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - ldr r4, _0802AD60 @ =gBattlescriptCurrInstr - cmp r0, 0 - beq _0802AD64 - ldr r2, [r4] - ldrb r0, [r2, 0x1] - adds r0, r3 - adds r1, r5, 0 - adds r1, 0x18 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xC - bne _0802AD64 - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0802AD6A - .align 2, 0 -_0802AD58: .4byte gBattleMons -_0802AD5C: .4byte gBattlerTarget -_0802AD60: .4byte gBattlescriptCurrInstr -_0802AD64: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_0802AD6A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end atkB4_jumpifconfusedandstatmaxed - - thumb_func_start atkB5_furycuttercalc -atkB5_furycuttercalc: @ 802AD70 - push {r4,r5,lr} - ldr r0, _0802AD98 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802ADAC - ldr r2, _0802AD9C @ =gDisableStructs - ldr r0, _0802ADA0 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strb r1, [r0, 0x10] - ldr r1, _0802ADA4 @ =gBattlescriptCurrInstr - ldr r0, _0802ADA8 @ =BattleScript_MoveMissedPause - str r0, [r1] - b _0802AE04 - .align 2, 0 -_0802AD98: .4byte gMoveResultFlags -_0802AD9C: .4byte gDisableStructs -_0802ADA0: .4byte gBattlerAttacker -_0802ADA4: .4byte gBattlescriptCurrInstr -_0802ADA8: .4byte BattleScript_MoveMissedPause -_0802ADAC: - ldr r5, _0802AE0C @ =gDisableStructs - ldr r4, _0802AE10 @ =gBattlerAttacker - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x10] - cmp r0, 0x5 - beq _0802ADC4 - adds r0, 0x1 - strb r0, [r1, 0x10] -_0802ADC4: - ldr r3, _0802AE14 @ =gDynamicBasePower - ldr r2, _0802AE18 @ =gBattleMoves - ldr r0, _0802AE1C @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r3] - movs r2, 0x1 - ldrb r1, [r4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r4, _0802AE20 @ =gBattlescriptCurrInstr - ldrb r1, [r0, 0x10] - cmp r2, r1 - bge _0802ADFE - adds r1, r3, 0 - adds r3, r0, 0 -_0802ADF0: - ldrh r0, [r1] - lsls r0, 1 - strh r0, [r1] - adds r2, 0x1 - ldrb r0, [r3, 0x10] - cmp r2, r0 - blt _0802ADF0 -_0802ADFE: - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] -_0802AE04: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802AE0C: .4byte gDisableStructs -_0802AE10: .4byte gBattlerAttacker -_0802AE14: .4byte gDynamicBasePower -_0802AE18: .4byte gBattleMoves -_0802AE1C: .4byte gCurrentMove -_0802AE20: .4byte gBattlescriptCurrInstr - thumb_func_end atkB5_furycuttercalc - - thumb_func_start atkB6_happinesstodamagecalculation -atkB6_happinesstodamagecalculation: @ 802AE24 - push {r4,lr} - ldr r2, _0802AE50 @ =gBattleMoves - ldr r0, _0802AE54 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x79 - bne _0802AE64 - ldr r4, _0802AE58 @ =gDynamicBasePower - ldr r2, _0802AE5C @ =gBattleMons - ldr r0, _0802AE60 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2B - ldrb r1, [r0] - b _0802AE7A - .align 2, 0 -_0802AE50: .4byte gBattleMoves -_0802AE54: .4byte gCurrentMove -_0802AE58: .4byte gDynamicBasePower -_0802AE5C: .4byte gBattleMons -_0802AE60: .4byte gBattlerAttacker -_0802AE64: - ldr r4, _0802AE98 @ =gDynamicBasePower - ldr r2, _0802AE9C @ =gBattleMons - ldr r0, _0802AEA0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - movs r1, 0xFF - subs r1, r0 -_0802AE7A: - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - movs r1, 0x19 - bl __divsi3 - strh r0, [r4] - ldr r1, _0802AEA4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802AE98: .4byte gDynamicBasePower -_0802AE9C: .4byte gBattleMons -_0802AEA0: .4byte gBattlerAttacker -_0802AEA4: .4byte gBattlescriptCurrInstr - thumb_func_end atkB6_happinesstodamagecalculation - - thumb_func_start atkB7_presentdamagecalculation -atkB7_presentdamagecalculation: @ 802AEA8 - push {r4,lr} - bl Random - movs r4, 0xFF - ands r4, r0 - cmp r4, 0x65 - bgt _0802AEC4 - ldr r1, _0802AEC0 @ =gDynamicBasePower - movs r0, 0x28 - strh r0, [r1] - b _0802AF06 - .align 2, 0 -_0802AEC0: .4byte gDynamicBasePower -_0802AEC4: - cmp r4, 0xB1 - bgt _0802AED4 - ldr r1, _0802AED0 @ =gDynamicBasePower - movs r0, 0x50 - strh r0, [r1] - b _0802AF06 - .align 2, 0 -_0802AED0: .4byte gDynamicBasePower -_0802AED4: - cmp r4, 0xCB - bgt _0802AEE4 - ldr r1, _0802AEE0 @ =gDynamicBasePower - movs r0, 0x78 - strh r0, [r1] - b _0802AF06 - .align 2, 0 -_0802AEE0: .4byte gDynamicBasePower -_0802AEE4: - ldr r3, _0802AF10 @ =gBattleMoveDamage - ldr r2, _0802AF14 @ =gBattleMons - ldr r0, _0802AF18 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r0, 2 - str r0, [r3] - cmp r0, 0 - bne _0802AF00 - movs r0, 0x1 - str r0, [r3] -_0802AF00: - ldr r0, [r3] - negs r0, r0 - str r0, [r3] -_0802AF06: - cmp r4, 0xCB - bgt _0802AF24 - ldr r1, _0802AF1C @ =gBattlescriptCurrInstr - ldr r0, _0802AF20 @ =BattleScript_HitFromCritCalc - b _0802AF5E - .align 2, 0 -_0802AF10: .4byte gBattleMoveDamage -_0802AF14: .4byte gBattleMons -_0802AF18: .4byte gBattlerTarget -_0802AF1C: .4byte gBattlescriptCurrInstr -_0802AF20: .4byte BattleScript_HitFromCritCalc -_0802AF24: - ldr r2, _0802AF40 @ =gBattleMons - ldr r0, _0802AF44 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0, 0x2C] - ldrh r0, [r0, 0x28] - cmp r1, r0 - bne _0802AF50 - ldr r1, _0802AF48 @ =gBattlescriptCurrInstr - ldr r0, _0802AF4C @ =BattleScript_AlreadyAtFullHp - b _0802AF5E - .align 2, 0 -_0802AF40: .4byte gBattleMons -_0802AF44: .4byte gBattlerTarget -_0802AF48: .4byte gBattlescriptCurrInstr -_0802AF4C: .4byte BattleScript_AlreadyAtFullHp -_0802AF50: - ldr r2, _0802AF68 @ =gMoveResultFlags - ldrb r1, [r2] - movs r0, 0xF7 - ands r0, r1 - strb r0, [r2] - ldr r1, _0802AF6C @ =gBattlescriptCurrInstr - ldr r0, _0802AF70 @ =BattleScript_PresentHealTarget -_0802AF5E: - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802AF68: .4byte gMoveResultFlags -_0802AF6C: .4byte gBattlescriptCurrInstr -_0802AF70: .4byte BattleScript_PresentHealTarget - thumb_func_end atkB7_presentdamagecalculation - - thumb_func_start atkB8_setsafeguard -atkB8_setsafeguard: @ 802AF74 - push {r4-r7,lr} - ldr r7, _0802AFA8 @ =gBattlerAttacker - ldrb r0, [r7] - bl GetBattlerPosition - ldr r4, _0802AFAC @ =gSideStatuses - movs r6, 0x1 - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r1, [r1] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0802AFB8 - ldr r2, _0802AFB0 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802AFB4 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - b _0802B000 - .align 2, 0 -_0802AFA8: .4byte gBattlerAttacker -_0802AFAC: .4byte gSideStatuses -_0802AFB0: .4byte gMoveResultFlags -_0802AFB4: .4byte gBattleCommunication -_0802AFB8: - ldrb r0, [r7] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r0, [r1] - movs r2, 0x20 - orrs r0, r2 - strh r0, [r1] - ldrb r0, [r7] - bl GetBattlerPosition - ldr r5, _0802B010 @ =gSideTimers - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r4, 0x5 - strb r4, [r0, 0x6] - ldrb r0, [r7] - bl GetBattlerPosition - adds r1, r6, 0 - ands r1, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r7] - strb r1, [r0, 0x7] - ldr r0, _0802B014 @ =gBattleCommunication - strb r4, [r0, 0x5] -_0802B000: - ldr r1, _0802B018 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B010: .4byte gSideTimers -_0802B014: .4byte gBattleCommunication -_0802B018: .4byte gBattlescriptCurrInstr - thumb_func_end atkB8_setsafeguard - - thumb_func_start atkB9_magnitudedamagecalculation -atkB9_magnitudedamagecalculation: @ 802B01C - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bgt _0802B048 - ldr r1, _0802B044 @ =gDynamicBasePower - movs r0, 0xA - strh r0, [r1] - movs r3, 0x4 - b _0802B0B4 - .align 2, 0 -_0802B044: .4byte gDynamicBasePower -_0802B048: - cmp r3, 0xE - bgt _0802B05C - ldr r1, _0802B058 @ =gDynamicBasePower - movs r0, 0x1E - strh r0, [r1] - movs r3, 0x5 - b _0802B0B4 - .align 2, 0 -_0802B058: .4byte gDynamicBasePower -_0802B05C: - cmp r3, 0x22 - bgt _0802B070 - ldr r1, _0802B06C @ =gDynamicBasePower - movs r0, 0x32 - strh r0, [r1] - movs r3, 0x6 - b _0802B0B4 - .align 2, 0 -_0802B06C: .4byte gDynamicBasePower -_0802B070: - cmp r3, 0x40 - bgt _0802B084 - ldr r1, _0802B080 @ =gDynamicBasePower - movs r0, 0x46 - strh r0, [r1] - movs r3, 0x7 - b _0802B0B4 - .align 2, 0 -_0802B080: .4byte gDynamicBasePower -_0802B084: - cmp r3, 0x54 - bgt _0802B098 - ldr r1, _0802B094 @ =gDynamicBasePower - movs r0, 0x5A - strh r0, [r1] - movs r3, 0x8 - b _0802B0B4 - .align 2, 0 -_0802B094: .4byte gDynamicBasePower -_0802B098: - cmp r3, 0x5E - bgt _0802B0AC - ldr r1, _0802B0A8 @ =gDynamicBasePower - movs r0, 0x6E - strh r0, [r1] - movs r3, 0x9 - b _0802B0B4 - .align 2, 0 -_0802B0A8: .4byte gDynamicBasePower -_0802B0AC: - ldr r1, _0802B120 @ =gDynamicBasePower - movs r0, 0x96 - strh r0, [r1] - movs r3, 0xA -_0802B0B4: - ldr r1, _0802B124 @ =gBattleTextBuff1 - movs r2, 0 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x1 - strb r0, [r1, 0x1] - strb r0, [r1, 0x2] - movs r0, 0x2 - strb r0, [r1, 0x3] - strb r3, [r1, 0x4] - movs r0, 0xFF - strb r0, [r1, 0x5] - ldr r1, _0802B128 @ =gBattlerTarget - strb r2, [r1] - ldr r0, _0802B12C @ =gBattlersCount - ldrb r3, [r0] - adds r6, r1, 0 - ldr r0, _0802B130 @ =gBattlescriptCurrInstr - mov r8, r0 - cmp r2, r3 - bcs _0802B10C - adds r4, r6, 0 - ldr r0, _0802B134 @ =gBattlerAttacker - ldrb r5, [r0] - ldr r1, _0802B138 @ =gBitTable - mov r12, r1 - ldr r7, _0802B13C @ =gAbsentBattlerFlags -_0802B0EA: - ldrb r2, [r4] - cmp r2, r5 - beq _0802B100 - ldrb r0, [r7] - ldrb r1, [r6] - lsls r1, 2 - add r1, r12 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _0802B10C -_0802B100: - adds r0, r2, 0x1 - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r3 - bcc _0802B0EA -_0802B10C: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B120: .4byte gDynamicBasePower -_0802B124: .4byte gBattleTextBuff1 -_0802B128: .4byte gBattlerTarget -_0802B12C: .4byte gBattlersCount -_0802B130: .4byte gBattlescriptCurrInstr -_0802B134: .4byte gBattlerAttacker -_0802B138: .4byte gBitTable -_0802B13C: .4byte gAbsentBattlerFlags - thumb_func_end atkB9_magnitudedamagecalculation - - thumb_func_start atkBA_jumpifnopursuitswitchdmg -atkBA_jumpifnopursuitswitchdmg: @ 802B140 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0802B164 @ =gMultiHitCounter - ldrb r0, [r0] - cmp r0, 0x1 - bne _0802B170 - ldr r0, _0802B168 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0802B16C - movs r0, 0x1 - b _0802B18A - .align 2, 0 -_0802B164: .4byte gMultiHitCounter -_0802B168: .4byte gBattlerAttacker -_0802B16C: - movs r0, 0 - b _0802B18A -_0802B170: - ldr r0, _0802B184 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0802B188 - movs r0, 0x3 - b _0802B18A - .align 2, 0 -_0802B184: .4byte gBattlerAttacker -_0802B188: - movs r0, 0x2 -_0802B18A: - bl GetBattlerAtPosition - ldr r1, _0802B264 @ =gBattlerTarget - strb r0, [r1] - ldr r0, _0802B268 @ =gChosenActionByBattler - ldr r1, _0802B264 @ =gBattlerTarget - ldrb r3, [r1] - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _0802B1A2 - b _0802B2A8 -_0802B1A2: - ldr r5, _0802B26C @ =gBattlerAttacker - ldr r0, _0802B270 @ =gBattleStruct - ldr r1, [r0] - adds r1, r3, r1 - ldrb r2, [r5] - ldrb r1, [r1, 0xC] - cmp r2, r1 - bne _0802B2A8 - ldr r4, _0802B274 @ =gBattleMons - movs r2, 0x58 - adds r0, r3, 0 - muls r0, r2 - adds r1, r4, 0 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - movs r1, 0x27 - ands r0, r1 - cmp r0, 0 - bne _0802B2A8 - ldrb r0, [r5] - muls r0, r2 - adds r0, r4 - ldrh r0, [r0, 0x28] - cmp r0, 0 - beq _0802B2A8 - ldr r0, _0802B278 @ =gDisableStructs - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x18] - lsls r0, 31 - cmp r0, 0 - bne _0802B2A8 - ldr r0, _0802B27C @ =gChosenMoveByBattler - lsls r1, r3, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0xE4 - bne _0802B2A8 - movs r1, 0 - ldr r0, _0802B280 @ =gBattlersCount - ldr r2, _0802B284 @ =gCurrentMove - mov r8, r2 - ldr r7, _0802B288 @ =gCurrMovePos - mov r10, r7 - ldr r2, _0802B28C @ =gChosenMovePos - mov r9, r2 - ldr r7, _0802B290 @ =gHitMarker - mov r12, r7 - ldrb r2, [r0] - cmp r1, r2 - bge _0802B22E - ldr r6, _0802B294 @ =gBattlerByTurnOrder - ldr r5, _0802B264 @ =gBattlerTarget - ldr r4, _0802B298 @ =gActionsByTurnOrder - movs r3, 0xB - adds r2, r0, 0 -_0802B218: - adds r0, r1, r6 - ldrb r0, [r0] - ldrb r7, [r5] - cmp r0, r7 - bne _0802B226 - adds r0, r1, r4 - strb r3, [r0] -_0802B226: - adds r1, 0x1 - ldrb r0, [r2] - cmp r1, r0 - blt _0802B218 -_0802B22E: - movs r0, 0xE4 - mov r1, r8 - strh r0, [r1] - ldr r2, _0802B264 @ =gBattlerTarget - ldrb r0, [r2] - ldr r7, _0802B270 @ =gBattleStruct - ldr r1, [r7] - adds r0, r1 - adds r0, 0x80 - ldrb r0, [r0] - mov r1, r9 - strb r0, [r1] - mov r2, r10 - strb r0, [r2] - ldr r7, _0802B29C @ =gBattlescriptCurrInstr - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - movs r0, 0x1 - ldr r1, _0802B2A0 @ =gBattleScripting - strb r0, [r1, 0x18] - mov r2, r12 - ldr r0, [r2] - ldr r1, _0802B2A4 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - b _0802B2C2 - .align 2, 0 -_0802B264: .4byte gBattlerTarget -_0802B268: .4byte gChosenActionByBattler -_0802B26C: .4byte gBattlerAttacker -_0802B270: .4byte gBattleStruct -_0802B274: .4byte gBattleMons -_0802B278: .4byte gDisableStructs -_0802B27C: .4byte gChosenMoveByBattler -_0802B280: .4byte gBattlersCount -_0802B284: .4byte gCurrentMove -_0802B288: .4byte gCurrMovePos -_0802B28C: .4byte gChosenMovePos -_0802B290: .4byte gHitMarker -_0802B294: .4byte gBattlerByTurnOrder -_0802B298: .4byte gActionsByTurnOrder -_0802B29C: .4byte gBattlescriptCurrInstr -_0802B2A0: .4byte gBattleScripting -_0802B2A4: .4byte 0xfffffbff -_0802B2A8: - ldr r3, _0802B2D0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B2C2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B2D0: .4byte gBattlescriptCurrInstr - thumb_func_end atkBA_jumpifnopursuitswitchdmg - - thumb_func_start atkBB_setsunny -atkBB_setsunny: @ 802B2D4 - push {lr} - ldr r2, _0802B2F4 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0802B300 - ldr r2, _0802B2F8 @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802B2FC @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _0802B312 - .align 2, 0 -_0802B2F4: .4byte gBattleWeather -_0802B2F8: .4byte gMoveResultFlags -_0802B2FC: .4byte gBattleCommunication -_0802B300: - movs r0, 0x20 - strh r0, [r2] - ldr r1, _0802B320 @ =gBattleCommunication - movs r0, 0x4 - strb r0, [r1, 0x5] - ldr r0, _0802B324 @ =gWishFutureKnock - adds r0, 0x28 - movs r1, 0x5 - strb r1, [r0] -_0802B312: - ldr r1, _0802B328 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802B320: .4byte gBattleCommunication -_0802B324: .4byte gWishFutureKnock -_0802B328: .4byte gBattlescriptCurrInstr - thumb_func_end atkBB_setsunny - - thumb_func_start atkBC_maxattackhalvehp -atkBC_maxattackhalvehp: @ 802B32C - push {r4,r5,lr} - ldr r5, _0802B378 @ =gBattleMons - ldr r4, _0802B37C @ =gBattlerAttacker - ldrb r0, [r4] - movs r3, 0x58 - muls r0, r3 - adds r2, r0, r5 - ldrh r0, [r2, 0x2C] - lsrs r1, r0, 1 - cmp r1, 0 - bne _0802B344 - movs r1, 0x1 -_0802B344: - movs r0, 0x19 - ldrsb r0, [r2, r0] - cmp r0, 0xB - bgt _0802B388 - ldrh r0, [r2, 0x28] - cmp r0, r1 - bls _0802B388 - movs r0, 0xC - strb r0, [r2, 0x19] - ldr r1, _0802B380 @ =gBattleMoveDamage - ldrb r0, [r4] - muls r0, r3 - adds r0, r5 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _0802B36C - movs r0, 0x1 - str r0, [r1] -_0802B36C: - ldr r1, _0802B384 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802B3A2 - .align 2, 0 -_0802B378: .4byte gBattleMons -_0802B37C: .4byte gBattlerAttacker -_0802B380: .4byte gBattleMoveDamage -_0802B384: .4byte gBattlescriptCurrInstr -_0802B388: - ldr r3, _0802B3A8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B3A2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B3A8: .4byte gBattlescriptCurrInstr - thumb_func_end atkBC_maxattackhalvehp - - thumb_func_start atkBD_copyfoestats -atkBD_copyfoestats: @ 802B3AC - push {r4-r7,lr} - movs r2, 0 - ldr r7, _0802B3E4 @ =gBattlescriptCurrInstr - ldr r6, _0802B3E8 @ =gBattlerAttacker - movs r4, 0x58 - ldr r3, _0802B3EC @ =gUnknown_2023BFC - ldr r5, _0802B3F0 @ =gBattlerTarget -_0802B3BA: - ldrb r0, [r6] - adds r1, r0, 0 - muls r1, r4 - adds r1, r2, r1 - adds r1, r3 - ldrb r0, [r5] - muls r0, r4 - adds r0, r2, r0 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _0802B3BA - ldr r0, [r7] - adds r0, 0x5 - str r0, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B3E4: .4byte gBattlescriptCurrInstr -_0802B3E8: .4byte gBattlerAttacker -_0802B3EC: .4byte gUnknown_2023BFC -_0802B3F0: .4byte gBattlerTarget - thumb_func_end atkBD_copyfoestats - - thumb_func_start atkBE_rapidspinfree -atkBE_rapidspinfree: @ 802B3F4 - push {r4-r6,lr} - ldr r1, _0802B464 @ =gBattleMons - ldr r5, _0802B468 @ =gBattlerAttacker - ldrb r2, [r5] - movs r6, 0x58 - adds r0, r2, 0 - muls r0, r6 - adds r4, r1, 0 - adds r4, 0x50 - adds r0, r4 - ldr r0, [r0] - movs r1, 0xE0 - lsls r1, 8 - ands r0, r1 - cmp r0, 0 - beq _0802B488 - ldr r1, _0802B46C @ =gBattleScripting - ldr r3, _0802B470 @ =gBattlerTarget - ldrb r0, [r3] - strb r0, [r1, 0x17] - ldrb r0, [r5] - adds r1, r0, 0 - muls r1, r6 - adds r1, r4 - ldr r0, [r1] - ldr r2, _0802B474 @ =0xffff1fff - ands r0, r2 - str r0, [r1] - ldrb r0, [r5] - ldr r1, _0802B478 @ =gBattleStruct - ldr r2, [r1] - adds r0, r2 - ldrb r0, [r0, 0x14] - strb r0, [r3] - ldr r1, _0802B47C @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x2 - strb r0, [r1, 0x1] - ldrb r0, [r5] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0, 0x4] - strb r0, [r1, 0x2] - ldrb r0, [r5] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - bl BattleScriptPushCursor - ldr r1, _0802B480 @ =gBattlescriptCurrInstr - ldr r0, _0802B484 @ =BattleScript_WrapFree - b _0802B532 - .align 2, 0 -_0802B464: .4byte gBattleMons -_0802B468: .4byte gBattlerAttacker -_0802B46C: .4byte gBattleScripting -_0802B470: .4byte gBattlerTarget -_0802B474: .4byte 0xffff1fff -_0802B478: .4byte gBattleStruct -_0802B47C: .4byte gBattleTextBuff1 -_0802B480: .4byte gBattlescriptCurrInstr -_0802B484: .4byte BattleScript_WrapFree -_0802B488: - ldr r4, _0802B4BC @ =gStatuses3 - lsls r0, r2, 2 - adds r3, r0, r4 - ldr r1, [r3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0802B4C8 - movs r0, 0x5 - negs r0, r0 - ands r1, r0 - str r1, [r3] - ldrb r1, [r5] - lsls r1, 2 - adds r1, r4 - ldr r0, [r1] - movs r2, 0x4 - negs r2, r2 - ands r0, r2 - str r0, [r1] - bl BattleScriptPushCursor - ldr r1, _0802B4C0 @ =gBattlescriptCurrInstr - ldr r0, _0802B4C4 @ =BattleScript_LeechSeedFree - b _0802B532 - .align 2, 0 -_0802B4BC: .4byte gStatuses3 -_0802B4C0: .4byte gBattlescriptCurrInstr -_0802B4C4: .4byte BattleScript_LeechSeedFree -_0802B4C8: - adds r0, r2, 0 - bl GetBattlerSide - ldr r4, _0802B518 @ =gSideStatuses - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0802B52C - ldrb r0, [r5] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrh r2, [r0] - ldr r1, _0802B51C @ =0x0000ffef - ands r1, r2 - movs r4, 0 - strh r1, [r0] - ldrb r0, [r5] - bl GetBattlerSide - ldr r2, _0802B520 @ =gSideTimers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - strb r4, [r1, 0xA] - bl BattleScriptPushCursor - ldr r1, _0802B524 @ =gBattlescriptCurrInstr - ldr r0, _0802B528 @ =BattleScript_SpikesFree - b _0802B532 - .align 2, 0 -_0802B518: .4byte gSideStatuses -_0802B51C: .4byte 0x0000ffef -_0802B520: .4byte gSideTimers -_0802B524: .4byte gBattlescriptCurrInstr -_0802B528: .4byte BattleScript_SpikesFree -_0802B52C: - ldr r1, _0802B53C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 -_0802B532: - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B53C: .4byte gBattlescriptCurrInstr - thumb_func_end atkBE_rapidspinfree - - thumb_func_start atkBF_setdefensecurlbit -atkBF_setdefensecurlbit: @ 802B540 - ldr r1, _0802B564 @ =gBattleMons - ldr r0, _0802B568 @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - movs r1, 0x80 - lsls r1, 23 - orrs r0, r1 - str r0, [r2] - ldr r1, _0802B56C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802B564: .4byte gBattleMons -_0802B568: .4byte gBattlerAttacker -_0802B56C: .4byte gBattlescriptCurrInstr - thumb_func_end atkBF_setdefensecurlbit - - thumb_func_start atkC0_recoverbasedonsunlight -atkC0_recoverbasedonsunlight: @ 802B570 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _0802B5DC @ =gBattlerTarget - ldr r5, _0802B5E0 @ =gBattlerAttacker - ldrb r0, [r5] - strb r0, [r1] - ldr r7, _0802B5E4 @ =gBattleMons - ldrb r0, [r5] - movs r6, 0x58 - muls r0, r6 - adds r0, r7 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - beq _0802B650 - ldr r4, _0802B5E8 @ =gBattleWeather - ldrh r0, [r4] - cmp r0, 0 - beq _0802B5C2 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0802B5C2 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - beq _0802B5F0 -_0802B5C2: - ldr r3, _0802B5EC @ =gBattleMoveDamage - ldr r2, _0802B5E4 @ =gBattleMons - ldr r0, _0802B5E0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r3] - adds r1, r3, 0 - b _0802B62A - .align 2, 0 -_0802B5DC: .4byte gBattlerTarget -_0802B5E0: .4byte gBattlerAttacker -_0802B5E4: .4byte gBattleMons -_0802B5E8: .4byte gBattleWeather -_0802B5EC: .4byte gBattleMoveDamage -_0802B5F0: - ldrh r1, [r4] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0802B61C - ldr r4, _0802B618 @ =gBattleMoveDamage - ldrb r0, [r5] - muls r0, r6 - adds r0, r7 - ldrh r1, [r0, 0x2C] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r1, 0x1E - bl __divsi3 - str r0, [r4] - adds r1, r4, 0 - b _0802B62A - .align 2, 0 -_0802B618: .4byte gBattleMoveDamage -_0802B61C: - ldr r1, _0802B648 @ =gBattleMoveDamage - ldrb r0, [r5] - muls r0, r6 - adds r0, r7 - ldrh r0, [r0, 0x2C] - lsrs r0, 2 - str r0, [r1] -_0802B62A: - adds r2, r1, 0 - ldr r0, [r2] - cmp r0, 0 - bne _0802B636 - movs r0, 0x1 - str r0, [r2] -_0802B636: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldr r1, _0802B64C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802B66A - .align 2, 0 -_0802B648: .4byte gBattleMoveDamage -_0802B64C: .4byte gBattlescriptCurrInstr -_0802B650: - ldr r3, _0802B674 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802B66A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B674: .4byte gBattlescriptCurrInstr - thumb_func_end atkC0_recoverbasedonsunlight - thumb_func_start atkC1_hiddenpowercalc atkC1_hiddenpowercalc: @ 802B678 push {r4-r7,lr} -- cgit v1.2.3 From f4b4f5dd0c698bad4e9b10b712c15f5c448a0203 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 12:00:08 +0800 Subject: thru atkee --- asm/battle_script_commands.s | 3790 ------------------------------------------ 1 file changed, 3790 deletions(-) (limited to 'asm') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 5d8648ced..00d3e49c7 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -5,3796 +5,6 @@ .text - thumb_func_start atkC1_hiddenpowercalc -atkC1_hiddenpowercalc: @ 802B678 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r2, _0802B760 @ =gBattleMons - ldr r0, _0802B764 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrb r0, [r1, 0x14] - mov r9, r0 - mov r7, r9 - lsls r7, 27 - adds r0, r7, 0 - lsrs r0, 27 - mov r9, r0 - movs r4, 0x2 - mov r2, r9 - ands r2, r4 - asrs r2, 1 - ldrh r7, [r1, 0x14] - mov r8, r7 - mov r0, r8 - lsls r0, 22 - lsrs r0, 27 - mov r8, r0 - ands r0, r4 - orrs r2, r0 - ldrb r6, [r1, 0x15] - lsls r6, 25 - lsrs r6, 27 - adds r0, r6, 0 - ands r0, r4 - lsls r0, 1 - orrs r2, r0 - ldr r5, [r1, 0x14] - lsls r5, 12 - lsrs r5, 27 - adds r0, r5, 0 - ands r0, r4 - lsls r0, 2 - orrs r2, r0 - ldrh r3, [r1, 0x16] - lsls r3, 23 - lsrs r3, 27 - adds r0, r3, 0 - ands r0, r4 - lsls r0, 3 - orrs r2, r0 - ldrb r1, [r1, 0x17] - lsls r1, 26 - lsrs r1, 27 - adds r0, r1, 0 - ands r0, r4 - lsls r0, 4 - orrs r2, r0 - movs r0, 0x1 - adds r4, r0, 0 - mov r7, r9 - ands r4, r7 - mov r7, r8 - ands r7, r0 - lsls r7, 1 - orrs r4, r7 - ands r6, r0 - lsls r6, 2 - orrs r4, r6 - ands r5, r0 - lsls r5, 3 - orrs r4, r5 - ands r3, r0 - lsls r3, 4 - orrs r4, r3 - ands r1, r0 - lsls r1, 5 - orrs r4, r1 - ldr r5, _0802B768 @ =gDynamicBasePower - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - movs r1, 0x3F - bl __divsi3 - adds r0, 0x1E - strh r0, [r5] - ldr r6, _0802B76C @ =gBattleStruct - ldr r5, [r6] - lsls r0, r4, 4 - subs r0, r4 - movs r1, 0x3F - bl __divsi3 - adds r0, 0x1 - strb r0, [r5, 0x13] - ldr r1, [r6] - ldrb r0, [r1, 0x13] - cmp r0, 0x8 - bls _0802B742 - adds r0, 0x1 - strb r0, [r1, 0x13] -_0802B742: - ldr r2, [r6] - ldrb r0, [r2, 0x13] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r2, 0x13] - ldr r1, _0802B770 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B760: .4byte gBattleMons -_0802B764: .4byte gBattlerAttacker -_0802B768: .4byte gDynamicBasePower -_0802B76C: .4byte gBattleStruct -_0802B770: .4byte gBattlescriptCurrInstr - thumb_func_end atkC1_hiddenpowercalc - - thumb_func_start atkC2_selectfirstvalidtarget -atkC2_selectfirstvalidtarget: @ 802B774 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0802B7D0 @ =gBattlerTarget - movs r1, 0 - strb r1, [r0] - ldr r1, _0802B7D4 @ =gBattlersCount - ldrb r1, [r1] - adds r6, r0, 0 - ldr r0, _0802B7D8 @ =gBattlescriptCurrInstr - mov r8, r0 - cmp r1, 0 - beq _0802B7BE - adds r3, r6, 0 - ldr r0, _0802B7DC @ =gBattlerAttacker - ldrb r5, [r0] - ldr r0, _0802B7E0 @ =gBitTable - mov r12, r0 - adds r4, r1, 0 - ldr r7, _0802B7E4 @ =gAbsentBattlerFlags -_0802B79C: - ldrb r2, [r3] - cmp r2, r5 - beq _0802B7B2 - ldrb r0, [r7] - ldrb r1, [r6] - lsls r1, 2 - add r1, r12 - ldr r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _0802B7BE -_0802B7B2: - adds r0, r2, 0x1 - strb r0, [r3] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r4 - bcc _0802B79C -_0802B7BE: - mov r1, r8 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B7D0: .4byte gBattlerTarget -_0802B7D4: .4byte gBattlersCount -_0802B7D8: .4byte gBattlescriptCurrInstr -_0802B7DC: .4byte gBattlerAttacker -_0802B7E0: .4byte gBitTable -_0802B7E4: .4byte gAbsentBattlerFlags - thumb_func_end atkC2_selectfirstvalidtarget - - thumb_func_start atkC3_trysetfutureattack -atkC3_trysetfutureattack: @ 802B7E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r0, _0802B820 @ =gWishFutureKnock - mov r8, r0 - ldr r7, _0802B824 @ =gBattlerTarget - ldrb r1, [r7] - adds r0, r1, r0 - ldrb r6, [r0] - cmp r6, 0 - beq _0802B82C - ldr r3, _0802B828 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802B8F6 - .align 2, 0 -_0802B820: .4byte gWishFutureKnock -_0802B824: .4byte gBattlerTarget -_0802B828: .4byte gBattlescriptCurrInstr -_0802B82C: - lsls r1, 1 - mov r0, r8 - adds r0, 0x18 - adds r1, r0 - ldr r2, _0802B8CC @ =gCurrentMove - mov r9, r2 - ldrh r0, [r2] - strh r0, [r1] - mov r0, r8 - adds r0, 0x4 - ldrb r4, [r7] - adds r0, r4 - ldr r5, _0802B8D0 @ =gBattlerAttacker - ldrb r1, [r5] - strb r1, [r0] - ldrb r0, [r7] - add r0, r8 - movs r1, 0x3 - strb r1, [r0] - ldr r4, _0802B8D4 @ =gSideStatuses - ldrb r0, [r7] - bl GetBattlerPosition - movs r1, 0x1 - mov r10, r1 - ands r1, r0 - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - ldr r2, _0802B8D8 @ =gBattleMons - adds r0, r2 - ldrb r1, [r7] - muls r1, r4 - adds r1, r2 - mov r4, r9 - ldrh r2, [r4] - str r6, [sp] - str r6, [sp, 0x4] - ldrb r4, [r5] - str r4, [sp, 0x8] - ldrb r4, [r7] - str r4, [sp, 0xC] - bl CalculateBaseDamage - ldrb r1, [r7] - lsls r1, 2 - mov r2, r8 - adds r2, 0x8 - adds r1, r2 - str r0, [r1] - ldr r1, _0802B8DC @ =gProtectStructs - ldrb r0, [r5] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _0802B8BA - ldrb r4, [r7] - lsls r4, 2 - adds r4, r2 - ldr r1, [r4] - lsls r0, r1, 4 - subs r0, r1 - movs r1, 0xA - bl __divsi3 - str r0, [r4] -_0802B8BA: - mov r0, r9 - ldrh r1, [r0] - ldr r0, _0802B8E0 @ =0x00000161 - cmp r1, r0 - bne _0802B8E8 - ldr r0, _0802B8E4 @ =gBattleCommunication - mov r1, r10 - strb r1, [r0, 0x5] - b _0802B8EE - .align 2, 0 -_0802B8CC: .4byte gCurrentMove -_0802B8D0: .4byte gBattlerAttacker -_0802B8D4: .4byte gSideStatuses -_0802B8D8: .4byte gBattleMons -_0802B8DC: .4byte gProtectStructs -_0802B8E0: .4byte 0x00000161 -_0802B8E4: .4byte gBattleCommunication -_0802B8E8: - ldr r1, _0802B908 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] -_0802B8EE: - ldr r1, _0802B90C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802B8F6: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B908: .4byte gBattleCommunication -_0802B90C: .4byte gBattlescriptCurrInstr - thumb_func_end atkC3_trysetfutureattack - - thumb_func_start atkC4_trydobeatup -atkC4_trydobeatup: @ 802B910 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802B954 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldr r7, _0802B958 @ =gEnemyParty - cmp r0, 0 - bne _0802B92A - ldr r7, _0802B95C @ =gPlayerParty -_0802B92A: - ldr r2, _0802B960 @ =gBattleMons - ldr r0, _0802B964 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0802B96C - ldr r3, _0802B968 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - b _0802BB08 - .align 2, 0 -_0802B954: .4byte gBattlerAttacker -_0802B958: .4byte gEnemyParty -_0802B95C: .4byte gPlayerParty -_0802B960: .4byte gBattleMons -_0802B964: .4byte gBattlerTarget -_0802B968: .4byte gBattlescriptCurrInstr -_0802B96C: - ldr r6, _0802BAA8 @ =gBattleCommunication - ldrb r0, [r6] - mov r8, r0 - cmp r0, 0x5 - bls _0802B978 - b _0802BAD4 -_0802B978: - adds r4, r6, 0 - movs r5, 0x64 -_0802B97C: - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0802B9C0 - ldrb r0, [r6] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0802B9C0 - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0802B9C0 - ldrb r0, [r4] - muls r0, r5 - adds r0, r7, r0 - movs r1, 0x37 - bl GetMonData - cmp r0, 0 - beq _0802B9D0 -_0802B9C0: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r6, r4, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bls _0802B97C -_0802B9D0: - ldr r1, _0802BAA8 @ =gBattleCommunication - mov r9, r1 - ldrb r2, [r1] - cmp r2, 0x5 - bhi _0802BAD4 - ldr r1, _0802BAAC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r6, _0802BAB0 @ =gBattlerAttacker - ldrb r0, [r6] - strb r0, [r1, 0x2] - strb r2, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802BAB4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] - ldr r2, _0802BAB8 @ =gBattleMoveDamage - mov r8, r2 - ldr r5, _0802BABC @ =gBaseStats - mov r1, r9 - ldrb r0, [r1] - movs r4, 0x64 - muls r0, r4 - adds r0, r7, r0 - movs r1, 0xB - bl GetMonData - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r3, [r1, 0x1] - mov r2, r8 - str r3, [r2] - ldr r2, _0802BAC0 @ =gBattleMoves - ldr r0, _0802BAC4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - muls r0, r3 - mov r1, r8 - str r0, [r1] - mov r2, r9 - ldrb r0, [r2] - muls r0, r4 - adds r0, r7, r0 - movs r1, 0x38 - bl GetMonData - lsls r0, 1 - movs r1, 0x5 - bl __udivsi3 - adds r0, 0x2 - mov r2, r8 - ldr r1, [r2] - muls r0, r1 - str r0, [r2] - ldr r3, _0802BAC8 @ =gBattleMons - ldr r1, _0802BACC @ =gBattlerTarget - ldrb r2, [r1] - movs r1, 0x58 - muls r1, r2 - adds r1, r3 - ldrh r2, [r1] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1, 0x2] - bl __divsi3 - mov r1, r8 - str r0, [r1] - movs r1, 0x32 - bl __divsi3 - adds r2, r0, 0x2 - mov r0, r8 - str r2, [r0] - ldr r1, _0802BAD0 @ =gProtectStructs - ldrb r0, [r6] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - bge _0802BA9C - lsls r0, r2, 4 - subs r0, r2 - movs r1, 0xA - bl __divsi3 - mov r1, r8 - str r0, [r1] -_0802BA9C: - mov r2, r9 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0802BB0E - .align 2, 0 -_0802BAA8: .4byte gBattleCommunication -_0802BAAC: .4byte gBattleTextBuff1 -_0802BAB0: .4byte gBattlerAttacker -_0802BAB4: .4byte gBattlescriptCurrInstr -_0802BAB8: .4byte gBattleMoveDamage -_0802BABC: .4byte gBaseStats -_0802BAC0: .4byte gBattleMoves -_0802BAC4: .4byte gCurrentMove -_0802BAC8: .4byte gBattleMons -_0802BACC: .4byte gBattlerTarget -_0802BAD0: .4byte gProtectStructs -_0802BAD4: - mov r0, r8 - cmp r0, 0 - beq _0802BAF4 - ldr r3, _0802BAF0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - b _0802BB08 - .align 2, 0 -_0802BAF0: .4byte gBattlescriptCurrInstr -_0802BAF4: - ldr r3, _0802BB1C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] -_0802BB08: - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802BB0E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802BB1C: .4byte gBattlescriptCurrInstr - thumb_func_end atkC4_trydobeatup - - thumb_func_start atkC5_setsemiinvulnerablebit -atkC5_setsemiinvulnerablebit: @ 802BB20 - push {lr} - ldr r0, _0802BB34 @ =gCurrentMove - ldrh r1, [r0] - cmp r1, 0x5B - beq _0802BB60 - cmp r1, 0x5B - bgt _0802BB38 - cmp r1, 0x13 - beq _0802BB44 - b _0802BB8C - .align 2, 0 -_0802BB34: .4byte gCurrentMove -_0802BB38: - ldr r0, _0802BB54 @ =0x00000123 - cmp r1, r0 - beq _0802BB78 - adds r0, 0x31 - cmp r1, r0 - bne _0802BB8C -_0802BB44: - ldr r2, _0802BB58 @ =gStatuses3 - ldr r0, _0802BB5C @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x40 - b _0802BB88 - .align 2, 0 -_0802BB54: .4byte 0x00000123 -_0802BB58: .4byte gStatuses3 -_0802BB5C: .4byte gBattlerAttacker -_0802BB60: - ldr r2, _0802BB70 @ =gStatuses3 - ldr r0, _0802BB74 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - b _0802BB88 - .align 2, 0 -_0802BB70: .4byte gStatuses3 -_0802BB74: .4byte gBattlerAttacker -_0802BB78: - ldr r2, _0802BB98 @ =gStatuses3 - ldr r0, _0802BB9C @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 11 -_0802BB88: - orrs r0, r2 - str r0, [r1] -_0802BB8C: - ldr r1, _0802BBA0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BB98: .4byte gStatuses3 -_0802BB9C: .4byte gBattlerAttacker -_0802BBA0: .4byte gBattlescriptCurrInstr - thumb_func_end atkC5_setsemiinvulnerablebit - - thumb_func_start atkC6_clearsemiinvulnerablebit -atkC6_clearsemiinvulnerablebit: @ 802BBA4 - push {lr} - ldr r0, _0802BBB8 @ =gCurrentMove - ldrh r1, [r0] - cmp r1, 0x5B - beq _0802BBE8 - cmp r1, 0x5B - bgt _0802BBBC - cmp r1, 0x13 - beq _0802BBC8 - b _0802BC16 - .align 2, 0 -_0802BBB8: .4byte gCurrentMove -_0802BBBC: - ldr r0, _0802BBDC @ =0x00000123 - cmp r1, r0 - beq _0802BC04 - adds r0, 0x31 - cmp r1, r0 - bne _0802BC16 -_0802BBC8: - ldr r2, _0802BBE0 @ =gStatuses3 - ldr r0, _0802BBE4 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x41 - negs r2, r2 - b _0802BC12 - .align 2, 0 -_0802BBDC: .4byte 0x00000123 -_0802BBE0: .4byte gStatuses3 -_0802BBE4: .4byte gBattlerAttacker -_0802BBE8: - ldr r2, _0802BBFC @ =gStatuses3 - ldr r0, _0802BC00 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x81 - negs r2, r2 - b _0802BC12 - .align 2, 0 -_0802BBFC: .4byte gStatuses3 -_0802BC00: .4byte gBattlerAttacker -_0802BC04: - ldr r2, _0802BC24 @ =gStatuses3 - ldr r0, _0802BC28 @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - ldr r2, _0802BC2C @ =0xfffbffff -_0802BC12: - ands r0, r2 - str r0, [r1] -_0802BC16: - ldr r1, _0802BC30 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BC24: .4byte gStatuses3 -_0802BC28: .4byte gBattlerAttacker -_0802BC2C: .4byte 0xfffbffff -_0802BC30: .4byte gBattlescriptCurrInstr - thumb_func_end atkC6_clearsemiinvulnerablebit - - thumb_func_start atkC7_setminimize -atkC7_setminimize: @ 802BC34 - push {lr} - ldr r0, _0802BC64 @ =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 18 - ands r0, r1 - cmp r0, 0 - beq _0802BC58 - ldr r2, _0802BC68 @ =gStatuses3 - ldr r0, _0802BC6C @ =gBattlerAttacker - ldrb r1, [r0] - lsls r1, 2 - adds r1, r2 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 1 - orrs r0, r2 - str r0, [r1] -_0802BC58: - ldr r1, _0802BC70 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BC64: .4byte gHitMarker -_0802BC68: .4byte gStatuses3 -_0802BC6C: .4byte gBattlerAttacker -_0802BC70: .4byte gBattlescriptCurrInstr - thumb_func_end atkC7_setminimize - - thumb_func_start atkC8_sethail -atkC8_sethail: @ 802BC74 - push {lr} - ldr r3, _0802BC98 @ =gBattleWeather - ldrh r1, [r3] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _0802BCA4 - ldr r2, _0802BC9C @ =gMoveResultFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802BCA0 @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] - b _0802BCB2 - .align 2, 0 -_0802BC98: .4byte gBattleWeather -_0802BC9C: .4byte gMoveResultFlags -_0802BCA0: .4byte gBattleCommunication -_0802BCA4: - strh r2, [r3] - ldr r0, _0802BCC0 @ =gBattleCommunication - movs r1, 0x5 - strb r1, [r0, 0x5] - ldr r0, _0802BCC4 @ =gWishFutureKnock - adds r0, 0x28 - strb r1, [r0] -_0802BCB2: - ldr r1, _0802BCC8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802BCC0: .4byte gBattleCommunication -_0802BCC4: .4byte gWishFutureKnock -_0802BCC8: .4byte gBattlescriptCurrInstr - thumb_func_end atkC8_sethail - - thumb_func_start atkC9_jumpifattackandspecialattackcannotfall -atkC9_jumpifattackandspecialattackcannotfall: @ 802BCCC - push {r4,lr} - ldr r2, _0802BD10 @ =gBattleMons - ldr r0, _0802BD14 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r1, r0, r2 - movs r0, 0x19 - ldrsb r0, [r1, r0] - adds r3, r2, 0 - cmp r0, 0 - bne _0802BD20 - movs r0, 0x1C - ldrsb r0, [r1, r0] - cmp r0, 0 - bne _0802BD20 - ldr r0, _0802BD18 @ =gBattleCommunication - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - beq _0802BD20 - ldr r3, _0802BD1C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802BD4C - .align 2, 0 -_0802BD10: .4byte gBattleMons -_0802BD14: .4byte gBattlerTarget -_0802BD18: .4byte gBattleCommunication -_0802BD1C: .4byte gBattlescriptCurrInstr -_0802BD20: - ldr r4, _0802BD54 @ =gActiveBattler - ldr r0, _0802BD58 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r4] - ldr r2, _0802BD5C @ =gBattleMoveDamage - ldrb r1, [r4] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0, 0x28] - str r0, [r2] - ldr r1, _0802BD60 @ =0x00007fff - movs r0, 0 - bl BtlController_EmitHealthBarUpdate - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _0802BD64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802BD4C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BD54: .4byte gActiveBattler -_0802BD58: .4byte gBattlerAttacker -_0802BD5C: .4byte gBattleMoveDamage -_0802BD60: .4byte 0x00007fff -_0802BD64: .4byte gBattlescriptCurrInstr - thumb_func_end atkC9_jumpifattackandspecialattackcannotfall - - thumb_func_start atkCA_setforcedtarget -atkCA_setforcedtarget: @ 802BD68 - push {r4,r5,lr} - ldr r4, _0802BDA8 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerSide - ldr r5, _0802BDAC @ =gSideTimers - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x1 - strb r0, [r1, 0x8] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r4] - strb r0, [r1, 0x9] - ldr r1, _0802BDB0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BDA8: .4byte gBattlerAttacker -_0802BDAC: .4byte gSideTimers -_0802BDB0: .4byte gBattlescriptCurrInstr - thumb_func_end atkCA_setforcedtarget - - thumb_func_start atkCB_setcharge -atkCB_setcharge: @ 802BDB4 - push {r4,lr} - ldr r0, _0802BE08 @ =gStatuses3 - ldr r3, _0802BE0C @ =gBattlerAttacker - ldrb r1, [r3] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 2 - orrs r0, r2 - str r0, [r1] - ldr r4, _0802BE10 @ =gDisableStructs - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x12] - movs r1, 0x10 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x12] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x12] - movs r1, 0xF - ands r1, r2 - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x12] - ldr r1, _0802BE14 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BE08: .4byte gStatuses3 -_0802BE0C: .4byte gBattlerAttacker -_0802BE10: .4byte gDisableStructs -_0802BE14: .4byte gBattlescriptCurrInstr - thumb_func_end atkCB_setcharge - - thumb_func_start atkCC_callterrainattack -atkCC_callterrainattack: @ 802BE18 - push {r4,lr} - ldr r2, _0802BE68 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802BE6C @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _0802BE70 @ =gCurrentMove - ldr r1, _0802BE74 @ =sNaturePowerMoves - ldr r0, _0802BE78 @ =gBattleTerrain - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802BE7C @ =gBattlerTarget - strb r0, [r1] - ldr r3, _0802BE80 @ =gBattleScriptsForMoveEffects - ldr r2, _0802BE84 @ =gBattleMoves - ldrh r1, [r4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - bl BattleScriptPush - ldr r1, _0802BE88 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BE68: .4byte gHitMarker -_0802BE6C: .4byte 0xfffffbff -_0802BE70: .4byte gCurrentMove -_0802BE74: .4byte sNaturePowerMoves -_0802BE78: .4byte gBattleTerrain -_0802BE7C: .4byte gBattlerTarget -_0802BE80: .4byte gBattleScriptsForMoveEffects -_0802BE84: .4byte gBattleMoves -_0802BE88: .4byte gBattlescriptCurrInstr - thumb_func_end atkCC_callterrainattack - - thumb_func_start atkCD_cureifburnedparalysedorpoisoned -atkCD_cureifburnedparalysedorpoisoned: @ 802BE8C - push {r4-r6,lr} - sub sp, 0x4 - ldr r1, _0802BED8 @ =gBattleMons - ldr r3, _0802BEDC @ =gBattlerAttacker - ldrb r0, [r3] - movs r6, 0x58 - muls r0, r6 - adds r5, r1, 0 - adds r5, 0x4C - adds r2, r0, r5 - ldr r0, [r2] - movs r1, 0xD8 - ands r0, r1 - cmp r0, 0 - beq _0802BEE8 - movs r0, 0 - str r0, [r2] - ldr r1, _0802BEE0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r4, _0802BEE4 @ =gActiveBattler - ldrb r0, [r3] - strb r0, [r4] - ldrb r0, [r4] - muls r0, r6 - adds r0, r5 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r2, 0 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec - b _0802BF02 - .align 2, 0 -_0802BED8: .4byte gBattleMons -_0802BEDC: .4byte gBattlerAttacker -_0802BEE0: .4byte gBattlescriptCurrInstr -_0802BEE4: .4byte gActiveBattler -_0802BEE8: - ldr r3, _0802BF0C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802BF02: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802BF0C: .4byte gBattlescriptCurrInstr - thumb_func_end atkCD_cureifburnedparalysedorpoisoned - - thumb_func_start atkCE_settorment -atkCE_settorment: @ 802BF10 - push {lr} - ldr r1, _0802BF48 @ =gBattleMons - ldr r0, _0802BF4C @ =gBattlerTarget - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 24 - cmp r1, 0 - bge _0802BF54 - ldr r3, _0802BF50 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802BF60 - .align 2, 0 -_0802BF48: .4byte gBattleMons -_0802BF4C: .4byte gBattlerTarget -_0802BF50: .4byte gBattlescriptCurrInstr -_0802BF54: - orrs r1, r2 - str r1, [r0] - ldr r1, _0802BF64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802BF60: - pop {r0} - bx r0 - .align 2, 0 -_0802BF64: .4byte gBattlescriptCurrInstr - thumb_func_end atkCE_settorment - - thumb_func_start atkCF_jumpifnodamage -atkCF_jumpifnodamage: @ 802BF68 - push {lr} - ldr r2, _0802BF94 @ =gProtectStructs - ldr r0, _0802BF98 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r1, r0, 4 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - bne _0802BF88 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r1, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802BFA0 -_0802BF88: - ldr r1, _0802BF9C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802BFBA - .align 2, 0 -_0802BF94: .4byte gProtectStructs -_0802BF98: .4byte gBattlerAttacker -_0802BF9C: .4byte gBattlescriptCurrInstr -_0802BFA0: - ldr r3, _0802BFC0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802BFBA: - pop {r0} - bx r0 - .align 2, 0 -_0802BFC0: .4byte gBattlescriptCurrInstr - thumb_func_end atkCF_jumpifnodamage - - thumb_func_start atkD0_settaunt -atkD0_settaunt: @ 802BFC4 - push {r4,lr} - ldr r4, _0802C008 @ =gDisableStructs - ldr r3, _0802C00C @ =gBattlerTarget - ldrb r0, [r3] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r2, r1, r4 - ldrb r1, [r2, 0x13] - lsls r0, r1, 28 - cmp r0, 0 - bne _0802C014 - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x13] - ldrb r1, [r3] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r2, [r0, 0x13] - movs r1, 0xF - ands r1, r2 - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x13] - ldr r1, _0802C010 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C02E - .align 2, 0 -_0802C008: .4byte gDisableStructs -_0802C00C: .4byte gBattlerTarget -_0802C010: .4byte gBattlescriptCurrInstr -_0802C014: - ldr r3, _0802C034 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C02E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C034: .4byte gBattlescriptCurrInstr - thumb_func_end atkD0_settaunt - - thumb_func_start atkD1_trysethelpinghand -atkD1_trysethelpinghand: @ 802C038 - push {r4,lr} - ldr r4, _0802C0A0 @ =gBattlerAttacker - ldrb r0, [r4] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r3, _0802C0A4 @ =gBattlerTarget - strb r0, [r3] - ldr r0, _0802C0A8 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802C0BC - ldr r0, _0802C0AC @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802C0B0 @ =gBitTable - ldrb r3, [r3] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802C0BC - ldr r1, _0802C0B4 @ =gProtectStructs - ldrb r0, [r4] - lsls r0, 4 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 28 - cmp r0, 0 - blt _0802C0BC - lsls r0, r3, 4 - adds r2, r0, r1 - ldrb r1, [r2] - lsls r0, r1, 28 - cmp r0, 0 - blt _0802C0BC - movs r0, 0x8 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0802C0B8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C0D6 - .align 2, 0 -_0802C0A0: .4byte gBattlerAttacker -_0802C0A4: .4byte gBattlerTarget -_0802C0A8: .4byte gBattleTypeFlags -_0802C0AC: .4byte gAbsentBattlerFlags -_0802C0B0: .4byte gBitTable -_0802C0B4: .4byte gProtectStructs -_0802C0B8: .4byte gBattlescriptCurrInstr -_0802C0BC: - ldr r3, _0802C0DC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C0D6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C0DC: .4byte gBattlescriptCurrInstr - thumb_func_end atkD1_trysethelpinghand - - thumb_func_start atkD2_tryswapitems -atkD2_tryswapitems: @ 802C0E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, _0802C1FC @ =gBattleTypeFlags - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - ands r0, r1 - cmp r0, 0 - bne _0802C1DE - ldr r0, _0802C200 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802C120 - ldr r0, [r4] - ldr r1, _0802C204 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0802C120 - ldr r0, _0802C208 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _0802C1DE -_0802C120: - ldr r6, _0802C200 @ =gBattlerAttacker - ldrb r0, [r6] - bl GetBattlerSide - lsls r0, 24 - lsrs r4, r0, 24 - ldr r7, _0802C20C @ =gBattlerTarget - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0802C1FC @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0802C204 @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0802C18A - ldr r0, _0802C208 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0802C18A - ldr r0, _0802C210 @ =gWishFutureKnock - adds r2, r0, 0 - adds r2, 0x29 - adds r0, r4, r2 - ldrb r1, [r0] - ldr r4, _0802C214 @ =gBitTable - ldr r3, _0802C218 @ =gBattlerPartyIndexes - ldrb r0, [r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802C1DE - adds r0, r5, r2 - ldrb r1, [r0] - ldrb r0, [r7] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802C1DE -_0802C18A: - ldr r0, _0802C21C @ =gBattleMons - mov r8, r0 - ldr r1, _0802C200 @ =gBattlerAttacker - ldrb r4, [r1] - movs r5, 0x58 - adds r0, r4, 0 - muls r0, r5 - add r0, r8 - mov r9, r0 - ldrh r3, [r0, 0x2E] - adds r1, r3, 0 - cmp r1, 0 - bne _0802C1B2 - ldr r0, _0802C20C @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r5 - add r0, r8 - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _0802C1DE -_0802C1B2: - cmp r1, 0xAF - beq _0802C1DE - ldr r7, _0802C20C @ =gBattlerTarget - ldrb r0, [r7] - muls r0, r5 - mov r2, r8 - adds r1, r0, r2 - ldrh r2, [r1, 0x2E] - cmp r2, 0xAF - beq _0802C1DE - adds r0, r3, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bls _0802C1DE - adds r0, r2, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bhi _0802C224 -_0802C1DE: - ldr r3, _0802C220 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C37A - .align 2, 0 -_0802C1FC: .4byte gBattleTypeFlags -_0802C200: .4byte gBattlerAttacker -_0802C204: .4byte 0x00000902 -_0802C208: .4byte gTrainerBattleOpponent_A -_0802C20C: .4byte gBattlerTarget -_0802C210: .4byte gWishFutureKnock -_0802C214: .4byte gBitTable -_0802C218: .4byte gBattlerPartyIndexes -_0802C21C: .4byte gBattleMons -_0802C220: .4byte gBattlescriptCurrInstr -_0802C224: - adds r0, r1, 0 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x3C - bne _0802C258 - ldr r1, _0802C24C @ =gBattlescriptCurrInstr - ldr r0, _0802C250 @ =BattleScript_StickyHoldActivates - str r0, [r1] - ldr r1, _0802C254 @ =gLastUsedAbility - ldrb r0, [r7] - muls r0, r5 - add r0, r8 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldrb r0, [r7] - ldrb r1, [r1] - bl RecordAbilityBattle - b _0802C37A - .align 2, 0 -_0802C24C: .4byte gBattlescriptCurrInstr -_0802C250: .4byte BattleScript_StickyHoldActivates -_0802C254: .4byte gLastUsedAbility -_0802C258: - ldr r3, _0802C344 @ =gBattleStruct - mov r10, r3 - lsls r0, r4, 1 - adds r0, 0xD0 - ldr r1, [r3] - adds r6, r1, r0 - mov r0, r9 - ldrh r0, [r0, 0x2E] - mov r9, r0 - strh r2, [r6] - ldr r1, _0802C348 @ =gBattlerAttacker - ldrb r0, [r1] - muls r0, r5 - add r0, r8 - movs r1, 0 - strh r1, [r0, 0x2E] - ldrb r0, [r7] - muls r0, r5 - add r0, r8 - mov r2, r9 - strh r2, [r0, 0x2E] - ldr r4, _0802C34C @ =gActiveBattler - ldr r3, _0802C348 @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r4] - str r6, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldr r1, _0802C348 @ =gBattlerAttacker - ldrb r0, [r1] - bl MarkBattlerForControllerExec - ldrb r0, [r7] - strb r0, [r4] - ldrb r0, [r7] - muls r0, r5 - mov r1, r8 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldrb r0, [r7] - mov r2, r10 - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - movs r3, 0 - strb r3, [r0] - ldrb r0, [r7] - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - strb r3, [r0] - ldr r1, _0802C348 @ =gBattlerAttacker - ldrb r0, [r1] - ldr r1, [r2] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC8 - strb r3, [r0] - ldr r2, _0802C348 @ =gBattlerAttacker - ldrb r0, [r2] - mov r3, r10 - ldr r1, [r3] - lsls r0, 1 - adds r0, r1 - adds r0, 0xC9 - movs r1, 0 - strb r1, [r0] - ldr r1, _0802C350 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r1, _0802C354 @ =gBattleTextBuff1 - movs r3, 0xFD - strb r3, [r1] - movs r2, 0xA - strb r2, [r1, 0x1] - ldrh r0, [r6] - strb r0, [r1, 0x2] - ldrh r0, [r6] - lsrs r0, 8 - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802C358 @ =gBattleTextBuff2 - strb r3, [r1] - strb r2, [r1, 0x1] - mov r2, r9 - strb r2, [r1, 0x2] - mov r3, r9 - lsrs r0, r3, 8 - strb r0, [r1, 0x3] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x4] - cmp r3, 0 - beq _0802C360 - ldrh r0, [r6] - cmp r0, 0 - beq _0802C374 - ldr r1, _0802C35C @ =gBattleCommunication - movs r0, 0x2 - b _0802C378 - .align 2, 0 -_0802C344: .4byte gBattleStruct -_0802C348: .4byte gBattlerAttacker -_0802C34C: .4byte gActiveBattler -_0802C350: .4byte gBattlescriptCurrInstr -_0802C354: .4byte gBattleTextBuff1 -_0802C358: .4byte gBattleTextBuff2 -_0802C35C: .4byte gBattleCommunication -_0802C360: - ldrh r0, [r6] - cmp r0, 0 - beq _0802C374 - ldr r0, _0802C370 @ =gBattleCommunication - movs r1, 0 - strb r1, [r0, 0x5] - b _0802C37A - .align 2, 0 -_0802C370: .4byte gBattleCommunication -_0802C374: - ldr r1, _0802C38C @ =gBattleCommunication - movs r0, 0x1 -_0802C378: - strb r0, [r1, 0x5] -_0802C37A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C38C: .4byte gBattleCommunication - thumb_func_end atkD2_tryswapitems - - thumb_func_start atkD3_trycopyability -atkD3_trycopyability: @ 802C390 - push {r4,lr} - ldr r3, _0802C3D0 @ =gBattleMons - ldr r4, _0802C3D4 @ =gBattlerTarget - ldrb r0, [r4] - movs r2, 0x58 - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r1, [r0] - adds r0, r1, 0 - cmp r0, 0 - beq _0802C3E4 - cmp r0, 0x19 - beq _0802C3E4 - ldr r0, _0802C3D8 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - strb r1, [r0] - ldr r1, _0802C3DC @ =gLastUsedAbility - ldrb r0, [r4] - muls r0, r2 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r1] - ldr r1, _0802C3E0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C3FE - .align 2, 0 -_0802C3D0: .4byte gBattleMons -_0802C3D4: .4byte gBattlerTarget -_0802C3D8: .4byte gBattlerAttacker -_0802C3DC: .4byte gLastUsedAbility -_0802C3E0: .4byte gBattlescriptCurrInstr -_0802C3E4: - ldr r3, _0802C404 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C3FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C404: .4byte gBattlescriptCurrInstr - thumb_func_end atkD3_trycopyability - - thumb_func_start atkD4_trywish -atkD4_trywish: @ 802C408 - push {r4-r7,lr} - ldr r7, _0802C41C @ =gBattlescriptCurrInstr - ldr r2, [r7] - ldrb r3, [r2, 0x1] - cmp r3, 0 - beq _0802C420 - cmp r3, 0x1 - beq _0802C458 - b _0802C4D4 - .align 2, 0 -_0802C41C: .4byte gBattlescriptCurrInstr -_0802C420: - ldr r1, _0802C44C @ =gWishFutureKnock - ldr r4, _0802C450 @ =gBattlerAttacker - adds r0, r1, 0 - adds r0, 0x20 - ldrb r5, [r4] - adds r3, r0, r5 - ldrb r0, [r3] - cmp r0, 0 - bne _0802C4A4 - movs r0, 0x2 - strb r0, [r3] - ldrb r0, [r4] - adds r1, 0x24 - adds r1, r0, r1 - ldr r2, _0802C454 @ =gBattlerPartyIndexes - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x6 - b _0802C4D2 - .align 2, 0 -_0802C44C: .4byte gWishFutureKnock -_0802C450: .4byte gBattlerAttacker -_0802C454: .4byte gBattlerPartyIndexes -_0802C458: - ldr r1, _0802C4BC @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r4, _0802C4C0 @ =gBattlerTarget - ldrb r0, [r4] - strb r0, [r1, 0x2] - ldr r0, _0802C4C4 @ =gWishFutureKnock - adds r0, 0x24 - ldrb r5, [r4] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1, 0x3] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r1, _0802C4C8 @ =gBattleMoveDamage - ldr r6, _0802C4CC @ =gBattleMons - ldrb r0, [r4] - movs r5, 0x58 - muls r0, r5 - adds r0, r6 - ldrh r0, [r0, 0x2C] - lsrs r0, 1 - str r0, [r1] - cmp r0, 0 - bne _0802C490 - str r3, [r1] -_0802C490: - ldr r0, [r1] - negs r0, r0 - str r0, [r1] - ldrb r0, [r4] - muls r0, r5 - adds r0, r6 - ldrh r1, [r0, 0x28] - ldrh r0, [r0, 0x2C] - cmp r1, r0 - bne _0802C4D0 -_0802C4A4: - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r7] - b _0802C4D4 - .align 2, 0 -_0802C4BC: .4byte gBattleTextBuff1 -_0802C4C0: .4byte gBattlerTarget -_0802C4C4: .4byte gWishFutureKnock -_0802C4C8: .4byte gBattleMoveDamage -_0802C4CC: .4byte gBattleMons -_0802C4D0: - adds r0, r2, 0x6 -_0802C4D2: - str r0, [r7] -_0802C4D4: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end atkD4_trywish - - thumb_func_start atkD5_trysetroots -atkD5_trysetroots: @ 802C4DC - push {lr} - ldr r1, _0802C514 @ =gStatuses3 - ldr r0, _0802C518 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0802C520 - ldr r3, _0802C51C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C52C - .align 2, 0 -_0802C514: .4byte gStatuses3 -_0802C518: .4byte gBattlerAttacker -_0802C51C: .4byte gBattlescriptCurrInstr -_0802C520: - orrs r1, r3 - str r1, [r2] - ldr r1, _0802C530 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C52C: - pop {r0} - bx r0 - .align 2, 0 -_0802C530: .4byte gBattlescriptCurrInstr - thumb_func_end atkD5_trysetroots - - thumb_func_start atkD6_doubledamagedealtifdamaged -atkD6_doubledamagedealtifdamaged: @ 802C534 - push {lr} - ldr r3, _0802C580 @ =gProtectStructs - ldr r0, _0802C584 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r2, r0, 4 - adds r0, r3, 0x4 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802C554 - adds r0, r2, r3 - ldr r1, _0802C588 @ =gBattlerTarget - ldrb r0, [r0, 0xC] - ldrb r1, [r1] - cmp r0, r1 - beq _0802C56C -_0802C554: - adds r0, r3, 0 - adds r0, 0x8 - adds r0, r2, r0 - ldr r0, [r0] - cmp r0, 0 - beq _0802C572 - adds r0, r2, r3 - ldr r1, _0802C588 @ =gBattlerTarget - ldrb r0, [r0, 0xD] - ldrb r1, [r1] - cmp r0, r1 - bne _0802C572 -_0802C56C: - ldr r1, _0802C58C @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0xE] -_0802C572: - ldr r1, _0802C590 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802C580: .4byte gProtectStructs -_0802C584: .4byte gBattlerAttacker -_0802C588: .4byte gBattlerTarget -_0802C58C: .4byte gBattleScripting -_0802C590: .4byte gBattlescriptCurrInstr - thumb_func_end atkD6_doubledamagedealtifdamaged - - thumb_func_start atkD7_setyawn -atkD7_setyawn: @ 802C594 - push {r4,lr} - ldr r1, _0802C5D8 @ =gStatuses3 - ldr r0, _0802C5DC @ =gBattlerTarget - ldrb r3, [r0] - lsls r0, r3, 2 - adds r4, r0, r1 - ldr r2, [r4] - movs r0, 0xC0 - lsls r0, 5 - ands r0, r2 - cmp r0, 0 - bne _0802C5BC - ldr r1, _0802C5E0 @ =gBattleMons - movs r0, 0x58 - muls r0, r3 - adds r1, 0x4C - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0802C5E8 -_0802C5BC: - ldr r3, _0802C5E4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C5F8 - .align 2, 0 -_0802C5D8: .4byte gStatuses3 -_0802C5DC: .4byte gBattlerTarget -_0802C5E0: .4byte gBattleMons -_0802C5E4: .4byte gBattlescriptCurrInstr -_0802C5E8: - movs r0, 0x80 - lsls r0, 5 - orrs r2, r0 - str r2, [r4] - ldr r1, _0802C600 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C5F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C600: .4byte gBattlescriptCurrInstr - thumb_func_end atkD7_setyawn - - thumb_func_start atkD8_setdamagetohealthdifference -atkD8_setdamagetohealthdifference: @ 802C604 - push {lr} - ldr r2, _0802C640 @ =gBattleMons - ldr r0, _0802C644 @ =gBattlerTarget - ldrb r0, [r0] - movs r1, 0x58 - muls r0, r1 - adds r3, r0, r2 - ldr r0, _0802C648 @ =gBattlerAttacker - ldrb r0, [r0] - muls r0, r1 - adds r1, r0, r2 - ldrh r0, [r3, 0x28] - ldrh r2, [r1, 0x28] - cmp r0, r2 - bhi _0802C650 - ldr r3, _0802C64C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C662 - .align 2, 0 -_0802C640: .4byte gBattleMons -_0802C644: .4byte gBattlerTarget -_0802C648: .4byte gBattlerAttacker -_0802C64C: .4byte gBattlescriptCurrInstr -_0802C650: - ldr r2, _0802C668 @ =gBattleMoveDamage - ldrh r0, [r3, 0x28] - ldrh r1, [r1, 0x28] - subs r0, r1 - str r0, [r2] - ldr r1, _0802C66C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C662: - pop {r0} - bx r0 - .align 2, 0 -_0802C668: .4byte gBattleMoveDamage -_0802C66C: .4byte gBattlescriptCurrInstr - thumb_func_end atkD8_setdamagetohealthdifference - - thumb_func_start atkD9_scaledamagebyhealthratio -atkD9_scaledamagebyhealthratio: @ 802C670 - push {r4,lr} - ldr r4, _0802C6BC @ =gDynamicBasePower - ldrh r0, [r4] - cmp r0, 0 - bne _0802C6AC - ldr r2, _0802C6C0 @ =gBattleMoves - ldr r0, _0802C6C4 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r3, [r0, 0x1] - ldr r2, _0802C6C8 @ =gBattleMons - ldr r0, _0802C6CC @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r0, [r1, 0x28] - muls r0, r3 - ldrh r1, [r1, 0x2C] - bl __divsi3 - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - bne _0802C6AC - movs r0, 0x1 - strh r0, [r4] -_0802C6AC: - ldr r1, _0802C6D0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C6BC: .4byte gDynamicBasePower -_0802C6C0: .4byte gBattleMoves -_0802C6C4: .4byte gCurrentMove -_0802C6C8: .4byte gBattleMons -_0802C6CC: .4byte gBattlerAttacker -_0802C6D0: .4byte gBattlescriptCurrInstr - thumb_func_end atkD9_scaledamagebyhealthratio - - thumb_func_start atkDA_tryswapabilities -atkDA_tryswapabilities: @ 802C6D4 - push {r4-r6,lr} - ldr r5, _0802C738 @ =gBattleMons - ldr r0, _0802C73C @ =gBattlerAttacker - ldrb r0, [r0] - movs r4, 0x58 - muls r0, r4 - adds r0, r5 - adds r2, r0, 0 - adds r2, 0x20 - ldrb r1, [r2] - cmp r1, 0 - bne _0802C6FC - ldr r0, _0802C740 @ =gBattlerTarget - ldrb r0, [r0] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0 - beq _0802C71C -_0802C6FC: - cmp r1, 0x19 - beq _0802C71C - ldr r6, _0802C740 @ =gBattlerTarget - ldrb r0, [r6] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - ldrb r3, [r0] - cmp r3, 0x19 - beq _0802C71C - ldr r0, _0802C744 @ =gMoveResultFlags - ldrb r1, [r0] - movs r0, 0x29 - ands r0, r1 - cmp r0, 0 - beq _0802C74C -_0802C71C: - ldr r3, _0802C748 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C762 - .align 2, 0 -_0802C738: .4byte gBattleMons -_0802C73C: .4byte gBattlerAttacker -_0802C740: .4byte gBattlerTarget -_0802C744: .4byte gMoveResultFlags -_0802C748: .4byte gBattlescriptCurrInstr -_0802C74C: - ldrb r1, [r2] - strb r3, [r2] - ldrb r0, [r6] - muls r0, r4 - adds r0, r5 - adds r0, 0x20 - strb r1, [r0] - ldr r1, _0802C768 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C762: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802C768: .4byte gBattlescriptCurrInstr - thumb_func_end atkDA_tryswapabilities - - thumb_func_start atkDB_tryimprison -atkDB_tryimprison: @ 802C76C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r1, _0802C78C @ =gStatuses3 - ldr r4, _0802C790 @ =gBattlerAttacker - ldrb r2, [r4] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 6 - ands r0, r1 - cmp r0, 0 - beq _0802C7BC - b _0802C83E - .align 2, 0 -_0802C78C: .4byte gStatuses3 -_0802C790: .4byte gBattlerAttacker -_0802C794: - ldr r0, _0802C7B4 @ =gStatuses3 - mov r2, r9 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r2, 0x80 - lsls r2, 6 - orrs r0, r2 - str r0, [r1] - ldr r1, _0802C7B8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802C836 - .align 2, 0 -_0802C7B4: .4byte gStatuses3 -_0802C7B8: .4byte gBattlescriptCurrInstr -_0802C7BC: - adds r0, r2, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrb r0, [r4] - bl PressurePPLoseOnUsingImprison - movs r6, 0 - b _0802C82E -_0802C7D2: - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - beq _0802C828 - movs r4, 0 - ldr r7, _0802C864 @ =gBattlerAttacker - mov r9, r7 - ldr r0, _0802C868 @ =gBattleMons - mov r12, r0 - mov r1, r9 - ldrb r0, [r1] - mov r2, r12 - adds r2, 0xC - movs r1, 0x58 - muls r0, r1 - adds r3, r0, r2 - adds r5, r6, 0 - muls r5, r1 -_0802C7FC: - movs r2, 0 - ldrh r1, [r3] - mov r0, r12 - adds r0, 0xC - adds r0, r5, r0 -_0802C806: - ldrh r7, [r0] - cmp r1, r7 - bne _0802C810 - cmp r1, 0 - bne _0802C818 -_0802C810: - adds r0, 0x2 - adds r2, 0x1 - cmp r2, 0x3 - ble _0802C806 -_0802C818: - cmp r2, 0x4 - bne _0802C824 - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C7FC -_0802C824: - cmp r4, 0x4 - bne _0802C794 -_0802C828: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0802C82E: - ldr r0, _0802C86C @ =gBattlersCount - ldrb r0, [r0] - cmp r6, r0 - bcc _0802C7D2 -_0802C836: - ldr r0, _0802C86C @ =gBattlersCount - ldrb r0, [r0] - cmp r6, r0 - bne _0802C858 -_0802C83E: - ldr r3, _0802C870 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802C858: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C864: .4byte gBattlerAttacker -_0802C868: .4byte gBattleMons -_0802C86C: .4byte gBattlersCount -_0802C870: .4byte gBattlescriptCurrInstr - thumb_func_end atkDB_tryimprison - - thumb_func_start atkDC_trysetgrudge -atkDC_trysetgrudge: @ 802C874 - push {lr} - ldr r1, _0802C8AC @ =gStatuses3 - ldr r0, _0802C8B0 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 7 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - beq _0802C8B8 - ldr r3, _0802C8B4 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802C8C4 - .align 2, 0 -_0802C8AC: .4byte gStatuses3 -_0802C8B0: .4byte gBattlerAttacker -_0802C8B4: .4byte gBattlescriptCurrInstr -_0802C8B8: - orrs r1, r3 - str r1, [r2] - ldr r1, _0802C8C8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802C8C4: - pop {r0} - bx r0 - .align 2, 0 -_0802C8C8: .4byte gBattlescriptCurrInstr - thumb_func_end atkDC_trysetgrudge - - thumb_func_start atkDD_weightdamagecalculation -atkDD_weightdamagecalculation: @ 802C8CC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r2, _0802C930 @ =sWeightToDamageTable - ldrh r0, [r2] - ldr r1, _0802C934 @ =0x0000ffff - cmp r0, r1 - beq _0802C944 - adds r6, r2, 0 - ldr r0, _0802C938 @ =gBattleMons - mov r8, r0 - adds r7, r1, 0 - adds r4, r6, 0 -_0802C8E8: - ldr r0, _0802C93C @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - add r0, r8 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetPokedexHeightWeight - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0802C916 - adds r4, 0x4 - adds r5, 0x2 - ldrh r0, [r4] - cmp r0, r7 - bne _0802C8E8 -_0802C916: - lsls r0, r5, 1 - adds r0, r6 - ldrh r1, [r0] - ldr r0, _0802C934 @ =0x0000ffff - cmp r1, r0 - beq _0802C944 - ldr r0, _0802C940 @ =gDynamicBasePower - adds r1, r5, 0x1 - lsls r1, 1 - adds r1, r6 - ldrh r1, [r1] - strh r1, [r0] - b _0802C94A - .align 2, 0 -_0802C930: .4byte sWeightToDamageTable -_0802C934: .4byte 0x0000ffff -_0802C938: .4byte gBattleMons -_0802C93C: .4byte gBattlerTarget -_0802C940: .4byte gDynamicBasePower -_0802C944: - ldr r1, _0802C95C @ =gDynamicBasePower - movs r0, 0x78 - strh r0, [r1] -_0802C94A: - ldr r1, _0802C960 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C95C: .4byte gDynamicBasePower -_0802C960: .4byte gBattlescriptCurrInstr - thumb_func_end atkDD_weightdamagecalculation - - thumb_func_start atkDE_assistattackselect -atkDE_assistattackselect: @ 802C964 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r0, 0 - mov r10, r0 - ldr r0, _0802CA84 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x18 - str r0, [sp, 0x4] - ldr r0, _0802CA88 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerPosition - movs r1, 0x1 - ands r1, r0 - ldr r0, _0802CA8C @ =gPlayerParty - str r0, [sp] - cmp r1, 0 - beq _0802C994 - ldr r1, _0802CA90 @ =gEnemyParty - str r1, [sp] -_0802C994: - movs r2, 0 -_0802C996: - ldr r1, _0802CA94 @ =gBattlerPartyIndexes - ldr r0, _0802CA88 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - adds r1, r2, 0x1 - str r1, [sp, 0x8] - ldrh r0, [r0] - cmp r2, r0 - beq _0802CA3C - movs r0, 0x64 - adds r6, r2, 0 - muls r6, r0 - ldr r0, [sp] - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0802CA3C - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0802CA3C - movs r5, 0 - ldr r1, _0802CA98 @ =0x0000ffff - mov r8, r1 - mov r9, r6 - mov r1, r10 - lsls r0, r1, 1 - ldr r1, [sp, 0x4] - adds r6, r0, r1 -_0802C9E0: - movs r7, 0 - adds r1, r5, 0 - adds r1, 0xD - ldr r0, [sp] - add r0, r9 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl IsInvalidForSleepTalkOrAssist - lsls r0, 24 - adds r1, r5, 0x1 - cmp r0, 0 - bne _0802CA36 - ldr r0, _0802CA9C @ =sMovesForbiddenToCopy - ldrh r2, [r0] - adds r3, r0, 0 - cmp r2, r8 - beq _0802CA2A - cmp r4, r2 - beq _0802CA20 - ldr r5, _0802CA98 @ =0x0000ffff - adds r2, r3, 0 -_0802CA12: - adds r2, 0x2 - adds r7, 0x1 - ldrh r0, [r2] - cmp r0, r5 - beq _0802CA2A - cmp r4, r0 - bne _0802CA12 -_0802CA20: - lsls r0, r7, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r8 - bne _0802CA36 -_0802CA2A: - cmp r4, 0 - beq _0802CA36 - strh r4, [r6] - adds r6, 0x2 - movs r0, 0x1 - add r10, r0 -_0802CA36: - adds r5, r1, 0 - cmp r5, 0x3 - ble _0802C9E0 -_0802CA3C: - ldr r2, [sp, 0x8] - cmp r2, 0x5 - ble _0802C996 - mov r1, r10 - cmp r1, 0 - beq _0802CAB4 - ldr r2, _0802CAA0 @ =gHitMarker - ldr r0, [r2] - ldr r1, _0802CAA4 @ =0xfffffbff - ands r0, r1 - str r0, [r2] - ldr r4, _0802CAA8 @ =gCalledMove - bl Random - movs r1, 0xFF - ands r1, r0 - mov r0, r10 - muls r0, r1 - asrs r0, 8 - lsls r0, 1 - ldr r1, [sp, 0x4] - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4] - ldrh r0, [r4] - movs r1, 0 - bl GetMoveTarget - ldr r1, _0802CAAC @ =gBattlerTarget - strb r0, [r1] - ldr r1, _0802CAB0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802CACE - .align 2, 0 -_0802CA84: .4byte gBattleStruct -_0802CA88: .4byte gBattlerAttacker -_0802CA8C: .4byte gPlayerParty -_0802CA90: .4byte gEnemyParty -_0802CA94: .4byte gBattlerPartyIndexes -_0802CA98: .4byte 0x0000ffff -_0802CA9C: .4byte sMovesForbiddenToCopy -_0802CAA0: .4byte gHitMarker -_0802CAA4: .4byte 0xfffffbff -_0802CAA8: .4byte gCalledMove -_0802CAAC: .4byte gBattlerTarget -_0802CAB0: .4byte gBattlescriptCurrInstr -_0802CAB4: - ldr r3, _0802CAE0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802CACE: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802CAE0: .4byte gBattlescriptCurrInstr - thumb_func_end atkDE_assistattackselect - - thumb_func_start atkDF_trysetmagiccoat -atkDF_trysetmagiccoat: @ 802CAE4 - push {lr} - ldr r1, _0802CB2C @ =gBattlerTarget - ldr r3, _0802CB30 @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r2, _0802CB34 @ =gSpecialStatuses - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0802CB38 @ =gCurrentTurnActionNumber - ldrb r1, [r0] - ldr r0, _0802CB3C @ =gBattlersCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0802CB44 - ldr r3, _0802CB40 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802CB5C - .align 2, 0 -_0802CB2C: .4byte gBattlerTarget -_0802CB30: .4byte gBattlerAttacker -_0802CB34: .4byte gSpecialStatuses -_0802CB38: .4byte gCurrentTurnActionNumber -_0802CB3C: .4byte gBattlersCount -_0802CB40: .4byte gBattlescriptCurrInstr -_0802CB44: - ldr r0, _0802CB60 @ =gProtectStructs - ldrb r1, [r3] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x10 - orrs r0, r2 - strb r0, [r1] - ldr r1, _0802CB64 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802CB5C: - pop {r0} - bx r0 - .align 2, 0 -_0802CB60: .4byte gProtectStructs -_0802CB64: .4byte gBattlescriptCurrInstr - thumb_func_end atkDF_trysetmagiccoat - - thumb_func_start atkE0_trysetsnatch -atkE0_trysetsnatch: @ 802CB68 - push {lr} - ldr r2, _0802CBAC @ =gSpecialStatuses - ldr r3, _0802CBB0 @ =gBattlerAttacker - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0802CBB4 @ =gCurrentTurnActionNumber - ldrb r1, [r0] - ldr r0, _0802CBB8 @ =gBattlersCount - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _0802CBC0 - ldr r3, _0802CBBC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802CBD6 - .align 2, 0 -_0802CBAC: .4byte gSpecialStatuses -_0802CBB0: .4byte gBattlerAttacker -_0802CBB4: .4byte gCurrentTurnActionNumber -_0802CBB8: .4byte gBattlersCount -_0802CBBC: .4byte gBattlescriptCurrInstr -_0802CBC0: - ldr r0, _0802CBDC @ =gProtectStructs - ldrb r1, [r3] - lsls r1, 4 - adds r1, r0 - ldrb r0, [r1] - orrs r0, r2 - strb r0, [r1] - ldr r1, _0802CBE0 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802CBD6: - pop {r0} - bx r0 - .align 2, 0 -_0802CBDC: .4byte gProtectStructs -_0802CBE0: .4byte gBattlescriptCurrInstr - thumb_func_end atkE0_trysetsnatch - - thumb_func_start atkE1_trygetintimidatetarget -atkE1_trygetintimidatetarget: @ 802CBE4 - push {r4-r6,lr} - ldr r4, _0802CC88 @ =gBattleScripting - ldr r0, _0802CC8C @ =gBattleStruct - ldr r0, [r0] - adds r0, 0xD8 - ldrb r0, [r0] - strb r0, [r4, 0x17] - ldrb r0, [r4, 0x17] - bl GetBattlerSide - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0802CC90 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r2] - movs r0, 0x9 - strb r0, [r2, 0x1] - ldr r3, _0802CC94 @ =gBattleMons - ldrb r1, [r4, 0x17] - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - adds r0, 0x20 - ldrb r0, [r0] - strb r0, [r2, 0x2] - movs r0, 0xFF - strb r0, [r2, 0x3] - ldr r2, _0802CC98 @ =gBattlerTarget - ldr r1, _0802CC9C @ =gBattlersCount - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bcs _0802CC6A - adds r4, r2, 0 - ldr r6, _0802CCA0 @ =gBitTable -_0802CC2A: - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - beq _0802CC4C - ldr r0, _0802CCA4 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldrb r0, [r4] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - ands r1, r0 - ldr r2, _0802CC9C @ =gBattlersCount - cmp r1, 0 - beq _0802CC60 -_0802CC4C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _0802CC9C @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - adds r2, r1, 0 - ldrb r1, [r2] - cmp r0, r1 - bcc _0802CC2A -_0802CC60: - ldr r0, _0802CC98 @ =gBattlerTarget - ldrb r0, [r0] - ldrb r2, [r2] - cmp r0, r2 - bcc _0802CCAC -_0802CC6A: - ldr r3, _0802CCA8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802CCB4 - .align 2, 0 -_0802CC88: .4byte gBattleScripting -_0802CC8C: .4byte gBattleStruct -_0802CC90: .4byte gBattleTextBuff1 -_0802CC94: .4byte gBattleMons -_0802CC98: .4byte gBattlerTarget -_0802CC9C: .4byte gBattlersCount -_0802CCA0: .4byte gBitTable -_0802CCA4: .4byte gAbsentBattlerFlags -_0802CCA8: .4byte gBattlescriptCurrInstr -_0802CCAC: - ldr r1, _0802CCBC @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802CCB4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802CCBC: .4byte gBattlescriptCurrInstr - thumb_func_end atkE1_trygetintimidatetarget - - thumb_func_start atkE2_switchoutabilities -atkE2_switchoutabilities: @ 802CCC0 - push {r4-r6,lr} - sub sp, 0x4 - ldr r5, _0802CD28 @ =gBattlescriptCurrInstr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r4, _0802CD2C @ =gActiveBattler - strb r0, [r4] - ldr r3, _0802CD30 @ =gBattleMons - ldrb r0, [r4] - movs r6, 0x58 - adds r1, r0, 0 - muls r1, r6 - adds r0, r1, r3 - adds r0, 0x20 - ldrb r0, [r0] - cmp r0, 0x1E - bne _0802CD1A - adds r3, 0x4C - adds r1, r3 - movs r0, 0 - str r0, [r1] - ldr r2, _0802CD34 @ =gBitTable - ldrb r1, [r4] - ldr r0, _0802CD38 @ =gBattleStruct - ldr r0, [r0] - adds r0, r1, r0 - adds r0, 0x58 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0] - adds r0, r1, 0 - muls r0, r6 - adds r0, r3 - str r0, [sp] - movs r0, 0 - movs r1, 0x28 - movs r3, 0x4 - bl BtlController_EmitSetMonData - ldrb r0, [r4] - bl MarkBattlerForControllerExec -_0802CD1A: - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802CD28: .4byte gBattlescriptCurrInstr -_0802CD2C: .4byte gActiveBattler -_0802CD30: .4byte gBattleMons -_0802CD34: .4byte gBitTable -_0802CD38: .4byte gBattleStruct - thumb_func_end atkE2_switchoutabilities - - thumb_func_start atkE3_jumpifhasnohp -atkE3_jumpifhasnohp: @ 802CD3C - push {r4,lr} - ldr r4, _0802CD78 @ =gBattlescriptCurrInstr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl GetBattlerForBattleScript - ldr r1, _0802CD7C @ =gActiveBattler - strb r0, [r1] - ldr r2, _0802CD80 @ =gBattleMons - ldrb r1, [r1] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0, 0x28] - cmp r0, 0 - bne _0802CD84 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0802CD8A - .align 2, 0 -_0802CD78: .4byte gBattlescriptCurrInstr -_0802CD7C: .4byte gActiveBattler -_0802CD80: .4byte gBattleMons -_0802CD84: - ldr r0, [r4] - adds r0, 0x6 - str r0, [r4] -_0802CD8A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end atkE3_jumpifhasnohp - - thumb_func_start atkE4_getsecretpowereffect -atkE4_getsecretpowereffect: @ 802CD90 - push {lr} - ldr r0, _0802CDA4 @ =gBattleTerrain - ldrb r0, [r0] - cmp r0, 0x7 - bhi _0802CE2C - lsls r0, 2 - ldr r1, _0802CDA8 @ =_0802CDAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CDA4: .4byte gBattleTerrain -_0802CDA8: .4byte _0802CDAC - .align 2, 0 -_0802CDAC: - .4byte _0802CDCC - .4byte _0802CDD8 - .4byte _0802CDE4 - .4byte _0802CDF0 - .4byte _0802CDFC - .4byte _0802CE08 - .4byte _0802CE14 - .4byte _0802CE20 -_0802CDCC: - ldr r1, _0802CDD4 @ =gBattleCommunication - movs r0, 0x2 - b _0802CE30 - .align 2, 0 -_0802CDD4: .4byte gBattleCommunication -_0802CDD8: - ldr r1, _0802CDE0 @ =gBattleCommunication - movs r0, 0x1 - b _0802CE30 - .align 2, 0 -_0802CDE0: .4byte gBattleCommunication -_0802CDE4: - ldr r1, _0802CDEC @ =gBattleCommunication - movs r0, 0x1B - b _0802CE30 - .align 2, 0 -_0802CDEC: .4byte gBattleCommunication -_0802CDF0: - ldr r1, _0802CDF8 @ =gBattleCommunication - movs r0, 0x17 - b _0802CE30 - .align 2, 0 -_0802CDF8: .4byte gBattleCommunication -_0802CDFC: - ldr r1, _0802CE04 @ =gBattleCommunication - movs r0, 0x16 - b _0802CE30 - .align 2, 0 -_0802CE04: .4byte gBattleCommunication -_0802CE08: - ldr r1, _0802CE10 @ =gBattleCommunication - movs r0, 0x18 - b _0802CE30 - .align 2, 0 -_0802CE10: .4byte gBattleCommunication -_0802CE14: - ldr r1, _0802CE1C @ =gBattleCommunication - movs r0, 0x7 - b _0802CE30 - .align 2, 0 -_0802CE1C: .4byte gBattleCommunication -_0802CE20: - ldr r1, _0802CE28 @ =gBattleCommunication - movs r0, 0x8 - b _0802CE30 - .align 2, 0 -_0802CE28: .4byte gBattleCommunication -_0802CE2C: - ldr r1, _0802CE40 @ =gBattleCommunication - movs r0, 0x5 -_0802CE30: - strb r0, [r1, 0x3] - ldr r1, _0802CE44 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0802CE40: .4byte gBattleCommunication -_0802CE44: .4byte gBattlescriptCurrInstr - thumb_func_end atkE4_getsecretpowereffect - - thumb_func_start atkE5_pickup -atkE5_pickup: @ 802CE48 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - ldr r0, _0802CE90 @ =gBaseStats - mov r8, r0 -_0802CE54: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, _0802CE94 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r4, 0 - movs r1, 0x2E - bl GetMonData - cmp r0, 0 - beq _0802CE98 - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x17] - b _0802CEA2 - .align 2, 0 -_0802CE90: .4byte gBaseStats -_0802CE94: .4byte gPlayerParty -_0802CE98: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x16] -_0802CEA2: - adds r4, r7, 0x1 - cmp r0, 0x35 - bne _0802CF0A - cmp r5, 0 - beq _0802CF0A - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - beq _0802CF0A - cmp r6, 0 - bne _0802CF0A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0802CF0A - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, _0802CEE4 @ =sPickupItems - b _0802CEF0 - .align 2, 0 -_0802CEE4: .4byte sPickupItems -_0802CEE8: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, 0xE - bhi _0802CEF6 -_0802CEF0: - ldrb r0, [r1, 0x2] - cmp r0, r3 - ble _0802CEE8 -_0802CEF6: - movs r0, 0x64 - muls r0, r7 - ldr r1, _0802CF24 @ =gPlayerParty - adds r0, r1 - lsls r2, 2 - ldr r1, _0802CF28 @ =sPickupItems - adds r2, r1 - movs r1, 0xC - bl SetMonData -_0802CF0A: - adds r7, r4, 0 - cmp r7, 0x5 - ble _0802CE54 - ldr r1, _0802CF2C @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802CF24: .4byte gPlayerParty -_0802CF28: .4byte sPickupItems -_0802CF2C: .4byte gBattlescriptCurrInstr - thumb_func_end atkE5_pickup - - thumb_func_start atkE6_docastformchangeanimation -atkE6_docastformchangeanimation: @ 802CF30 - push {r4,lr} - ldr r4, _0802CF84 @ =gActiveBattler - ldr r0, _0802CF88 @ =gBattleScripting - ldrb r0, [r0, 0x17] - strb r0, [r4] - ldr r1, _0802CF8C @ =gBattleMons - ldrb r2, [r4] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 17 - ands r0, r1 - ldr r3, _0802CF90 @ =gBattleStruct - cmp r0, 0 - beq _0802CF60 - ldr r0, [r3] - adds r0, 0x7F - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] -_0802CF60: - ldr r0, [r3] - adds r0, 0x7F - ldrb r2, [r0] - movs r0, 0 - movs r1, 0 - bl BtlController_EmitBattleAnimation - ldrb r0, [r4] - bl MarkBattlerForControllerExec - ldr r1, _0802CF94 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802CF84: .4byte gActiveBattler -_0802CF88: .4byte gBattleScripting -_0802CF8C: .4byte gBattleMons -_0802CF90: .4byte gBattleStruct -_0802CF94: .4byte gBattlescriptCurrInstr - thumb_func_end atkE6_docastformchangeanimation - - thumb_func_start atkE7_trycastformdatachange -atkE7_trycastformdatachange: @ 802CF98 - push {r4,lr} - ldr r1, _0802CFC8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _0802CFCC @ =gBattleScripting - ldrb r0, [r0, 0x17] - bl CastformDataTypeChange - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0802CFC2 - ldr r0, _0802CFD0 @ =BattleScript_CastformChange - bl BattleScriptPushCursorAndCallback - ldr r0, _0802CFD4 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x7F - subs r1, r4, 0x1 - strb r1, [r0] -_0802CFC2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802CFC8: .4byte gBattlescriptCurrInstr -_0802CFCC: .4byte gBattleScripting -_0802CFD0: .4byte BattleScript_CastformChange -_0802CFD4: .4byte gBattleStruct - thumb_func_end atkE7_trycastformdatachange - - thumb_func_start atkE8_settypebasedhalvers -atkE8_settypebasedhalvers: @ 802CFD8 - push {r4,lr} - movs r4, 0 - ldr r2, _0802D014 @ =gBattleMoves - ldr r0, _0802D018 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xC9 - bne _0802D028 - ldr r1, _0802D01C @ =gStatuses3 - ldr r0, _0802D020 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 9 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0802D04C - orrs r1, r3 - str r1, [r2] - ldr r0, _0802D024 @ =gBattleCommunication - strb r4, [r0, 0x5] - b _0802D050 - .align 2, 0 -_0802D014: .4byte gBattleMoves -_0802D018: .4byte gCurrentMove -_0802D01C: .4byte gStatuses3 -_0802D020: .4byte gBattlerAttacker -_0802D024: .4byte gBattleCommunication -_0802D028: - ldr r1, _0802D05C @ =gStatuses3 - ldr r0, _0802D060 @ =gBattlerAttacker - ldrb r0, [r0] - lsls r0, 2 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 10 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0802D04C - orrs r1, r3 - str r1, [r2] - ldr r1, _0802D064 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - movs r4, 0x1 -_0802D04C: - cmp r4, 0 - beq _0802D06C -_0802D050: - ldr r1, _0802D068 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802D086 - .align 2, 0 -_0802D05C: .4byte gStatuses3 -_0802D060: .4byte gBattlerAttacker -_0802D064: .4byte gBattleCommunication -_0802D068: .4byte gBattlescriptCurrInstr -_0802D06C: - ldr r3, _0802D08C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D086: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D08C: .4byte gBattlescriptCurrInstr - thumb_func_end atkE8_settypebasedhalvers - - thumb_func_start atkE9_setweatherballtype -atkE9_setweatherballtype: @ 802D090 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0802D130 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl AbilityBattleEffects - lsls r0, 24 - cmp r0, 0 - bne _0802D130 - ldr r2, _0802D0E0 @ =gBattleWeather - ldrb r0, [r2] - cmp r0, 0 - beq _0802D0CE - ldr r1, _0802D0E4 @ =gBattleScripting - movs r0, 0x2 - strb r0, [r1, 0xE] -_0802D0CE: - ldrh r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0802D0EC - ldr r0, _0802D0E8 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x8B - b _0802D12E - .align 2, 0 -_0802D0E0: .4byte gBattleWeather -_0802D0E4: .4byte gBattleScripting -_0802D0E8: .4byte gBattleStruct -_0802D0EC: - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0802D100 - ldr r0, _0802D0FC @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x85 - b _0802D12E - .align 2, 0 -_0802D0FC: .4byte gBattleStruct -_0802D100: - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0802D114 - ldr r0, _0802D110 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x8A - b _0802D12E - .align 2, 0 -_0802D110: .4byte gBattleStruct -_0802D114: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802D128 - ldr r0, _0802D124 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x8F - b _0802D12E - .align 2, 0 -_0802D124: .4byte gBattleStruct -_0802D128: - ldr r0, _0802D140 @ =gBattleStruct - ldr r1, [r0] - movs r0, 0x80 -_0802D12E: - strb r0, [r1, 0x13] -_0802D130: - ldr r1, _0802D144 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0802D140: .4byte gBattleStruct -_0802D144: .4byte gBattlescriptCurrInstr - thumb_func_end atkE9_setweatherballtype - - thumb_func_start atkEA_tryrecycleitem -atkEA_tryrecycleitem: @ 802D148 - push {r4-r7,lr} - sub sp, 0x4 - ldr r7, _0802D1B0 @ =gActiveBattler - ldr r0, _0802D1B4 @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r7] - ldr r1, _0802D1B8 @ =gBattleStruct - ldrb r2, [r7] - lsls r0, r2, 1 - adds r0, 0xB8 - ldr r1, [r1] - adds r6, r1, r0 - ldrh r5, [r6] - cmp r5, 0 - beq _0802D1C8 - ldr r4, _0802D1BC @ =gBattleMons - movs r3, 0x58 - adds r0, r2, 0 - muls r0, r3 - adds r0, r4 - ldrh r0, [r0, 0x2E] - cmp r0, 0 - bne _0802D1C8 - ldr r1, _0802D1C0 @ =gLastUsedItem - strh r5, [r1] - strh r0, [r6] - ldrb r0, [r7] - muls r0, r3 - adds r0, r4 - ldrh r1, [r1] - strh r1, [r0, 0x2E] - ldrb r0, [r7] - muls r0, r3 - adds r1, r4, 0 - adds r1, 0x2E - adds r0, r1 - str r0, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl BtlController_EmitSetMonData - ldrb r0, [r7] - bl MarkBattlerForControllerExec - ldr r1, _0802D1C4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802D1E2 - .align 2, 0 -_0802D1B0: .4byte gActiveBattler -_0802D1B4: .4byte gBattlerAttacker -_0802D1B8: .4byte gBattleStruct -_0802D1BC: .4byte gBattleMons -_0802D1C0: .4byte gLastUsedItem -_0802D1C4: .4byte gBattlescriptCurrInstr -_0802D1C8: - ldr r3, _0802D1EC @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D1E2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D1EC: .4byte gBattlescriptCurrInstr - thumb_func_end atkEA_tryrecycleitem - - thumb_func_start atkEB_settypetoterrain -atkEB_settypetoterrain: @ 802D1F0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0802D260 @ =gBattleMons - mov r8, r0 - ldr r7, _0802D264 @ =gBattlerAttacker - ldrb r0, [r7] - movs r6, 0x58 - muls r0, r6 - mov r1, r8 - adds r3, r0, r1 - movs r0, 0x21 - adds r0, r3 - mov r12, r0 - ldr r5, _0802D268 @ =sTerrainToType - ldr r4, _0802D26C @ =gBattleTerrain - ldrb r0, [r4] - adds r0, r5 - ldrb r2, [r0] - mov r1, r12 - ldrb r0, [r1] - adds r1, r2, 0 - cmp r0, r1 - beq _0802D278 - adds r0, r3, 0 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, r1 - beq _0802D278 - mov r0, r12 - strb r2, [r0] - ldrb r0, [r7] - adds r1, r0, 0 - muls r1, r6 - add r1, r8 - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - adds r1, 0x22 - strb r0, [r1] - ldr r1, _0802D270 @ =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r1] - movs r0, 0x3 - strb r0, [r1, 0x1] - ldrb r0, [r4] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1, 0x2] - movs r0, 0xFF - strb r0, [r1, 0x3] - ldr r1, _0802D274 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802D292 - .align 2, 0 -_0802D260: .4byte gBattleMons -_0802D264: .4byte gBattlerAttacker -_0802D268: .4byte sTerrainToType -_0802D26C: .4byte gBattleTerrain -_0802D270: .4byte gBattleTextBuff1 -_0802D274: .4byte gBattlescriptCurrInstr -_0802D278: - ldr r3, _0802D29C @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D292: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D29C: .4byte gBattlescriptCurrInstr - thumb_func_end atkEB_settypetoterrain - - thumb_func_start atkEC_pursuitrelated -atkEC_pursuitrelated: @ 802D2A0 - push {r4-r6,lr} - ldr r5, _0802D314 @ =gBattlerAttacker - ldrb r0, [r5] - bl GetBattlerPosition - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - ldr r4, _0802D318 @ =gActiveBattler - strb r0, [r4] - ldr r0, _0802D31C @ =gBattleTypeFlags - ldr r0, [r0] - movs r6, 0x1 - ands r0, r6 - cmp r0, 0 - beq _0802D340 - ldr r0, _0802D320 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0802D324 @ =gBitTable - ldrb r3, [r4] - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0802D340 - ldr r0, _0802D328 @ =gChosenActionByBattler - adds r0, r3, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _0802D340 - ldr r1, _0802D32C @ =gChosenMoveByBattler - lsls r0, r3, 1 - adds r0, r1 - ldrh r2, [r0] - cmp r2, 0xE4 - bne _0802D340 - ldr r0, _0802D330 @ =gActionsByTurnOrder - adds r0, r3, r0 - movs r1, 0xB - strb r1, [r0] - ldr r0, _0802D334 @ =gCurrentMove - strh r2, [r0] - ldr r1, _0802D338 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - ldr r0, _0802D33C @ =gBattleScripting - strb r6, [r0, 0x18] - ldrb r1, [r5] - adds r0, 0x20 - strb r1, [r0] - ldrb r0, [r4] - strb r0, [r5] - b _0802D35A - .align 2, 0 -_0802D314: .4byte gBattlerAttacker -_0802D318: .4byte gActiveBattler -_0802D31C: .4byte gBattleTypeFlags -_0802D320: .4byte gAbsentBattlerFlags -_0802D324: .4byte gBitTable -_0802D328: .4byte gChosenActionByBattler -_0802D32C: .4byte gChosenMoveByBattler -_0802D330: .4byte gActionsByTurnOrder -_0802D334: .4byte gCurrentMove -_0802D338: .4byte gBattlescriptCurrInstr -_0802D33C: .4byte gBattleScripting -_0802D340: - ldr r3, _0802D360 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802D35A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802D360: .4byte gBattlescriptCurrInstr - thumb_func_end atkEC_pursuitrelated - - thumb_func_start atkED_snatchsetbattlers -atkED_snatchsetbattlers: @ 802D364 - push {r4,lr} - ldr r1, _0802D388 @ =gEffectBattler - ldr r3, _0802D38C @ =gBattlerAttacker - ldrb r0, [r3] - strb r0, [r1] - ldr r2, _0802D390 @ =gBattlerTarget - lsls r0, 24 - lsrs r0, 24 - adds r4, r1, 0 - ldrb r1, [r2] - cmp r0, r1 - bne _0802D398 - ldr r1, _0802D394 @ =gBattleScripting - ldrb r0, [r1, 0x17] - strb r0, [r2] - strb r0, [r3] - b _0802D39E - .align 2, 0 -_0802D388: .4byte gEffectBattler -_0802D38C: .4byte gBattlerAttacker -_0802D390: .4byte gBattlerTarget -_0802D394: .4byte gBattleScripting -_0802D398: - ldr r1, _0802D3B0 @ =gBattleScripting - ldrb r0, [r1, 0x17] - strb r0, [r2] -_0802D39E: - ldrb r0, [r4] - strb r0, [r1, 0x17] - ldr r1, _0802D3B4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D3B0: .4byte gBattleScripting -_0802D3B4: .4byte gBattlescriptCurrInstr - thumb_func_end atkED_snatchsetbattlers - - thumb_func_start atkEE_removelightscreenreflect -atkEE_removelightscreenreflect: @ 802D3B8 - push {r4,lr} - ldr r0, _0802D400 @ =gBattlerAttacker - ldrb r0, [r0] - bl GetBattlerSide - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0802D404 @ =gSideTimers - lsls r3, r0, 1 - adds r0, r3, r0 - lsls r0, 2 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - bne _0802D3E0 - ldrb r1, [r4, 0x2] - cmp r1, 0 - beq _0802D418 -_0802D3E0: - ldr r2, _0802D408 @ =gSideStatuses - adds r2, r3, r2 - ldrh r1, [r2] - ldr r0, _0802D40C @ =0x0000fffe - ands r0, r1 - movs r3, 0 - ldr r1, _0802D410 @ =0x0000fffd - ands r0, r1 - strh r0, [r2] - strb r3, [r4] - strb r3, [r4, 0x2] - ldr r1, _0802D414 @ =gBattleScripting - movs r0, 0x1 - strb r0, [r1, 0x18] - strb r0, [r1, 0x19] - b _0802D41E - .align 2, 0 -_0802D400: .4byte gBattlerAttacker -_0802D404: .4byte gSideTimers -_0802D408: .4byte gSideStatuses -_0802D40C: .4byte 0x0000fffe -_0802D410: .4byte 0x0000fffd -_0802D414: .4byte gBattleScripting -_0802D418: - ldr r0, _0802D42C @ =gBattleScripting - strb r1, [r0, 0x18] - strb r1, [r0, 0x19] -_0802D41E: - ldr r1, _0802D430 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D42C: .4byte gBattleScripting -_0802D430: .4byte gBattlescriptCurrInstr - thumb_func_end atkEE_removelightscreenreflect - thumb_func_start atkEF_handleballthrow atkEF_handleballthrow: @ 802D434 push {r4-r6,lr} -- cgit v1.2.3 From b2343076db0cefc087f3941b6941dcba7b1e3364 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Tue, 27 Aug 2019 15:10:23 +0800 Subject: remaining stuff of battle_script_commands --- asm/battle_script_commands.s | 1463 ------------------------------------------ 1 file changed, 1463 deletions(-) delete mode 100644 asm/battle_script_commands.s (limited to 'asm') diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s deleted file mode 100644 index 00d3e49c7..000000000 --- a/asm/battle_script_commands.s +++ /dev/null @@ -1,1463 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start atkEF_handleballthrow -atkEF_handleballthrow: @ 802D434 - push {r4-r6,lr} - movs r4, 0 - ldr r0, _0802D474 @ =gBattleControllerExecFlags - ldr r0, [r0] - cmp r0, 0 - beq _0802D442 - b _0802D7EE -_0802D442: - ldr r5, _0802D478 @ =gActiveBattler - ldr r0, _0802D47C @ =gBattlerAttacker - ldrb r0, [r0] - strb r0, [r5] - ldr r6, _0802D480 @ =gBattlerTarget - movs r1, 0x1 - eors r0, r1 - strb r0, [r6] - ldr r0, _0802D484 @ =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _0802D490 - movs r0, 0 - movs r1, 0x6 - bl BtlController_EmitBallThrowAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _0802D488 @ =gBattlescriptCurrInstr - ldr r0, _0802D48C @ =BattleScript_GhostBallDodge - b _0802D7EC - .align 2, 0 -_0802D474: .4byte gBattleControllerExecFlags -_0802D478: .4byte gActiveBattler -_0802D47C: .4byte gBattlerAttacker -_0802D480: .4byte gBattlerTarget -_0802D484: .4byte gBattleTypeFlags -_0802D488: .4byte gBattlescriptCurrInstr -_0802D48C: .4byte BattleScript_GhostBallDodge -_0802D490: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802D4B4 - movs r0, 0 - movs r1, 0x5 - bl BtlController_EmitBallThrowAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _0802D4AC @ =gBattlescriptCurrInstr - ldr r0, _0802D4B0 @ =BattleScript_TrainerBallBlock - b _0802D7EC - .align 2, 0 -_0802D4AC: .4byte gBattlescriptCurrInstr -_0802D4B0: .4byte BattleScript_TrainerBallBlock -_0802D4B4: - movs r0, 0x81 - lsls r0, 9 - ands r1, r0 - cmp r1, 0 - beq _0802D4DC - movs r0, 0 - movs r1, 0x4 - bl BtlController_EmitBallThrowAnim - ldrb r0, [r5] - bl MarkBattlerForControllerExec - ldr r1, _0802D4D4 @ =gBattlescriptCurrInstr - ldr r0, _0802D4D8 @ =gUnknown_81D9A88 - b _0802D7EC - .align 2, 0 -_0802D4D4: .4byte gBattlescriptCurrInstr -_0802D4D8: .4byte gUnknown_81D9A88 -_0802D4DC: - ldr r0, _0802D500 @ =gLastUsedItem - ldrh r0, [r0] - cmp r0, 0x5 - bne _0802D508 - ldr r0, _0802D504 @ =gBattleStruct - ldr r0, [r0] - adds r0, 0x7C - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 8 - subs r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 24 - lsrs r5, r0, 24 - b _0802D520 - .align 2, 0 -_0802D500: .4byte gLastUsedItem -_0802D504: .4byte gBattleStruct -_0802D508: - ldr r3, _0802D53C @ =gBaseStats - ldr r2, _0802D540 @ =gBattleMons - ldrb r1, [r6] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r5, [r0, 0x8] -_0802D520: - ldr r2, _0802D544 @ =gLastUsedItem - ldrh r0, [r2] - cmp r0, 0x5 - bhi _0802D52A - b _0802D620 -_0802D52A: - subs r0, 0x6 - cmp r0, 0x6 - bls _0802D532 - b _0802D62A -_0802D532: - lsls r0, 2 - ldr r1, _0802D548 @ =_0802D54C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D53C: .4byte gBaseStats -_0802D540: .4byte gBattleMons -_0802D544: .4byte gLastUsedItem -_0802D548: .4byte _0802D54C - .align 2, 0 -_0802D54C: - .4byte _0802D568 - .4byte _0802D598 - .4byte _0802D5AA - .4byte _0802D5D8 - .4byte _0802D608 - .4byte _0802D5CA - .4byte _0802D5CA -_0802D568: - ldr r2, _0802D590 @ =gBattleMons - ldr r0, _0802D594 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - cmp r1, 0xB - beq _0802D5FC - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0xB - beq _0802D5FC - cmp r1, 0x6 - beq _0802D5FC - cmp r0, 0x6 - beq _0802D5FC - b _0802D5CA - .align 2, 0 -_0802D590: .4byte gBattleMons -_0802D594: .4byte gBattlerTarget -_0802D598: - bl GetCurrentMapType - lsls r0, 24 - lsrs r0, 24 - movs r4, 0xA - cmp r0, 0x5 - bne _0802D62A - movs r4, 0x23 - b _0802D62A -_0802D5AA: - ldr r2, _0802D5D0 @ =gBattleMons - ldr r0, _0802D5D4 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x2A - ldrb r1, [r0] - cmp r1, 0x27 - bhi _0802D5CA - movs r0, 0x28 - subs r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bhi _0802D62A -_0802D5CA: - movs r4, 0xA - b _0802D62A - .align 2, 0 -_0802D5D0: .4byte gBattleMons -_0802D5D4: .4byte gBattlerTarget -_0802D5D8: - ldr r2, _0802D600 @ =gBattleMons - ldr r0, _0802D604 @ =gBattlerTarget - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - ldrh r0, [r0] - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - movs r4, 0xA - cmp r0, 0 - beq _0802D62A -_0802D5FC: - movs r4, 0x1E - b _0802D62A - .align 2, 0 -_0802D600: .4byte gBattleMons -_0802D604: .4byte gBattlerTarget -_0802D608: - ldr r0, _0802D61C @ =gBattleResults - ldrb r0, [r0, 0x13] - adds r0, 0xA - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x28 - bls _0802D62A - movs r4, 0x28 - b _0802D62A - .align 2, 0 -_0802D61C: .4byte gBattleResults -_0802D620: - ldr r1, _0802D694 @ =sBallCatchBonuses - ldrh r0, [r2] - subs r0, 0x2 - adds r0, r1 - ldrb r4, [r0] -_0802D62A: - adds r0, r5, 0 - muls r0, r4 - movs r1, 0xA - bl __divsi3 - ldr r5, _0802D698 @ =gBattleMons - ldr r1, _0802D69C @ =gBattlerTarget - ldrb r2, [r1] - movs r1, 0x58 - adds r4, r2, 0 - muls r4, r1 - adds r3, r4, r5 - ldrh r2, [r3, 0x2C] - lsls r1, r2, 1 - adds r1, r2 - ldrh r2, [r3, 0x28] - lsls r2, 1 - subs r2, r1, r2 - muls r0, r2 - bl __divsi3 - adds r6, r0, 0 - adds r5, 0x4C - adds r4, r5 - ldr r4, [r4] - movs r0, 0x27 - ands r0, r4 - cmp r0, 0 - beq _0802D666 - lsls r6, 1 -_0802D666: - movs r0, 0xD8 - ands r4, r0 - cmp r4, 0 - beq _0802D67A - lsls r0, r6, 4 - subs r0, r6 - movs r1, 0xA - bl __udivsi3 - adds r6, r0, 0 -_0802D67A: - ldr r1, _0802D6A0 @ =gLastUsedItem - ldrh r0, [r1] - cmp r0, 0x5 - beq _0802D6BC - cmp r0, 0x1 - bne _0802D6A8 - ldr r0, _0802D6A4 @ =gBattleResults - ldrb r1, [r0, 0x5] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x5] - b _0802D6BC - .align 2, 0 -_0802D694: .4byte sBallCatchBonuses -_0802D698: .4byte gBattleMons -_0802D69C: .4byte gBattlerTarget -_0802D6A0: .4byte gLastUsedItem -_0802D6A4: .4byte gBattleResults -_0802D6A8: - ldr r0, _0802D700 @ =gBattleResults - ldrh r1, [r1] - adds r0, r1 - adds r1, r0, 0 - adds r1, 0x34 - ldrb r0, [r1] - cmp r0, 0xFE - bhi _0802D6BC - adds r0, 0x1 - strb r0, [r1] -_0802D6BC: - cmp r6, 0xFE - bls _0802D720 - movs r0, 0 - movs r1, 0x4 - bl BtlController_EmitBallThrowAnim - ldr r0, _0802D704 @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - ldr r1, _0802D708 @ =gBattlescriptCurrInstr - ldr r0, _0802D70C @ =BattleScript_SuccessBallThrow - str r0, [r1] - ldr r1, _0802D710 @ =gBattlerPartyIndexes - ldr r0, _0802D714 @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802D718 @ =gEnemyParty - adds r0, r1 - ldr r2, _0802D71C @ =gLastUsedItem - movs r1, 0x26 - bl SetMonData - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _0802D7AE - b _0802D7D8 - .align 2, 0 -_0802D700: .4byte gBattleResults -_0802D704: .4byte gActiveBattler -_0802D708: .4byte gBattlescriptCurrInstr -_0802D70C: .4byte BattleScript_SuccessBallThrow -_0802D710: .4byte gBattlerPartyIndexes -_0802D714: .4byte gBattlerTarget -_0802D718: .4byte gEnemyParty -_0802D71C: .4byte gLastUsedItem -_0802D720: - movs r0, 0xFF - lsls r0, 16 - adds r1, r6, 0 - bl __udivsi3 - bl Sqrt - lsls r0, 16 - lsrs r0, 16 - bl Sqrt - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _0802D748 @ =0x000ffff0 - adds r1, r6, 0 - bl __udivsi3 - adds r6, r0, 0 - movs r4, 0 - b _0802D752 - .align 2, 0 -_0802D748: .4byte 0x000ffff0 -_0802D74C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0802D752: - cmp r4, 0x3 - bhi _0802D762 - bl Random - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bcc _0802D74C -_0802D762: - ldr r5, _0802D7B8 @ =gLastUsedItem - ldrh r0, [r5] - cmp r0, 0x1 - bne _0802D76C - movs r4, 0x4 -_0802D76C: - movs r0, 0 - adds r1, r4, 0 - bl BtlController_EmitBallThrowAnim - ldr r0, _0802D7BC @ =gActiveBattler - ldrb r0, [r0] - bl MarkBattlerForControllerExec - cmp r4, 0x4 - bne _0802D7E4 - ldr r1, _0802D7C0 @ =gBattlescriptCurrInstr - ldr r0, _0802D7C4 @ =BattleScript_SuccessBallThrow - str r0, [r1] - ldr r1, _0802D7C8 @ =gBattlerPartyIndexes - ldr r0, _0802D7CC @ =gBattlerTarget - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802D7D0 @ =gEnemyParty - adds r0, r1 - movs r1, 0x26 - adds r2, r5, 0 - bl SetMonData - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0802D7D8 -_0802D7AE: - ldr r1, _0802D7D4 @ =gBattleCommunication - movs r0, 0 - strb r0, [r1, 0x5] - b _0802D7EE - .align 2, 0 -_0802D7B8: .4byte gLastUsedItem -_0802D7BC: .4byte gActiveBattler -_0802D7C0: .4byte gBattlescriptCurrInstr -_0802D7C4: .4byte BattleScript_SuccessBallThrow -_0802D7C8: .4byte gBattlerPartyIndexes -_0802D7CC: .4byte gBattlerTarget -_0802D7D0: .4byte gEnemyParty -_0802D7D4: .4byte gBattleCommunication -_0802D7D8: - ldr r1, _0802D7E0 @ =gBattleCommunication - movs r0, 0x1 - strb r0, [r1, 0x5] - b _0802D7EE - .align 2, 0 -_0802D7E0: .4byte gBattleCommunication -_0802D7E4: - ldr r0, _0802D7F4 @ =gBattleCommunication - strb r4, [r0, 0x5] - ldr r1, _0802D7F8 @ =gBattlescriptCurrInstr - ldr r0, _0802D7FC @ =BattleScript_ShakeBallThrow -_0802D7EC: - str r0, [r1] -_0802D7EE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802D7F4: .4byte gBattleCommunication -_0802D7F8: .4byte gBattlescriptCurrInstr -_0802D7FC: .4byte BattleScript_ShakeBallThrow - thumb_func_end atkEF_handleballthrow - - thumb_func_start atkF0_givecaughtmon -atkF0_givecaughtmon: @ 802D800 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _0802D870 @ =gBattlerPartyIndexes - mov r9, r0 - ldr r5, _0802D874 @ =gBattlerAttacker - ldrb r0, [r5] - movs r6, 0x1 - eors r0, r6 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - movs r7, 0x64 - muls r0, r7 - ldr r1, _0802D878 @ =gEnemyParty - mov r8, r1 - add r0, r8 - bl GiveMonToPlayer - lsls r0, 24 - cmp r0, 0 - beq _0802D8EA - bl sub_80CC7B4 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _0802D88C - ldr r0, _0802D87C @ =gBattleCommunication - strb r1, [r0, 0x5] - ldr r4, _0802D880 @ =gStringVar1 - ldr r0, _0802D884 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldrb r0, [r5] - eors r0, r6 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - muls r0, r7 - add r0, r8 - ldr r2, _0802D888 @ =gStringVar2 - movs r1, 0x2 - bl GetMonData - b _0802D8D6 - .align 2, 0 -_0802D870: .4byte gBattlerPartyIndexes -_0802D874: .4byte gBattlerAttacker -_0802D878: .4byte gEnemyParty -_0802D87C: .4byte gBattleCommunication -_0802D880: .4byte gStringVar1 -_0802D884: .4byte 0x00004037 -_0802D888: .4byte gStringVar2 -_0802D88C: - ldr r4, _0802D92C @ =gStringVar1 - ldr r0, _0802D930 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldrb r0, [r5] - eors r0, r6 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - muls r0, r7 - add r0, r8 - ldr r2, _0802D934 @ =gStringVar2 - movs r1, 0x2 - bl GetMonData - ldr r4, _0802D938 @ =gStringVar3 - bl get_unknown_box_id - lsls r0, 24 - lsrs r0, 24 - bl GetBoxNamePtr - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r1, _0802D93C @ =gBattleCommunication - movs r0, 0x2 - strb r0, [r1, 0x5] -_0802D8D6: - ldr r0, _0802D940 @ =0x00000834 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0802D8EA - ldr r1, _0802D93C @ =gBattleCommunication - ldrb r0, [r1, 0x5] - adds r0, 0x1 - strb r0, [r1, 0x5] -_0802D8EA: - ldr r2, _0802D944 @ =gBattleResults - ldr r3, _0802D948 @ =gBattleMons - ldr r0, _0802D94C @ =gBattlerAttacker - ldrb r0, [r0] - movs r1, 0x1 - eors r1, r0 - movs r0, 0x58 - muls r0, r1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r2, 0x28] - ldr r0, _0802D950 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r0 - ldrh r1, [r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802D954 @ =gEnemyParty - adds r0, r1 - adds r2, 0x2A - movs r1, 0x2 - bl GetMonData - ldr r1, _0802D958 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D92C: .4byte gStringVar1 -_0802D930: .4byte 0x00004037 -_0802D934: .4byte gStringVar2 -_0802D938: .4byte gStringVar3 -_0802D93C: .4byte gBattleCommunication -_0802D940: .4byte 0x00000834 -_0802D944: .4byte gBattleResults -_0802D948: .4byte gBattleMons -_0802D94C: .4byte gBattlerAttacker -_0802D950: .4byte gBattlerPartyIndexes -_0802D954: .4byte gEnemyParty -_0802D958: .4byte gBattlescriptCurrInstr - thumb_func_end atkF0_givecaughtmon - - thumb_func_start atkF1_trysetcaughtmondexflags -atkF1_trysetcaughtmondexflags: @ 802D95C - push {r4,r5,lr} - ldr r4, _0802D9AC @ =gEnemyParty - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r5, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl GetSetPokedexFlag - lsls r0, 24 - cmp r0, 0 - beq _0802D9B4 - ldr r3, _0802D9B0 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0802D9CE - .align 2, 0 -_0802D9AC: .4byte gEnemyParty -_0802D9B0: .4byte gBattlescriptCurrInstr -_0802D9B4: - adds r0, r5, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - adds r2, r4, 0 - bl HandleSetPokedexFlag - ldr r1, _0802D9D4 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_0802D9CE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802D9D4: .4byte gBattlescriptCurrInstr - thumb_func_end atkF1_trysetcaughtmondexflags - - thumb_func_start atkF2_displaydexinfo -atkF2_displaydexinfo: @ 802D9D8 - push {r4,r5,lr} - sub sp, 0x18 - ldr r0, _0802DA00 @ =gEnemyParty - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0802DA04 @ =gBattleCommunication - ldrb r0, [r0] - cmp r0, 0x5 - bls _0802D9F4 - b _0802DB6C -_0802D9F4: - lsls r0, 2 - ldr r1, _0802DA08 @ =_0802DA0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DA00: .4byte gEnemyParty -_0802DA04: .4byte gBattleCommunication -_0802DA08: .4byte _0802DA0C - .align 2, 0 -_0802DA0C: - .4byte _0802DA24 - .4byte _0802DA3C - .4byte _0802DA64 - .4byte _0802DAC8 - .4byte _0802DAE0 - .4byte _0802DB58 -_0802DA24: - movs r0, 0x1 - negs r0, r0 - ldr r1, _0802DA38 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0802DB34 - .align 2, 0 -_0802DA38: .4byte 0x00007fff -_0802DA3C: - ldr r0, _0802DA5C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DA4A - b _0802DB6C -_0802DA4A: - bl FreeAllWindowBuffers - adds r0, r5, 0 - bl sub_8106B60 - ldr r1, _0802DA60 @ =gBattleCommunication - strb r0, [r1, 0x1] - b _0802DB36 - .align 2, 0 -_0802DA5C: .4byte gPaletteFade -_0802DA60: .4byte gBattleCommunication -_0802DA64: - ldr r0, _0802DAAC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DA72 - b _0802DB6C -_0802DA72: - ldr r0, _0802DAB0 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0802DAB4 @ =BattleMainCB2 - cmp r1, r0 - bne _0802DB6C - ldr r2, _0802DAB8 @ =gTasks - ldr r4, _0802DABC @ =gBattleCommunication - ldrb r1, [r4, 0x1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x4] - cmp r0, 0 - bne _0802DB6C - str r0, [sp, 0x10] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _0802DAC0 @ =0x05006000 - add r0, sp, 0x10 - bl CpuSet - ldr r0, _0802DAC4 @ =VBlankCB_Battle - bl SetVBlankCallback - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0802DB6C - .align 2, 0 -_0802DAAC: .4byte gPaletteFade -_0802DAB0: .4byte gMain -_0802DAB4: .4byte BattleMainCB2 -_0802DAB8: .4byte gTasks -_0802DABC: .4byte gBattleCommunication -_0802DAC0: .4byte 0x05006000 -_0802DAC4: .4byte VBlankCB_Battle -_0802DAC8: - bl sub_800F34C - bl LoadBattleTextboxAndBackground - ldr r1, _0802DADC @ =gBattle_BG3_X - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - b _0802DB34 - .align 2, 0 -_0802DADC: .4byte gBattle_BG3_X -_0802DAE0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0802DB6C - ldr r0, _0802DB40 @ =gBattleMons - adds r1, r0, 0 - adds r1, 0xAC - ldr r1, [r1] - adds r0, 0xA0 - ldr r2, [r0] - movs r0, 0x78 - str r0, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - ldr r0, _0802DB44 @ =0x0000ffff - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r3, 0x1 - bl CreateMonPicSprite_HandleDeoxys - str r4, [sp, 0x14] - add r0, sp, 0x14 - ldr r1, _0802DB48 @ =gPlttBufferFaded - ldr r2, _0802DB4C @ =0x05000080 - bl CpuSet - ldr r0, _0802DB50 @ =0x0001ffff - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_0802DB34: - ldr r1, _0802DB54 @ =gBattleCommunication -_0802DB36: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0802DB6C - .align 2, 0 -_0802DB40: .4byte gBattleMons -_0802DB44: .4byte 0x0000ffff -_0802DB48: .4byte gPlttBufferFaded -_0802DB4C: .4byte 0x05000080 -_0802DB50: .4byte 0x0001ffff -_0802DB54: .4byte gBattleCommunication -_0802DB58: - ldr r0, _0802DB74 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802DB6C - ldr r1, _0802DB78 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_0802DB6C: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802DB74: .4byte gPaletteFade -_0802DB78: .4byte gBattlescriptCurrInstr - thumb_func_end atkF2_displaydexinfo - - thumb_func_start HandleBattleWindow -HandleBattleWindow: @ 802DB7C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - ldr r4, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x10] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x1C] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x14] - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - movs r1, 0 - add r0, sp, 0xC - strh r1, [r0] - ldr r6, [sp, 0x10] - cmp r6, r3 - ble _0802DBB6 - b _0802DCA2 -_0802DBB6: - mov r4, r8 - adds r0, r6, 0x1 - str r0, [sp, 0x18] - ldr r2, [sp, 0x1C] - cmp r4, r2 - bgt _0802DC98 - add r5, sp, 0xC - lsls r7, r6, 24 - mov r9, r7 -_0802DBC8: - ldr r0, [sp, 0x10] - cmp r6, r0 - bne _0802DBF4 - cmp r4, r8 - bne _0802DBDC - ldr r0, _0802DBD8 @ =0x00001022 - b _0802DC3E - .align 2, 0 -_0802DBD8: .4byte 0x00001022 -_0802DBDC: - ldr r2, [sp, 0x1C] - cmp r4, r2 - bne _0802DBEC - ldr r0, _0802DBE8 @ =0x00001024 - b _0802DC3E - .align 2, 0 -_0802DBE8: .4byte 0x00001024 -_0802DBEC: - ldr r0, _0802DBF0 @ =0x00001023 - b _0802DC3E - .align 2, 0 -_0802DBF0: .4byte 0x00001023 -_0802DBF4: - ldr r7, [sp, 0x14] - cmp r6, r7 - bne _0802DC20 - cmp r4, r8 - bne _0802DC08 - ldr r0, _0802DC04 @ =0x00001028 - b _0802DC3E - .align 2, 0 -_0802DC04: .4byte 0x00001028 -_0802DC08: - ldr r0, [sp, 0x1C] - cmp r4, r0 - bne _0802DC18 - ldr r0, _0802DC14 @ =0x0000102a - b _0802DC3E - .align 2, 0 -_0802DC14: .4byte 0x0000102a -_0802DC18: - ldr r0, _0802DC1C @ =0x00001029 - b _0802DC3E - .align 2, 0 -_0802DC1C: .4byte 0x00001029 -_0802DC20: - cmp r4, r8 - bne _0802DC2C - ldr r0, _0802DC28 @ =0x00001025 - b _0802DC3E - .align 2, 0 -_0802DC28: .4byte 0x00001025 -_0802DC2C: - ldr r2, [sp, 0x1C] - cmp r4, r2 - bne _0802DC3C - ldr r0, _0802DC38 @ =0x00001027 - b _0802DC3E - .align 2, 0 -_0802DC38: .4byte 0x00001027 -_0802DC3C: - ldr r0, _0802DC74 @ =0x00001026 -_0802DC3E: - strh r0, [r5] - movs r1, 0x1 - mov r0, r10 - ands r0, r1 - cmp r0, 0 - beq _0802DC4E - movs r0, 0 - strh r0, [r5] -_0802DC4E: - movs r0, 0x80 - mov r7, r10 - ands r0, r7 - cmp r0, 0 - beq _0802DC78 - lsls r2, r4, 24 - lsrs r2, 24 - str r1, [sp] - str r1, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0x1 - add r1, sp, 0xC - mov r7, r9 - lsrs r3, r7, 24 - bl CopyToBgTilemapBufferRect_ChangePalette - b _0802DC90 - .align 2, 0 -_0802DC74: .4byte 0x00001026 -_0802DC78: - lsls r2, r4, 24 - lsrs r2, 24 - str r1, [sp] - str r1, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - add r1, sp, 0xC - mov r7, r9 - lsrs r3, r7, 24 - bl CopyToBgTilemapBufferRect_ChangePalette -_0802DC90: - adds r4, 0x1 - ldr r0, [sp, 0x1C] - cmp r4, r0 - ble _0802DBC8 -_0802DC98: - ldr r6, [sp, 0x18] - ldr r2, [sp, 0x14] - cmp r6, r2 - bgt _0802DCA2 - b _0802DBB6 -_0802DCA2: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end HandleBattleWindow - - thumb_func_start BattleCreateYesNoCursorAt -BattleCreateYesNoCursorAt: @ 802DCB8 - push {lr} - sub sp, 0x10 - add r0, sp, 0xC - movs r2, 0x1 - strh r2, [r0] - movs r1, 0x2 - strh r1, [r0, 0x2] - ldr r0, _0802DCF4 @ =gBattleCommunication - ldrb r3, [r0, 0x1] - lsls r3, 25 - movs r0, 0x90 - lsls r0, 20 - adds r3, r0 - lsrs r3, 24 - str r2, [sp] - str r1, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - add r1, sp, 0xC - movs r2, 0x18 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0802DCF4: .4byte gBattleCommunication - thumb_func_end BattleCreateYesNoCursorAt - - thumb_func_start BattleDestroyYesNoCursorAt -BattleDestroyYesNoCursorAt: @ 802DCF8 - push {lr} - sub sp, 0x10 - add r0, sp, 0xC - movs r1, 0x20 - strh r1, [r0] - strh r1, [r0, 0x2] - ldr r0, _0802DD34 @ =gBattleCommunication - ldrb r3, [r0, 0x1] - lsls r3, 25 - movs r0, 0x90 - lsls r0, 20 - adds r3, r0 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - add r1, sp, 0xC - movs r2, 0x18 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0802DD34: .4byte gBattleCommunication - thumb_func_end BattleDestroyYesNoCursorAt - - thumb_func_start atkF3_trygivecaughtmonnick -atkF3_trygivecaughtmonnick: @ 802DD38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _0802DD5C @ =gBattleCommunication - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x4 - bls _0802DD50 - b _0802DFA6 -_0802DD50: - lsls r0, r1, 2 - ldr r1, _0802DD60 @ =_0802DD64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DD5C: .4byte gBattleCommunication -_0802DD60: .4byte _0802DD64 - .align 2, 0 -_0802DD64: - .4byte _0802DD78 - .4byte _0802DDA8 - .4byte _0802DE40 - .4byte _0802DF18 - .4byte _0802DF70 -_0802DD78: - movs r4, 0 - str r4, [sp] - movs r0, 0x17 - movs r1, 0x8 - movs r2, 0x1D - movs r3, 0xD - bl HandleBattleWindow - ldr r0, _0802DDA0 @ =gText_BattleYesNoChoice - movs r1, 0xE - bl BattlePutTextOnWindow - ldr r1, _0802DDA4 @ =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - strb r4, [r1, 0x1] - bl BattleCreateYesNoCursorAt - b _0802DFA6 - .align 2, 0 -_0802DDA0: .4byte gText_BattleYesNoChoice -_0802DDA4: .4byte gBattleCommunication -_0802DDA8: - ldr r0, _0802DE1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0802DDCC - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0802DDCC - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_0802DDCC: - ldr r0, _0802DE1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DDF2 - ldr r4, _0802DE20 @ =gBattleCommunication - ldrb r0, [r4, 0x1] - cmp r0, 0 - bne _0802DDF2 - movs r0, 0x5 - bl PlaySE - bl BattleDestroyYesNoCursorAt - movs r0, 0x1 - strb r0, [r4, 0x1] - bl BattleCreateYesNoCursorAt -_0802DDF2: - ldr r0, _0802DE1C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0802DE24 - movs r0, 0x5 - bl PlaySE - ldr r1, _0802DE20 @ =gBattleCommunication - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _0802DE36 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x3 - bl BeginFastPaletteFade - b _0802DFA6 - .align 2, 0 -_0802DE1C: .4byte gMain -_0802DE20: .4byte gBattleCommunication -_0802DE24: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0802DE2E - b _0802DFA6 -_0802DE2E: - movs r0, 0x5 - bl PlaySE - ldr r1, _0802DE3C @ =gBattleCommunication -_0802DE36: - movs r0, 0x4 - strb r0, [r1] - b _0802DFA6 - .align 2, 0 -_0802DE3C: .4byte gBattleCommunication -_0802DE40: - ldr r0, _0802DEFC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0802DE4E - b _0802DFA6 -_0802DE4E: - ldr r7, _0802DF00 @ =gBattlerPartyIndexes - ldr r0, _0802DF04 @ =gBattlerAttacker - mov r10, r0 - ldrb r0, [r0] - movs r4, 0x1 - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r1, 0x64 - mov r9, r1 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - ldr r1, _0802DF08 @ =gEnemyParty - mov r8, r1 - add r0, r8 - ldr r1, _0802DF0C @ =gBattleStruct - ldr r2, [r1] - adds r2, 0x6D - movs r1, 0x2 - bl GetMonData - bl FreeAllWindowBuffers - mov r2, r10 - ldrb r0, [r2] - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0xB - bl GetMonData - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - mov r2, r10 - ldrb r0, [r2] - eors r0, r4 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - bl GetMonGender - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r2, r10 - ldrb r0, [r2] - eors r4, r0 - lsls r4, 1 - adds r4, r7 - ldrh r0, [r4] - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0 - movs r2, 0 - bl GetMonData - ldr r2, _0802DF0C @ =gBattleStruct - ldr r1, [r2] - adds r1, 0x6D - str r0, [sp] - ldr r0, _0802DF10 @ =BattleMainCB2 - str r0, [sp, 0x4] - movs r0, 0x2 - adds r2, r6, 0 - adds r3, r5, 0 - bl DoNamingScreen - ldr r1, _0802DF14 @ =gBattleCommunication - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0802DFA6 - .align 2, 0 -_0802DEFC: .4byte gPaletteFade -_0802DF00: .4byte gBattlerPartyIndexes -_0802DF04: .4byte gBattlerAttacker -_0802DF08: .4byte gEnemyParty -_0802DF0C: .4byte gBattleStruct -_0802DF10: .4byte BattleMainCB2 -_0802DF14: .4byte gBattleCommunication -_0802DF18: - ldr r0, _0802DF54 @ =gMain - ldr r1, [r0, 0x4] - ldr r0, _0802DF58 @ =BattleMainCB2 - cmp r1, r0 - bne _0802DFA6 - ldr r0, _0802DF5C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0802DFA6 - ldr r2, _0802DF60 @ =gBattlerPartyIndexes - ldr r0, _0802DF64 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x1 - eors r0, r1 - lsls r0, 1 - adds r0, r2 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0802DF68 @ =gEnemyParty - adds r0, r1 - ldr r1, _0802DF6C @ =gBattleStruct - ldr r2, [r1] - adds r2, 0x6D - movs r1, 0x2 - bl SetMonData - b _0802DF8C - .align 2, 0 -_0802DF54: .4byte gMain -_0802DF58: .4byte BattleMainCB2 -_0802DF5C: .4byte gPaletteFade -_0802DF60: .4byte gBattlerPartyIndexes -_0802DF64: .4byte gBattlerAttacker -_0802DF68: .4byte gEnemyParty -_0802DF6C: .4byte gBattleStruct -_0802DF70: - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - bne _0802DF8C - ldr r1, _0802DF88 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] - b _0802DFA6 - .align 2, 0 -_0802DF88: .4byte gBattlescriptCurrInstr -_0802DF8C: - ldr r3, _0802DFB8 @ =gBattlescriptCurrInstr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] -_0802DFA6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802DFB8: .4byte gBattlescriptCurrInstr - thumb_func_end atkF3_trygivecaughtmonnick - - thumb_func_start atkF4_subattackerhpbydmg -atkF4_subattackerhpbydmg: @ 802DFBC - ldr r2, _0802DFDC @ =gBattleMons - ldr r0, _0802DFE0 @ =gBattlerAttacker - ldrb r1, [r0] - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldr r0, _0802DFE4 @ =gBattleMoveDamage - ldr r2, [r0] - ldrh r0, [r1, 0x28] - subs r0, r2 - strh r0, [r1, 0x28] - ldr r1, _0802DFE8 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802DFDC: .4byte gBattleMons -_0802DFE0: .4byte gBattlerAttacker -_0802DFE4: .4byte gBattleMoveDamage -_0802DFE8: .4byte gBattlescriptCurrInstr - thumb_func_end atkF4_subattackerhpbydmg - - thumb_func_start atkF5_removeattackerstatus1 -atkF5_removeattackerstatus1: @ 802DFEC - ldr r1, _0802E008 @ =gBattleMons - ldr r0, _0802E00C @ =gBattlerAttacker - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x4C - adds r0, r1 - movs r1, 0 - str r1, [r0] - ldr r1, _0802E010 @ =gBattlescriptCurrInstr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_0802E008: .4byte gBattleMons -_0802E00C: .4byte gBattlerAttacker -_0802E010: .4byte gBattlescriptCurrInstr - thumb_func_end atkF5_removeattackerstatus1 - - thumb_func_start atkF6_finishaction -atkF6_finishaction: @ 802E014 - ldr r1, _0802E01C @ =gCurrentActionFuncId - movs r0, 0xC - strb r0, [r1] - bx lr - .align 2, 0 -_0802E01C: .4byte gCurrentActionFuncId - thumb_func_end atkF6_finishaction - - thumb_func_start atkF7_finishturn -atkF7_finishturn: @ 802E020 - ldr r1, _0802E030 @ =gCurrentActionFuncId - movs r0, 0xC - strb r0, [r1] - ldr r1, _0802E034 @ =gCurrentTurnActionNumber - ldr r0, _0802E038 @ =gBattlersCount - ldrb r0, [r0] - strb r0, [r1] - bx lr - .align 2, 0 -_0802E030: .4byte gCurrentActionFuncId -_0802E034: .4byte gCurrentTurnActionNumber -_0802E038: .4byte gBattlersCount - thumb_func_end atkF7_finishturn - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 89c98f2ab74e6097fd85b05b64965c10c9941b5b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 24 Sep 2019 14:00:30 -0400 Subject: Start credits (nonmatching sub_80F3BD0) --- asm/credits.s | 966 ---------------------------------------------------------- 1 file changed, 966 deletions(-) (limited to 'asm') diff --git a/asm/credits.s b/asm/credits.s index e52275e77..960ea86a5 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -5,972 +5,6 @@ .text - thumb_func_start sub_80F39B4 -sub_80F39B4: @ 80F39B4 - push {r4,lr} - ldr r4, _080F39E0 @ =gUnknown_203AB40 - movs r0, 0x20 - bl AllocZeroed - str r0, [r4] - bl ResetTasks - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1, 0x2] - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x1D] - bl ResetSpriteData - ldr r0, _080F39E4 @ =sub_80F39E8 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F39E0: .4byte gUnknown_203AB40 -_080F39E4: .4byte sub_80F39E8 - thumb_func_end sub_80F39B4 - - thumb_func_start sub_80F39E8 -sub_80F39E8: @ 80F39E8 - push {lr} - bl sub_80F3BD0 - adds r1, r0, 0 - cmp r1, 0x1 - beq _080F3A16 - cmp r1, 0x1 - bgt _080F39FE - cmp r1, 0 - beq _080F3A04 - b _080F3A68 -_080F39FE: - cmp r1, 0x2 - beq _080F3A4C - b _080F3A68 -_080F3A04: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - b _080F3A68 -_080F3A16: - ldr r0, _080F3A28 @ =gUnknown_203AB40 - ldr r0, [r0] - ldrb r0, [r0, 0x1D] - ands r1, r0 - cmp r1, 0 - beq _080F3A2C - bl sub_80574A4 - b _080F3A3C - .align 2, 0 -_080F3A28: .4byte gUnknown_203AB40 -_080F3A2C: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade -_080F3A3C: - ldr r0, _080F3A48 @ =gUnknown_203AB40 - ldr r1, [r0] - ldrb r0, [r1, 0x1D] - adds r0, 0x1 - strb r0, [r1, 0x1D] - b _080F3A68 - .align 2, 0 -_080F3A48: .4byte gUnknown_203AB40 -_080F3A4C: - movs r0, 0x80 - lsls r0, 7 - bl FlagClear - ldr r1, _080F3A6C @ =gUnknown_2031DD8 - movs r0, 0 - strb r0, [r1] - ldr r0, _080F3A70 @ =gUnknown_203AB40 - ldr r0, [r0] - bl Free - movs r0, 0xFF - bl SoftReset -_080F3A68: - pop {r0} - bx r0 - .align 2, 0 -_080F3A6C: .4byte gUnknown_2031DD8 -_080F3A70: .4byte gUnknown_203AB40 - thumb_func_end sub_80F39E8 - - thumb_func_start sub_80F3A74 -sub_80F3A74: @ 80F3A74 - push {lr} - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _080F3AA0 @ =0x00001f3f - movs r0, 0x48 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0xE - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_080F3AA0: .4byte 0x00001f3f - thumb_func_end sub_80F3A74 - - thumb_func_start sub_80F3AA4 -sub_80F3AA4: @ 80F3AA4 - push {lr} - movs r0, 0x50 - movs r1, 0xCE - bl SetGpuReg - movs r1, 0x82 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0xA - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80F3AA4 - - thumb_func_start sub_80F3AC4 -sub_80F3AC4: @ 80F3AC4 - push {r4,lr} - ldr r0, _080F3AFC @ =gUnknown_8410E08 - bl AddWindow - ldr r4, _080F3B00 @ =gUnknown_203AB40 - ldr r1, [r4] - strb r0, [r1, 0xA] - ldr r0, [r4] - ldrb r0, [r0, 0xA] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldrb r0, [r0, 0xA] - bl PutWindowTilemap - ldr r0, [r4] - ldrb r0, [r0, 0xA] - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0xB] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F3AFC: .4byte gUnknown_8410E08 -_080F3B00: .4byte gUnknown_203AB40 - thumb_func_end sub_80F3AC4 - - thumb_func_start sub_80F3B04 -sub_80F3B04: @ 80F3B04 - push {r4,lr} - ldr r4, _080F3B28 @ =gUnknown_203AB40 - ldr r1, [r4] - ldrb r0, [r1, 0xB] - cmp r0, 0 - beq _080F3B20 - ldrb r0, [r1, 0xA] - bl RemoveWindow - bl CleanupOverworldWindowsAndTilemaps - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0xB] -_080F3B20: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F3B28: .4byte gUnknown_203AB40 - thumb_func_end sub_80F3B04 - - thumb_func_start sub_80F3B2C -sub_80F3B2C: @ 80F3B2C - push {r4,r5,lr} - ldr r5, _080F3B40 @ =gUnknown_203AB40 - ldr r0, [r5] - ldrb r4, [r0, 0x1] - cmp r4, 0 - beq _080F3B44 - cmp r4, 0x1 - beq _080F3B5E -_080F3B3C: - movs r0, 0 - b _080F3BB0 - .align 2, 0 -_080F3B40: .4byte gUnknown_203AB40 -_080F3B44: - movs r0, 0x80 - lsls r0, 7 - bl FlagSet - ldr r1, _080F3BB8 @ =gUnknown_2031DD8 - movs r0, 0x2 - strb r0, [r1] - ldr r0, [r5] - strb r4, [r0, 0x1C] - ldr r1, [r5] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] -_080F3B5E: - ldr r0, _080F3BBC @ =gUnknown_203AB40 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - ldr r2, _080F3BC0 @ =gUnknown_8414588 - ldrb r1, [r1, 0x9] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 - bl sub_805750C - cmp r0, 0 - beq _080F3B3C - bl sub_80F3AC4 - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, _080F3BC4 @ =0x0000247c - movs r0, 0x44 - bl SetGpuReg - bl sub_80F3A74 - bl sub_80F3AA4 - movs r0, 0xF0 - bl Menu_LoadStdPalAt - ldr r0, _080F3BC8 @ =gPlttBufferUnfaded - movs r2, 0xFF - lsls r2, 1 - adds r0, r2 - movs r1, 0 - strh r1, [r0] - ldr r0, _080F3BCC @ =gPlttBufferFaded - adds r0, r2 - strh r1, [r0] - movs r0, 0x1 -_080F3BB0: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080F3BB8: .4byte gUnknown_2031DD8 -_080F3BBC: .4byte gUnknown_203AB40 -_080F3BC0: .4byte gUnknown_8414588 -_080F3BC4: .4byte 0x0000247c -_080F3BC8: .4byte gPlttBufferUnfaded -_080F3BCC: .4byte gPlttBufferFaded - thumb_func_end sub_80F3B2C - - thumb_func_start sub_80F3BD0 -sub_80F3BD0: @ 80F3BD0 - push {r4-r7,lr} - sub sp, 0x24 - ldr r1, _080F3BEC @ =gUnknown_203AB40 - ldr r0, [r1] - ldrb r0, [r0] - adds r7, r1, 0 - cmp r0, 0x12 - bls _080F3BE2 - b _080F4180 -_080F3BE2: - lsls r0, 2 - ldr r1, _080F3BF0 @ =_080F3BF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F3BEC: .4byte gUnknown_203AB40 -_080F3BF0: .4byte _080F3BF4 - .align 2, 0 -_080F3BF4: - .4byte _080F3C40 - .4byte _080F3C64 - .4byte _080F3C98 - .4byte _080F3CEE - .4byte _080F3D0A - .4byte _080F3D48 - .4byte _080F3D6A - .4byte _080F3EB4 - .4byte _080F3F24 - .4byte _080F3F84 - .4byte _080F3FC4 - .4byte _080F3FF0 - .4byte _080F400A - .4byte _080F4084 - .4byte _080F40B8 - .4byte _080F40D0 - .4byte _080F4100 - .4byte _080F4118 - .4byte _080F4170 -_080F3C40: - bl sub_80F3A74 - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - ldr r1, _080F3C5C @ =0x00004f51 - movs r0, 0x44 - bl SetGpuReg - ldr r0, _080F3C60 @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0x1 - b _080F413C - .align 2, 0 -_080F3C5C: .4byte 0x00004f51 -_080F3C60: .4byte gUnknown_203AB40 -_080F3C64: - bl sub_80F3AA4 - bl sub_80F3AC4 - movs r0, 0xF0 - bl Menu_LoadStdPalAt - ldr r0, _080F3C8C @ =gPlttBufferUnfaded - movs r2, 0xFF - lsls r2, 1 - adds r0, r2 - movs r1, 0 - strh r1, [r0] - ldr r0, _080F3C90 @ =gPlttBufferFaded - adds r0, r2 - strh r1, [r0] - ldr r0, _080F3C94 @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0x2 - b _080F413C - .align 2, 0 -_080F3C8C: .4byte gPlttBufferUnfaded -_080F3C90: .4byte gPlttBufferFaded -_080F3C94: .4byte gUnknown_203AB40 -_080F3C98: - movs r0, 0x44 - bl GetGpuReg - add r1, sp, 0x14 - lsls r0, 16 - lsrs r0, 24 - strh r0, [r1] - movs r0, 0x44 - bl GetGpuReg - add r2, sp, 0x14 - movs r1, 0xFF - ands r1, r0 - strh r1, [r2, 0x2] - adds r0, r2, 0 - ldrh r0, [r0] - cmp r0, 0x24 - bne _080F3CCC - ldr r0, _080F3CC8 @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x4] - movs r0, 0x3 - b _080F413C - .align 2, 0 -_080F3CC8: .4byte gUnknown_203AB40 -_080F3CCC: - add r1, sp, 0x14 - subs r0, 0x1 - strh r0, [r1] - adds r2, r1, 0 - adds r0, r1, 0 - ldrh r1, [r0, 0x2] - adds r1, 0x1 - strh r1, [r2, 0x2] - ldrh r0, [r0] - lsls r0, 8 - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - b _080F3D06 -_080F3CEE: - ldr r1, [r7] - ldrh r0, [r1, 0x4] - cmp r0, 0 - bne _080F3D52 - movs r0, 0 - bl sub_80F4930 - ldr r0, [r7] - movs r1, 0x64 - strh r1, [r0, 0x4] - movs r1, 0x4 - strb r1, [r0] -_080F3D06: - movs r0, 0 - b _080F4182 -_080F3D0A: - ldr r1, [r7] - ldrh r0, [r1, 0x4] - adds r2, r0, 0 - cmp r2, 0 - bne _080F3D52 - movs r0, 0xB4 - lsls r0, 1 - strh r0, [r1, 0x4] - ldrb r0, [r1, 0xA] - movs r1, 0x1 - str r1, [sp] - movs r1, 0x2 - str r1, [sp, 0x4] - ldr r1, _080F3D40 @ =gUnknown_8410E00 - str r1, [sp, 0x8] - str r2, [sp, 0xC] - ldr r1, _080F3D44 @ =gUnknown_841D198 - str r1, [sp, 0x10] - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0x29 - bl AddTextPrinterParameterized4 - ldr r1, [r7] - movs r0, 0x5 - b _080F413C - .align 2, 0 -_080F3D40: .4byte gUnknown_8410E00 -_080F3D44: .4byte gUnknown_841D198 -_080F3D48: - ldr r1, [r7] - ldrh r0, [r1, 0x4] - adds r4, r0, 0 - cmp r4, 0 - beq _080F3D58 -_080F3D52: - subs r0, 0x1 - strh r0, [r1, 0x4] - b _080F3D06 -_080F3D58: - bl sub_80F3B04 - ldr r0, [r7] - movs r1, 0x6 - strb r1, [r0] - ldr r0, [r7] - strh r4, [r0, 0x4] - strh r4, [r0, 0x6] - b _080F3D06 -_080F3D6A: - ldr r2, [r7] - ldrh r0, [r2, 0x4] - cmp r0, 0 - beq _080F3D7A - subs r0, 0x1 - strh r0, [r2, 0x4] - ldrb r0, [r2, 0x8] - b _080F4182 -_080F3D7A: - ldr r1, _080F3D94 @ =gUnknown_8410CF4 - ldrh r0, [r2, 0x6] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bls _080F3D8A - b _080F3E94 -_080F3D8A: - lsls r0, 2 - ldr r1, _080F3D98 @ =_080F3D9C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F3D94: .4byte gUnknown_8410CF4 -_080F3D98: .4byte _080F3D9C - .align 2, 0 -_080F3D9C: - .4byte _080F3DB4 - .4byte _080F3DE0 - .4byte _080F3E10 - .4byte _080F3E30 - .4byte _080F3E58 - .4byte _080F3E8C -_080F3DB4: - movs r0, 0x80 - lsls r0, 8 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r4, _080F3DDC @ =gUnknown_203AB40 - ldr r1, [r4] - movs r0, 0x7 - strb r0, [r1] - ldr r0, [r4] - ldrb r0, [r0, 0xA] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldrb r0, [r0, 0x8] - b _080F4182 - .align 2, 0 -_080F3DDC: .4byte gUnknown_203AB40 -_080F3DE0: - ldr r2, _080F3E04 @ =gUnknown_203AB40 - ldr r1, [r2] - movs r0, 0xA - strb r0, [r1] - ldr r2, [r2] - ldr r1, _080F3E08 @ =gUnknown_8410CF4 - ldrh r0, [r2, 0x6] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strb r0, [r2, 0x9] - ldr r2, _080F3E0C @ =0x3fffffff - movs r0, 0x1 - movs r1, 0 - bl sub_807A944 - b _080F3E94 - .align 2, 0 -_080F3E04: .4byte gUnknown_203AB40 -_080F3E08: .4byte gUnknown_8410CF4 -_080F3E0C: .4byte 0x3fffffff -_080F3E10: - ldr r2, _080F3E28 @ =gUnknown_203AB40 - ldr r1, [r2] - movs r0, 0xC - strb r0, [r1] - ldr r2, [r2] - ldr r1, _080F3E2C @ =gUnknown_8410CF4 - ldrh r0, [r2, 0x6] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strb r0, [r2, 0x9] - b _080F3E94 - .align 2, 0 -_080F3E28: .4byte gUnknown_203AB40 -_080F3E2C: .4byte gUnknown_8410CF4 -_080F3E30: - ldr r2, _080F3E50 @ =gUnknown_203AB40 - ldr r1, [r2] - movs r0, 0xD - strb r0, [r1] - ldr r2, [r2] - ldr r1, _080F3E54 @ =gUnknown_8410CF4 - ldrh r0, [r2, 0x6] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strb r0, [r2, 0x9] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - b _080F3E94 - .align 2, 0 -_080F3E50: .4byte gUnknown_203AB40 -_080F3E54: .4byte gUnknown_8410CF4 -_080F3E58: - ldr r2, _080F3E84 @ =gUnknown_203AB40 - ldr r1, [r2] - movs r3, 0 - movs r0, 0xF - strb r0, [r1] - ldr r2, [r2] - ldr r1, _080F3E88 @ =gUnknown_8410CF4 - ldrh r0, [r2, 0x6] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strb r0, [r2, 0x9] - movs r0, 0x1 - negs r0, r0 - str r3, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080F3E94 - .align 2, 0 -_080F3E84: .4byte gUnknown_203AB40 -_080F3E88: .4byte gUnknown_8410CF4 -_080F3E8C: - ldr r0, _080F3EAC @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0x11 - strb r0, [r1] -_080F3E94: - ldr r0, _080F3EAC @ =gUnknown_203AB40 - ldr r1, [r0] - ldr r2, _080F3EB0 @ =gUnknown_8410CF4 - ldrh r0, [r1, 0x6] - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2] - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _080F3D06 - .align 2, 0 -_080F3EAC: .4byte gUnknown_203AB40 -_080F3EB0: .4byte gUnknown_8410CF4 -_080F3EB4: - ldr r0, _080F3F14 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _080F3FBA - add r3, sp, 0x14 - ldr r5, _080F3F18 @ =gUnknown_84145BC - ldr r4, _080F3F1C @ =gUnknown_8410CF4 - ldr r2, [r7] - ldrh r0, [r2, 0x6] - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x8] - strh r0, [r3] - ldrb r0, [r2, 0xA] - str r6, [sp] - str r6, [sp, 0x4] - ldr r1, _080F3F20 @ =gUnknown_8410E00 - str r1, [sp, 0x8] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0xC] - ldrh r1, [r2, 0x6] - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x1] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - ldr r1, [r1] - str r1, [sp, 0x10] - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x6 - bl AddTextPrinterParameterized4 - ldr r1, [r7] - movs r0, 0x8 - b _080F3FB8 - .align 2, 0 -_080F3F14: .4byte gPaletteFade -_080F3F18: .4byte gUnknown_84145BC -_080F3F1C: .4byte gUnknown_8410CF4 -_080F3F20: .4byte gUnknown_8410E00 -_080F3F24: - add r4, sp, 0x14 - ldr r3, _080F3F78 @ =gUnknown_84145BC - ldr r5, _080F3F7C @ =gUnknown_8410CF4 - ldr r2, [r7] - ldrh r0, [r2, 0x6] - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x8] - movs r1, 0 - strh r0, [r4] - ldrb r0, [r2, 0xA] - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, _080F3F80 @ =gUnknown_8410E04 - str r1, [sp, 0x8] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0xC] - ldrh r1, [r2, 0x6] - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x1] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r3, 0x4 - adds r1, r3 - ldr r1, [r1] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x8 - movs r3, 0x6 - bl AddTextPrinterParameterized4 - ldr r1, [r7] - movs r0, 0x9 - b _080F3FB8 - .align 2, 0 -_080F3F78: .4byte gUnknown_84145BC -_080F3F7C: .4byte gUnknown_8410CF4 -_080F3F80: .4byte gUnknown_8410E04 -_080F3F84: - ldr r0, [r7] - ldrb r0, [r0, 0xA] - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, [r7] - ldr r2, _080F3FC0 @ =gUnknown_8410CF4 - ldrh r0, [r1, 0x6] - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x2] - movs r2, 0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - movs r0, 0x80 - lsls r0, 8 - str r2, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r7] - movs r0, 0x6 -_080F3FB8: - strb r0, [r1] -_080F3FBA: - ldr r0, [r7] - ldrb r0, [r0, 0x8] - b _080F4182 - .align 2, 0 -_080F3FC0: .4byte gUnknown_8410CF4 -_080F3FC4: - ldr r0, _080F3FE8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080F3FD6 - b _080F3D06 -_080F3FD6: - bl sub_80F3B04 - ldr r1, _080F3FEC @ =gUnknown_203AB40 - ldr r0, [r1] - strb r4, [r0, 0x1] - ldr r1, [r1] - movs r0, 0xB - b _080F413C - .align 2, 0 -_080F3FE8: .4byte gPaletteFade -_080F3FEC: .4byte gUnknown_203AB40 -_080F3FF0: - ldr r0, [r7] - ldrb r0, [r0, 0x9] - bl sub_80F3B2C - cmp r0, 0 - bne _080F3FFE - b _080F3D06 -_080F3FFE: - ldr r1, [r7] - movs r0, 0x1 - strb r0, [r1, 0x8] - ldr r1, [r7] - movs r0, 0x6 - b _080F413C -_080F400A: - ldr r0, _080F4050 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080F401C - b _080F3D06 -_080F401C: - bl sub_80F3B04 - ldr r1, _080F4054 @ =gUnknown_203AB40 - ldr r0, [r1] - strb r4, [r0, 0x1] - adds r4, r1, 0 -_080F4028: - ldr r0, [r4] - ldrb r0, [r0, 0x9] - bl sub_80F3B2C - cmp r0, 0 - beq _080F4028 - ldr r0, _080F4054 @ =gUnknown_203AB40 - ldr r0, [r0] - ldrb r0, [r0, 0x9] - cmp r0, 0x6 - beq _080F4058 - cmp r0, 0x6 - ble _080F404A - cmp r0, 0x9 - beq _080F405E - cmp r0, 0xC - beq _080F4064 -_080F404A: - add r1, sp, 0x14 - movs r0, 0x1 - b _080F4068 - .align 2, 0 -_080F4050: .4byte gPaletteFade -_080F4054: .4byte gUnknown_203AB40 -_080F4058: - add r1, sp, 0x14 - movs r0, 0x2 - b _080F4068 -_080F405E: - add r1, sp, 0x14 - movs r0, 0x3 - b _080F4068 -_080F4064: - add r1, sp, 0x14 - movs r0, 0x4 -_080F4068: - strh r0, [r1] - add r0, sp, 0x14 - ldrb r0, [r0] - bl sub_80F4930 - ldr r2, _080F4080 @ =gUnknown_203AB40 - ldr r1, [r2] - movs r0, 0x1 - strb r0, [r1, 0x8] - ldr r1, [r2] - movs r0, 0x6 - b _080F413C - .align 2, 0 -_080F4080: .4byte gUnknown_203AB40 -_080F4084: - ldr r0, _080F40B0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080F4096 - b _080F3D06 -_080F4096: - bl sub_80F48D0 - bl sub_80F3B04 - ldr r1, _080F40B4 @ =gUnknown_203AB40 - ldr r0, [r1] - strb r4, [r0, 0x1] - ldr r0, [r1] - strb r4, [r0, 0x8] - ldr r1, [r1] - movs r0, 0xE - b _080F413C - .align 2, 0 -_080F40B0: .4byte gPaletteFade -_080F40B4: .4byte gUnknown_203AB40 -_080F40B8: - bl sub_80F4328 - cmp r0, 0 - bne _080F40C2 - b _080F3D06 -_080F40C2: - ldr r0, _080F40CC @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0x6 - b _080F413C - .align 2, 0 -_080F40CC: .4byte gUnknown_203AB40 -_080F40D0: - ldr r0, _080F40F8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080F40E2 - b _080F3D06 -_080F40E2: - bl sub_80F3B04 - ldr r1, _080F40FC @ =gUnknown_203AB40 - ldr r0, [r1] - strb r4, [r0, 0x1] - ldr r0, [r1] - strb r4, [r0, 0x8] - ldr r1, [r1] - movs r0, 0x10 - b _080F413C - .align 2, 0 -_080F40F8: .4byte gPaletteFade -_080F40FC: .4byte gUnknown_203AB40 -_080F4100: - bl sub_80F4674 - cmp r0, 0 - bne _080F410A - b _080F3D06 -_080F410A: - ldr r0, _080F4114 @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0x6 - b _080F413C - .align 2, 0 -_080F4114: .4byte gUnknown_203AB40 -_080F4118: - ldr r0, _080F4140 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F414C - movs r0, 0x1 - negs r0, r0 - ldr r1, _080F4144 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080F4148 @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0x12 -_080F413C: - strb r0, [r1] - b _080F3D06 - .align 2, 0 -_080F4140: .4byte gMain -_080F4144: .4byte 0x00007fff -_080F4148: .4byte gUnknown_203AB40 -_080F414C: - ldr r1, [r7] - ldrh r0, [r1, 0x4] - cmp r0, 0 - beq _080F4156 - b _080F3D52 -_080F4156: - movs r0, 0x12 - strb r0, [r1] - subs r0, 0x13 - ldr r1, _080F416C @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080F3D06 - .align 2, 0 -_080F416C: .4byte 0x00007fff -_080F4170: - ldr r0, _080F418C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080F4180 - bl sub_80F3B04 -_080F4180: - movs r0, 0x2 -_080F4182: - add sp, 0x24 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080F418C: .4byte gPaletteFade - thumb_func_end sub_80F3BD0 - thumb_func_start sub_80F4190 sub_80F4190: @ 80F4190 push {lr} -- cgit v1.2.3 From 7f0c7528f732c650736b97e623c933ddaed00774 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 24 Sep 2019 14:00:40 -0400 Subject: Finish credits decomp and data dump --- asm/credits.s | 1256 --------------------------------------------------------- 1 file changed, 1256 deletions(-) delete mode 100644 asm/credits.s (limited to 'asm') diff --git a/asm/credits.s b/asm/credits.s deleted file mode 100644 index 960ea86a5..000000000 --- a/asm/credits.s +++ /dev/null @@ -1,1256 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F4190 -sub_80F4190: @ 80F4190 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80F4190 - - thumb_func_start sub_80F41A4 -sub_80F41A4: @ 80F41A4 - push {r4,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - beq _080F4200 - cmp r4, 0x1 - bgt _080F41BA - cmp r4, 0 - beq _080F41C4 - b _080F42C2 -_080F41BA: - cmp r4, 0x2 - beq _080F4240 - cmp r4, 0x3 - beq _080F4288 - b _080F42C2 -_080F41C4: - ldr r0, _080F41F4 @ =gUnknown_840C5B0 - bl InitWindows - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0xA - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0x6 - movs r1, 0x8 - movs r2, 0 - movs r3, 0x1 - bl sub_810C228 - ldr r1, _080F41F8 @ =gUnknown_840CB8C - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - ldr r1, _080F41FC @ =gUnknown_840D228 - b _080F4270 - .align 2, 0 -_080F41F4: .4byte gUnknown_840C5B0 -_080F41F8: .4byte gUnknown_840CB8C -_080F41FC: .4byte gUnknown_840D228 -_080F4200: - ldr r0, _080F4234 @ =gUnknown_840C5D0 - bl InitWindows - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0xA - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x3 - movs r1, 0x8 - movs r2, 0 - movs r3, 0x1 - bl sub_810C228 - ldr r1, _080F4238 @ =gUnknown_840E158 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - ldr r1, _080F423C @ =gUnknown_840E904 - b _080F4270 - .align 2, 0 -_080F4234: .4byte gUnknown_840C5D0 -_080F4238: .4byte gUnknown_840E158 -_080F423C: .4byte gUnknown_840E904 -_080F4240: - ldr r0, _080F427C @ =gUnknown_840C5F0 - bl InitWindows - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0xA - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x9 - movs r1, 0x8 - movs r2, 0 - movs r3, 0x1 - bl sub_810C228 - ldr r1, _080F4280 @ =gUnknown_840F240 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - ldr r1, _080F4284 @ =gUnknown_840F944 -_080F4270: - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - b _080F42C2 - .align 2, 0 -_080F427C: .4byte gUnknown_840C5F0 -_080F4280: .4byte gUnknown_840F240 -_080F4284: .4byte gUnknown_840F944 -_080F4288: - ldr r0, _080F42E4 @ =gUnknown_840C610 - bl InitWindows - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0xA - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - movs r0, 0x19 - movs r1, 0x8 - movs r2, 0 - movs r3, 0x1 - bl sub_810C228 - ldr r1, _080F42E8 @ =gUnknown_8410198 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer - ldr r1, _080F42EC @ =gUnknown_84105B4 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToWindowPixelBuffer -_080F42C2: - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F42E4: .4byte gUnknown_840C610 -_080F42E8: .4byte gUnknown_8410198 -_080F42EC: .4byte gUnknown_84105B4 - thumb_func_end sub_80F41A4 - - thumb_func_start sub_80F42F0 -sub_80F42F0: @ 80F42F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x1 - beq _080F4314 - cmp r0, 0x1 - bgt _080F4306 - cmp r0, 0 - beq _080F4310 - b _080F4320 -_080F4306: - cmp r1, 0x2 - beq _080F4318 - cmp r1, 0x3 - beq _080F431C - b _080F4320 -_080F4310: - movs r0, 0x6 - b _080F4322 -_080F4314: - movs r0, 0x3 - b _080F4322 -_080F4318: - movs r0, 0x9 - b _080F4322 -_080F431C: - movs r0, 0x19 - b _080F4322 -_080F4320: - movs r0, 0 -_080F4322: - pop {r1} - bx r1 - thumb_func_end sub_80F42F0 - - thumb_func_start sub_80F4328 -sub_80F4328: @ 80F4328 - push {r4-r6,lr} - sub sp, 0x10 - ldr r1, _080F4344 @ =gUnknown_203AB40 - ldr r0, [r1] - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r0, 0x9 - bls _080F433A - b _080F4668 -_080F433A: - lsls r0, 2 - ldr r1, _080F4348 @ =_080F434C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F4344: .4byte gUnknown_203AB40 -_080F4348: .4byte _080F434C - .align 2, 0 -_080F434C: - .4byte _080F4374 - .4byte _080F44CC - .4byte _080F4504 - .4byte _080F4530 - .4byte _080F453A - .4byte _080F4558 - .4byte _080F4582 - .4byte _080F45D6 - .4byte _080F460E - .4byte _080F4638 -_080F4374: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r1, 0xC0 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - movs r0, 0x1 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080F44A8 @ =gUnknown_840C5A4 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - movs r0, 0x80 - lsls r0, 4 - bl Alloc - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r6, _080F44AC @ =gUnknown_203AB40 - ldr r1, [r6] - movs r4, 0 - strh r4, [r1, 0xC] - strh r4, [r1, 0xE] - movs r2, 0x80 - lsls r2, 8 - movs r0, 0x50 - str r0, [sp] - movs r3, 0xC - ldrsh r0, [r1, r3] - str r0, [sp, 0x4] - movs r3, 0xC - ldrsh r0, [r1, r3] - str r0, [sp, 0x8] - str r4, [sp, 0xC] - movs r0, 0x2 - adds r1, r2, 0 - movs r3, 0x78 - bl SetBgAffine - ldr r1, _080F44B0 @ =gUnknown_8EAAB98 - movs r5, 0x80 - lsls r5, 6 - str r4, [sp] - movs r0, 0x1 - adds r2, r5, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, _080F44B4 @ =gUnknown_840C650 - str r4, [sp] - movs r0, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, _080F44B8 @ =gUnknown_8EAB30C - movs r2, 0xA0 - lsls r2, 3 - movs r4, 0x1 - str r4, [sp] - movs r0, 0x1 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, _080F44BC @ =gUnknown_840CA54 - movs r2, 0x80 - lsls r2, 3 - str r4, [sp] - movs r0, 0x2 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, [r6] - ldrb r0, [r0, 0x9] - lsls r0, 5 - ldr r1, _080F44C0 @ =gUnknown_8EAAB18 - adds r0, r1 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _080F44C4 @ =gUnknown_840C630 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r0, [r6] - ldrb r0, [r0, 0x9] - bl sub_80F41A4 - ldr r0, _080F44C8 @ =sub_80F4190 - bl SetVBlankCallback - movs r0, 0x1 - bl EnableInterrupts - ldr r1, [r6] - b _080F4630 - .align 2, 0 -_080F44A8: .4byte gUnknown_840C5A4 -_080F44AC: .4byte gUnknown_203AB40 -_080F44B0: .4byte gUnknown_8EAAB98 -_080F44B4: .4byte gUnknown_840C650 -_080F44B8: .4byte gUnknown_8EAB30C -_080F44BC: .4byte gUnknown_840CA54 -_080F44C0: .4byte gUnknown_8EAAB18 -_080F44C4: .4byte gUnknown_840C630 -_080F44C8: .4byte sub_80F4190 -_080F44CC: - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _080F4500 @ =gUnknown_203AB40 - ldr r1, [r0] - b _080F4630 - .align 2, 0 -_080F4500: .4byte gUnknown_203AB40 -_080F4504: - movs r0, 0x2 - bl ShowBg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080F452C @ =gUnknown_203AB40 - ldr r1, [r0] - movs r0, 0x28 - strh r0, [r1, 0xC] - b _080F4630 - .align 2, 0 -_080F452C: .4byte gUnknown_203AB40 -_080F4530: - ldr r1, [r4] - ldrh r0, [r1, 0xC] - cmp r0, 0 - bne _080F45DE - b _080F4630 -_080F453A: - ldr r0, _080F4554 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080F4548 - b _080F4668 -_080F4548: - ldr r1, [r4] - movs r0, 0x8 - strh r0, [r1, 0xC] - movs r0, 0x1 - strh r0, [r1, 0xE] - b _080F4630 - .align 2, 0 -_080F4554: .4byte gPaletteFade -_080F4558: - ldr r1, [r4] - ldrh r0, [r1, 0xC] - cmp r0, 0 - bne _080F45DE - ldrh r0, [r1, 0xE] - cmp r0, 0x2 - bhi _080F4630 - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - movs r0, 0x4 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0xE] - adds r0, 0x1 - strh r0, [r1, 0xE] - b _080F4668 -_080F4582: - ldr r3, [r4] - ldrh r0, [r3, 0xC] - cmp r0, 0xFF - bhi _080F45B2 - adds r0, 0x10 - movs r1, 0 - strh r0, [r3, 0xC] - movs r2, 0x80 - lsls r2, 8 - movs r0, 0x50 - str r0, [sp] - movs r4, 0xC - ldrsh r0, [r3, r4] - str r0, [sp, 0x4] - movs r4, 0xC - ldrsh r0, [r3, r4] - str r0, [sp, 0x8] - str r1, [sp, 0xC] - movs r0, 0x2 - adds r1, r2, 0 - movs r3, 0x78 - bl SetBgAffine - b _080F4668 -_080F45B2: - movs r2, 0x80 - lsls r2, 8 - movs r0, 0x50 - str r0, [sp] - adds r0, 0xB0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - movs r0, 0x2 - adds r1, r2, 0 - movs r3, 0x78 - bl SetBgAffine - ldr r1, [r4] - movs r0, 0x20 - strh r0, [r1, 0xC] - b _080F4630 -_080F45D6: - ldr r1, [r4] - ldrh r0, [r1, 0xC] - cmp r0, 0 - beq _080F45E4 -_080F45DE: - subs r0, 0x1 - strh r0, [r1, 0xC] - b _080F4668 -_080F45E4: - movs r0, 0x2 - bl HideBg - movs r0, 0x1 - bl ShowBg - ldr r0, [r4] - ldrb r0, [r0, 0x9] - bl sub_80F42F0 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - movs r2, 0x7D - movs r3, 0xA - bl PlayCry2 - ldr r1, [r4] - movs r0, 0x80 - strh r0, [r1, 0xC] - b _080F4630 -_080F460E: - ldr r2, [r4] - ldrh r0, [r2, 0xC] - adds r1, r0, 0 - cmp r1, 0 - beq _080F461E - subs r0, 0x1 - strh r0, [r2, 0xC] - b _080F4668 -_080F461E: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] -_080F4630: - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _080F4668 -_080F4638: - ldr r0, _080F4660 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080F4668 - bl FreeAllWindowBuffers - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - ldr r0, _080F4664 @ =gUnknown_203AB40 - ldr r0, [r0] - strb r4, [r0, 0x1] - movs r0, 0x1 - b _080F466A - .align 2, 0 -_080F4660: .4byte gPaletteFade -_080F4664: .4byte gUnknown_203AB40 -_080F4668: - movs r0, 0 -_080F466A: - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80F4328 - - thumb_func_start sub_80F4674 -sub_80F4674: @ 80F4674 - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _080F4690 @ =gUnknown_203AB40 - ldr r2, [r6] - ldrb r5, [r2, 0x1] - cmp r5, 0x1 - bne _080F4684 - b _080F4784 -_080F4684: - cmp r5, 0x1 - bgt _080F4694 - cmp r5, 0 - beq _080F46A0 - b _080F47EC - .align 2, 0 -_080F4690: .4byte gUnknown_203AB40 -_080F4694: - cmp r5, 0x2 - beq _080F478E - cmp r5, 0x3 - bne _080F469E - b _080F47D0 -_080F469E: - b _080F47EC -_080F46A0: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r1, 0xC0 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - movs r0, 0x1 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080F4778 @ =gUnknown_840C5A4 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r4, _080F477C @ =gUnknown_8410CDC - ldr r0, [r6] - ldrb r1, [r0, 0x9] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 6 - str r5, [sp] - movs r0, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, [r6] - ldrb r1, [r0, 0x9] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0x4 - adds r0, r1 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, [r6] - ldrb r1, [r0, 0x9] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r4, 0x8 - adds r0, r4 - ldr r0, [r0] - movs r2, 0x80 - lsls r2, 2 - movs r1, 0 - bl LoadPalette - ldr r0, _080F4780 @ =sub_80F4190 - bl SetVBlankCallback - movs r0, 0x1 - bl EnableInterrupts - ldr r1, [r6] - b _080F47C2 - .align 2, 0 -_080F4778: .4byte gUnknown_840C5A4 -_080F477C: .4byte gUnknown_8410CDC -_080F4780: .4byte sub_80F4190 -_080F4784: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r6] - b _080F47C2 -_080F478E: - movs r0, 0 - bl ShowBg - ldr r0, [r6] - ldrb r1, [r0, 0x9] - cmp r1, 0 - beq _080F47AE - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - b _080F47BE -_080F47AE: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_080F47BE: - ldr r0, _080F47CC @ =gUnknown_203AB40 - ldr r1, [r0] -_080F47C2: - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - b _080F47EC - .align 2, 0 -_080F47CC: .4byte gUnknown_203AB40 -_080F47D0: - ldr r0, _080F47E8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080F47EC - strb r0, [r2, 0x1] - movs r0, 0x1 - b _080F47EE - .align 2, 0 -_080F47E8: .4byte gPaletteFade -_080F47EC: - movs r0, 0 -_080F47EE: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80F4674 - - thumb_func_start sub_80F47F8 -sub_80F47F8: @ 80F47F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080F481C @ =gTasks+0x8 - adds r3, r1, r0 - ldrb r0, [r3] - cmp r0, 0x1 - beq _080F4820 - cmp r0, 0x1 - ble _080F48C2 - cmp r0, 0x2 - beq _080F484C - cmp r0, 0x3 - beq _080F4896 - b _080F48C2 - .align 2, 0 -_080F481C: .4byte gTasks+0x8 -_080F4820: - ldr r4, _080F4848 @ =gSprites - ldrb r0, [r3, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r2, [r1, 0x20] - movs r5, 0x20 - ldrsh r0, [r1, r5] - cmp r0, 0xD0 - beq _080F4890 - subs r0, r2, 0x1 - strh r0, [r1, 0x20] - ldrb r1, [r3, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - b _080F48BC - .align 2, 0 -_080F4848: .4byte gSprites -_080F484C: - ldr r0, _080F4888 @ =gUnknown_203AB40 - ldr r0, [r0] - ldrb r1, [r0, 0x1D] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F48C2 - ldr r4, _080F488C @ =gSprites - ldrb r0, [r3, 0x1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r2, [r1, 0x22] - movs r5, 0x22 - ldrsh r0, [r1, r5] - cmp r0, 0x50 - beq _080F4890 - subs r0, r2, 0x1 - strh r0, [r1, 0x22] - ldrb r1, [r3, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] - b _080F48C2 - .align 2, 0 -_080F4888: .4byte gUnknown_203AB40 -_080F488C: .4byte gSprites -_080F4890: - movs r0, 0 - strb r0, [r3] - b _080F48C2 -_080F4896: - ldr r0, _080F48C8 @ =gUnknown_203AB40 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xF - bne _080F48C2 - ldr r2, _080F48CC @ =gSprites - ldrb r1, [r3, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - ldrb r1, [r3, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 -_080F48BC: - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] -_080F48C2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F48C8: .4byte gUnknown_203AB40 -_080F48CC: .4byte gSprites - thumb_func_end sub_80F47F8 - - thumb_func_start sub_80F48D0 -sub_80F48D0: @ 80F48D0 - push {r4-r6,lr} - ldr r6, _080F4924 @ =gUnknown_203AB40 - ldr r1, [r6] - ldrb r0, [r1, 0x2] - cmp r0, 0xFF - beq _080F491E - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080F4928 @ =gTasks+0x8 - adds r4, r0 - ldrh r0, [r4, 0x2] - bl FreeSpriteTilesByTag - ldrb r1, [r4, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _080F492C @ =gSprites - adds r0, r5 - bl DestroySprite - ldrh r0, [r4, 0x8] - bl FreeSpriteTilesByTag - ldrb r1, [r4, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r0, [r6] - ldrb r0, [r0, 0x2] - bl DestroyTask - ldr r1, [r6] - movs r0, 0xFF - strb r0, [r1, 0x2] -_080F491E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F4924: .4byte gUnknown_203AB40 -_080F4928: .4byte gTasks+0x8 -_080F492C: .4byte gSprites - thumb_func_end sub_80F48D0 - - thumb_func_start sub_80F4930 -sub_80F4930: @ 80F4930 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r4, _080F4988 @ =gUnknown_203AB40 - ldr r0, [r4] - ldrb r0, [r0, 0x2] - cmp r0, 0xFF - beq _080F494A - b _080F4BDE -_080F494A: - ldr r0, _080F498C @ =sub_80F47F8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _080F4990 @ =gTasks+0x8 - adds r6, r1, r2 - ldr r1, [r4] - strb r0, [r1, 0x2] - ldr r1, _080F4994 @ =gUnknown_841431C - lsls r2, r7, 1 - adds r0, r2, r7 - lsls r0, 1 - adds r1, 0x4 - adds r0, r1 - ldrh r0, [r0] - mov r8, r2 - cmp r0, 0x1 - beq _080F4998 - cmp r0, 0x1 - ble _080F4980 - cmp r0, 0x2 - beq _080F49A2 -_080F4980: - movs r4, 0xD0 - movs r0, 0x50 - mov r9, r0 - b _080F49A8 - .align 2, 0 -_080F4988: .4byte gUnknown_203AB40 -_080F498C: .4byte sub_80F47F8 -_080F4990: .4byte gTasks+0x8 -_080F4994: .4byte gUnknown_841431C -_080F4998: - movs r4, 0x88 - lsls r4, 1 - movs r2, 0x50 - mov r9, r2 - b _080F49A8 -_080F49A2: - movs r4, 0xD0 - movs r3, 0xA0 - mov r9, r3 -_080F49A8: - ldr r2, _080F49D0 @ =gUnknown_841431C - mov r5, r8 - adds r1, r5, r7 - lsls r1, 1 - adds r0, r2, 0x4 - adds r0, r1, r0 - ldrh r0, [r0] - strb r0, [r6] - movs r0, 0x80 - lsls r0, 6 - strh r0, [r6, 0x2] - ldr r0, _080F49D4 @ =0x0000ffff - strh r0, [r6, 0x4] - adds r1, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _080F49D8 - cmp r0, 0x1 - beq _080F4A4C - b _080F4A6C - .align 2, 0 -_080F49D0: .4byte gUnknown_841431C -_080F49D4: .4byte 0x0000ffff -_080F49D8: - ldr r0, _080F4A0C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _080F4A20 - ldr r0, _080F4A10 @ =gUnknown_8410E30 - str r0, [sp, 0x18] - ldr r1, _080F4A14 @ =0xffff0000 - add r0, sp, 0x18 - ldr r3, [r0, 0x4] - ands r3, r1 - movs r1, 0xC0 - lsls r1, 6 - orrs r3, r1 - str r3, [r0, 0x4] - ldrh r2, [r6, 0x2] - lsls r2, 16 - ldr r1, _080F4A18 @ =0x0000ffff - ands r1, r3 - orrs r1, r2 - str r1, [r0, 0x4] - bl LoadCompressedSpriteSheet - ldr r0, _080F4A1C @ =gUnknown_8410E10 - b _080F4A36 - .align 2, 0 -_080F4A0C: .4byte gSaveBlock2Ptr -_080F4A10: .4byte gUnknown_8410E30 -_080F4A14: .4byte 0xffff0000 -_080F4A18: .4byte 0x0000ffff -_080F4A1C: .4byte gUnknown_8410E10 -_080F4A20: - ldr r0, _080F4A44 @ =gUnknown_8411C18 - str r0, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xC0 - lsls r1, 6 - strh r1, [r0, 0x4] - ldrh r1, [r6, 0x2] - strh r1, [r0, 0x6] - bl LoadCompressedSpriteSheet - ldr r0, _080F4A48 @ =gUnknown_8411BF8 -_080F4A36: - movs r1, 0xF8 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - b _080F4A6C - .align 2, 0 -_080F4A44: .4byte gUnknown_8411C18 -_080F4A48: .4byte gUnknown_8411BF8 -_080F4A4C: - ldr r0, _080F4AD8 @ =gUnknown_84129C0 - str r0, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xC0 - lsls r1, 6 - strh r1, [r0, 0x4] - ldrh r1, [r6, 0x2] - strh r1, [r0, 0x6] - bl LoadCompressedSpriteSheet - ldr r0, _080F4ADC @ =gUnknown_84129A0 - movs r1, 0xF8 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette -_080F4A6C: - mov r1, sp - ldr r0, _080F4AE0 @ =gUnknown_8414364 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r1, sp - ldrh r0, [r6, 0x2] - movs r5, 0 - strh r0, [r1] - lsls r4, 16 - asrs r1, r4, 16 - mov r2, r9 - mov r0, sp - movs r3, 0 - bl CreateSprite - strb r0, [r6, 0x1] - ldr r3, _080F4AE4 @ =gSprites - ldrb r1, [r6, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r1, [r0, 0x5] - movs r2, 0xF0 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r6, 0x1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - strb r5, [r0] - ldr r0, _080F4AE8 @ =0x00002001 - strh r0, [r6, 0x8] - ldr r0, _080F4AEC @ =0x0000ffff - strh r0, [r6, 0xA] - ldr r1, _080F4AF0 @ =gUnknown_841431C - mov r2, r8 - adds r0, r2, r7 - lsls r0, 1 - adds r1, 0x2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x1 - beq _080F4B20 - cmp r0, 0x1 - bgt _080F4AF4 - cmp r0, 0 - beq _080F4AFE - b _080F4BA0 - .align 2, 0 -_080F4AD8: .4byte gUnknown_84129C0 -_080F4ADC: .4byte gUnknown_84129A0 -_080F4AE0: .4byte gUnknown_8414364 -_080F4AE4: .4byte gSprites -_080F4AE8: .4byte 0x00002001 -_080F4AEC: .4byte 0x0000ffff -_080F4AF0: .4byte gUnknown_841431C -_080F4AF4: - cmp r0, 0x2 - beq _080F4B54 - cmp r0, 0x3 - beq _080F4B74 - b _080F4BA0 -_080F4AFE: - ldr r0, _080F4B18 @ =gUnknown_8413338 - str r0, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xC0 - lsls r1, 6 - strh r1, [r0, 0x4] - ldrh r1, [r6, 0x8] - strh r1, [r0, 0x6] - bl LoadCompressedSpriteSheet - ldr r0, _080F4B1C @ =gUnknown_8413318 - b _080F4B8A - .align 2, 0 -_080F4B18: .4byte gUnknown_8413338 -_080F4B1C: .4byte gUnknown_8413318 -_080F4B20: - ldr r0, _080F4B48 @ =gUnknown_8413338 - str r0, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xC0 - lsls r1, 6 - strh r1, [r0, 0x4] - ldrh r1, [r6, 0x8] - strh r1, [r0, 0x6] - bl LoadCompressedSpriteSheet - ldr r0, _080F4B4C @ =gUnknown_8413318 - movs r1, 0xF0 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - mov r1, sp - ldr r0, _080F4B50 @ =gUnknown_84143D0 - b _080F4B98 - .align 2, 0 -_080F4B48: .4byte gUnknown_8413338 -_080F4B4C: .4byte gUnknown_8413318 -_080F4B50: .4byte gUnknown_84143D0 -_080F4B54: - ldr r0, _080F4B6C @ =gUnknown_8413874 - str r0, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xC0 - lsls r1, 6 - strh r1, [r0, 0x4] - ldrh r1, [r6, 0x8] - strh r1, [r0, 0x6] - bl LoadCompressedSpriteSheet - ldr r0, _080F4B70 @ =gUnknown_8413854 - b _080F4B8A - .align 2, 0 -_080F4B6C: .4byte gUnknown_8413874 -_080F4B70: .4byte gUnknown_8413854 -_080F4B74: - ldr r0, _080F4BEC @ =gUnknown_8413DB8 - str r0, [sp, 0x18] - add r0, sp, 0x18 - movs r1, 0xC0 - lsls r1, 6 - strh r1, [r0, 0x4] - ldrh r1, [r6, 0x8] - strh r1, [r0, 0x6] - bl LoadCompressedSpriteSheet - ldr r0, _080F4BF0 @ =gUnknown_8413D98 -_080F4B8A: - movs r1, 0xF0 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - mov r1, sp - ldr r0, _080F4BF4 @ =gUnknown_84143B8 -_080F4B98: - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} -_080F4BA0: - mov r1, sp - ldrh r0, [r6, 0x8] - strh r0, [r1] - asrs r1, r4, 16 - mov r2, r9 - adds r2, 0x26 - mov r0, sp - movs r3, 0 - bl CreateSprite - strb r0, [r6, 0x6] - ldr r3, _080F4BF8 @ =gSprites - ldrb r1, [r6, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r2, [r0, 0x5] - movs r1, 0xF - ands r1, r2 - movs r2, 0xE0 - orrs r1, r2 - strb r1, [r0, 0x5] - ldrb r1, [r6, 0x6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x43 - movs r1, 0x1 - strb r1, [r0] -_080F4BDE: - add sp, 0x20 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F4BEC: .4byte gUnknown_8413DB8 -_080F4BF0: .4byte gUnknown_8413D98 -_080F4BF4: .4byte gUnknown_84143B8 -_080F4BF8: .4byte gSprites - thumb_func_end sub_80F4930 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From d66767ed9a5eb714b98a4e4dc22728606414c39c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 25 Sep 2019 11:09:28 -0400 Subject: Documentation and cleanup --- asm/field_weather.s | 6 +++--- asm/hall_of_fame.s | 10 +++++----- asm/overworld.s | 26 +++++++++++++------------- asm/pokedex_screen.s | 2 +- asm/post_battle_event_funcs.s | 6 +++--- 5 files changed, 25 insertions(+), 25 deletions(-) (limited to 'asm') diff --git a/asm/field_weather.s b/asm/field_weather.s index ac24101a7..bdb31a434 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -1737,8 +1737,8 @@ _0807A93C: .4byte 0x000006ca _0807A940: .4byte 0x000006cb thumb_func_end fade_screen - thumb_func_start sub_807A944 -sub_807A944: @ 807A944 + thumb_func_start FieldWeather_StartFadingOutCreditsMap +FieldWeather_StartFadingOutCreditsMap: @ 807A944 push {r4-r6,lr} sub sp, 0x4 adds r6, r2, 0 @@ -1887,7 +1887,7 @@ _0807AA60: .4byte gUnknown_2037F34 _0807AA64: .4byte 0x000006c6 _0807AA68: .4byte 0x000006ca _0807AA6C: .4byte 0x000006cb - thumb_func_end sub_807A944 + thumb_func_end FieldWeather_StartFadingOutCreditsMap thumb_func_start sub_807AA70 sub_807AA70: @ 807AA70 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 19ff62664..5b28e21d5 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -138,7 +138,7 @@ _080F1EC4: bne _080F1EF0 ldr r0, _080F1EEC @ =sub_80F1DC0 bl SetMainCallback2 - movs r0, 0x8F + movs r0, 0x8F @ BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME >> 1 lsls r0, 1 bl PlayBGM movs r0, 0 @@ -1448,15 +1448,15 @@ sub_80F2934: @ 80F2934 movs r0, 0x80 lsls r0, 7 bl FlagSet - ldr r1, _080F2974 @ =gUnknown_2031DD8 + ldr r1, _080F2974 @ =gDisableMapMusicChangeOnMapLoad movs r0, 0x2 strb r0, [r1] movs r2, 0x1 negs r2, r2 movs r0, 0x6 str r0, [sp] - movs r0, 0x3 - movs r1, 0x9 + movs r0, 0x3 @ MAP_GROUP(INDIGO_PLATEAU_EXTERIOR) + movs r1, 0x9 @ MAP_NUM(INDIGO_PLATEAU_EXTERIOR) movs r3, 0xB bl Overworld_SetWarpDestination bl DoWarp @@ -1466,7 +1466,7 @@ sub_80F2934: @ 80F2934 bx r0 .align 2, 0 _080F2970: .4byte 0x00004085 -_080F2974: .4byte gUnknown_2031DD8 +_080F2974: .4byte gDisableMapMusicChangeOnMapLoad thumb_func_end sub_80F2934 thumb_func_start sub_80F2978 diff --git a/asm/overworld.s b/asm/overworld.s index b2bce4b48..811ee5c04 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -2382,14 +2382,14 @@ sub_8055DB8: @ 8055DB8 Overworld_PlaySpecialMapMusic: @ 8055DC4 push {r4,r5,lr} sub sp, 0x4 - ldr r0, _08055DD8 @ =gUnknown_2031DD8 + ldr r0, _08055DD8 @ =gDisableMapMusicChangeOnMapLoad ldrb r0, [r0] cmp r0, 0x1 bne _08055DDC bl StopMapMusic b _08055E6C .align 2, 0 -_08055DD8: .4byte gUnknown_2031DD8 +_08055DD8: .4byte gDisableMapMusicChangeOnMapLoad _08055DDC: cmp r0, 0x2 beq _08055E6C @@ -2488,14 +2488,14 @@ _08055E90: .4byte gSaveBlock1Ptr thumb_func_start sub_8055E94 sub_8055E94: @ 8055E94 push {r4-r6,lr} - ldr r0, _08055EA4 @ =gUnknown_2031DD8 + ldr r0, _08055EA4 @ =gDisableMapMusicChangeOnMapLoad ldrb r0, [r0] cmp r0, 0x1 bne _08055EA8 bl StopMapMusic b _08055F14 .align 2, 0 -_08055EA4: .4byte gUnknown_2031DD8 +_08055EA4: .4byte gDisableMapMusicChangeOnMapLoad _08055EA8: cmp r0, 0x2 beq _08055F14 @@ -2701,7 +2701,7 @@ _08056014: adds r0, 0x32 lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08056050 @ =gUnknown_2031DD8 + ldr r0, _08056050 @ =gDisableMapMusicChangeOnMapLoad ldrb r0, [r0] cmp r0, 0x1 bne _08056054 @@ -2709,7 +2709,7 @@ _08056014: b _0805606A .align 2, 0 _0805604C: .4byte gUnknown_2031DDC -_08056050: .4byte gUnknown_2031DD8 +_08056050: .4byte gDisableMapMusicChangeOnMapLoad _08056054: cmp r0, 0x2 beq _0805606A @@ -5158,8 +5158,8 @@ _0805749A: _080574A0: .4byte sub_8056534 thumb_func_end sub_8057430 - thumb_func_start sub_80574A4 -sub_80574A4: @ 80574A4 + thumb_func_start Overworld_CreditsMainCB +Overworld_CreditsMainCB: @ 80574A4 push {r4,lr} ldr r0, _080574E8 @ =gPaletteFade ldrb r0, [r0, 0x7] @@ -5187,7 +5187,7 @@ _080574E0: bx r0 .align 2, 0 _080574E8: .4byte gPaletteFade - thumb_func_end sub_80574A4 + thumb_func_end Overworld_CreditsMainCB thumb_func_start sub_80574EC sub_80574EC: @ 80574EC @@ -5209,8 +5209,8 @@ _08057506: bx r1 thumb_func_end sub_80574EC - thumb_func_start sub_805750C -sub_805750C: @ 805750C + thumb_func_start Overworld_DoScrollSceneForCredits +Overworld_DoScrollSceneForCredits: @ 805750C push {lr} ldr r3, _08057520 @ =gUnknown_2031DE4 str r1, [r3] @@ -5223,7 +5223,7 @@ sub_805750C: @ 805750C .align 2, 0 _08057520: .4byte gUnknown_2031DE4 _08057524: .4byte gUnknown_2036E28 - thumb_func_end sub_805750C + thumb_func_end Overworld_DoScrollSceneForCredits thumb_func_start sub_8057528 sub_8057528: @ 8057528 @@ -5451,7 +5451,7 @@ _08057712: ldr r2, _08057738 @ =0x3fffffff movs r0, 0 movs r1, 0 - bl sub_807A944 + bl FieldWeather_StartFadingOutCreditsMap _0805772A: ldrb r0, [r4] adds r0, 0x1 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index b9c18d201..9394675c6 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -4491,7 +4491,7 @@ sub_81049FC: @ 81049FC adds r0, r5, 0 movs r1, 0x8 movs r3, 0x1 - bl sub_810C228 + bl LoadMonPicForCredits add sp, 0x8 pop {r4-r6} pop {r0} diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s index 264ca380d..20455093a 100644 --- a/asm/post_battle_event_funcs.s +++ b/asm/post_battle_event_funcs.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_80CA2E4 -sub_80CA2E4: @ 80CA2E4 + thumb_func_start Special_HallOfFame +Special_HallOfFame: @ 80CA2E4 push {r4-r7,lr} sub sp, 0x4 bl sp000_heal_pokemon @@ -104,7 +104,7 @@ _080CA3B4: .4byte gSaveBlock2Ptr _080CA3B8: .4byte gPlayerParty _080CA3BC: .4byte 0x0000083b _080CA3C0: .4byte CB2_DoHallOfFameScreen - thumb_func_end sub_80CA2E4 + thumb_func_end Special_HallOfFame thumb_func_start sub_80CA3C4 sub_80CA3C4: @ 80CA3C4 -- cgit v1.2.3 From e0b3642edcbc7a1d713ca704686e11647fa8a6cc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 25 Sep 2019 13:41:43 -0400 Subject: Rename credits strings and document script --- asm/battle_setup.s | 4 ++-- asm/pokemon_summary_screen.s | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'asm') diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 787b0fb8e..c5b4510b7 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -2107,12 +2107,12 @@ sub_80806C8: @ 80806C8 push {lr} cmp r0, 0 bne _080806D0 - ldr r0, _080806D4 @ =gUnknown_84161CD + ldr r0, _080806D4 @ =gString_Dummy _080806D0: pop {r1} bx r1 .align 2, 0 -_080806D4: .4byte gUnknown_84161CD +_080806D4: .4byte gString_Dummy thumb_func_end sub_80806C8 thumb_func_start sub_80806D8 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index ce3a4dbc6..fad7e397a 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -3476,7 +3476,7 @@ _0813622C: ldr r0, [r6] ldr r2, _08136308 @ =0x00003084 adds r0, r2 - ldr r1, _0813630C @ =gUnknown_84161CD + ldr r1, _0813630C @ =gString_Dummy bl StringCopy _08136238: cmp r4, 0x20 @@ -3498,7 +3498,7 @@ _08136240: ldr r0, [r5] ldr r1, _08136308 @ =0x00003084 adds r0, r1 - ldr r1, _0813630C @ =gUnknown_84161CD + ldr r1, _0813630C @ =gString_Dummy bl StringCopy _08136264: ldr r6, _08136310 @ =gUnknown_203B140 @@ -3572,7 +3572,7 @@ _08136264: b _08136342 .align 2, 0 _08136308: .4byte 0x00003084 -_0813630C: .4byte gUnknown_84161CD +_0813630C: .4byte gString_Dummy _08136310: .4byte gUnknown_203B140 _08136314: .4byte 0x00003034 _08136318: .4byte gSpeciesNames -- cgit v1.2.3 From de31b97196972501f0a492547a598781e76db595 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 25 Sep 2019 13:50:16 -0400 Subject: Update name of LoadMonPicForCredits --- asm/pokedex_screen.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'asm') diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 9394675c6..1a7cd0a2e 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -4491,7 +4491,7 @@ sub_81049FC: @ 81049FC adds r0, r5, 0 movs r1, 0x8 movs r3, 0x1 - bl LoadMonPicForCredits + bl LoadMonPicInWindow add sp, 0x8 pop {r4-r6} pop {r0} -- cgit v1.2.3 From bdeea4ca2855696db8c6ca51872ec7d19783636f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 25 Sep 2019 17:16:57 -0400 Subject: field_fadetransition begin --- asm/field_fadetransition.s | 1085 -------------------------------------------- 1 file changed, 1085 deletions(-) (limited to 'asm') diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index 4b707a46a..0c248ba6c 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -5,1091 +5,6 @@ .text - thumb_func_start palette_bg_faded_fill_white -palette_bg_faded_fill_white: @ 807DB14 - push {lr} - sub sp, 0x4 - ldr r0, _0807DB2C @ =0x7fff7fff - str r0, [sp] - ldr r1, _0807DB30 @ =gPlttBufferFaded - ldr r2, _0807DB34 @ =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0807DB2C: .4byte 0x7fff7fff -_0807DB30: .4byte gPlttBufferFaded -_0807DB34: .4byte 0x01000100 - thumb_func_end palette_bg_faded_fill_white - - thumb_func_start palette_bg_faded_fill_black -palette_bg_faded_fill_black: @ 807DB38 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, _0807DB50 @ =gPlttBufferFaded - ldr r2, _0807DB54 @ =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0807DB50: .4byte gPlttBufferFaded -_0807DB54: .4byte 0x01000100 - thumb_func_end palette_bg_faded_fill_black - - thumb_func_start pal_fill_for_maplights -pal_fill_for_maplights: @ 807DB58 - push {r4,lr} - bl get_map_light_from_warp0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCurrentMapType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80C9DCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DB82 - cmp r0, 0x1 - beq _0807DB94 - b _0807DBA4 -_0807DB82: - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0 - bl fade_screen - bl palette_bg_faded_fill_black - b _0807DBA4 -_0807DB94: - bl palette_bg_faded_fill_white - movs r0, 0x2 - movs r1, 0 - bl fade_screen - bl palette_bg_faded_fill_white -_0807DBA4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pal_fill_for_maplights - - thumb_func_start sub_807DBAC -sub_807DBAC: @ 807DBAC - push {r4,lr} - bl get_map_light_from_warp0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCurrentMapType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80C9DCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DBD6 - cmp r0, 0x1 - beq _0807DBE8 - b _0807DBF8 -_0807DBD6: - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0x3 - bl fade_screen - bl palette_bg_faded_fill_black - b _0807DBF8 -_0807DBE8: - bl palette_bg_faded_fill_white - movs r0, 0x2 - movs r1, 0x3 - bl fade_screen - bl palette_bg_faded_fill_white -_0807DBF8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807DBAC - - thumb_func_start sub_807DC00 -sub_807DC00: @ 807DC00 - push {lr} - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0 - bl fade_screen - bl palette_bg_faded_fill_black - pop {r0} - bx r0 - thumb_func_end sub_807DC00 - - thumb_func_start sub_807DC18 -sub_807DC18: @ 807DC18 - push {r4,lr} - bl warp1_get_mapheader - adds r4, r0, 0 - ldr r1, _0807DC54 @ =gMapHeader - ldrb r0, [r4, 0x14] - ldrb r1, [r1, 0x14] - cmp r0, r1 - beq _0807DC36 - movs r1, 0 - bl sub_80F8110 - lsls r0, 24 - cmp r0, 0 - bne _0807DC58 -_0807DC36: - bl GetCurrentMapType - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x17] - bl sub_80C9D7C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DC58 - cmp r0, 0x1 - beq _0807DC62 - b _0807DC6A - .align 2, 0 -_0807DC54: .4byte gMapHeader -_0807DC58: - movs r0, 0x1 - movs r1, 0 - bl fade_screen - b _0807DC6A -_0807DC62: - movs r0, 0x3 - movs r1, 0 - bl fade_screen -_0807DC6A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807DC18 - - thumb_func_start sub_807DC70 -sub_807DC70: @ 807DC70 - push {r4,lr} - bl GetCurrentMapType - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl warp1_get_mapheader - ldrb r1, [r0, 0x17] - adds r0, r4, 0 - bl sub_80C9D7C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DC96 - cmp r0, 0x1 - beq _0807DCA0 - b _0807DCA8 -_0807DC96: - movs r0, 0x1 - movs r1, 0x3 - bl fade_screen - b _0807DCA8 -_0807DCA0: - movs r0, 0x3 - movs r1, 0x3 - bl fade_screen -_0807DCA8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807DC70 - - thumb_func_start sub_807DCB0 -sub_807DCB0: @ 807DCB0 - push {lr} - lsls r0, 24 - movs r1, 0 - cmp r0, 0 - bne _0807DCBC - movs r1, 0x1 -_0807DCBC: - adds r0, r1, 0 - bl sub_805CB04 - pop {r0} - bx r0 - thumb_func_end sub_807DCB0 - - thumb_func_start task0A_nop_for_a_while -task0A_nop_for_a_while: @ 807DCC8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807DCDC - adds r0, r4, 0 - bl DestroyTask -_0807DCDC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task0A_nop_for_a_while - - thumb_func_start sub_807DCE4 -sub_807DCE4: @ 807DCE4 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _0807DD00 @ =task0A_nop_for_a_while - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DD00: .4byte task0A_nop_for_a_while - thumb_func_end sub_807DCE4 - - thumb_func_start task0A_asap_script_env_2_enable_and_set_ctx_running -task0A_asap_script_env_2_enable_and_set_ctx_running: @ 807DD04 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807DD1C - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0807DD1C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task0A_asap_script_env_2_enable_and_set_ctx_running - - thumb_func_start FieldCallback_ReturnToEventScript2 -FieldCallback_ReturnToEventScript2: @ 807DD24 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _0807DD40 @ =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DD40: .4byte task0A_asap_script_env_2_enable_and_set_ctx_running - thumb_func_end FieldCallback_ReturnToEventScript2 - - thumb_func_start sub_807DD44 -sub_807DD44: @ 807DD44 - push {lr} - bl ScriptContext2_Enable - bl sub_807DC00 - ldr r0, _0807DD5C @ =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DD5C: .4byte task0A_asap_script_env_2_enable_and_set_ctx_running - thumb_func_end sub_807DD44 - - thumb_func_start task_mpl_807DD60 -task_mpl_807DD60: @ 807DD60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r2, _0807DD84 @ =gTasks - adds r4, r0, r2 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807DD9A - cmp r0, 0x1 - bgt _0807DD88 - cmp r0, 0 - beq _0807DD8E - b _0807DDCA - .align 2, 0 -_0807DD84: .4byte gTasks -_0807DD88: - cmp r0, 0x2 - beq _0807DDB8 - b _0807DDCA -_0807DD8E: - bl sub_8081150 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - b _0807DDB0 -_0807DD9A: - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807DDCA - bl pal_fill_for_maplights -_0807DDB0: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807DDCA -_0807DDB8: - bl sub_807E418 - cmp r0, 0x1 - bne _0807DDCA - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807DDCA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_mpl_807DD60 - - thumb_func_start sub_807DDD0 -sub_807DDD0: @ 807DDD0 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl palette_bg_faded_fill_black - ldr r0, _0807DDEC @ =task_mpl_807DD60 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DDEC: .4byte task_mpl_807DD60 - thumb_func_end sub_807DDD0 - - thumb_func_start sub_807DDF0 -sub_807DDF0: @ 807DDF0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807DE14 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807DE24 - cmp r0, 0x1 - bgt _0807DE18 - cmp r0, 0 - beq _0807DE1E - b _0807DE50 - .align 2, 0 -_0807DE14: .4byte gTasks -_0807DE18: - cmp r0, 0x2 - beq _0807DE3A - b _0807DE50 -_0807DE1E: - bl sub_800AB9C - b _0807DE32 -_0807DE24: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0807DE50 - bl pal_fill_for_maplights -_0807DE32: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807DE50 -_0807DE3A: - bl sub_807E418 - cmp r0, 0x1 - bne _0807DE50 - bl sub_8009FE8 - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807DE50: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807DDF0 - - thumb_func_start sub_807DE58 -sub_807DE58: @ 807DE58 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl palette_bg_faded_fill_black - ldr r0, _0807DE74 @ =sub_807DDF0 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DE74: .4byte sub_807DDF0 - thumb_func_end sub_807DE58 - - thumb_func_start sub_807DE78 -sub_807DE78: @ 807DE78 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsWarpDoor_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807DEE8 - ldr r5, _0807DED8 @ =sub_807DFBC - bl get_map_light_from_warp0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCurrentMapType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80C9DCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DEDC - cmp r0, 0x1 - beq _0807DEE2 - b _0807DF2E - .align 2, 0 -_0807DED8: .4byte sub_807DFBC -_0807DEDC: - bl palette_bg_faded_fill_black - b _0807DF2E -_0807DEE2: - bl palette_bg_faded_fill_white - b _0807DF2E -_0807DEE8: - adds r0, r5, 0 - bl sub_807DF4C - adds r0, r4, 0 - bl MetatileBehavior_IsCaveDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807DF04 - ldr r5, _0807DF00 @ =task_map_chg_seq_0807E20C - b _0807DF2E - .align 2, 0 -_0807DF00: .4byte task_map_chg_seq_0807E20C -_0807DF04: - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6C_to_6F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807DF2C - ldr r0, _0807DF20 @ =gUnknown_2031DE0 - ldrb r0, [r0] - ldr r5, _0807DF24 @ =task_map_chg_seq_0807E2CC - cmp r0, 0 - bne _0807DF2E - ldr r5, _0807DF28 @ =sub_807EC34 - b _0807DF2E - .align 2, 0 -_0807DF20: .4byte gUnknown_2031DE0 -_0807DF24: .4byte task_map_chg_seq_0807E2CC -_0807DF28: .4byte sub_807EC34 -_0807DF2C: - ldr r5, _0807DF44 @ =task_map_chg_seq_0807E2CC -_0807DF2E: - ldr r1, _0807DF48 @ =gUnknown_2031DE0 - movs r0, 0 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807DF44: .4byte task_map_chg_seq_0807E2CC -_0807DF48: .4byte gUnknown_2031DE0 - thumb_func_end sub_807DE78 - - thumb_func_start sub_807DF4C -sub_807DF4C: @ 807DF4C - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0807DF5A - bl pal_fill_for_maplights - b _0807DF5E -_0807DF5A: - bl sub_807DC00 -_0807DF5E: - pop {r0} - bx r0 - thumb_func_end sub_807DF4C - - thumb_func_start sub_807DF64 -sub_807DF64: @ 807DF64 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl sub_8111CF0 - movs r0, 0 - bl sub_807DE78 - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_807DF64 - - thumb_func_start sub_807DF7C -sub_807DF7C: @ 807DF7C - push {lr} - bl Overworld_PlaySpecialMapMusic - bl sub_8111CF0 - movs r0, 0x1 - bl sub_807DE78 - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_807DF7C - - thumb_func_start sub_807DF94 -sub_807DF94: @ 807DF94 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - movs r0, 0x28 - bl PlaySE - ldr r0, _0807DFB8 @ =sub_807E31C - movs r1, 0xA - bl CreateTask - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0807DFB8: .4byte sub_807E31C - thumb_func_end sub_807DF94 - - thumb_func_start sub_807DFBC -sub_807DFBC: @ 807DFBC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807DFF8 @ =gTasks - adds r4, r0, r1 - adds r6, r4, 0 - adds r6, 0xC - adds r7, r4, 0 - adds r7, 0xE - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r2, r1, 0 - cmp r0, 0 - bne _0807DFE2 - movs r0, 0x5 - strh r0, [r4, 0x8] -_0807DFE2: - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bls _0807DFEC - b _0807E206 -_0807DFEC: - lsls r0, 2 - ldr r1, _0807DFFC @ =_0807E000 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807DFF8: .4byte gTasks -_0807DFFC: .4byte _0807E000 - .align 2, 0 -_0807E000: - .4byte _0807E028 - .4byte _0807E160 - .4byte _0807E198 - .4byte _0807E1DC - .4byte _0807E1F8 - .4byte _0807E04C - .4byte _0807E064 - .4byte _0807E0A2 - .4byte _0807E0EC - .4byte _0807E10E -_0807E028: - movs r0, 0 - bl sub_807DCB0 - bl player_bitmagic - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r2, 0 - ldrsh r0, [r6, r2] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldSetDoorOpened - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0807E206 -_0807E04C: - movs r0, 0 - bl sub_807DCB0 - bl player_bitmagic - bl sub_807F114 - bl sub_807DBAC - movs r0, 0x6 - strh r0, [r4, 0x8] - b _0807E206 -_0807E064: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x19 - beq _0807E074 - b _0807E206 -_0807E074: - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl GetDoorSoundEffect - lsls r0, 16 - lsrs r0, 16 - bl PlaySE - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldAnimateDoorOpen - movs r0, 0x7 - strh r0, [r4, 0x8] - b _0807E206 -_0807E0A2: - bl FieldIsDoorAnimationRunning - lsls r0, 24 - cmp r0, 0 - beq _0807E0AE - b _0807E206 -_0807E0AE: - adds r0, r4, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x22 - bl PlayerGetDestCoords - movs r0, 0x1 - bl sub_807DCB0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E0E8 @ =gMapObjects - adds r0, r1 - movs r1, 0x10 - bl FieldObjectSetHeldMovement - movs r0, 0x8 - strh r0, [r4, 0x8] - b _0807E206 - .align 2, 0 -_0807E0E8: .4byte gMapObjects -_0807E0EC: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xE - beq _0807E0FC - b _0807E206 -_0807E0FC: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x22 - ldrsh r1, [r4, r2] - bl FieldAnimateDoorClose - movs r0, 0x9 - strh r0, [r4, 0x8] - b _0807E206 -_0807E10E: - bl sub_807E418 - cmp r0, 0 - beq _0807E206 - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E206 - bl FieldIsDoorAnimationRunning - lsls r0, 24 - cmp r0, 0 - bne _0807E206 - ldr r0, _0807E158 @ =sub_807F204 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0807E206 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E15C @ =gMapObjects - adds r0, r1 - bl FieldObjectClearHeldMovementIfFinished - b _0807E1F2 - .align 2, 0 -_0807E158: .4byte sub_807F204 -_0807E15C: .4byte gMapObjects -_0807E160: - bl sub_807E418 - cmp r0, 0 - beq _0807E206 - movs r0, 0x1 - bl sub_807DCB0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E194 @ =gMapObjects - adds r0, r1 - movs r1, 0x10 - bl FieldObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r4, 0x8] - b _0807E206 - .align 2, 0 -_0807E194: .4byte gMapObjects -_0807E198: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E206 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldAnimateDoorClose - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0xA] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E1D8 @ =gMapObjects - adds r0, r1 - bl FieldObjectClearHeldMovementIfFinished - movs r0, 0x3 - strh r0, [r4, 0x8] - b _0807E206 - .align 2, 0 -_0807E1D8: .4byte gMapObjects -_0807E1DC: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - blt _0807E1F2 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807E206 -_0807E1F2: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _0807E206 -_0807E1F8: - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807E206: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807DFBC - - thumb_func_start task_map_chg_seq_0807E20C -task_map_chg_seq_0807E20C: @ 807E20C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0807E238 @ =gTasks - adds r5, r0, r1 - adds r6, r5, 0 - adds r6, 0xC - adds r7, r5, 0 - adds r7, 0xE - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0807E25E - cmp r0, 0x1 - bgt _0807E23C - cmp r0, 0 - beq _0807E246 - b _0807E2C6 - .align 2, 0 -_0807E238: .4byte gTasks -_0807E23C: - cmp r0, 0x2 - beq _0807E2A8 - cmp r0, 0x3 - beq _0807E2B8 - b _0807E2C6 -_0807E246: - movs r0, 0 - bl sub_807DCB0 - bl player_bitmagic - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r0, 0x1 - strh r0, [r5, 0x8] - b _0807E2C6 -_0807E25E: - bl sub_807E418 - cmp r0, 0 - beq _0807E2C6 - movs r0, 0x1 - bl sub_807DCB0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807E2A4 @ =gMapObjects - adds r4, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl sub_8063F84 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r5, 0x8] - b _0807E2C6 - .align 2, 0 -_0807E2A4: .4byte gMapObjects -_0807E2A8: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E2C6 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _0807E2C6 -_0807E2B8: - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_0807E2C6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task_map_chg_seq_0807E20C - - thumb_func_start task_map_chg_seq_0807E2CC -task_map_chg_seq_0807E2CC: @ 807E2CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807E2EC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0807E2F0 - cmp r0, 0x1 - beq _0807E300 - b _0807E316 - .align 2, 0 -_0807E2EC: .4byte gTasks -_0807E2F0: - bl player_bitmagic - bl ScriptContext2_Enable - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E316 -_0807E300: - bl sub_807E418 - cmp r0, 0 - beq _0807E316 - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807E316: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_map_chg_seq_0807E2CC - - thumb_func_start sub_807E31C -sub_807E31C: @ 807E31C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807E33C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0807E340 - cmp r0, 0x1 - beq _0807E354 - b _0807E372 - .align 2, 0 -_0807E33C: .4byte gTasks -_0807E340: - bl player_bitmagic - bl ScriptContext2_Enable - bl sub_805DC04 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E372 -_0807E354: - bl sub_807E418 - cmp r0, 0 - beq _0807E372 - bl sub_805DC24 - cmp r0, 0x1 - beq _0807E372 - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807E372: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807E31C - - thumb_func_start sub_807E378 -sub_807E378: @ 807E378 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807E394 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _0807E39C @ =sub_806F1F0 - movs r1, 0x50 - bl CreateTask -_0807E394: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807E39C: .4byte sub_806F1F0 - thumb_func_end sub_807E378 - - thumb_func_start sub_807E3A0 -sub_807E3A0: @ 807E3A0 - push {lr} - bl sub_807DC00 - ldr r0, _0807E3B8 @ =sub_807E378 - movs r1, 0x50 - bl CreateTask - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0807E3B8: .4byte sub_807E378 - thumb_func_end sub_807E3A0 - - thumb_func_start sub_807E3BC -sub_807E3BC: @ 807E3BC - push {lr} - bl sub_806F1D4 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_807E3BC - thumb_func_start task_mpl_807E3C8 task_mpl_807E3C8: @ 807E3C8 push {r4,lr} -- cgit v1.2.3 From 3a6b6bf9e99ecdeb9c39c2a320252c1b57c2b275 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 26 Sep 2019 10:50:41 -0400 Subject: Finish field_fadetransition --- asm/field_fadetransition.s | 1306 -------------------------------------------- 1 file changed, 1306 deletions(-) delete mode 100644 asm/field_fadetransition.s (limited to 'asm') diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s deleted file mode 100644 index 0c248ba6c..000000000 --- a/asm/field_fadetransition.s +++ /dev/null @@ -1,1306 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start task_mpl_807E3C8 -task_mpl_807E3C8: @ 807E3C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807E3E4 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - bl sub_80696C0 -_0807E3E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task_mpl_807E3C8 - - thumb_func_start sub_807E3EC -sub_807E3EC: @ 807E3EC - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _0807E408 @ =task_mpl_807E3C8 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E408: .4byte task_mpl_807E3C8 - thumb_func_end sub_807E3EC - - thumb_func_start sub_807E40C -sub_807E40C: @ 807E40C - ldr r0, _0807E414 @ =gPaletteFade - ldrb r0, [r0, 0x7] - lsrs r0, 7 - bx lr - .align 2, 0 -_0807E414: .4byte gPaletteFade - thumb_func_end sub_807E40C - - thumb_func_start sub_807E418 -sub_807E418: @ 807E418 - push {lr} - bl sub_807AA70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807E432 - bl sub_80F83B0 - cmp r0, 0 - beq _0807E432 - movs r0, 0x1 - b _0807E434 -_0807E432: - movs r0, 0 -_0807E434: - pop {r1} - bx r1 - thumb_func_end sub_807E418 - - thumb_func_start DoWarp -DoWarp: @ 807E438 - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - bl sub_807DC18 - bl PlayRainStoppingSoundEffect - movs r0, 0x9 - bl PlaySE - ldr r0, _0807E464 @ =gFieldCallback - ldr r1, _0807E468 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E46C @ =sub_807E718 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E464: .4byte gFieldCallback -_0807E468: .4byte sub_807DF64 -_0807E46C: .4byte sub_807E718 - thumb_func_end DoWarp - - thumb_func_start DoDiveWarp -DoDiveWarp: @ 807E470 - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - bl sub_807DC18 - bl PlayRainStoppingSoundEffect - ldr r0, _0807E494 @ =gFieldCallback - ldr r1, _0807E498 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E49C @ =sub_807E718 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E494: .4byte gFieldCallback -_0807E498: .4byte sub_807DF64 -_0807E49C: .4byte sub_807E718 - thumb_func_end DoDiveWarp - - thumb_func_start sub_807E4A0 -sub_807E4A0: @ 807E4A0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _0807E4D4 @ =sub_807E980 - adds r0, r6, 0 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807E4D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0x26] - bl _call_via_r6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807E4D4: .4byte sub_807E980 -_0807E4D8: .4byte gTasks - thumb_func_end sub_807E4A0 - - thumb_func_start DoDoorWarp -DoDoorWarp: @ 807E4DC - push {lr} - bl ScriptContext2_Enable - ldr r0, _0807E4F4 @ =gFieldCallback - ldr r1, _0807E4F8 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E4FC @ =sub_807E80C - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E4F4: .4byte gFieldCallback -_0807E4F8: .4byte sub_807DF64 -_0807E4FC: .4byte sub_807E80C - thumb_func_end DoDoorWarp - - thumb_func_start sub_807E500 -sub_807E500: @ 807E500 - push {lr} - bl ScriptContext2_Enable - ldr r0, _0807E518 @ =sub_807E718 - movs r1, 0xA - bl CreateTask - ldr r1, _0807E51C @ =gFieldCallback - ldr r0, _0807E520 @ =sub_807DF94 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E518: .4byte sub_807E718 -_0807E51C: .4byte gFieldCallback -_0807E520: .4byte sub_807DF94 - thumb_func_end sub_807E500 - - thumb_func_start sub_807E524 -sub_807E524: @ 807E524 - push {lr} - bl ScriptContext2_Enable - ldr r0, _0807E53C @ =gFieldCallback - ldr r1, _0807E540 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E544 @ =sub_807E784 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E53C: .4byte gFieldCallback -_0807E540: .4byte sub_807DF64 -_0807E544: .4byte sub_807E784 - thumb_func_end sub_807E524 - - thumb_func_start DoFallWarp -DoFallWarp: @ 807E548 - push {lr} - bl DoDiveWarp - ldr r1, _0807E558 @ =gFieldCallback - ldr r0, _0807E55C @ =sub_8084454 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E558: .4byte gFieldCallback -_0807E55C: .4byte sub_8084454 - thumb_func_end DoFallWarp - - thumb_func_start sub_807E560 -sub_807E560: @ 807E560 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - movs r1, 0xA - bl sub_8084784 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807E560 - - thumb_func_start sub_807E57C -sub_807E57C: @ 807E57C - push {lr} - bl ScriptContext2_Enable - movs r0, 0xA - bl sub_8084F2C - pop {r0} - bx r0 - thumb_func_end sub_807E57C - - thumb_func_start sub_807E58C -sub_807E58C: @ 807E58C - push {lr} - bl ScriptContext2_Enable - movs r0, 0xA - bl sub_80853CC - pop {r0} - bx r0 - thumb_func_end sub_807E58C - - thumb_func_start sub_807E59C -sub_807E59C: @ 807E59C - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - ldr r0, _0807E5B8 @ =sub_807E784 - movs r1, 0xA - bl CreateTask - ldr r1, _0807E5BC @ =gFieldCallback - ldr r0, _0807E5C0 @ =sub_807DF94 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E5B8: .4byte sub_807E784 -_0807E5BC: .4byte gFieldCallback -_0807E5C0: .4byte sub_807DF94 - thumb_func_end sub_807E59C - - thumb_func_start sub_807E5C4 -sub_807E5C4: @ 807E5C4 - push {lr} - bl ScriptContext2_Enable - bl sub_807DC18 - ldr r0, _0807E5E0 @ =sub_807E718 - movs r1, 0xA - bl CreateTask - ldr r1, _0807E5E4 @ =gFieldCallback - ldr r0, _0807E5E8 @ =nullsub_60 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E5E0: .4byte sub_807E718 -_0807E5E4: .4byte gFieldCallback -_0807E5E8: .4byte nullsub_60 - thumb_func_end sub_807E5C4 - - thumb_func_start sub_807E5EC -sub_807E5EC: @ 807E5EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E610 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E620 - cmp r0, 0x1 - bgt _0807E614 - cmp r0, 0 - beq _0807E61A - b _0807E64A - .align 2, 0 -_0807E610: .4byte gTasks -_0807E614: - cmp r0, 0x2 - beq _0807E63A - b _0807E64A -_0807E61A: - bl ScriptContext2_Enable - b _0807E632 -_0807E620: - bl sub_807E40C - cmp r0, 0 - bne _0807E64A - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E64A -_0807E632: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E64A -_0807E63A: - bl WarpIntoMap - ldr r0, _0807E650 @ =sub_8056788 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E64A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E650: .4byte sub_8056788 - thumb_func_end sub_807E5EC - - thumb_func_start sub_807E654 -sub_807E654: @ 807E654 - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - bl sub_807DC18 - movs r0, 0x9 - bl PlaySE - ldr r0, _0807E674 @ =sub_807E5EC - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E674: .4byte sub_807E5EC - thumb_func_end sub_807E654 - - thumb_func_start sub_807E678 -sub_807E678: @ 807E678 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E69C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E6BE - cmp r0, 0x1 - bgt _0807E6A0 - cmp r0, 0 - beq _0807E6A6 - b _0807E6F4 - .align 2, 0 -_0807E69C: .4byte gTasks+0x8 -_0807E6A0: - cmp r0, 0x2 - beq _0807E6DC - b _0807E6F4 -_0807E6A6: - bl sub_800A068 - movs r0, 0x1 - movs r1, 0 - bl fade_screen - bl sub_8055F88 - movs r0, 0x9 - bl PlaySE - b _0807E6D4 -_0807E6BE: - bl sub_807E40C - cmp r0, 0 - bne _0807E6F4 - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E6F4 - bl sub_800AAC0 -_0807E6D4: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0807E6F4 -_0807E6DC: - ldr r0, _0807E6FC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807E6F4 - bl WarpIntoMap - ldr r0, _0807E700 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E6F4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E6FC: .4byte gReceivedRemoteLinkPlayers -_0807E700: .4byte CB2_LoadMap - thumb_func_end sub_807E678 - - thumb_func_start sub_807E704 -sub_807E704: @ 807E704 - push {lr} - ldr r0, _0807E714 @ =sub_807E678 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E714: .4byte sub_807E678 - thumb_func_end sub_807E704 - - thumb_func_start sub_807E718 -sub_807E718: @ 807E718 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E73C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E750 - cmp r0, 0x1 - bgt _0807E740 - cmp r0, 0 - beq _0807E746 - b _0807E77A - .align 2, 0 -_0807E73C: .4byte gTasks -_0807E740: - cmp r0, 0x2 - beq _0807E76A - b _0807E77A -_0807E746: - bl player_bitmagic - bl ScriptContext2_Enable - b _0807E762 -_0807E750: - bl sub_807E40C - cmp r0, 0 - bne _0807E77A - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E77A -_0807E762: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E77A -_0807E76A: - bl WarpIntoMap - ldr r0, _0807E780 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E77A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E780: .4byte CB2_LoadMap - thumb_func_end sub_807E718 - - thumb_func_start sub_807E784 -sub_807E784: @ 807E784 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E7A8 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E7CA - cmp r0, 0x1 - bgt _0807E7AC - cmp r0, 0 - beq _0807E7B6 - b _0807E802 - .align 2, 0 -_0807E7A8: .4byte gTasks -_0807E7AC: - cmp r0, 0x2 - beq _0807E7D8 - cmp r0, 0x3 - beq _0807E7F2 - b _0807E802 -_0807E7B6: - bl player_bitmagic - bl ScriptContext2_Enable - movs r0, 0x27 - bl PlaySE - bl sub_805DAB0 - b _0807E7EA -_0807E7CA: - bl sub_805DAD0 - cmp r0, 0 - bne _0807E802 - bl sub_807DC18 - b _0807E7EA -_0807E7D8: - bl sub_807E40C - cmp r0, 0 - bne _0807E802 - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E802 -_0807E7EA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E802 -_0807E7F2: - bl WarpIntoMap - ldr r0, _0807E808 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E802: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E808: .4byte CB2_LoadMap - thumb_func_end sub_807E784 - - thumb_func_start sub_807E80C -sub_807E80C: @ 807E80C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0807E83C @ =gTasks - adds r5, r1, r0 - adds r4, r5, 0 - adds r4, 0xC - adds r6, r5, 0 - adds r6, 0xE - movs r2, 0x8 - ldrsh r1, [r5, r2] - adds r2, r0, 0 - cmp r1, 0x5 - bls _0807E830 - b _0807E976 -_0807E830: - lsls r0, r1, 2 - ldr r1, _0807E840 @ =_0807E844 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807E83C: .4byte gTasks -_0807E840: .4byte _0807E844 - .align 2, 0 -_0807E844: - .4byte _0807E85C - .4byte _0807E898 - .4byte _0807E8F4 - .4byte _0807E940 - .4byte _0807E95C - .4byte _0807E966 -_0807E85C: - bl player_bitmagic - adds r0, r4, 0 - adds r1, r6, 0 - bl PlayerGetDestCoords - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl GetDoorSoundEffect - lsls r0, 16 - lsrs r0, 16 - bl PlaySE - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl FieldAnimateDoorOpen - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0x1 - strh r0, [r5, 0x8] - b _0807E976 -_0807E898: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _0807E8AE - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807E976 -_0807E8AE: - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, _0807E8F0 @ =gMapObjects - adds r0, r4 - bl FieldObjectClearAnimIfSpecialAnimActive - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x11 - bl FieldObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r5, 0x8] - b _0807E976 - .align 2, 0 -_0807E8F0: .4byte gMapObjects -_0807E8F4: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E976 - movs r2, 0 - ldrsh r0, [r4, r2] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl FieldAnimateDoorClose - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E93C @ =gMapObjects - adds r0, r1 - bl FieldObjectClearHeldMovementIfFinished - movs r0, 0 - bl sub_807DCB0 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _0807E976 - .align 2, 0 -_0807E93C: .4byte gMapObjects -_0807E940: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _0807E956 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807E976 -_0807E956: - movs r0, 0x4 - strh r0, [r5, 0x8] - b _0807E976 -_0807E95C: - bl sub_8055F88 - bl sub_807DC18 - b _0807E96A -_0807E966: - bl sub_8055F88 -_0807E96A: - bl PlayRainStoppingSoundEffect - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, _0807E97C @ =sub_807E718 - str r0, [r5] -_0807E976: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807E97C: .4byte sub_807E718 - thumb_func_end sub_807E80C - - thumb_func_start sub_807E980 -sub_807E980: @ 807E980 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0807E9C0 @ =gTasks+0x8 - adds r5, r0, r1 - ldr r2, _0807E9C4 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E9C8 @ =gMapObjects - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E9CC @ =gSprites - adds r7, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0807E9E8 - cmp r0, 0x1 - bgt _0807E9D0 - cmp r0, 0 - beq _0807E9DA - b _0807EA9A - .align 2, 0 -_0807E9C0: .4byte gTasks+0x8 -_0807E9C4: .4byte gPlayerAvatar -_0807E9C8: .4byte gMapObjects -_0807E9CC: .4byte gSprites -_0807E9D0: - cmp r0, 0x2 - beq _0807EA38 - cmp r0, 0x3 - beq _0807EA66 - b _0807EA9A -_0807E9DA: - bl ScriptContext2_Enable - bl player_bitmagic - bl CameraObjectReset2 - b _0807EA92 -_0807E9E8: - adds r0, r6, 0 - bl FieldObjectIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0807EA00 - adds r0, r6, 0 - bl FieldObjectClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0807EAB0 -_0807EA00: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _0807EA10 - subs r0, r1, 0x1 - strh r0, [r5, 0x1E] - b _0807EAB0 -_0807EA10: - bl sub_8055F88 - bl PlayRainStoppingSoundEffect - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r7, 0x5] - ldrh r0, [r5, 0x2] - adds r1, r5, 0x4 - adds r2, r5, 0x6 - bl sub_807EB64 - movs r0, 0x9 - bl PlaySE - b _0807EA92 -_0807EA38: - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - adds r2, r5, 0 - adds r2, 0x8 - adds r3, r5, 0 - adds r3, 0xA - adds r4, r5, 0 - adds r4, 0xC - str r4, [sp] - bl sub_807EAC4 - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _0807EAB0 - bl sub_807DC18 - b _0807EA92 -_0807EA66: - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - adds r2, r5, 0 - adds r2, 0x8 - adds r3, r5, 0 - adds r3, 0xA - adds r4, r5, 0 - adds r4, 0xC - str r4, [sp] - bl sub_807EAC4 - bl sub_807E40C - cmp r0, 0 - bne _0807EAB0 - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807EAB0 -_0807EA92: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0807EAB0 -_0807EA9A: - ldr r0, _0807EAB8 @ =gFieldCallback - ldr r1, _0807EABC @ =sub_807DF64 - str r1, [r0] - bl WarpIntoMap - ldr r0, _0807EAC0 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0807EAB0: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807EAB8: .4byte gFieldCallback -_0807EABC: .4byte sub_807DF64 -_0807EAC0: .4byte CB2_LoadMap - thumb_func_end sub_807E980 - - thumb_func_start sub_807EAC4 -sub_807EAC4: @ 807EAC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r2, 0 - adds r5, r3, 0 - ldr r6, [sp, 0x18] - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - ldr r3, _0807EB58 @ =gPlayerAvatar - ldrb r2, [r3, 0x4] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _0807EB5C @ =gSprites - adds r7, r0, r2 - ldrb r2, [r3, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0807EB60 @ =gMapObjects - adds r0, r2 - mov r8, r0 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0 - bgt _0807EB02 - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - ble _0807EB08 -_0807EB02: - ldrh r0, [r5] - adds r0, r1, r0 - strh r0, [r5] -_0807EB08: - mov r1, r12 - lsls r0, r1, 16 - asrs r0, 16 - ldrh r2, [r4] - adds r0, r2 - strh r0, [r4] - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - ldrh r0, [r4] - lsls r0, 16 - asrs r0, 21 - strh r0, [r7, 0x24] - ldrh r0, [r5] - lsls r0, 16 - asrs r0, 21 - strh r0, [r7, 0x26] - mov r1, r8 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0807EB4C - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl FieldObjectForceSetSpecialAnim -_0807EB4C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807EB58: .4byte gPlayerAvatar -_0807EB5C: .4byte gSprites -_0807EB60: .4byte gMapObjects - thumb_func_end sub_807EAC4 - - thumb_func_start sub_807EB64 -sub_807EB64: @ 807EB64 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _0807EBB4 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807EBB8 @ =gMapObjects - adds r4, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectForceSetSpecialAnim - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, r8 - bl sub_807EBBC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807EBB4: .4byte gPlayerAvatar -_0807EBB8: .4byte gMapObjects - thumb_func_end sub_807EB64 - - thumb_func_start sub_807EBBC -sub_807EBBC: @ 807EBBC - push {r4-r7,lr} - adds r5, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6C - lsls r0, 24 - cmp r0, 0 - beq _0807EBE0 - movs r0, 0x10 - strh r0, [r5] - movs r1, 0xA - negs r1, r1 - adds r0, r1, 0 - b _0807EC2A -_0807EBE0: - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6D - lsls r0, 24 - cmp r0, 0 - beq _0807EBFA - movs r1, 0x11 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r5] - adds r1, 0x7 - adds r0, r1, 0 - b _0807EC2A -_0807EBFA: - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6E - lsls r0, 24 - cmp r0, 0 - beq _0807EC0E - movs r0, 0x11 - strh r0, [r5] - movs r0, 0x3 - b _0807EC2A -_0807EC0E: - adds r0, r7, 0 - bl MetatileBehavior_IsUnknownWarp6F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807EC28 - movs r1, 0x11 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r5] - movs r0, 0x3 - b _0807EC2A -_0807EC28: - strh r0, [r5] -_0807EC2A: - strh r0, [r6] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807EBBC - - thumb_func_start sub_807EC34 -sub_807EC34: @ 807EC34 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0807EC6C @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0807EC70 - cmp r0, 0x1 - beq _0807EC92 - bl sub_807E418 - cmp r0, 0x1 - bne _0807ECB2 - bl CameraObjectReset1 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - b _0807ECB2 - .align 2, 0 -_0807EC6C: .4byte gTasks+0x8 -_0807EC70: - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl ScriptContext2_Enable - adds r0, r5, 0x2 - adds r1, r5, 0x4 - adds r2, r5, 0x6 - adds r3, r5, 0 - adds r3, 0x8 - adds r4, r5, 0 - adds r4, 0xA - str r4, [sp] - bl sub_807ECBC - b _0807ECAC -_0807EC92: - adds r0, r5, 0x2 - adds r1, r5, 0x4 - adds r2, r5, 0x6 - adds r3, r5, 0 - adds r3, 0x8 - adds r4, r5, 0 - adds r4, 0xA - str r4, [sp] - bl sub_807EDA0 - lsls r0, 24 - cmp r0, 0 - bne _0807ECB2 -_0807ECAC: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0807ECB2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807EC34 - - thumb_func_start sub_807ECBC -sub_807ECBC: @ 807ECBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - adds r5, r1, 0 - mov r9, r2 - mov r10, r3 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl MetatileBehavior_IsUnknownWarp6E - lsls r0, 24 - cmp r0, 0 - bne _0807ED06 - adds r0, r6, 0 - bl MetatileBehavior_IsUnknownWarp6C - lsls r0, 24 - cmp r0, 0 - beq _0807ED0A -_0807ED06: - movs r1, 0x3 - b _0807ED0C -_0807ED0A: - movs r1, 0x4 -_0807ED0C: - ldr r0, _0807ED94 @ =gPlayerAvatar - mov r8, r0 - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807ED98 @ =gMapObjects - adds r4, r0 - adds r0, r1, 0 - bl sub_8064270 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectForceSetSpecialAnim - adds r0, r6, 0 - adds r1, r7, 0 - adds r2, r5, 0 - bl sub_807EBBC - movs r1, 0 - ldrsh r0, [r7, r1] - lsls r0, 4 - mov r2, r9 - strh r0, [r2] - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 4 - mov r2, r10 - strh r0, [r2] - movs r1, 0x10 - ldr r0, [sp, 0x24] - strh r1, [r0] - mov r1, r8 - ldrb r0, [r1, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0807ED9C @ =gSprites - adds r1, r0 - mov r2, r9 - ldrh r0, [r2] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - mov r2, r10 - ldrh r0, [r2] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x26] - movs r1, 0 - ldrsh r0, [r7, r1] - negs r0, r0 - strh r0, [r7] - movs r2, 0 - ldrsh r0, [r5, r2] - negs r0, r0 - strh r0, [r5] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807ED94: .4byte gPlayerAvatar -_0807ED98: .4byte gMapObjects -_0807ED9C: .4byte gSprites - thumb_func_end sub_807ECBC - - thumb_func_start sub_807EDA0 -sub_807EDA0: @ 807EDA0 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, [sp, 0x14] - ldr r0, _0807EDC8 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807EDCC @ =gSprites - adds r1, r0, r1 - movs r7, 0 - ldrsh r0, [r4, r7] - cmp r0, 0 - bne _0807EDD0 - strh r0, [r1, 0x24] - strh r0, [r1, 0x26] - movs r0, 0 - b _0807EDF8 - .align 2, 0 -_0807EDC8: .4byte gPlayerAvatar -_0807EDCC: .4byte gSprites -_0807EDD0: - ldrh r0, [r5] - ldrh r5, [r2] - adds r0, r5 - strh r0, [r2] - ldrh r0, [r6] - ldrh r7, [r3] - adds r0, r7 - strh r0, [r3] - ldrh r0, [r2] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - ldrh r0, [r3] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x26] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - movs r0, 0x1 -_0807EDF8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807EDA0 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 779f48d19de47f9a1a45db9e9911c3c80e4164d9 Mon Sep 17 00:00:00 2001 From: jiangzhengwenjz Date: Sat, 28 Sep 2019 12:42:26 +0800 Subject: palette --- asm/palette.s | 2945 ---------------------------------------------------- asm/region_map.s | 2 +- asm/trainer_card.s | 4 +- 3 files changed, 3 insertions(+), 2948 deletions(-) delete mode 100644 asm/palette.s (limited to 'asm') diff --git a/asm/palette.s b/asm/palette.s deleted file mode 100644 index ed9327106..000000000 --- a/asm/palette.s +++ /dev/null @@ -1,2945 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start LoadCompressedPalette -LoadCompressedPalette: @ 80703A8 - push {r4-r6,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - ldr r6, _080703E0 @ =gUnknown_2037ACC - adds r1, r6, 0 - bl LZDecompressWram - lsls r4, 1 - ldr r1, _080703E4 @ =gPlttBufferUnfaded - adds r1, r4, r1 - lsrs r5, 17 - adds r0, r6, 0 - adds r2, r5, 0 - bl CpuSet - ldr r0, _080703E8 @ =gPlttBufferFaded - adds r4, r0 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080703E0: .4byte gUnknown_2037ACC -_080703E4: .4byte gPlttBufferUnfaded -_080703E8: .4byte gPlttBufferFaded - thumb_func_end LoadCompressedPalette - - thumb_func_start LoadPalette -LoadPalette: @ 80703EC - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 16 - lsls r5, 16 - lsrs r4, 15 - ldr r1, _0807041C @ =gPlttBufferUnfaded - adds r1, r4, r1 - lsrs r5, 17 - adds r2, r5, 0 - bl CpuSet - ldr r0, _08070420 @ =gPlttBufferFaded - adds r4, r0 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807041C: .4byte gPlttBufferUnfaded -_08070420: .4byte gPlttBufferFaded - thumb_func_end LoadPalette - - thumb_func_start FillPalette -FillPalette: @ 8070424 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r6, 16 - lsrs r6, 16 - lsls r4, 16 - lsls r5, 16 - mov r0, sp - strh r6, [r0] - lsrs r4, 15 - ldr r1, _0807046C @ =gPlttBufferUnfaded - adds r1, r4, r1 - lsrs r5, 17 - movs r0, 0x80 - lsls r0, 17 - orrs r5, r0 - mov r0, sp - adds r2, r5, 0 - bl CpuSet - mov r0, sp - adds r0, 0x2 - strh r6, [r0] - ldr r1, _08070470 @ =gPlttBufferFaded - adds r4, r1 - adds r1, r4, 0 - adds r2, r5, 0 - bl CpuSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807046C: .4byte gPlttBufferUnfaded -_08070470: .4byte gPlttBufferFaded - thumb_func_end FillPalette - - thumb_func_start TransferPlttBuffer -TransferPlttBuffer: @ 8070474 - push {r4,r5,lr} - ldr r4, _080704BC @ =gPaletteFade - ldrb r1, [r4, 0x8] - movs r5, 0x80 - adds r0, r5, 0 - ands r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _080704B6 - ldr r1, _080704C0 @ =gPlttBufferFaded - movs r2, 0xA0 - lsls r2, 19 - ldr r0, _080704C4 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _080704C8 @ =0x80000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080704CC @ =gUnknown_2037AC8 - str r3, [r0] - ldrb r1, [r4, 0x9] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - bne _080704B6 - ldrb r1, [r4, 0x7] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080704B6 - bl UpdateBlendRegisters -_080704B6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080704BC: .4byte gPaletteFade -_080704C0: .4byte gPlttBufferFaded -_080704C4: .4byte 0x040000d4 -_080704C8: .4byte 0x80000200 -_080704CC: .4byte gUnknown_2037AC8 - thumb_func_end TransferPlttBuffer - - thumb_func_start UpdatePaletteFade -UpdatePaletteFade: @ 80704D0 - push {lr} - ldr r0, _080704E0 @ =gUnknown_2037AC8 - ldr r0, [r0] - cmp r0, 0 - beq _080704E4 - movs r0, 0xFF - b _0807051C - .align 2, 0 -_080704E0: .4byte gUnknown_2037AC8 -_080704E4: - ldr r0, _080704F8 @ =gPaletteFade - ldrb r0, [r0, 0x9] - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - bne _080704FC - bl UpdateNormalPaletteFade - b _0807050A - .align 2, 0 -_080704F8: .4byte gPaletteFade -_080704FC: - cmp r1, 0x1 - bne _08070506 - bl UpdateFastPaletteFade - b _0807050A -_08070506: - bl UpdateHardwarePaletteFade -_0807050A: - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _08070520 @ =gUnknown_2037AC8 - ldr r0, _08070524 @ =gPaletteFade - ldr r0, [r0] - movs r1, 0 - orrs r0, r1 - str r0, [r2] - adds r0, r3, 0 -_0807051C: - pop {r1} - bx r1 - .align 2, 0 -_08070520: .4byte gUnknown_2037AC8 -_08070524: .4byte gPaletteFade - thumb_func_end UpdatePaletteFade - - thumb_func_start ResetPaletteFade -ResetPaletteFade: @ 8070528 - push {r4,lr} - movs r4, 0 -_0807052C: - adds r0, r4, 0 - bl ResetPaletteStruct - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0807052C - bl ResetPaletteFadeControl - pop {r4} - pop {r0} - bx r0 - thumb_func_end ResetPaletteFade - - thumb_func_start ReadPlttIntoBuffers -ReadPlttIntoBuffers: @ 8070548 - push {r4-r7,lr} - movs r0, 0xA0 - lsls r0, 19 - mov r12, r0 - movs r4, 0 - ldr r7, _0807057C @ =gPlttBufferUnfaded - ldr r6, _08070580 @ =gPlttBufferFaded - ldr r5, _08070584 @ =0x000001ff -_08070558: - lsls r1, r4, 1 - adds r3, r1, r7 - mov r0, r12 - adds r2, r1, r0 - ldrh r0, [r2] - strh r0, [r3] - adds r1, r6 - ldrh r0, [r2] - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r5 - bls _08070558 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807057C: .4byte gPlttBufferUnfaded -_08070580: .4byte gPlttBufferFaded -_08070584: .4byte 0x000001ff - thumb_func_end ReadPlttIntoBuffers - - thumb_func_start BeginNormalPaletteFade -BeginNormalPaletteFade: @ 8070588 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldr r0, [sp, 0x18] - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r12, r2 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r5, _080705B8 @ =gPaletteFade - ldrb r1, [r5, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080705BC - movs r0, 0 - b _080706B4 - .align 2, 0 -_080705B8: .4byte gPaletteFade -_080705BC: - ldrb r0, [r5, 0xA] - movs r3, 0x79 - negs r3, r3 - adds r2, r3, 0 - ands r2, r0 - movs r0, 0x10 - orrs r2, r0 - strb r2, [r5, 0xA] - lsls r0, r6, 24 - asrs r1, r0, 24 - cmp r1, 0 - bge _080705EA - lsls r0, r2, 25 - lsrs r0, 28 - negs r1, r1 - adds r0, r1 - movs r1, 0xF - ands r0, r1 - lsls r0, 3 - ands r2, r3 - orrs r2, r0 - strb r2, [r5, 0xA] - movs r6, 0 -_080705EA: - str r4, [r5] - movs r4, 0x3F - adds r1, r6, 0 - ands r1, r4 - ldrb r2, [r5, 0x4] - movs r3, 0x40 - negs r3, r3 - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x4] - ands r6, r4 - ldrb r0, [r5, 0x8] - ands r3, r0 - orrs r3, r6 - strb r3, [r5, 0x8] - movs r0, 0x1F - mov r1, r12 - ands r1, r0 - lsls r1, 6 - ldrh r2, [r5, 0x4] - ldr r0, _08070658 @ =0xfffff83f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - lsls r2, r7, 3 - ldrb r1, [r5, 0x5] - movs r0, 0x7 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - ldr r1, _0807065C @ =0x00007fff - mov r0, r8 - ands r1, r0 - ldrh r2, [r5, 0x6] - ldr r0, _08070660 @ =0xffff8000 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x6] - ldrb r0, [r5, 0x7] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r5, 0x7] - ldrb r1, [r5, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x9] - cmp r12, r7 - bcs _08070664 - movs r0, 0x41 - negs r0, r0 - ands r3, r0 - b _08070668 - .align 2, 0 -_08070658: .4byte 0xfffff83f -_0807065C: .4byte 0x00007fff -_08070660: .4byte 0xffff8000 -_08070664: - movs r0, 0x40 - orrs r3, r0 -_08070668: - strb r3, [r5, 0x8] - bl UpdatePaletteFade - ldr r4, _080706C0 @ =gPaletteFade - ldrb r1, [r4, 0x8] - lsrs r5, r1, 7 - movs r0, 0x7F - ands r0, r1 - strb r0, [r4, 0x8] - ldr r0, _080706C4 @ =gPlttBufferFaded - movs r1, 0xA0 - lsls r1, 19 - ldr r2, _080706C8 @ =0x04000100 - bl CpuSet - ldr r1, _080706CC @ =gUnknown_2037AC8 - movs r0, 0 - str r0, [r1] - ldrb r1, [r4, 0x9] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x2 - bne _080706A4 - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080706A4 - bl UpdateBlendRegisters -_080706A4: - ldr r2, _080706C0 @ =gPaletteFade - lsls r3, r5, 7 - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - orrs r0, r3 - strb r0, [r2, 0x8] - movs r0, 0x1 -_080706B4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080706C0: .4byte gPaletteFade -_080706C4: .4byte gPlttBufferFaded -_080706C8: .4byte 0x04000100 -_080706CC: .4byte gUnknown_2037AC8 - thumb_func_end BeginNormalPaletteFade - - thumb_func_start unref_sub_80A1C1C -unref_sub_80A1C1C: @ 80706D0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - mov r8, r0 - adds r4, r1, 0 - adds r6, r2, 0 - ldr r5, [sp, 0x1C] - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 16 - lsrs r5, 16 - str r3, [sp, 0x4] - bl ReadPlttIntoBuffers - lsls r4, 24 - asrs r4, 24 - str r5, [sp] - mov r0, r8 - adds r1, r4, 0 - adds r2, r6, 0 - ldr r3, [sp, 0x4] - bl BeginNormalPaletteFade - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end unref_sub_80A1C1C - - thumb_func_start unref_sub_80A1C64 -unref_sub_80A1C64: @ 8070718 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 -_08070722: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - ldr r1, _08070770 @ =gUnknown_20379F8 - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - lsls r0, 31 - cmp r0, 0 - beq _08070780 - ldr r2, [r4] - ldrb r0, [r2, 0x8] - lsls r0, 31 - lsrs r0, 31 - cmp r0, r7 - bne _08070780 - ldrh r1, [r4, 0x6] - lsls r1, 20 - lsrs r1, 25 - ldrb r0, [r2, 0xB] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - bne _0807075E - adds r0, r4, 0 - bl unused_sub_80A1F00 - ldrb r0, [r4, 0x4] - lsls r0, 31 - cmp r0, 0 - beq _08070780 -_0807075E: - ldrb r0, [r4, 0x8] - cmp r0, 0 - bne _08070774 - adds r0, r4, 0 - adds r1, r6, 0 - bl unused_sub_80A1CDC - b _08070778 - .align 2, 0 -_08070770: .4byte gUnknown_20379F8 -_08070774: - subs r0, 0x1 - strb r0, [r4, 0x8] -_08070778: - adds r0, r4, 0 - adds r1, r6, 0 - bl unused_sub_80A1E40 -_08070780: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _08070722 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_80A1C64 - - thumb_func_start unused_sub_80A1CDC -unused_sub_80A1CDC: @ 8070790 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - mov r8, r1 - movs r6, 0 - ldrh r1, [r4, 0x6] - lsls r1, 20 - lsrs r1, 25 - ldr r3, [r4] - ldrb r0, [r3, 0x9] - lsls r2, r0, 25 - lsrs r0, r2, 27 - adds r5, r1, 0 - muls r5, r0 - ldrb r1, [r3, 0x8] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0807082C - lsrs r0, r2, 27 - cmp r6, r0 - bcs _08070878 - ldr r0, _0807081C @ =gPlttBufferUnfaded - mov r12, r0 - ldr r7, _08070820 @ =gPlttBufferFaded -_080707C4: - ldr r0, [r4, 0x4] - lsls r0, 11 - lsrs r0, 22 - lsls r0, 1 - add r0, r12 - ldr r1, [r3, 0x4] - lsls r2, r5, 1 - adds r1, r2, r1 - ldrh r1, [r1] - strh r1, [r0] - ldr r0, [r4, 0x4] - lsls r0, 11 - lsrs r0, 22 - lsls r0, 1 - adds r0, r7 - ldr r1, [r4] - ldr r1, [r1, 0x4] - adds r2, r1 - ldrh r1, [r2] - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, [r4, 0x4] - lsls r1, r2, 11 - lsrs r1, 22 - adds r1, 0x1 - ldr r0, _08070824 @ =0x000003ff - ands r1, r0 - lsls r1, 11 - ldr r0, _08070828 @ =0xffe007ff - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r3, [r4] - ldrb r0, [r3, 0x9] - lsls r0, 25 - lsrs r0, 27 - cmp r6, r0 - bcc _080707C4 - b _08070878 - .align 2, 0 -_0807081C: .4byte gPlttBufferUnfaded -_08070820: .4byte gPlttBufferFaded -_08070824: .4byte 0x000003ff -_08070828: .4byte 0xffe007ff -_0807082C: - lsrs r0, r2, 27 - cmp r6, r0 - bcs _08070878 - ldr r3, _080708E4 @ =gPlttBufferFaded -_08070834: - ldr r1, [r4, 0x4] - lsls r1, 11 - lsrs r1, 22 - lsls r1, 1 - adds r1, r3 - ldr r0, [r4] - ldr r2, [r0, 0x4] - lsls r0, r5, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, [r4, 0x4] - lsls r1, r2, 11 - lsrs r1, 22 - adds r1, 0x1 - ldr r0, _080708E8 @ =0x000003ff - ands r1, r0 - lsls r1, 11 - ldr r0, _080708EC @ =0xffe007ff - ands r0, r2 - orrs r0, r1 - str r0, [r4, 0x4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r4] - ldrb r0, [r0, 0x9] - lsls r0, 25 - lsrs r0, 27 - cmp r6, r0 - bcc _08070834 -_08070878: - ldrh r0, [r4, 0x4] - lsls r0, 21 - lsrs r0, 23 - lsls r0, 11 - ldr r1, [r4, 0x4] - ldr r2, _080708EC @ =0xffe007ff - ands r1, r2 - orrs r1, r0 - str r1, [r4, 0x4] - ldr r3, [r4] - ldrb r0, [r3, 0xA] - strb r0, [r4, 0x8] - ldrh r2, [r4, 0x6] - lsls r0, r2, 20 - lsrs r0, 25 - adds r0, 0x1 - movs r1, 0x7F - ands r0, r1 - lsls r0, 5 - ldr r5, _080708F0 @ =0xfffff01f - adds r1, r5, 0 - ands r1, r2 - orrs r1, r0 - strh r1, [r4, 0x6] - lsls r1, 20 - lsrs r1, 25 - ldrb r0, [r3, 0xB] - lsls r0, 27 - lsrs r0, 27 - cmp r1, r0 - blt _080708C8 - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _080708C0 - subs r0, 0x1 - strb r0, [r4, 0x9] -_080708C0: - ldrh r1, [r4, 0x6] - adds r0, r5, 0 - ands r0, r1 - strh r0, [r4, 0x6] -_080708C8: - ldrh r0, [r4, 0x4] - lsls r0, 21 - lsrs r0, 27 - movs r1, 0x1 - lsls r1, r0 - mov r2, r8 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080708E4: .4byte gPlttBufferFaded -_080708E8: .4byte 0x000003ff -_080708EC: .4byte 0xffe007ff -_080708F0: .4byte 0xfffff01f - thumb_func_end unused_sub_80A1CDC - - thumb_func_start unused_sub_80A1E40 -unused_sub_80A1E40: @ 80708F4 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r3, _0807094C @ =gPaletteFade - ldrb r1, [r3, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080709A8 - ldrh r0, [r4, 0x4] - lsls r0, 21 - lsrs r6, r0, 23 - asrs r1, r6, 4 - movs r5, 0x1 - adds r0, r5, 0 - lsls r0, r1 - ldr r1, [r3] - ands r0, r1 - cmp r0, 0 - beq _080709A8 - ldr r2, [r4] - ldrb r1, [r2, 0x8] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08070950 - ldrb r1, [r3, 0x4] - lsls r1, 26 - ldrb r0, [r3, 0x8] - lsls r0, 26 - cmp r1, r0 - beq _080709A8 - adds r0, r6, 0 - ldrb r1, [r2, 0x9] - lsls r1, 25 - lsrs r1, 27 - ldrh r2, [r3, 0x4] - lsls r2, 21 - lsrs r2, 27 - ldrh r3, [r3, 0x6] - lsls r3, 17 - lsrs r3, 17 - bl BlendPalette - b _080709A8 - .align 2, 0 -_0807094C: .4byte gPaletteFade -_08070950: - ldrb r1, [r3, 0x4] - movs r0, 0x3F - ands r0, r1 - cmp r0, 0 - bne _080709A8 - ldrb r0, [r4, 0x8] - ldrb r1, [r2, 0xA] - cmp r0, r1 - beq _080709A8 - ldrh r0, [r4, 0x6] - lsls r0, 20 - lsrs r0, 25 - ldrb r1, [r2, 0x9] - lsls r1, 25 - lsrs r2, r1, 27 - adds r5, r0, 0 - muls r5, r2 - movs r3, 0 - adds r1, r2, 0 - cmp r3, r1 - bcs _080709A8 - ldr r6, _080709B0 @ =gPlttBufferFaded -_0807097C: - ldrh r1, [r4, 0x4] - lsls r1, 21 - lsrs r1, 23 - adds r1, r3 - lsls r1, 1 - adds r1, r6 - ldr r2, [r4] - adds r0, r5, r3 - ldr r2, [r2, 0x4] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, [r4] - ldrb r0, [r0, 0x9] - lsls r0, 25 - lsrs r0, 27 - cmp r3, r0 - bcc _0807097C -_080709A8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080709B0: .4byte gPlttBufferFaded - thumb_func_end unused_sub_80A1E40 - - thumb_func_start unused_sub_80A1F00 -unused_sub_80A1F00: @ 80709B4 - push {lr} - adds r3, r0, 0 - ldrb r0, [r3, 0x9] - cmp r0, 0 - bne _08070A04 - ldr r2, [r3] - ldrb r0, [r2, 0xB] - lsrs r0, 5 - cmp r0, 0 - bne _080709F4 - ldrh r1, [r3, 0x6] - ldr r0, _080709EC @ =0xfffff01f - ands r0, r1 - strh r0, [r3, 0x6] - ldrb r0, [r2, 0xA] - strb r0, [r3, 0x8] - ldrb r0, [r2, 0xC] - strb r0, [r3, 0x9] - ldrh r0, [r3, 0x4] - lsls r0, 21 - lsrs r0, 23 - lsls r0, 11 - ldr r1, [r3, 0x4] - ldr r2, _080709F0 @ =0xffe007ff - ands r1, r2 - orrs r1, r0 - str r1, [r3, 0x4] - b _08070A08 - .align 2, 0 -_080709EC: .4byte 0xfffff01f -_080709F0: .4byte 0xffe007ff -_080709F4: - cmp r0, 0 - blt _08070A08 - cmp r0, 0x2 - bgt _08070A08 - ldrh r0, [r2] - bl ResetPaletteStructByUid - b _08070A08 -_08070A04: - subs r0, 0x1 - strb r0, [r3, 0x9] -_08070A08: - pop {r0} - bx r0 - thumb_func_end unused_sub_80A1F00 - - thumb_func_start ResetPaletteStructByUid -ResetPaletteStructByUid: @ 8070A0C - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetPaletteNumByUid - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _08070A22 - bl ResetPaletteStruct -_08070A22: - pop {r0} - bx r0 - thumb_func_end ResetPaletteStructByUid - - thumb_func_start ResetPaletteStruct -ResetPaletteStruct: @ 8070A28 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08070A70 @ =gUnknown_20379F8 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, _08070A74 @ =gUnknown_83AC960 - str r0, [r1] - ldrb r2, [r1, 0x4] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x4] - ldrh r2, [r1, 0x4] - ldr r0, _08070A78 @ =0xfffff803 - ands r0, r2 - strh r0, [r1, 0x4] - ldr r0, [r1, 0x4] - ldr r2, _08070A7C @ =0xffe007ff - ands r0, r2 - str r0, [r1, 0x4] - ldrh r2, [r1, 0x6] - ldr r0, _08070A80 @ =0xfffff01f - ands r0, r2 - strh r0, [r1, 0x6] - ldrb r2, [r1, 0x4] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x4] - movs r0, 0 - strb r0, [r1, 0x8] - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08070A70: .4byte gUnknown_20379F8 -_08070A74: .4byte gUnknown_83AC960 -_08070A78: .4byte 0xfffff803 -_08070A7C: .4byte 0xffe007ff -_08070A80: .4byte 0xfffff01f - thumb_func_end ResetPaletteStruct - - thumb_func_start ResetPaletteFadeControl -ResetPaletteFadeControl: @ 8070A84 - ldr r2, _08070AEC @ =gPaletteFade - movs r0, 0 - str r0, [r2] - subs r0, 0x40 - ldrb r1, [r2, 0x4] - ands r0, r1 - strb r0, [r2, 0x4] - ldrh r1, [r2, 0x4] - ldr r0, _08070AF0 @ =0xfffff83f - ands r0, r1 - strh r0, [r2, 0x4] - ldrb r1, [r2, 0x5] - movs r0, 0x7 - ands r0, r1 - strb r0, [r2, 0x5] - ldrh r1, [r2, 0x6] - ldr r0, _08070AF4 @ =0xffff8000 - ands r0, r1 - strh r0, [r2, 0x6] - ldrb r1, [r2, 0x7] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x7] - movs r0, 0 - strb r0, [r2, 0x8] - ldrb r1, [r2, 0x9] - movs r3, 0x5 - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x9 - negs r1, r1 - ands r0, r1 - strb r0, [r2, 0x9] - ldrb r1, [r2, 0xA] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0xA] - ldr r0, [r2, 0x8] - ldr r1, _08070AF8 @ =0xfffe0fff - ands r0, r1 - str r0, [r2, 0x8] - ldrb r0, [r2, 0xA] - ands r3, r0 - movs r0, 0x79 - negs r0, r0 - ands r3, r0 - movs r0, 0x10 - orrs r3, r0 - strb r3, [r2, 0xA] - bx lr - .align 2, 0 -_08070AEC: .4byte gPaletteFade -_08070AF0: .4byte 0xfffff83f -_08070AF4: .4byte 0xffff8000 -_08070AF8: .4byte 0xfffe0fff - thumb_func_end ResetPaletteFadeControl - - thumb_func_start unref_sub_80A2048 -unref_sub_80A2048: @ 8070AFC - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetPaletteNumByUid - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _08070B20 - ldr r1, _08070B24 @ =gUnknown_20379F8 - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x4] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x4] -_08070B20: - pop {r0} - bx r0 - .align 2, 0 -_08070B24: .4byte gUnknown_20379F8 - thumb_func_end unref_sub_80A2048 - - thumb_func_start unref_sub_80A2074 -unref_sub_80A2074: @ 8070B28 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl GetPaletteNumByUid - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x10 - beq _08070B4E - ldr r0, _08070B54 @ =gUnknown_20379F8 - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x4] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x4] -_08070B4E: - pop {r0} - bx r0 - .align 2, 0 -_08070B54: .4byte gUnknown_20379F8 - thumb_func_end unref_sub_80A2074 - - thumb_func_start GetPaletteNumByUid -GetPaletteNumByUid: @ 8070B58 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldr r3, _08070B78 @ =gUnknown_20379F8 -_08070B62: - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, r2 - bne _08070B7C - adds r0, r1, 0 - b _08070B88 - .align 2, 0 -_08070B78: .4byte gUnknown_20379F8 -_08070B7C: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _08070B62 - movs r0, 0x10 -_08070B88: - pop {r1} - bx r1 - thumb_func_end GetPaletteNumByUid - - thumb_func_start UpdateNormalPaletteFade -UpdateNormalPaletteFade: @ 8070B8C - push {r4-r7,lr} - ldr r4, _08070BA0 @ =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08070BA4 - movs r0, 0 - b _08070CC0 - .align 2, 0 -_08070BA0: .4byte gPaletteFade -_08070BA4: - bl IsSoftwarePaletteFadeFinishing - lsls r0, 24 - cmp r0, 0 - beq _08070BB2 - ldrb r0, [r4, 0x7] - b _08070CBE -_08070BB2: - ldrb r1, [r4, 0xA] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08070BE6 - ldrb r2, [r4, 0x4] - lsls r1, r2, 26 - ldrb r0, [r4, 0x8] - lsls r0, 26 - cmp r1, r0 - bcs _08070BDE - lsrs r0, r1, 26 - adds r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x4] - movs r0, 0x2 - b _08070CC0 -_08070BDE: - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - strb r0, [r4, 0x4] -_08070BE6: - movs r5, 0 - ldr r2, _08070BFC @ =gPaletteFade - ldrb r1, [r2, 0xA] - movs r0, 0x4 - ands r0, r1 - adds r7, r2, 0 - cmp r0, 0 - bne _08070C00 - ldrh r4, [r7] - b _08070C06 - .align 2, 0 -_08070BFC: .4byte gPaletteFade -_08070C00: - ldrh r4, [r7, 0x2] - movs r5, 0x80 - lsls r5, 1 -_08070C06: - cmp r4, 0 - beq _08070C38 - ldr r7, _08070C74 @ =gPaletteFade - adds r6, r7, 0 -_08070C0E: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08070C2A - ldrh r2, [r6, 0x4] - lsls r2, 21 - lsrs r2, 27 - ldrh r3, [r6, 0x6] - lsls r3, 17 - lsrs r3, 17 - adds r0, r5, 0 - movs r1, 0x10 - bl BlendPalette -_08070C2A: - lsrs r4, 1 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0 - bne _08070C0E -_08070C38: - ldrb r2, [r7, 0xA] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r4, 0x5 - negs r4, r4 - ands r4, r2 - orrs r4, r1 - strb r4, [r7, 0xA] - movs r0, 0x4 - ands r0, r4 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _08070CBC - ldrh r6, [r7, 0x4] - lsls r2, r6, 21 - ldrb r0, [r7, 0x5] - lsls r5, r0, 24 - lsrs r1, r2, 27 - lsrs r0, r5, 27 - cmp r1, r0 - bne _08070C78 - str r3, [r7] - movs r0, 0x2 - orrs r4, r0 - strb r4, [r7, 0xA] - b _08070CBC - .align 2, 0 -_08070C74: .4byte gPaletteFade -_08070C78: - ldrb r1, [r7, 0x8] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _08070C94 - lsrs r3, r2, 27 - lsls r0, r4, 25 - lsrs r0, 28 - adds r3, r0, r3 - lsrs r0, r5, 27 - cmp r3, r0 - ble _08070CAA - adds r3, r0, 0 - b _08070CAA -_08070C94: - lsrs r3, r2, 27 - lsls r0, r4, 25 - lsrs r0, 28 - subs r0, r3, r0 - lsls r0, 24 - lsrs r3, r0, 24 - asrs r0, 24 - lsrs r1, r5, 27 - cmp r0, r1 - bge _08070CAA - adds r3, r1, 0 -_08070CAA: - lsls r0, r3, 24 - asrs r0, 24 - movs r1, 0x1F - ands r0, r1 - lsls r0, 6 - ldr r1, _08070CC8 @ =0xfffff83f - ands r1, r6 - orrs r1, r0 - strh r1, [r7, 0x4] -_08070CBC: - ldrb r0, [r7, 0x7] -_08070CBE: - lsrs r0, 7 -_08070CC0: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08070CC8: .4byte 0xfffff83f - thumb_func_end UpdateNormalPaletteFade - - thumb_func_start InvertPlttBuffer -InvertPlttBuffer: @ 8070CCC - push {r4-r7,lr} - adds r1, r0, 0 - movs r3, 0 - cmp r1, 0 - beq _08070D0A - ldr r7, _08070D10 @ =gPlttBufferFaded -_08070CD8: - movs r0, 0x1 - ands r0, r1 - lsrs r4, r1, 1 - adds r5, r3, 0 - adds r5, 0x10 - cmp r0, 0 - beq _08070D00 - movs r2, 0 - adds r6, r7, 0 -_08070CEA: - adds r0, r3, r2 - lsls r0, 1 - adds r0, r6 - ldrh r1, [r0] - mvns r1, r1 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08070CEA -_08070D00: - adds r1, r4, 0 - lsls r0, r5, 16 - lsrs r3, r0, 16 - cmp r1, 0 - bne _08070CD8 -_08070D0A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070D10: .4byte gPlttBufferFaded - thumb_func_end InvertPlttBuffer - - thumb_func_start TintPlttBuffer -TintPlttBuffer: @ 8070D14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x4] - movs r0, 0 - mov r9, r0 - cmp r4, 0 - beq _08070DD0 - lsls r1, 24 - str r1, [sp, 0x8] -_08070D3E: - movs r0, 0x1 - ands r0, r4 - lsrs r4, 1 - str r4, [sp, 0xC] - movs r1, 0x10 - add r1, r9 - mov r10, r1 - cmp r0, 0 - beq _08070DC2 - movs r4, 0 - ldr r2, _08070DE0 @ =gPlttBufferFaded - mov r8, r2 - ldr r1, [sp] - lsls r0, r1, 24 - ldr r2, [sp, 0x4] - lsls r1, r2, 24 - ldr r2, [sp, 0x8] - asrs r2, 24 - mov r12, r2 - movs r5, 0x1F - asrs r7, r0, 24 - asrs r6, r1, 24 -_08070D6A: - mov r0, r9 - adds r2, r0, r4 - lsls r2, 1 - add r2, r8 - ldr r1, [r2] - lsls r1, 27 - lsrs r1, 27 - add r1, r12 - ands r1, r5 - ldrb r3, [r2] - movs r0, 0x20 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r2] - lsls r1, 22 - lsrs r1, 27 - adds r1, r7 - movs r0, 0x1F - ands r1, r0 - lsls r1, 5 - ldrh r3, [r2] - ldr r0, _08070DE4 @ =0xfffffc1f - ands r0, r3 - orrs r0, r1 - strh r0, [r2] - ldr r1, [r2] - lsls r1, 17 - lsrs r1, 27 - adds r1, r6 - ands r1, r5 - lsls r1, 2 - ldrb r3, [r2, 0x1] - movs r0, 0x7D - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08070D6A -_08070DC2: - ldr r4, [sp, 0xC] - mov r1, r10 - lsls r0, r1, 16 - lsrs r0, 16 - mov r9, r0 - cmp r4, 0 - bne _08070D3E -_08070DD0: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070DE0: .4byte gPlttBufferFaded -_08070DE4: .4byte 0xfffffc1f - thumb_func_end TintPlttBuffer - - thumb_func_start UnfadePlttBuffer -UnfadePlttBuffer: @ 8070DE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r1, r0, 0 - movs r3, 0 - cmp r1, 0 - beq _08070E32 - ldr r0, _08070E3C @ =gPlttBufferFaded - mov r8, r0 - ldr r0, _08070E40 @ =gPlttBufferUnfaded - mov r12, r0 -_08070DFE: - movs r0, 0x1 - ands r0, r1 - lsrs r4, r1, 1 - adds r5, r3, 0 - adds r5, 0x10 - cmp r0, 0 - beq _08070E28 - movs r2, 0 - mov r7, r8 - mov r6, r12 -_08070E12: - adds r0, r3, r2 - lsls r0, 1 - adds r1, r0, r7 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _08070E12 -_08070E28: - adds r1, r4, 0 - lsls r0, r5, 16 - lsrs r3, r0, 16 - cmp r1, 0 - bne _08070DFE -_08070E32: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08070E3C: .4byte gPlttBufferFaded -_08070E40: .4byte gPlttBufferUnfaded - thumb_func_end UnfadePlttBuffer - - thumb_func_start BeginFastPaletteFade -BeginFastPaletteFade: @ 8070E44 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08070E64 @ =gPaletteFade - ldrb r2, [r3, 0xA] - movs r1, 0x79 - negs r1, r1 - ands r1, r2 - movs r2, 0x10 - orrs r1, r2 - strb r1, [r3, 0xA] - bl BeginFastPaletteFadeInternal - pop {r0} - bx r0 - .align 2, 0 -_08070E64: .4byte gPaletteFade - thumb_func_end BeginFastPaletteFade - - thumb_func_start BeginFastPaletteFadeInternal -BeginFastPaletteFadeInternal: @ 8070E68 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - ldr r2, _08070EDC @ =gPaletteFade - ldrh r0, [r2, 0x4] - movs r3, 0xF8 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2, 0x4] - movs r1, 0x3F - ands r1, r4 - ldrb r3, [r2, 0x8] - movs r0, 0x40 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x8] - ldrb r0, [r2, 0x7] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x7] - ldrb r1, [r2, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] - cmp r4, 0x2 - bne _08070EBA - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _08070EE0 @ =gPlttBufferFaded - ldr r2, _08070EE4 @ =0x01000200 - mov r0, sp - bl CpuSet -_08070EBA: - cmp r4, 0 - bne _08070ED0 - mov r0, sp - adds r0, 0x2 - ldr r2, _08070EE8 @ =0x00007fff - adds r1, r2, 0 - strh r1, [r0] - ldr r1, _08070EE0 @ =gPlttBufferFaded - ldr r2, _08070EE4 @ =0x01000200 - bl CpuSet -_08070ED0: - bl UpdatePaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08070EDC: .4byte gPaletteFade -_08070EE0: .4byte gPlttBufferFaded -_08070EE4: .4byte 0x01000200 -_08070EE8: .4byte 0x00007fff - thumb_func_end BeginFastPaletteFadeInternal - - thumb_func_start UpdateFastPaletteFade -UpdateFastPaletteFade: @ 8070EEC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r4, _08070F08 @ =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08070F0C - movs r0, 0 - b _08071246 - .align 2, 0 -_08070F08: .4byte gPaletteFade -_08070F0C: - bl IsSoftwarePaletteFadeFinishing - lsls r0, 24 - cmp r0, 0 - beq _08070F1A - ldrb r0, [r4, 0x7] - b _08071244 -_08070F1A: - ldrb r1, [r4, 0xA] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08070F30 - movs r2, 0x80 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 2 - mov r10, r0 - b _08070F38 -_08070F30: - movs r2, 0 - movs r1, 0x80 - lsls r1, 1 - mov r10, r1 -_08070F38: - ldr r1, _08070F50 @ =gPaletteFade - ldrb r0, [r1, 0x8] - lsls r0, 26 - lsrs r0, 26 - cmp r0, 0x1 - beq _08070FF8 - cmp r0, 0x1 - bgt _08070F54 - cmp r0, 0 - beq _08070F62 - b _08071148 - .align 2, 0 -_08070F50: .4byte gPaletteFade -_08070F54: - cmp r0, 0x2 - bne _08070F5A - b _0807105C -_08070F5A: - cmp r0, 0x3 - bne _08070F60 - b _080710E4 -_08070F60: - b _08071148 -_08070F62: - adds r7, r2, 0 - cmp r7, r10 - bcc _08070F6A - b _08071148 -_08070F6A: - lsls r2, r7, 1 - ldr r0, _08070FF0 @ =gPlttBufferUnfaded - adds r0, r2, r0 - ldr r1, [r0] - lsls r3, r1, 27 - lsls r0, r1, 22 - lsrs r0, 27 - mov r12, r0 - lsls r1, 17 - lsrs r1, 27 - mov r8, r1 - ldr r0, _08070FF4 @ =gPlttBufferFaded - adds r2, r0 - mov r9, r2 - ldr r1, [r2] - lsls r2, r1, 27 - lsrs r2, 3 - movs r4, 0xFE - lsls r4, 24 - adds r2, r4 - lsls r0, r1, 22 - lsrs r0, 27 - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 17 - lsrs r1, 27 - subs r1, 0x2 - lsls r1, 24 - lsrs r4, r1, 24 - lsrs r6, r2, 24 - asrs r2, 24 - lsrs r3, 3 - asrs r0, r3, 24 - cmp r2, r0 - bge _08070FB4 - lsrs r6, r3, 24 -_08070FB4: - lsls r0, r5, 24 - asrs r0, 24 - mov r2, r12 - lsls r1, r2, 24 - cmp r0, r12 - bge _08070FC2 - lsrs r5, r1, 24 -_08070FC2: - lsls r0, r4, 24 - asrs r0, 24 - mov r3, r8 - lsls r1, r3, 24 - cmp r0, r8 - bge _08070FD0 - lsrs r4, r1, 24 -_08070FD0: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - mov r4, r9 - strh r1, [r4] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _08070F6A - b _08071148 - .align 2, 0 -_08070FF0: .4byte gPlttBufferUnfaded -_08070FF4: .4byte gPlttBufferFaded -_08070FF8: - adds r7, r2, 0 - cmp r7, r10 - bcc _08071000 - b _08071148 -_08071000: - lsls r1, r7, 1 - ldr r0, _08071058 @ =gPlttBufferFaded - adds r2, r1, r0 - ldr r1, [r2] - lsls r0, r1, 27 - lsrs r0, 3 - movs r3, 0x80 - lsls r3, 18 - adds r0, r3 - lsrs r6, r0, 24 - lsls r0, r1, 22 - lsrs r0, 27 - adds r5, r0, 0x2 - lsls r1, 17 - lsrs r1, 27 - adds r4, r1, 0x2 - cmp r6, 0x1F - ble _08071026 - movs r6, 0x1F -_08071026: - lsls r0, r5, 24 - asrs r0, 24 - cmp r0, 0x1F - ble _08071030 - movs r5, 0x1F -_08071030: - lsls r0, r4, 24 - asrs r0, 24 - cmp r0, 0x1F - ble _0807103A - movs r4, 0x1F -_0807103A: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - strh r1, [r2] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _08071000 - b _08071148 - .align 2, 0 -_08071058: .4byte gPlttBufferFaded -_0807105C: - adds r7, r2, 0 - cmp r7, r10 - bcs _08071148 -_08071062: - lsls r2, r7, 1 - ldr r0, _080710DC @ =gPlttBufferUnfaded - adds r0, r2, r0 - ldr r1, [r0] - lsls r3, r1, 27 - lsls r0, r1, 22 - lsrs r0, 27 - mov r12, r0 - lsls r1, 17 - lsrs r1, 27 - mov r8, r1 - ldr r0, _080710E0 @ =gPlttBufferFaded - adds r2, r0 - ldr r1, [r2] - lsls r0, r1, 27 - lsrs r0, 3 - movs r4, 0x80 - lsls r4, 18 - adds r0, r4 - lsrs r6, r0, 24 - lsls r0, r1, 22 - lsrs r0, 27 - adds r5, r0, 0x2 - lsls r1, 17 - lsrs r1, 27 - adds r4, r1, 0x2 - lsrs r3, 3 - asrs r0, r3, 24 - cmp r6, r0 - ble _080710A0 - lsrs r6, r3, 24 -_080710A0: - lsls r0, r5, 24 - asrs r0, 24 - mov r3, r12 - lsls r1, r3, 24 - cmp r0, r12 - ble _080710AE - lsrs r5, r1, 24 -_080710AE: - lsls r0, r4, 24 - asrs r0, 24 - mov r3, r8 - lsls r1, r3, 24 - cmp r0, r8 - ble _080710BC - lsrs r4, r1, 24 -_080710BC: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - strh r1, [r2] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _08071062 - b _08071148 - .align 2, 0 -_080710DC: .4byte gPlttBufferUnfaded -_080710E0: .4byte gPlttBufferFaded -_080710E4: - adds r7, r2, 0 - cmp r7, r10 - bcs _08071148 - ldr r4, _08071170 @ =gPlttBufferFaded - mov r8, r4 -_080710EE: - lsls r0, r7, 1 - mov r1, r8 - adds r3, r0, r1 - ldr r1, [r3] - lsls r2, r1, 27 - lsrs r2, 3 - movs r4, 0xFE - lsls r4, 24 - adds r2, r4 - lsls r0, r1, 22 - lsrs r0, 27 - subs r0, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 17 - lsrs r1, 27 - subs r1, 0x2 - lsls r1, 24 - lsrs r4, r1, 24 - lsrs r6, r2, 24 - cmp r2, 0 - bge _0807111C - movs r6, 0 -_0807111C: - lsls r0, r5, 24 - cmp r0, 0 - bge _08071124 - movs r5, 0 -_08071124: - lsls r0, r4, 24 - cmp r0, 0 - bge _0807112C - movs r4, 0 -_0807112C: - lsls r1, r6, 24 - asrs r1, 24 - lsls r0, r5, 24 - asrs r0, 19 - orrs r1, r0 - lsls r0, r4, 24 - asrs r0, 14 - orrs r1, r0 - strh r1, [r3] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, r10 - bcc _080710EE -_08071148: - ldr r0, _08071174 @ =gPaletteFade - ldrb r2, [r0, 0xA] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r3, 0x5 - negs r3, r3 - ands r3, r2 - orrs r3, r1 - ldr r1, _08071174 @ =gPaletteFade - strb r3, [r1, 0xA] - movs r0, 0x4 - ands r0, r3 - cmp r0, 0 - beq _08071178 - ldrb r0, [r1, 0x7] - b _08071244 - .align 2, 0 -_08071170: .4byte gPlttBufferFaded -_08071174: .4byte gPaletteFade -_08071178: - ldr r2, _08071194 @ =gPaletteFade - ldrh r4, [r2, 0x4] - lsls r5, r4, 21 - lsrs r0, r5, 27 - lsls r2, r3, 25 - lsrs r1, r2, 28 - subs r0, r1 - cmp r0, 0 - bge _0807119C - ldr r0, _08071198 @ =0xfffff83f - ands r0, r4 - ldr r3, _08071194 @ =gPaletteFade - strh r0, [r3, 0x4] - b _080711B2 - .align 2, 0 -_08071194: .4byte gPaletteFade -_08071198: .4byte 0xfffff83f -_0807119C: - lsrs r1, r5, 27 - lsrs r0, r2, 28 - subs r1, r0 - movs r0, 0x1F - ands r1, r0 - lsls r1, 6 - ldr r0, _080711D8 @ =0xfffff83f - ands r0, r4 - orrs r0, r1 - ldr r4, _080711DC @ =gPaletteFade - strh r0, [r4, 0x4] -_080711B2: - ldr r1, _080711DC @ =gPaletteFade - ldrh r0, [r1, 0x4] - movs r1, 0xF8 - lsls r1, 3 - ands r1, r0 - cmp r1, 0 - bne _08071240 - ldr r2, _080711DC @ =gPaletteFade - ldrb r0, [r2, 0x8] - lsls r0, 26 - lsrs r0, 26 - cmp r0, 0x1 - beq _08071204 - cmp r0, 0x1 - bgt _080711E0 - cmp r0, 0 - beq _080711EA - b _0807122C - .align 2, 0 -_080711D8: .4byte 0xfffff83f -_080711DC: .4byte gPaletteFade -_080711E0: - cmp r0, 0x2 - beq _080711EA - cmp r0, 0x3 - beq _08071220 - b _0807122C -_080711EA: - ldr r0, _080711F8 @ =gPlttBufferUnfaded - ldr r1, _080711FC @ =gPlttBufferFaded - ldr r2, _08071200 @ =0x04000100 - bl CpuSet - b _0807122C - .align 2, 0 -_080711F8: .4byte gPlttBufferUnfaded -_080711FC: .4byte gPlttBufferFaded -_08071200: .4byte 0x04000100 -_08071204: - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - ldr r1, _08071218 @ =gPlttBufferFaded - ldr r2, _0807121C @ =0x05000100 - mov r0, sp - bl CpuSet - b _0807122C - .align 2, 0 -_08071218: .4byte gPlttBufferFaded -_0807121C: .4byte 0x05000100 -_08071220: - str r1, [sp, 0x4] - add r0, sp, 0x4 - ldr r1, _08071258 @ =gPlttBufferFaded - ldr r2, _0807125C @ =0x05000100 - bl CpuSet -_0807122C: - ldr r2, _08071260 @ =gPaletteFade - ldrb r1, [r2, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x9] - ldrb r0, [r2, 0xA] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0xA] -_08071240: - ldr r3, _08071260 @ =gPaletteFade - ldrb r0, [r3, 0x7] -_08071244: - lsrs r0, 7 -_08071246: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08071258: .4byte gPlttBufferFaded -_0807125C: .4byte 0x05000100 -_08071260: .4byte gPaletteFade - thumb_func_end UpdateFastPaletteFade - - thumb_func_start BeginHardwarePaletteFade -BeginHardwarePaletteFade: @ 8071264 - push {r4-r7,lr} - ldr r5, [sp, 0x14] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r7, _080712EC @ =gPaletteFade - str r0, [r7] - movs r0, 0x3F - ands r1, r0 - ldrb r4, [r7, 0x4] - movs r6, 0x40 - negs r6, r6 - adds r0, r6, 0 - ands r0, r4 - orrs r0, r1 - strb r0, [r7, 0x4] - ldrb r0, [r7, 0x8] - ands r6, r0 - orrs r6, r1 - strb r6, [r7, 0x8] - movs r0, 0x1F - adds r1, r2, 0 - ands r1, r0 - lsls r1, 6 - ldrh r4, [r7, 0x4] - ldr r0, _080712F0 @ =0xfffff83f - ands r0, r4 - orrs r0, r1 - strh r0, [r7, 0x4] - lsls r4, r3, 3 - ldrb r1, [r7, 0x5] - movs r0, 0x7 - ands r0, r1 - orrs r0, r4 - strb r0, [r7, 0x5] - ldrb r0, [r7, 0x7] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r7, 0x7] - ldrb r1, [r7, 0x9] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - movs r1, 0x1 - ands r5, r1 - lsls r5, 2 - subs r1, 0x6 - ands r0, r1 - orrs r0, r5 - subs r1, 0x4 - ands r0, r1 - strb r0, [r7, 0x9] - cmp r2, r3 - bcs _080712F4 - movs r0, 0x41 - negs r0, r0 - ands r6, r0 - b _080712F8 - .align 2, 0 -_080712EC: .4byte gPaletteFade -_080712F0: .4byte 0xfffff83f -_080712F4: - movs r0, 0x40 - orrs r6, r0 -_080712F8: - strb r6, [r7, 0x8] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BeginHardwarePaletteFade - - thumb_func_start UpdateHardwarePaletteFade -UpdateHardwarePaletteFade: @ 8071300 - push {r4-r7,lr} - ldr r2, _08071314 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - bne _08071318 - movs r0, 0 - b _08071410 - .align 2, 0 -_08071314: .4byte gPaletteFade -_08071318: - ldrb r2, [r4, 0x4] - lsls r1, r2, 26 - ldrb r3, [r4, 0x8] - lsls r0, r3, 26 - cmp r1, r0 - bcs _0807133A - lsrs r0, r1, 26 - adds r0, 0x1 - movs r1, 0x3F - ands r0, r1 - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x4] - movs r0, 0x2 - b _08071410 -_0807133A: - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - strb r0, [r4, 0x4] - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - bne _08071398 - ldrh r1, [r4, 0x4] - lsls r0, r1, 21 - lsrs r0, 27 - adds r0, 0x1 - movs r7, 0x1F - ands r0, r7 - lsls r0, 6 - ldr r6, _08071394 @ =0xfffff83f - adds r3, r6, 0 - ands r3, r1 - orrs r3, r0 - strh r3, [r4, 0x4] - lsls r5, r3, 21 - ldrb r0, [r4, 0x5] - lsrs r1, r5, 27 - lsrs r0, 3 - cmp r1, r0 - bls _080713E4 - ldrb r2, [r4, 0x9] - lsls r1, r2, 28 - lsrs r1, 31 - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x9] - lsrs r0, r5, 27 - subs r0, 0x1 - ands r0, r7 - lsls r0, 6 - ands r3, r6 - b _080713E0 - .align 2, 0 -_08071394: .4byte 0xfffff83f -_08071398: - ldrh r2, [r4, 0x4] - lsls r1, r2, 21 - lsrs r0, r1, 27 - subs r0, 0x1 - movs r6, 0x1F - ands r0, r6 - lsls r0, 6 - ldr r5, _08071418 @ =0xfffff83f - adds r3, r5, 0 - ands r3, r2 - orrs r3, r0 - strh r3, [r4, 0x4] - lsrs r1, 27 - subs r1, 0x1 - ldrb r0, [r4, 0x5] - lsrs r0, 3 - cmp r1, r0 - bge _080713E4 - ldrb r2, [r4, 0x9] - lsls r1, r2, 28 - lsrs r1, 31 - adds r1, 0x1 - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x9] - lsls r0, r3, 21 - lsrs r0, 27 - adds r0, 0x1 - ands r0, r6 - lsls r0, 6 - ands r3, r5 -_080713E0: - orrs r3, r0 - strh r3, [r4, 0x4] -_080713E4: - ldrb r1, [r4, 0x9] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0807140C - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08071402 - movs r0, 0 - str r0, [r4] - ldrh r1, [r4, 0x4] - ldr r0, _08071418 @ =0xfffff83f - ands r0, r1 - strh r0, [r4, 0x4] -_08071402: - ldrb r1, [r4, 0x9] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x9] -_0807140C: - ldrb r0, [r4, 0x7] - lsrs r0, 7 -_08071410: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08071418: .4byte 0xfffff83f - thumb_func_end UpdateHardwarePaletteFade - - thumb_func_start UpdateBlendRegisters -UpdateBlendRegisters: @ 807141C - push {r4,lr} - ldr r4, _08071468 @ =gPaletteFade - ldrh r1, [r4] - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x4] - lsls r1, 21 - lsrs r1, 27 - movs r0, 0x54 - bl SetGpuReg - ldrb r1, [r4, 0x9] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08071460 - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - negs r1, r1 - ands r0, r1 - strb r0, [r4, 0x9] - movs r0, 0 - str r0, [r4] - ldrh r1, [r4, 0x4] - ldr r0, _0807146C @ =0xfffff83f - ands r0, r1 - strh r0, [r4, 0x4] - ldrb r1, [r4, 0x7] - movs r0, 0x7F - ands r0, r1 - strb r0, [r4, 0x7] -_08071460: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08071468: .4byte gPaletteFade -_0807146C: .4byte 0xfffff83f - thumb_func_end UpdateBlendRegisters - - thumb_func_start IsSoftwarePaletteFadeFinishing -IsSoftwarePaletteFadeFinishing: @ 8071470 - push {r4,lr} - ldr r3, _080714A8 @ =gPaletteFade - ldrb r4, [r3, 0xA] - movs r0, 0x2 - ands r0, r4 - cmp r0, 0 - beq _080714CC - ldr r2, [r3, 0x8] - movs r0, 0xF8 - lsls r0, 9 - ands r0, r2 - movs r1, 0x80 - lsls r1, 7 - cmp r0, r1 - bne _080714B0 - ldrb r1, [r3, 0x7] - movs r0, 0x7F - ands r0, r1 - strb r0, [r3, 0x7] - movs r0, 0x3 - negs r0, r0 - ands r0, r4 - strb r0, [r3, 0xA] - ldr r0, [r3, 0x8] - ldr r1, _080714AC @ =0xfffe0fff - ands r0, r1 - str r0, [r3, 0x8] - b _080714C4 - .align 2, 0 -_080714A8: .4byte gPaletteFade -_080714AC: .4byte 0xfffe0fff -_080714B0: - lsls r0, r2, 15 - lsrs r0, 27 - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - lsls r0, 12 - ldr r1, _080714C8 @ =0xfffe0fff - ands r1, r2 - orrs r1, r0 - str r1, [r3, 0x8] -_080714C4: - movs r0, 0x1 - b _080714CE - .align 2, 0 -_080714C8: .4byte 0xfffe0fff -_080714CC: - movs r0, 0 -_080714CE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsSoftwarePaletteFadeFinishing - - thumb_func_start BlendPalettes -BlendPalettes: @ 80714D4 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 16 - lsrs r6, r2, 16 - movs r5, 0 - cmp r4, 0 - beq _08071508 -_080714E6: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080714FA - adds r0, r5, 0 - movs r1, 0x10 - adds r2, r7, 0 - adds r3, r6, 0 - bl BlendPalette -_080714FA: - lsrs r4, 1 - adds r0, r5, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0 - bne _080714E6 -_08071508: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BlendPalettes - - thumb_func_start BlendPalettesUnfaded -BlendPalettesUnfaded: @ 8071510 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _0807153C @ =gPlttBufferUnfaded - ldr r1, _08071540 @ =gPlttBufferFaded - movs r2, 0x80 - lsls r2, 1 - bl CpuFastSet - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl BlendPalettes - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807153C: .4byte gPlttBufferUnfaded -_08071540: .4byte gPlttBufferFaded - thumb_func_end BlendPalettesUnfaded - - thumb_func_start TintPalette_GrayScale -TintPalette_GrayScale: @ 8071544 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0 - beq _0807158C - movs r6, 0x1F - adds r5, r1, 0 -_08071554: - ldrh r1, [r4] - movs r2, 0x1F - ands r2, r1 - lsls r1, 16 - lsrs r3, r1, 21 - ands r3, r6 - lsrs r1, 26 - ands r1, r6 - movs r0, 0x4C - muls r2, r0 - movs r0, 0x97 - muls r0, r3 - adds r2, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - adds r2, r0 - asrs r2, 8 - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r4] - adds r4, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08071554 -_0807158C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end TintPalette_GrayScale - - thumb_func_start TintPalette_GrayScale2 -TintPalette_GrayScale2: @ 8071594 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0 - beq _080715E8 - movs r6, 0x1F - ldr r7, _080715F0 @ =gUnknown_83AC970 - adds r5, r1, 0 -_080715A6: - ldrh r1, [r4] - movs r2, 0x1F - ands r2, r1 - lsls r1, 16 - lsrs r3, r1, 21 - ands r3, r6 - lsrs r1, 26 - ands r1, r6 - movs r0, 0x4C - muls r2, r0 - movs r0, 0x97 - muls r0, r3 - adds r2, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - adds r2, r0 - asrs r2, 8 - cmp r2, 0x1F - bls _080715D2 - movs r2, 0x1F -_080715D2: - adds r0, r2, r7 - ldrb r2, [r0] - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r4] - adds r4, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _080715A6 -_080715E8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080715F0: .4byte gUnknown_83AC970 - thumb_func_end TintPalette_GrayScale2 - - thumb_func_start TintPalette_SepiaTone -TintPalette_SepiaTone: @ 80715F4 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0 - beq _08071656 - movs r7, 0x1F - adds r6, r1, 0 -_08071604: - ldrh r0, [r5] - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r2, r0, 21 - ands r2, r7 - lsrs r3, r0, 26 - ands r3, r7 - movs r0, 0x4C - muls r1, r0 - movs r0, 0x97 - muls r0, r2 - adds r1, r0 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r3 - adds r1, r0 - asrs r1, 8 - ldr r0, _0807165C @ =0x00000133 - muls r0, r1 - lsls r0, 16 - lsrs r2, r0, 24 - lsls r0, r1, 24 - lsrs r4, r0, 24 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 20 - lsrs r3, r0, 24 - cmp r2, 0x1F - ble _08071644 - movs r2, 0x1F -_08071644: - lsls r0, r3, 10 - lsls r1, r4, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r5] - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _08071604 -_08071656: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807165C: .4byte 0x00000133 - thumb_func_end TintPalette_SepiaTone - - thumb_func_start sub_8071660 -sub_8071660: @ 8071660 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - ldr r0, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - cmp r1, 0 - beq _080716EC - movs r7, 0x1F - adds r6, r1, 0 -_0807168A: - ldrh r0, [r5] - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r2, r0, 21 - ands r2, r7 - lsrs r3, r0, 26 - ands r3, r7 - movs r0, 0x4C - muls r1, r0 - movs r0, 0x97 - muls r0, r2 - adds r1, r0 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r3 - adds r1, r0 - asrs r1, 8 - mov r0, r9 - muls r0, r1 - lsls r0, 16 - lsrs r4, r0, 24 - mov r0, r8 - muls r0, r1 - lsls r0, 16 - lsrs r2, r0, 24 - mov r0, r12 - muls r0, r1 - lsls r0, 16 - lsrs r3, r0, 24 - cmp r4, 0x1F - ble _080716CE - movs r4, 0x1F -_080716CE: - cmp r2, 0x1F - ble _080716D4 - movs r2, 0x1F -_080716D4: - cmp r3, 0x1F - ble _080716DA - movs r3, 0x1F -_080716DA: - lsls r0, r3, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r4 - strh r0, [r5] - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bne _0807168A -_080716EC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8071660 - - thumb_func_start sub_80716F8 -sub_80716F8: @ 80716F8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - adds r6, r1, 0 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - mov r12, r3 - cmp r3, 0 - bne _0807172C - cmp r2, 0 - beq _0807179A - adds r5, r2, 0 -_08071718: - mov r1, r9 - ldrh r0, [r1] - strh r0, [r6] - movs r7, 0x2 - add r9, r7 - adds r6, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08071718 - b _0807179A -_0807172C: - cmp r2, 0 - beq _0807179A - movs r0, 0x1F - mov r8, r0 - adds r5, r2, 0 -_08071736: - mov r7, r9 - ldrh r1, [r7] - movs r4, 0x1F - ands r4, r1 - lsls r1, 16 - lsrs r3, r1, 21 - mov r0, r8 - ands r3, r0 - lsrs r1, 26 - ands r1, r0 - movs r0, 0x4C - adds r2, r4, 0 - muls r2, r0 - movs r0, 0x97 - muls r0, r3 - adds r2, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - adds r2, r0 - asrs r2, 8 - subs r0, r2, r4 - mov r7, r12 - muls r7, r0 - adds r0, r7, 0 - lsrs r0, 4 - adds r4, r0 - subs r0, r2, r3 - mov r7, r12 - muls r7, r0 - adds r0, r7, 0 - lsrs r0, 4 - adds r3, r0 - subs r2, r1 - mov r0, r12 - muls r0, r2 - lsrs r0, 4 - adds r1, r0 - lsls r1, 10 - lsls r3, 5 - orrs r1, r3 - orrs r1, r4 - strh r1, [r6] - movs r0, 0x2 - add r9, r0 - adds r6, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08071736 -_0807179A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80716F8 - - thumb_func_start sub_80717A8 -sub_80717A8: @ 80717A8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r4, r1, 0 - ldr r0, [sp, 0x20] - ldr r1, [sp, 0x24] - ldr r5, [sp, 0x28] - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - ldr r0, _08071800 @ =sub_80718B8 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08071804 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - strh r7, [r1, 0x8] - strh r6, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - cmp r4, 0 - blt _08071808 - strh r4, [r1, 0xE] - movs r0, 0x1 - b _08071810 - .align 2, 0 -_08071800: .4byte sub_80718B8 -_08071804: .4byte gTasks -_08071808: - movs r0, 0 - strh r0, [r1, 0xE] - negs r0, r4 - adds r0, 0x1 -_08071810: - strh r0, [r1, 0xC] - lsls r4, r5, 2 - cmp r6, r7 - bcs _08071828 - ldr r0, _08071858 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0xC - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0xC] -_08071828: - adds r0, r5, 0 - movs r1, 0x5 - mov r2, r10 - bl SetWordTaskArg - ldr r0, _08071858 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - mov r0, r9 - strh r0, [r1, 0x16] - mov r2, r8 - strh r2, [r1, 0x18] - ldr r1, [r1] - adds r0, r5, 0 - bl _call_via_r1 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08071858: .4byte gTasks - thumb_func_end sub_80717A8 - - thumb_func_start sub_807185C -sub_807185C: @ 807185C - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r2, 0 - ldr r4, _08071880 @ =sub_80718B8 - ldr r1, _08071884 @ =gTasks -_08071868: - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - bne _08071888 - ldr r0, [r1] - cmp r0, r4 - bne _08071888 - movs r5, 0x18 - ldrsh r0, [r1, r5] - cmp r0, r3 - bne _08071888 - movs r0, 0x1 - b _08071892 - .align 2, 0 -_08071880: .4byte sub_80718B8 -_08071884: .4byte gTasks -_08071888: - adds r1, 0x28 - adds r2, 0x1 - cmp r2, 0xF - ble _08071868 - movs r0, 0 -_08071892: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_807185C - - thumb_func_start sub_8071898 -sub_8071898: @ 8071898 - push {lr} - b _080718A0 -_0807189C: - bl DestroyTask -_080718A0: - ldr r0, _080718B4 @ =sub_80718B8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _0807189C - pop {r0} - bx r0 - .align 2, 0 -_080718B4: .4byte sub_80718B8 - thumb_func_end sub_8071898 - - thumb_func_start sub_80718B8 -sub_80718B8: @ 80718B8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807190C @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r5, 0 - movs r1, 0x5 - bl GetWordTaskArg - adds r3, r0, 0 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x6 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08071930 - movs r0, 0 - strh r0, [r4, 0x8] - ldrb r1, [r4] - ldrh r2, [r4, 0xE] - adds r0, r3, 0 - bl BlendPalettes - ldrh r1, [r4] - movs r6, 0 - ldrsh r0, [r4, r6] - ldrh r3, [r4, 0x2] - movs r6, 0x2 - ldrsh r2, [r4, r6] - cmp r0, r2 - bne _08071910 - adds r0, r5, 0 - bl DestroyTask - b _08071930 - .align 2, 0 -_0807190C: .4byte gTasks+0x8 -_08071910: - ldrh r0, [r4, 0x4] - adds r1, r0 - strh r1, [r4] - lsls r0, 16 - cmp r0, 0 - blt _08071926 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r2 - blt _08071930 - b _0807192E -_08071926: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, r2 - bgt _08071930 -_0807192E: - strh r3, [r4] -_08071930: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80718B8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/region_map.s b/asm/region_map.s index fd681addf..7c040f7b8 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -3805,7 +3805,7 @@ _080C1D24: ldrh r1, [r1] str r1, [sp] movs r1, 0x30 - bl sub_8071660 + bl TintPalette_CustomTone ldr r0, [r7] adds r0, r5 movs r1, 0xD0 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 234e19676..787a9748a 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -3283,7 +3283,7 @@ _0808AB50: movs r1, 0x60 movs r2, 0 movs r3, 0 - bl sub_8071660 + bl TintPalette_CustomTone b _0808AB88 .align 2, 0 _0808AB64: .4byte 0x00000396 @@ -3297,7 +3297,7 @@ _0808AB68: lsls r1, 1 str r1, [sp] movs r1, 0x60 - bl sub_8071660 + bl TintPalette_CustomTone b _0808AB88 _0808AB80: adds r0, r4, r5 -- cgit v1.2.3 From db3d5c90433a94747c23e48cf85badfc5286b07f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Sep 2019 12:33:01 -0400 Subject: Start berry_pouch decomp --- asm/berry_pouch.s | 378 ------------------------------------------------------ 1 file changed, 378 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 60d6873e6..b050958a2 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,384 +5,6 @@ .text - thumb_func_start InitBerryPouch -InitBerryPouch: @ 813CD50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r7, _0813CD78 @ =gUnknown_203F36C - ldr r0, _0813CD7C @ =0x00000814 - bl Alloc - str r0, [r7] - cmp r0, 0 - bne _0813CD80 - adds r0, r4, 0 - bl SetMainCallback2 - b _0813CDE2 - .align 2, 0 -_0813CD78: .4byte gUnknown_203F36C -_0813CD7C: .4byte 0x00000814 -_0813CD80: - cmp r5, 0x6 - beq _0813CD88 - ldr r0, _0813CDEC @ =gUnknown_203F370 - strb r5, [r0, 0x4] -_0813CD88: - cmp r6, 0xFF - beq _0813CD90 - ldr r0, _0813CDEC @ =gUnknown_203F370 - strb r6, [r0, 0x5] -_0813CD90: - cmp r4, 0 - beq _0813CD98 - ldr r0, _0813CDEC @ =gUnknown_203F370 - str r4, [r0] -_0813CD98: - ldr r1, [r7] - movs r0, 0 - str r0, [r1] - strb r0, [r1, 0x9] - ldr r1, [r7] - movs r0, 0xFF - strb r0, [r1, 0x6] - movs r2, 0 - ldr r6, _0813CDF0 @ =gTextFlags - ldr r0, _0813CDF4 @ =gSpecialVar_ItemId - mov r12, r0 - ldr r1, _0813CDF8 @ =sub_813CE30 - mov r8, r1 - adds r5, r7, 0 - ldr r4, _0813CDFC @ =0x0000080c - movs r3, 0 -_0813CDB8: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, r4 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0813CDB8 - ldrb r0, [r6] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r6] - movs r0, 0 - mov r1, r12 - strh r0, [r1] - mov r0, r8 - bl SetMainCallback2 -_0813CDE2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813CDEC: .4byte gUnknown_203F370 -_0813CDF0: .4byte gTextFlags -_0813CDF4: .4byte gSpecialVar_ItemId -_0813CDF8: .4byte sub_813CE30 -_0813CDFC: .4byte 0x0000080c - thumb_func_end InitBerryPouch - - thumb_func_start sub_813CE00 -sub_813CE00: @ 813CE00 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl DoScheduledBgTilemapCopiesToVram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_813CE00 - - thumb_func_start sub_813CE1C -sub_813CE1C: @ 813CE1C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_813CE1C - - thumb_func_start sub_813CE30 -sub_813CE30: @ 813CE30 - push {lr} -_0813CE32: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813CE56 - bl sub_813CE5C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813CE56 - bl MenuHelpers_LinkSomething - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813CE32 -_0813CE56: - pop {r0} - bx r0 - thumb_func_end sub_813CE30 - - thumb_func_start sub_813CE5C -sub_813CE5C: @ 813CE5C - push {r4,lr} - sub sp, 0x4 - ldr r0, _0813CE7C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _0813CE70 - b _0813CFE8 -_0813CE70: - lsls r0, 2 - ldr r1, _0813CE80 @ =_0813CE84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813CE7C: .4byte gMain -_0813CE80: .4byte _0813CE84 - .align 2, 0 -_0813CE84: - .4byte _0813CED0 - .4byte _0813CEDA - .4byte _0813CEE0 - .4byte _0813CEE6 - .4byte _0813CEEC - .4byte _0813CEF2 - .4byte _0813CEF8 - .4byte _0813CF08 - .4byte _0813CF24 - .4byte _0813CF30 - .4byte _0813CF36 - .4byte _0813CF44 - .4byte _0813CF56 - .4byte _0813CF5C - .4byte _0813CF62 - .4byte _0813CFA4 - .4byte _0813CFAA - .4byte _0813CFB0 - .4byte _0813CFBE -_0813CED0: - bl SetVBlankHBlankCallbacksToNull - bl ClearScheduledBgCopiesToVram - b _0813CFD2 -_0813CEDA: - bl ScanlineEffect_Stop - b _0813CFD2 -_0813CEE0: - bl FreeAllSpritePalettes - b _0813CFD2 -_0813CEE6: - bl ResetPaletteFade - b _0813CFD2 -_0813CEEC: - bl ResetSpriteData - b _0813CFD2 -_0813CEF2: - bl ResetItemMenuIconState - b _0813CFD2 -_0813CEF8: - bl MenuHelpers_LinkSomething - lsls r0, 24 - cmp r0, 0 - bne _0813CFD2 - bl ResetTasks - b _0813CFD2 -_0813CF08: - bl sub_813D07C - ldr r0, _0813CF1C @ =gUnknown_203F36C - ldr r0, [r0] - ldr r1, _0813CF20 @ =0x0000080c - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _0813CFD2 - .align 2, 0 -_0813CF1C: .4byte gUnknown_203F36C -_0813CF20: .4byte 0x0000080c -_0813CF24: - bl sub_813D0E4 - lsls r0, 24 - cmp r0, 0 - beq _0813D000 - b _0813CFD2 -_0813CF30: - bl sub_813E910 - b _0813CFD2 -_0813CF36: - bl sub_813D8AC - bl sub_813D6F4 - bl sub_813D754 - b _0813CFD2 -_0813CF44: - bl sub_813D1C0 - lsls r0, 24 - cmp r0, 0 - bne _0813CFD2 - bl sub_813D00C - movs r0, 0x1 - b _0813D002 -_0813CF56: - bl sub_813D204 - b _0813CFD2 -_0813CF5C: - bl sub_813D6A4 - b _0813CFD2 -_0813CF62: - ldr r0, _0813CF94 @ =sub_813DA68 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813CF98 @ =gMultiuseListMenuTemplate - ldr r2, _0813CF9C @ =gUnknown_203F370 - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0x8] - bl ListMenuInit - ldr r2, _0813CFA0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0x18] - b _0813CFD2 - .align 2, 0 -_0813CF94: .4byte sub_813DA68 -_0813CF98: .4byte gMultiuseListMenuTemplate -_0813CF9C: .4byte gUnknown_203F370 -_0813CFA0: .4byte gTasks -_0813CFA4: - bl sub_813EC08 - b _0813CFD2 -_0813CFAA: - bl sub_813D5BC - b _0813CFD2 -_0813CFB0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _0813CFD2 -_0813CFBE: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_0813CFD2: - ldr r1, _0813CFE4 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0813D000 - .align 2, 0 -_0813CFE4: .4byte gMain -_0813CFE8: - ldr r0, _0813CFF8 @ =sub_813CE1C - bl SetVBlankCallback - ldr r0, _0813CFFC @ =sub_813CE00 - bl SetMainCallback2 - movs r0, 0x1 - b _0813D002 - .align 2, 0 -_0813CFF8: .4byte sub_813CE1C -_0813CFFC: .4byte sub_813CE00 -_0813D000: - movs r0, 0 -_0813D002: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813CE5C - - thumb_func_start sub_813D00C -sub_813D00C: @ 813D00C - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0813D03C @ =sub_813D048 - movs r1, 0 - bl CreateTask - ldr r0, _0813D040 @ =sub_813CE1C - bl SetVBlankCallback - ldr r0, _0813D044 @ =sub_813CE00 - bl SetMainCallback2 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0813D03C: .4byte sub_813D048 -_0813D040: .4byte sub_813CE1C -_0813D044: .4byte sub_813CE00 - thumb_func_end sub_813D00C - - thumb_func_start sub_813D048 -sub_813D048: @ 813D048 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813D074 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813D06C - ldr r0, _0813D078 @ =gUnknown_203F370 - ldr r0, [r0] - bl SetMainCallback2 - bl sub_813D7CC - adds r0, r4, 0 - bl DestroyTask -_0813D06C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D074: .4byte gPaletteFade -_0813D078: .4byte gUnknown_203F370 - thumb_func_end sub_813D048 - thumb_func_start sub_813D07C sub_813D07C: @ 813D07C push {r4,lr} -- cgit v1.2.3 From b6c7c6523fedb21e5928fbaf8e01747f4283cfc1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Sep 2019 16:11:41 -0400 Subject: berry_pouch through sub_813D0E4 --- asm/berry_pouch.s | 149 ------------------------------------------------------ 1 file changed, 149 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index b050958a2..985be2c93 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,155 +5,6 @@ .text - thumb_func_start sub_813D07C -sub_813D07C: @ 813D07C - push {r4,lr} - bl ResetAllBgsCoordinatesAndBgCntRegs - ldr r4, _0813D0DC @ =gUnknown_203F36C - ldr r0, [r4] - adds r0, 0xC - movs r2, 0x80 - lsls r2, 4 - movs r1, 0 - bl memset - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0813D0E0 @ =gUnknown_846434C - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r1, [r4] - adds r1, 0xC - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D0DC: .4byte gUnknown_203F36C -_0813D0E0: .4byte gUnknown_846434C - thumb_func_end sub_813D07C - - thumb_func_start sub_813D0E4 -sub_813D0E4: @ 813D0E4 - push {r4-r6,lr} - sub sp, 0x4 - ldr r5, _0813D104 @ =gUnknown_203F36C - ldr r0, [r5] - ldr r6, _0813D108 @ =0x0000080c - adds r0, r6 - movs r1, 0 - ldrsh r4, [r0, r1] - cmp r4, 0x1 - beq _0813D130 - cmp r4, 0x1 - bgt _0813D10C - cmp r4, 0 - beq _0813D116 - b _0813D190 - .align 2, 0 -_0813D104: .4byte gUnknown_203F36C -_0813D108: .4byte 0x0000080c -_0813D10C: - cmp r4, 0x2 - beq _0813D14C - cmp r4, 0x3 - beq _0813D178 - b _0813D190 -_0813D116: - bl ResetTempTileDataBuffers - ldr r1, _0813D12C @ =gUnknown_8E859D0 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _0813D17E - .align 2, 0 -_0813D12C: .4byte gUnknown_8E859D0 -_0813D130: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813D1B4 - ldr r0, _0813D148 @ =gUnknown_8E85C44 - ldr r1, [r5] - adds r1, 0xC - bl LZDecompressWram - b _0813D17E - .align 2, 0 -_0813D148: .4byte gUnknown_8E85C44 -_0813D14C: - ldr r0, _0813D16C @ =gUnknown_8E85BA4 - movs r1, 0 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r0, _0813D170 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _0813D17E - ldr r0, _0813D174 @ =gUnknown_8E85BF4 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _0813D17E - .align 2, 0 -_0813D16C: .4byte gUnknown_8E85BA4 -_0813D170: .4byte gSaveBlock2Ptr -_0813D174: .4byte gUnknown_8E85BF4 -_0813D178: - ldr r0, _0813D18C @ =gUnknown_84644A8 - bl LoadCompressedSpriteSheet -_0813D17E: - ldr r1, [r5] - adds r1, r6 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0813D1B4 - .align 2, 0 -_0813D18C: .4byte gUnknown_84644A8 -_0813D190: - ldr r0, _0813D1A8 @ =gUnknown_84644B0 - bl LoadCompressedSpritePalette - ldr r0, _0813D1AC @ =gUnknown_203F36C - ldr r0, [r0] - ldr r1, _0813D1B0 @ =0x0000080c - adds r0, r1 - movs r1, 0 - strh r1, [r0] - movs r0, 0x1 - b _0813D1B6 - .align 2, 0 -_0813D1A8: .4byte gUnknown_84644B0 -_0813D1AC: .4byte gUnknown_203F36C -_0813D1B0: .4byte 0x0000080c -_0813D1B4: - movs r0, 0 -_0813D1B6: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813D0E4 - thumb_func_start sub_813D1C0 sub_813D1C0: @ 813D1C0 push {r4,lr} -- cgit v1.2.3 From 0993cb64f7c3a4ff8827da72acc76afccca682e6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Sep 2019 20:27:41 -0400 Subject: Berry_pouch through sub_813D5BC --- asm/berry_pouch.s | 551 ------------------------------------------------------ 1 file changed, 551 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 985be2c93..a34c409e1 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,557 +5,6 @@ .text - thumb_func_start sub_813D1C0 -sub_813D1C0: @ 813D1C0 - push {r4,lr} - ldr r4, _0813D1F0 @ =gUnknown_203F37C - movs r0, 0xB0 - lsls r0, 1 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0813D1FC - ldr r4, _0813D1F4 @ =gUnknown_203F380 - ldr r0, _0813D1F8 @ =gUnknown_203F36C - ldr r0, [r0] - ldrb r1, [r0, 0x7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - subs r0, r1 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0813D1FC - movs r0, 0x1 - b _0813D1FE - .align 2, 0 -_0813D1F0: .4byte gUnknown_203F37C -_0813D1F4: .4byte gUnknown_203F380 -_0813D1F8: .4byte gUnknown_203F36C -_0813D1FC: - movs r0, 0 -_0813D1FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813D1C0 - - thumb_func_start sub_813D204 -sub_813D204: @ 813D204 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0813D280 @ =gBagPockets + 0x20 - mov r8, r0 - movs r6, 0 - ldr r0, _0813D284 @ =gUnknown_203F36C - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r6, r0 - bcs _0813D254 - ldr r7, _0813D288 @ =gUnknown_203F380 -_0813D21C: - lsls r5, r6, 3 - subs r4, r5, r6 - lsls r4, 2 - subs r4, r6 - ldr r0, [r7] - adds r0, r4 - mov r1, r8 - ldr r2, [r1] - lsls r1, r6, 2 - adds r1, r2 - ldrh r1, [r1] - bl sub_813D31C - ldr r0, _0813D28C @ =gUnknown_203F37C - ldr r0, [r0] - adds r5, r0 - ldr r0, [r7] - adds r0, r4 - str r0, [r5] - str r6, [r5, 0x4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _0813D284 @ =gUnknown_203F36C - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r6, r0 - bcc _0813D21C -_0813D254: - ldr r0, _0813D28C @ =gUnknown_203F37C - ldr r2, [r0] - lsls r0, r6, 3 - adds r0, r2 - ldr r1, _0813D290 @ =gText_Close - str r1, [r0] - str r6, [r0, 0x4] - ldr r1, _0813D294 @ =gMultiuseListMenuTemplate - str r2, [r1] - ldr r0, _0813D298 @ =gUnknown_203F370 - ldrb r0, [r0, 0x4] - adds r5, r1, 0 - cmp r0, 0x5 - beq _0813D29C - ldr r1, _0813D284 @ =gUnknown_203F36C - ldr r0, [r1] - ldrb r0, [r0, 0x7] - adds r0, 0x1 - strh r0, [r5, 0xC] - adds r2, r1, 0 - b _0813D2A6 - .align 2, 0 -_0813D280: .4byte gBagPockets + 0x20 -_0813D284: .4byte gUnknown_203F36C -_0813D288: .4byte gUnknown_203F380 -_0813D28C: .4byte gUnknown_203F37C -_0813D290: .4byte gText_Close -_0813D294: .4byte gMultiuseListMenuTemplate -_0813D298: .4byte gUnknown_203F370 -_0813D29C: - ldr r0, _0813D310 @ =gUnknown_203F36C - ldr r1, [r0] - ldrb r1, [r1, 0x7] - strh r1, [r5, 0xC] - adds r2, r0, 0 -_0813D2A6: - movs r0, 0 - strb r0, [r5, 0x10] - strb r0, [r5, 0x11] - movs r0, 0x9 - strb r0, [r5, 0x12] - movs r0, 0x1 - strb r0, [r5, 0x13] - ldrb r0, [r5, 0x16] - movs r3, 0x8 - negs r3, r3 - ands r3, r0 - movs r0, 0x39 - negs r0, r0 - ands r3, r0 - movs r0, 0x10 - orrs r3, r0 - strb r3, [r5, 0x16] - ldrb r1, [r5, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r4, 0x2 - orrs r0, r4 - strb r0, [r5, 0x14] - ldr r1, [r2] - ldrb r1, [r1, 0x8] - strh r1, [r5, 0xE] - ldrb r1, [r5, 0x17] - movs r2, 0x40 - negs r2, r2 - ands r2, r1 - orrs r2, r4 - movs r1, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r5, 0x14] - movs r0, 0x30 - strb r0, [r5, 0x15] - ldr r0, _0813D314 @ =sub_813D3C0 - str r0, [r5, 0x4] - ldr r0, _0813D318 @ =sub_813D430 - str r0, [r5, 0x8] - movs r0, 0x3F - ands r2, r0 - strb r2, [r5, 0x17] - ands r3, r0 - strb r3, [r5, 0x16] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813D310: .4byte gUnknown_203F36C -_0813D314: .4byte sub_813D3C0 -_0813D318: .4byte sub_813D430 - thumb_func_end sub_813D204 - - thumb_func_start sub_813D31C -sub_813D31C: @ 813D31C - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - lsls r5, r1, 16 - lsrs r5, 16 - ldr r4, _0813D384 @ =gStringVar4 - ldr r1, _0813D388 @ =gText_FontSize0 - adds r0, r4, 0 - bl StringCopy - ldr r1, _0813D38C @ =gOtherText_UnkF9_08_Clear_01 - adds r0, r4, 0 - bl StringAppend - ldr r6, _0813D390 @ =gStringVar1 - adds r1, r5, 0 - subs r1, 0x84 - adds r0, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - adds r1, r6, 0 - bl StringAppend - adds r0, r5, 0 - adds r1, r6, 0 - bl CopyItemName - ldr r1, _0813D394 @ =gUnknown_84643B4 - adds r0, r4, 0 - bl StringAppend - ldr r1, _0813D398 @ =gText_FontSize2 - adds r0, r4, 0 - bl StringAppend - adds r0, r4, 0 - adds r1, r6, 0 - bl StringAppend - mov r0, r8 - adds r1, r4, 0 - bl StringCopy - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813D384: .4byte gStringVar4 -_0813D388: .4byte gText_FontSize0 -_0813D38C: .4byte gOtherText_UnkF9_08_Clear_01 -_0813D390: .4byte gStringVar1 -_0813D394: .4byte gUnknown_84643B4 -_0813D398: .4byte gText_FontSize2 - thumb_func_end sub_813D31C - - thumb_func_start sub_813D39C -sub_813D39C: @ 813D39C - push {lr} - adds r3, r1, 0 - ldr r1, _0813D3BC @ =gUnknown_203F380 - lsls r0, 16 - asrs r0, 16 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - subs r2, r0 - ldr r1, [r1] - adds r1, r2 - adds r0, r3, 0 - bl StringCopy - pop {r0} - bx r0 - .align 2, 0 -_0813D3BC: .4byte gUnknown_203F380 - thumb_func_end sub_813D39C - - thumb_func_start sub_813D3C0 -sub_813D3C0: @ 813D3C0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0813D3D6 - movs r0, 0xF5 - bl PlaySE - bl sub_813EC28 -_0813D3D6: - ldr r4, _0813D404 @ =gUnknown_203F36C - ldr r0, [r4] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - eors r0, r1 - bl DestroyItemMenuIcon - ldr r1, [r4] - ldrb r0, [r1, 0x7] - cmp r0, r5 - beq _0813D408 - lsls r1, r5, 16 - lsrs r1, 16 - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - ldr r1, [r4] - ldrb r1, [r1, 0x9] - bl sub_80989A0 - b _0813D410 - .align 2, 0 -_0813D404: .4byte gUnknown_203F36C -_0813D408: - ldr r0, _0813D428 @ =0x00000177 - ldrb r1, [r1, 0x9] - bl sub_80989A0 -_0813D410: - ldr r0, _0813D42C @ =gUnknown_203F36C - ldr r2, [r0] - ldrb r0, [r2, 0x9] - movs r1, 0x1 - eors r0, r1 - strb r0, [r2, 0x9] - adds r0, r5, 0 - bl sub_813D538 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813D428: .4byte 0x00000177 -_0813D42C: .4byte gUnknown_203F36C - thumb_func_end sub_813D3C0 - - thumb_func_start sub_813D430 -sub_813D430: @ 813D430 - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0813D498 - ldr r0, _0813D4A0 @ =gUnknown_203F36C - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r0, r1 - beq _0813D498 - lsls r4, r1, 16 - lsrs r4, 16 - movs r0, 0x5 - adds r1, r4, 0 - bl BagGetItemIdByPocketPosition - movs r0, 0x5 - adds r1, r4, 0 - bl BagGetQuantityByPocketPosition - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _0813D4A4 @ =gStringVar1 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0813D4A8 @ =gStringVar4 - ldr r1, _0813D4AC @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x6E - bl sub_813E9A0 -_0813D498: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813D4A0: .4byte gUnknown_203F36C -_0813D4A4: .4byte gStringVar1 -_0813D4A8: .4byte gStringVar4 -_0813D4AC: .4byte gText_TimesStrVar1 - thumb_func_end sub_813D430 - - thumb_func_start sub_813D4B0 -sub_813D4B0: @ 813D4B0 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_813D4D0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813D4B0 - - thumb_func_start sub_813D4D0 -sub_813D4D0: @ 813D4D0 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - bne _0813D514 - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - adds r3, r5, 0 - bl FillWindowPixelRect - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _0813D52A -_0813D514: - ldr r2, _0813D534 @ =gFameCheckerText_ListMenuCursor - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl sub_813E9A0 -_0813D52A: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813D534: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end sub_813D4D0 - - thumb_func_start sub_813D538 -sub_813D538: @ 813D538 - push {r4,lr} - sub sp, 0x14 - adds r1, r0, 0 - ldr r0, _0813D560 @ =gUnknown_203F36C - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r1, r0 - beq _0813D564 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl ItemId_GetDescription - adds r4, r0, 0 - b _0813D566 - .align 2, 0 -_0813D560: .4byte gUnknown_203F36C -_0813D564: - ldr r4, _0813D590 @ =gUnknown_8416716 -_0813D566: - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl sub_813E9A0 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D590: .4byte gUnknown_8416716 - thumb_func_end sub_813D538 - - thumb_func_start sub_813D594 -sub_813D594: @ 813D594 - push {lr} - sub sp, 0x8 - movs r1, 0x4 - str r1, [sp] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x10 - movs r3, 0x1E - bl SetBgRectPal - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813D594 - - thumb_func_start sub_813D5BC -sub_813D5BC: @ 813D5BC - push {r4,lr} - sub sp, 0x10 - ldr r2, _0813D5D8 @ =gUnknown_203F370 - ldrb r0, [r2, 0x4] - cmp r0, 0x5 - beq _0813D5E0 - ldr r4, _0813D5DC @ =gUnknown_203F36C - ldr r1, [r4] - ldrb r0, [r1, 0x7] - ldrb r1, [r1, 0x8] - subs r0, r1 - adds r0, 0x1 - b _0813D5EA - .align 2, 0 -_0813D5D8: .4byte gUnknown_203F370 -_0813D5DC: .4byte gUnknown_203F36C -_0813D5E0: - ldr r4, _0813D610 @ =gUnknown_203F36C - ldr r1, [r4] - ldrb r0, [r1, 0x7] - ldrb r1, [r1, 0x8] - subs r0, r1 -_0813D5EA: - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r2, 0 - adds r0, 0xA - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x78 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x6] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D610: .4byte gUnknown_203F36C - thumb_func_end sub_813D5BC - thumb_func_start sub_813D614 sub_813D614: @ 813D614 push {r4,lr} -- cgit v1.2.3 From b843b5529227e301895920b56585cf9ec69c9b53 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Sep 2019 21:35:20 -0400 Subject: berry_pouch through sub_813D940 --- asm/berry_pouch.s | 537 +----------------------------------------------------- 1 file changed, 8 insertions(+), 529 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index a34c409e1..9d5ecb593 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,527 +5,6 @@ .text - thumb_func_start sub_813D614 -sub_813D614: @ 813D614 - push {r4,lr} - sub sp, 0x10 - ldr r4, _0813D648 @ =gUnknown_203F36C - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x4] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r1, 0x4 - str r1, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xD4 - movs r2, 0x78 - movs r3, 0x98 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x6] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D648: .4byte gUnknown_203F36C - thumb_func_end sub_813D614 - - thumb_func_start sub_813D64C -sub_813D64C: @ 813D64C - push {r4,lr} - sub sp, 0x10 - ldr r4, _0813D680 @ =gUnknown_203F36C - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x4] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r1, 0x4 - str r1, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x98 - movs r2, 0x48 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x6] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D680: .4byte gUnknown_203F36C - thumb_func_end sub_813D64C - - thumb_func_start sub_813D684 -sub_813D684: @ 813D684 - push {r4,lr} - ldr r4, _0813D6A0 @ =gUnknown_203F36C - ldr r1, [r4] - ldrb r0, [r1, 0x6] - cmp r0, 0xFF - beq _0813D69A - bl RemoveScrollIndicatorArrowPair - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1, 0x6] -_0813D69A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D6A0: .4byte gUnknown_203F36C - thumb_func_end sub_813D684 - - thumb_func_start sub_813D6A4 -sub_813D6A4: @ 813D6A4 - push {r4,lr} - sub sp, 0x14 - ldr r4, _0813D6E0 @ =gUnknown_841670A - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r3, 0x48 - subs r3, r0 - lsrs r3, 1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x2 - movs r1, 0x1 - adds r2, r4, 0 - bl sub_813E9A0 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D6E0: .4byte gUnknown_841670A - thumb_func_end sub_813D6A4 - - thumb_func_start sub_813D6E4 -sub_813D6E4: @ 813D6E4 - ldr r1, _0813D6F0 @ =gUnknown_203F370 - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bx lr - .align 2, 0 -_0813D6F0: .4byte gUnknown_203F370 - thumb_func_end sub_813D6E4 - - thumb_func_start sub_813D6F4 -sub_813D6F4: @ 813D6F4 - push {r4,lr} - ldr r0, _0813D70C @ =gUnknown_203F370 - ldrb r1, [r0, 0x4] - adds r4, r0, 0 - cmp r1, 0x5 - beq _0813D714 - ldr r0, _0813D710 @ =gUnknown_203F36C - ldr r1, [r0] - ldrb r1, [r1, 0x7] - adds r2, r1, 0x1 - adds r1, r0, 0 - b _0813D71A - .align 2, 0 -_0813D70C: .4byte gUnknown_203F370 -_0813D710: .4byte gUnknown_203F36C -_0813D714: - ldr r1, _0813D744 @ =gUnknown_203F36C - ldr r0, [r1] - ldrb r2, [r0, 0x7] -_0813D71A: - ldrh r0, [r4, 0xA] - cmp r0, 0 - beq _0813D72E - ldr r1, [r1] - ldrb r1, [r1, 0x8] - adds r0, r1 - cmp r0, r2 - ble _0813D72E - subs r0, r2, r1 - strh r0, [r4, 0xA] -_0813D72E: - adds r3, r4, 0 - ldrh r0, [r3, 0xA] - ldrh r1, [r3, 0x8] - adds r0, r1 - cmp r0, r2 - blt _0813D74C - cmp r2, 0x1 - bhi _0813D748 - movs r0, 0 - strh r0, [r3, 0x8] - b _0813D74C - .align 2, 0 -_0813D744: .4byte gUnknown_203F36C -_0813D748: - subs r0, r2, 0x1 - strh r0, [r4, 0x8] -_0813D74C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813D6F4 - - thumb_func_start sub_813D754 -sub_813D754: @ 813D754 - push {r4-r6,lr} - ldr r0, _0813D770 @ =gUnknown_203F370 - ldrb r1, [r0, 0x4] - adds r5, r0, 0 - cmp r1, 0x5 - beq _0813D778 - ldr r1, _0813D774 @ =gUnknown_203F36C - ldr r0, [r1] - ldrb r0, [r0, 0x7] - adds r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - b _0813D77E - .align 2, 0 -_0813D770: .4byte gUnknown_203F370 -_0813D774: .4byte gUnknown_203F36C -_0813D778: - ldr r1, _0813D7C8 @ =gUnknown_203F36C - ldr r0, [r1] - ldrb r4, [r0, 0x7] -_0813D77E: - adds r6, r1, 0 - ldrh r0, [r5, 0x8] - cmp r0, 0x4 - bls _0813D7C2 - movs r3, 0 - subs r0, 0x4 - cmp r3, r0 - bgt _0813D7C2 - ldrh r0, [r5, 0xA] - ldr r1, [r6] - ldrb r1, [r1, 0x8] - adds r0, r1 - cmp r0, r4 - beq _0813D7C2 - adds r2, r5, 0 -_0813D79C: - ldrh r0, [r2, 0x8] - subs r0, 0x1 - strh r0, [r2, 0x8] - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - ldrh r0, [r2, 0x8] - subs r0, 0x4 - cmp r3, r0 - bgt _0813D7C2 - ldrh r0, [r5, 0xA] - ldr r1, [r6] - ldrb r1, [r1, 0x8] - adds r0, r1 - cmp r0, r4 - bne _0813D79C -_0813D7C2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813D7C8: .4byte gUnknown_203F36C - thumb_func_end sub_813D754 - - thumb_func_start sub_813D7CC -sub_813D7CC: @ 813D7CC - push {lr} - ldr r0, _0813D7FC @ =gUnknown_203F36C - ldr r0, [r0] - cmp r0, 0 - beq _0813D7DA - bl Free -_0813D7DA: - ldr r0, _0813D800 @ =gUnknown_203F37C - ldr r0, [r0] - cmp r0, 0 - beq _0813D7E6 - bl Free -_0813D7E6: - ldr r0, _0813D804 @ =gUnknown_203F380 - ldr r0, [r0] - cmp r0, 0 - beq _0813D7F2 - bl Free -_0813D7F2: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .align 2, 0 -_0813D7FC: .4byte gUnknown_203F36C -_0813D800: .4byte gUnknown_203F37C -_0813D804: .4byte gUnknown_203F380 - thumb_func_end sub_813D7CC - - thumb_func_start BerryPouch_StartFadeToExitCallback -BerryPouch_StartFadeToExitCallback: @ 813D808 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0813D83C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813D840 @ =sub_813D844 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D83C: .4byte gTasks -_0813D840: .4byte sub_813D844 - thumb_func_end BerryPouch_StartFadeToExitCallback - - thumb_func_start sub_813D844 -sub_813D844: @ 813D844 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0813D87C @ =gTasks+0x8 - adds r2, r0, r1 - ldr r0, _0813D880 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813D8A4 - ldrb r0, [r2] - ldr r4, _0813D884 @ =gUnknown_203F37A - subs r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenuTask - ldr r0, _0813D888 @ =gUnknown_203F36C - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _0813D88C - bl SetMainCallback2 - b _0813D896 - .align 2, 0 -_0813D87C: .4byte gTasks+0x8 -_0813D880: .4byte gPaletteFade -_0813D884: .4byte gUnknown_203F37A -_0813D888: .4byte gUnknown_203F36C -_0813D88C: - adds r0, r4, 0 - subs r0, 0xA - ldr r0, [r0] - bl SetMainCallback2 -_0813D896: - bl sub_813D684 - bl sub_813D7CC - adds r0, r5, 0 - bl DestroyTask -_0813D8A4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_813D844 - - thumb_func_start sub_813D8AC -sub_813D8AC: @ 813D8AC - push {r4,lr} - ldr r4, _0813D904 @ =gBagPockets + 0x20 - adds r0, r4, 0 - bl SortAndCompactBagPocket - ldr r3, _0813D908 @ =gUnknown_203F36C - ldr r1, [r3] - movs r0, 0 - strb r0, [r1, 0x7] - movs r2, 0 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _0813D8EE - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _0813D8EE -_0813D8CE: - ldr r0, [r3] - ldrb r1, [r0, 0x7] - adds r1, 0x1 - strb r1, [r0, 0x7] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _0813D8EE - ldr r0, [r4] - lsls r1, r2, 2 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0813D8CE -_0813D8EE: - ldr r0, _0813D90C @ =gUnknown_203F370 - ldrb r0, [r0, 0x4] - cmp r0, 0x5 - beq _0813D910 - ldr r0, _0813D908 @ =gUnknown_203F36C - ldr r1, [r0] - ldrb r1, [r1, 0x7] - adds r2, r1, 0x1 - adds r1, r0, 0 - b _0813D916 - .align 2, 0 -_0813D904: .4byte gBagPockets + 0x20 -_0813D908: .4byte gUnknown_203F36C -_0813D90C: .4byte gUnknown_203F370 -_0813D910: - ldr r1, _0813D924 @ =gUnknown_203F36C - ldr r0, [r1] - ldrb r2, [r0, 0x7] -_0813D916: - cmp r2, 0x7 - bls _0813D928 - ldr r1, [r1] - movs r0, 0x7 - strb r0, [r1, 0x8] - b _0813D92C - .align 2, 0 -_0813D924: .4byte gUnknown_203F36C -_0813D928: - ldr r0, [r1] - strb r2, [r0, 0x8] -_0813D92C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813D8AC - - thumb_func_start BerryPouch_SetExitCallback -BerryPouch_SetExitCallback: @ 813D934 - ldr r1, _0813D93C @ =gUnknown_203F36C - ldr r1, [r1] - str r0, [r1] - bx lr - .align 2, 0 -_0813D93C: .4byte gUnknown_203F36C - thumb_func_end BerryPouch_SetExitCallback - - thumb_func_start sub_813D940 -sub_813D940: @ 813D940 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x14 - adds r6, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0813D9E8 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x8 - bl sub_813EA08 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x2 - ldrsh r0, [r4, r1] - ldr r1, _0813D9EC @ =gStringVar1 - mov r10, r1 - bl sub_813D39C - ldr r0, _0813D9F0 @ =gStringVar4 - mov r9, r0 - adds r1, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [sp] - movs r6, 0x1 - str r6, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0 - mov r8, r1 - str r1, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - mov r2, r9 - movs r3, 0 - bl sub_813E9A0 - movs r0, 0 - bl sub_813EA08 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r0, r10 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, _0813D9F4 @ =gText_TimesStrVar1 - mov r0, r9 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - str r6, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0 - mov r2, r9 - movs r3, 0x4 - bl sub_813E9A0 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813D9E8: .4byte gTasks+0x8 -_0813D9EC: .4byte gStringVar1 -_0813D9F0: .4byte gStringVar4 -_0813D9F4: .4byte gText_TimesStrVar1 - thumb_func_end sub_813D940 - thumb_func_start sub_813D9F8 sub_813D9F8: @ 813D9F8 push {r4-r6,lr} @@ -613,7 +92,7 @@ _0813DA9E: bl ListMenu_ProcessInput adds r5, r0, 0 ldrb r0, [r7] - ldr r4, _0813DAE0 @ =gUnknown_203F37A + ldr r4, _0813DAE0 @ =gUnknown_203F370 + 10 subs r2, r4, 0x2 adds r1, r4, 0 bl ListMenuGetScrollAndRow @@ -637,7 +116,7 @@ _0813DA9E: .align 2, 0 _0813DAD8: .4byte gTasks+0x8 _0813DADC: .4byte gPaletteFade -_0813DAE0: .4byte gUnknown_203F37A +_0813DAE0: .4byte gUnknown_203F370 + 10 _0813DAE4: .4byte gMain _0813DAE8: .4byte gSpecialVar_ItemId _0813DAEC: @@ -1423,7 +902,7 @@ _0813E18A: movs r0, 0x9 bl sub_813EA98 ldrb r0, [r5] - ldr r4, _0813E1F8 @ =gUnknown_203F37A + ldr r4, _0813E1F8 @ =gUnknown_203F370 + 10 subs r2, r4, 0x2 adds r1, r4, 0 bl DestroyListMenuTask @@ -1455,7 +934,7 @@ _0813E1E4: _0813E1EC: .4byte gTasks+0x8 _0813E1F0: .4byte gMain _0813E1F4: .4byte gSpecialVar_ItemId -_0813E1F8: .4byte gUnknown_203F37A +_0813E1F8: .4byte gUnknown_203F370 + 10 _0813E1FC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_813E164 @@ -1565,7 +1044,7 @@ sub_813E2B8: @ 813E2B8 movs r0, 0x5 bl sub_813EACC ldrb r0, [r5] - ldr r4, _0813E318 @ =gUnknown_203F37A + ldr r4, _0813E318 @ =gUnknown_203F370 + 10 subs r2, r4, 0x2 adds r1, r4, 0 bl DestroyListMenuTask @@ -1592,7 +1071,7 @@ sub_813E2B8: @ 813E2B8 bx r0 .align 2, 0 _0813E314: .4byte gTasks+0x8 -_0813E318: .4byte gUnknown_203F37A +_0813E318: .4byte gUnknown_203F370 + 10 _0813E31C: .4byte gMultiuseListMenuTemplate thumb_func_end sub_813E2B8 @@ -2196,7 +1675,7 @@ sub_813E7F0: @ 813E7F0 bl sub_809C09C mov r3, r8 ldrb r0, [r3] - ldr r4, _0813E8C8 @ =gUnknown_203F37A + ldr r4, _0813E8C8 @ =gUnknown_203F370 + 10 subs r2, r4, 0x2 adds r1, r4, 0 bl DestroyListMenuTask @@ -2243,7 +1722,7 @@ sub_813E7F0: @ 813E7F0 _0813E8BC: .4byte gTasks+0x8 _0813E8C0: .4byte gSpecialVar_ItemId _0813E8C4: .4byte gSaveBlock1Ptr -_0813E8C8: .4byte gUnknown_203F37A +_0813E8C8: .4byte gUnknown_203F370 + 10 _0813E8CC: .4byte gMultiuseListMenuTemplate _0813E8D0: .4byte sub_813E8D4 thumb_func_end sub_813E7F0 -- cgit v1.2.3 From 01d42d07f849ea476bad3e80fb75c36806f39382 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Sep 2019 21:40:58 -0400 Subject: Berry Pouch sub_813D9F8 --- asm/berry_pouch.s | 53 ----------------------------------------------------- 1 file changed, 53 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 9d5ecb593..e5828dff3 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,59 +5,6 @@ .text - thumb_func_start sub_813D9F8 -sub_813D9F8: @ 813D9F8 - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - bl sub_813EB10 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _0813DA5C @ =gStringVar1 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - movs r2, 0x2 - adds r3, r5, 0 - bl ConvertIntToDecimalStringN - ldr r4, _0813DA60 @ =gStringVar4 - ldr r1, _0813DA64 @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x4 - bl sub_813E9A0 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813DA5C: .4byte gStringVar1 -_0813DA60: .4byte gStringVar4 -_0813DA64: .4byte gText_TimesStrVar1 - thumb_func_end sub_813D9F8 - thumb_func_start sub_813DA68 sub_813DA68: @ 813DA68 push {r4-r7,lr} -- cgit v1.2.3 From 3766ddcfda811cff3a7c38808c9efe294c33ed7c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 29 Sep 2019 12:48:11 -0400 Subject: berry pouch through sub_813DD74 --- asm/berry_pouch.s | 383 ------------------------------------------------------ 1 file changed, 383 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index e5828dff3..5d3db9265 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,389 +5,6 @@ .text - thumb_func_start sub_813DA68 -sub_813DA68: @ 813DA68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0813DAD8 @ =gTasks+0x8 - adds r7, r0, r1 - ldr r0, _0813DADC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - beq _0813DA90 - b _0813DB9E -_0813DA90: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813DA9E - b _0813DB9E -_0813DA9E: - ldrb r0, [r7] - bl ListMenu_ProcessInput - adds r5, r0, 0 - ldrb r0, [r7] - ldr r4, _0813DAE0 @ =gUnknown_203F370 + 10 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl ListMenuGetScrollAndRow - ldr r0, _0813DAE4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0813DAEC - adds r0, r4, 0 - subs r0, 0xA - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _0813DAEC - movs r0, 0x5 - bl PlaySE - ldr r0, _0813DAE8 @ =gSpecialVar_ItemId - mov r1, r8 - strh r1, [r0] - b _0813DB48 - .align 2, 0 -_0813DAD8: .4byte gTasks+0x8 -_0813DADC: .4byte gPaletteFade -_0813DAE0: .4byte gUnknown_203F370 + 10 -_0813DAE4: .4byte gMain -_0813DAE8: .4byte gSpecialVar_ItemId -_0813DAEC: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0813DAFC - adds r0, 0x1 - cmp r5, r0 - bne _0813DB10 - b _0813DB9E -_0813DAFC: - ldr r0, _0813DB0C @ =gUnknown_203F370 - ldrb r0, [r0, 0x4] - cmp r0, 0x5 - beq _0813DB9E - movs r0, 0x5 - bl PlaySE - b _0813DB42 - .align 2, 0 -_0813DB0C: .4byte gUnknown_203F370 -_0813DB10: - movs r0, 0x5 - bl PlaySE - ldr r3, _0813DB30 @ =gUnknown_203F370 - mov r8, r3 - ldrb r0, [r3, 0x4] - cmp r0, 0x5 - bne _0813DB38 - lsls r1, r5, 16 - lsrs r1, 16 - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - ldr r1, _0813DB34 @ =gSpecialVar_ItemId - b _0813DB46 - .align 2, 0 -_0813DB30: .4byte gUnknown_203F370 -_0813DB34: .4byte gSpecialVar_ItemId -_0813DB38: - ldr r0, _0813DB50 @ =gUnknown_203F36C - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r5, r0 - bne _0813DB58 -_0813DB42: - ldr r1, _0813DB54 @ =gSpecialVar_ItemId - movs r0, 0 -_0813DB46: - strh r0, [r1] -_0813DB48: - adds r0, r6, 0 - bl BerryPouch_StartFadeToExitCallback - b _0813DB9E - .align 2, 0 -_0813DB50: .4byte gUnknown_203F36C -_0813DB54: .4byte gSpecialVar_ItemId -_0813DB58: - bl sub_813D684 - movs r0, 0x1 - bl sub_813D594 - ldrb r0, [r7] - movs r1, 0x2 - bl sub_813D4B0 - strh r5, [r7, 0x2] - lsls r4, r5, 16 - lsrs r4, 16 - movs r0, 0x5 - adds r1, r4, 0 - bl BagGetQuantityByPocketPosition - strh r0, [r7, 0x4] - movs r0, 0x5 - adds r1, r4, 0 - bl BagGetItemIdByPocketPosition - ldr r1, _0813DBA8 @ =gSpecialVar_ItemId - strh r0, [r1] - ldr r0, _0813DBAC @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r2, _0813DBB0 @ =gUnknown_8464358 - mov r3, r8 - ldrb r0, [r3, 0x4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] -_0813DB9E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813DBA8: .4byte gSpecialVar_ItemId -_0813DBAC: .4byte gTasks -_0813DBB0: .4byte gUnknown_8464358 - thumb_func_end sub_813DA68 - - thumb_func_start sub_813DBB4 -sub_813DBB4: @ 813DBB4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_813D594 - bl sub_813D5BC - ldr r1, _0813DBDC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813DBE0 @ =sub_813DA68 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813DBDC: .4byte gTasks -_0813DBE0: .4byte sub_813DA68 - thumb_func_end sub_813DBB4 - - thumb_func_start sub_813DBE4 -sub_813DBE4: @ 813DBE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813DC10 @ =gTasks+0x8 - adds r7, r1, r0 - ldr r0, _0813DC14 @ =gUnknown_203F370 - ldrb r0, [r0, 0x4] - cmp r0, 0x4 - bne _0813DC24 - ldr r1, _0813DC18 @ =gUnknown_203F384 - ldr r0, _0813DC1C @ =gUnknown_84643B0 - str r0, [r1] - ldr r1, _0813DC20 @ =gUnknown_203F388 - movs r0, 0x3 - b _0813DC86 - .align 2, 0 -_0813DC10: .4byte gTasks+0x8 -_0813DC14: .4byte gUnknown_203F370 -_0813DC18: .4byte gUnknown_203F384 -_0813DC1C: .4byte gUnknown_84643B0 -_0813DC20: .4byte gUnknown_203F388 -_0813DC24: - bl MenuHelpers_LinkSomething - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813DC38 - bl InUnionRoom - cmp r0, 0x1 - bne _0813DC7C -_0813DC38: - ldr r0, _0813DC54 @ =gSpecialVar_ItemId - ldrh r0, [r0] - bl sub_80BF6A8 - lsls r0, 24 - cmp r0, 0 - bne _0813DC64 - ldr r1, _0813DC58 @ =gUnknown_203F384 - ldr r0, _0813DC5C @ =gUnknown_84643AC - str r0, [r1] - ldr r1, _0813DC60 @ =gUnknown_203F388 - movs r0, 0x1 - b _0813DC86 - .align 2, 0 -_0813DC54: .4byte gSpecialVar_ItemId -_0813DC58: .4byte gUnknown_203F384 -_0813DC5C: .4byte gUnknown_84643AC -_0813DC60: .4byte gUnknown_203F388 -_0813DC64: - ldr r1, _0813DC70 @ =gUnknown_203F384 - ldr r0, _0813DC74 @ =gUnknown_84643A8 - str r0, [r1] - ldr r1, _0813DC78 @ =gUnknown_203F388 - movs r0, 0x2 - b _0813DC86 - .align 2, 0 -_0813DC70: .4byte gUnknown_203F384 -_0813DC74: .4byte gUnknown_84643A8 -_0813DC78: .4byte gUnknown_203F388 -_0813DC7C: - ldr r1, _0813DD58 @ =gUnknown_203F384 - ldr r0, _0813DD5C @ =gUnknown_84643A4 - str r0, [r1] - ldr r1, _0813DD60 @ =gUnknown_203F388 - movs r0, 0x4 -_0813DC86: - strb r0, [r1] - mov r8, r1 - mov r1, r8 - ldrb r0, [r1] - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - bl sub_813EA08 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x2 - movs r1, 0x2 - bl GetFontAttribute - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - mov r1, r8 - ldrb r0, [r1] - str r0, [sp, 0x8] - ldr r0, _0813DD64 @ =gUnknown_846437C - str r0, [sp, 0xC] - ldr r0, _0813DD58 @ =gUnknown_203F384 - ldr r0, [r0] - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0x2 - bl AddItemMenuActionTextPrinters - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - mov r1, r8 - ldrb r0, [r1] - str r0, [sp, 0x4] - movs r0, 0 - mov r8, r0 - str r0, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0x6 - bl sub_813EA08 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x2 - ldrsh r0, [r7, r1] - ldr r1, _0813DD68 @ =gStringVar1 - bl sub_813D39C - ldr r5, _0813DD6C @ =gStringVar4 - ldr r1, _0813DD70 @ =gOtherText_StrVar1 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r0, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl sub_813E9A0 - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813DD58: .4byte gUnknown_203F384 -_0813DD5C: .4byte gUnknown_84643A4 -_0813DD60: .4byte gUnknown_203F388 -_0813DD64: .4byte gUnknown_846437C -_0813DD68: .4byte gStringVar1 -_0813DD6C: .4byte gStringVar4 -_0813DD70: .4byte gOtherText_StrVar1 - thumb_func_end sub_813DBE4 - - thumb_func_start sub_813DD74 -sub_813DD74: @ 813DD74 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_813DBE4 - ldr r1, _0813DD98 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813DD9C @ =sub_813DDA0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813DD98: .4byte gTasks -_0813DD9C: .4byte sub_813DDA0 - thumb_func_end sub_813DD74 - thumb_func_start sub_813DDA0 sub_813DDA0: @ 813DDA0 push {r4-r6,lr} -- cgit v1.2.3 From e65487716a0afc3c48d712f706783c58cc82676c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 30 Sep 2019 16:59:39 -0400 Subject: berry_pouch through sub_813E2B8 --- asm/berry_pouch.s | 634 ------------------------------------------------------ 1 file changed, 634 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 5d3db9265..e30e12580 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,640 +5,6 @@ .text - thumb_func_start sub_813DDA0 -sub_813DDA0: @ 813DDA0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813DDFE - bl Menu_ProcessInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0813DDFE - adds r0, 0x1 - cmp r4, r0 - bne _0813DDE0 - movs r0, 0x5 - bl PlaySE - ldr r0, _0813DDDC @ =gUnknown_846437C - ldr r1, [r0, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - b _0813DDFE - .align 2, 0 -_0813DDDC: .4byte gUnknown_846437C -_0813DDE0: - movs r0, 0x5 - bl PlaySE - ldr r1, _0813DE04 @ =gUnknown_846437C - ldr r0, _0813DE08 @ =gUnknown_203F384 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 -_0813DDFE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813DE04: .4byte gUnknown_846437C -_0813DE08: .4byte gUnknown_203F384 - thumb_func_end sub_813DDA0 - - thumb_func_start sub_813DE0C -sub_813DE0C: @ 813DE0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0813DE5C @ =gUnknown_203F388 - ldrb r0, [r0] - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - bl sub_813EA98 - movs r0, 0x6 - bl sub_813EA98 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0813DE60 @ =gUnknown_203F370 - ldrb r0, [r0, 0x4] - cmp r0, 0x4 - bne _0813DE78 - ldr r4, _0813DE64 @ =gSpecialVar_ItemId - ldrh r0, [r4] - bl ItemId_GetBattleFunc - cmp r0, 0 - bne _0813DE68 - adds r0, r5, 0 - bl FieldUseFunc_OakStopsYou - b _0813DEB0 - .align 2, 0 -_0813DE5C: .4byte gUnknown_203F388 -_0813DE60: .4byte gUnknown_203F370 -_0813DE64: .4byte gSpecialVar_ItemId -_0813DE68: - ldrh r0, [r4] - bl ItemId_GetBattleFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 - b _0813DEB0 -_0813DE78: - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _0813DEA0 - ldr r0, _0813DE9C @ =gSpecialVar_ItemId - ldrh r0, [r0] - bl ItemId_GetType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813DEA0 - adds r0, r5, 0 - bl sub_813E274 - b _0813DEB0 - .align 2, 0 -_0813DE9C: .4byte gSpecialVar_ItemId -_0813DEA0: - ldr r0, _0813DEB8 @ =gSpecialVar_ItemId - ldrh r0, [r0] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r5, 0 - bl _call_via_r1 -_0813DEB0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813DEB8: .4byte gSpecialVar_ItemId - thumb_func_end sub_813DE0C - - thumb_func_start sub_813DEBC -sub_813DEBC: @ 813DEBC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, _0813DF24 @ =gTasks+0x8 - mov r8, r0 - adds r5, r7, r0 - ldr r4, _0813DF28 @ =gUnknown_203F388 - ldrb r0, [r4] - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - bl sub_813EB10 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - movs r0, 0x6 - bl sub_813EB10 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - ldrb r0, [r4] - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - bl sub_813EA98 - movs r0, 0x6 - bl sub_813EA98 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - strh r0, [r5, 0x10] - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _0813DF2C - adds r0, r6, 0 - bl sub_813DF54 - b _0813DF42 - .align 2, 0 -_0813DF24: .4byte gTasks+0x8 -_0813DF28: .4byte gUnknown_203F388 -_0813DF2C: - ldr r1, _0813DF4C @ =gUnknown_84163DB - adds r0, r6, 0 - bl sub_813D940 - bl sub_813D614 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0813DF50 @ =sub_813E010 - str r1, [r0] -_0813DF42: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813DF4C: .4byte gUnknown_84163DB -_0813DF50: .4byte sub_813E010 - thumb_func_end sub_813DEBC - - thumb_func_start sub_813DF54 -sub_813DF54: @ 813DF54 - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - ldr r0, _0813DFB4 @ =gTasks+0x8 - adds r1, r0 - ldr r0, _0813DFB8 @ =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r1, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r5, _0813DFBC @ =gStringVar4 - ldr r1, _0813DFC0 @ =gUnknown_8416409 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x7 - bl sub_813EA08 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - str r1, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0 - str r1, [sp, 0xC] - str r2, [sp, 0x10] - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl sub_813E9A0 - ldr r1, _0813DFC4 @ =gUnknown_846436C - adds r0, r4, 0 - bl sub_813EB7C - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813DFB4: .4byte gTasks+0x8 -_0813DFB8: .4byte gStringVar2 -_0813DFBC: .4byte gStringVar4 -_0813DFC0: .4byte gUnknown_8416409 -_0813DFC4: .4byte gUnknown_846436C - thumb_func_end sub_813DF54 - - thumb_func_start sub_813DFC8 -sub_813DFC8: @ 813DFC8 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0813E00C @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x7 - bl sub_813EA98 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl sub_813D4B0 - adds r0, r5, 0 - bl sub_813DBB4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813E00C: .4byte gTasks+0x8 - thumb_func_end sub_813DFC8 - - thumb_func_start sub_813E010 -sub_813E010: @ 813E010 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0813E044 @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x10 - ldrh r1, [r4, 0x4] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813E048 - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r0, 0 - movs r2, 0x3 - bl sub_813D9F8 - b _0813E0D4 - .align 2, 0 -_0813E044: .4byte gTasks+0x8 -_0813E048: - ldr r0, _0813E08C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813E090 - movs r0, 0x5 - bl PlaySE - movs r0, 0x8 - bl sub_813EB10 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - movs r0, 0x8 - bl sub_813EA98 - movs r0, 0 - bl sub_813EA98 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - bl sub_813D684 - adds r0, r5, 0 - bl sub_813DF54 - b _0813E0D4 - .align 2, 0 -_0813E08C: .4byte gMain -_0813E090: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813E0D4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x8 - bl sub_813EA98 - movs r0, 0 - bl sub_813EA98 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl sub_813D4B0 - bl sub_813D684 - adds r0, r6, 0 - bl sub_813DBB4 -_0813E0D4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813E010 - - thumb_func_start sub_813E0DC -sub_813E0DC: @ 813E0DC - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, _0813E14C @ =gTasks+0x8 - adds r5, r4, r6 - movs r0, 0x7 - bl sub_813EA98 - movs r1, 0x2 - ldrsh r0, [r5, r1] - ldr r1, _0813E150 @ =gStringVar1 - bl sub_813D39C - ldr r0, _0813E154 @ =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r5, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r5, _0813E158 @ =gStringVar4 - ldr r1, _0813E15C @ =gUnknown_84163F4 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x9 - bl sub_813EA08 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - str r1, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0 - str r1, [sp, 0xC] - str r2, [sp, 0x10] - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl sub_813E9A0 - subs r6, 0x8 - adds r4, r6 - ldr r0, _0813E160 @ =sub_813E164 - str r0, [r4] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813E14C: .4byte gTasks+0x8 -_0813E150: .4byte gStringVar1 -_0813E154: .4byte gStringVar2 -_0813E158: .4byte gStringVar4 -_0813E15C: .4byte gUnknown_84163F4 -_0813E160: .4byte sub_813E164 - thumb_func_end sub_813E0DC - - thumb_func_start sub_813E164 -sub_813E164: @ 813E164 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0813E1EC @ =gTasks+0x8 - adds r5, r0, r1 - ldr r0, _0813E1F0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813E18A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813E1E4 -_0813E18A: - movs r0, 0x5 - bl PlaySE - ldr r0, _0813E1F4 @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldrh r1, [r5, 0x10] - bl RemoveBagItem - movs r0, 0x9 - bl sub_813EA98 - ldrb r0, [r5] - ldr r4, _0813E1F8 @ =gUnknown_203F370 + 10 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenuTask - bl sub_813D8AC - bl sub_813D6F4 - bl sub_813D204 - ldr r0, _0813E1FC @ =gMultiuseListMenuTemplate - subs r4, 0xA - ldrh r1, [r4, 0xA] - ldrh r2, [r4, 0x8] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r5] - movs r1, 0x1 - bl sub_813D4B0 - adds r0, r6, 0 - bl sub_813DBB4 -_0813E1E4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813E1EC: .4byte gTasks+0x8 -_0813E1F0: .4byte gMain -_0813E1F4: .4byte gSpecialVar_ItemId -_0813E1F8: .4byte gUnknown_203F370 + 10 -_0813E1FC: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_813E164 - - thumb_func_start sub_813E200 -sub_813E200: @ 813E200 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813E244 @ =gUnknown_203F388 - ldrb r0, [r0] - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - bl sub_813EA98 - movs r0, 0x6 - bl sub_813EA98 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _0813E248 - adds r0, r4, 0 - bl sub_813E274 - b _0813E25E - .align 2, 0 -_0813E244: .4byte gUnknown_203F388 -_0813E248: - ldr r0, _0813E264 @ =gUnknown_203F36C - ldr r1, [r0] - ldr r0, _0813E268 @ =sub_8126EDC - str r0, [r1] - ldr r1, _0813E26C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813E270 @ =BerryPouch_StartFadeToExitCallback - str r1, [r0] -_0813E25E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E264: .4byte gUnknown_203F36C -_0813E268: .4byte sub_8126EDC -_0813E26C: .4byte gTasks -_0813E270: .4byte BerryPouch_StartFadeToExitCallback - thumb_func_end sub_813E200 - - thumb_func_start sub_813E274 -sub_813E274: @ 813E274 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813E288 @ =gText_ThereIsNoPokemon - ldr r3, _0813E28C @ =sub_813E290 - movs r1, 0x2 - bl DisplayItemMessageInBerryPouch - pop {r0} - bx r0 - .align 2, 0 -_0813E288: .4byte gText_ThereIsNoPokemon -_0813E28C: .4byte sub_813E290 - thumb_func_end sub_813E274 - - thumb_func_start sub_813E290 -sub_813E290: @ 813E290 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813E2B4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813E2AE - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_813E2B8 -_0813E2AE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E2B4: .4byte gMain - thumb_func_end sub_813E290 - - thumb_func_start sub_813E2B8 -sub_813E2B8: @ 813E2B8 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _0813E314 @ =gTasks+0x8 - adds r5, r0 - movs r0, 0x5 - bl sub_813EACC - ldrb r0, [r5] - ldr r4, _0813E318 @ =gUnknown_203F370 + 10 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenuTask - bl sub_813D8AC - bl sub_813D6F4 - bl sub_813D204 - ldr r0, _0813E31C @ =gMultiuseListMenuTemplate - subs r4, 0xA - ldrh r1, [r4, 0xA] - ldrh r2, [r4, 0x8] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r5] - movs r1, 0x1 - bl sub_813D4B0 - adds r0, r6, 0 - bl sub_813DBB4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813E314: .4byte gTasks+0x8 -_0813E318: .4byte gUnknown_203F370 + 10 -_0813E31C: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_813E2B8 - thumb_func_start sub_813E320 sub_813E320: @ 813E320 push {r4,lr} -- cgit v1.2.3 From 64362d3040b3defb722bf72203fda64b96da1e06 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 30 Sep 2019 17:33:57 -0400 Subject: Berry Pouch rodata --- asm/berry_pouch.s | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index e30e12580..f86bff256 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -969,7 +969,7 @@ DisplayItemMessageInBerryPouch: @ 813EB20 ldrb r0, [r4, 0x5] cmp r0, 0xFF bne _0813EB44 - ldr r0, _0813EB78 @ =gUnknown_8464400 + ldr r0, _0813EB78 @ =gUnknown_84643D8 + 0x28 bl AddWindow strb r0, [r4, 0x5] _0813EB44: @@ -996,7 +996,7 @@ _0813EB44: bx r0 .align 2, 0 _0813EB74: .4byte gUnknown_203F38C -_0813EB78: .4byte gUnknown_8464400 +_0813EB78: .4byte gUnknown_84643D8 + 0x28 thumb_func_end DisplayItemMessageInBerryPouch thumb_func_start sub_813EB7C @@ -1006,7 +1006,7 @@ sub_813EB7C: @ 813EB7C adds r3, r1, 0 lsls r0, 24 lsrs r0, 24 - ldr r1, _0813EBA4 @ =gUnknown_84643F0 + ldr r1, _0813EBA4 @ =gUnknown_84643D8 + 0x18 movs r2, 0x2 str r2, [sp] movs r2, 0x1 @@ -1021,7 +1021,7 @@ sub_813EB7C: @ 813EB7C pop {r0} bx r0 .align 2, 0 -_0813EBA4: .4byte gUnknown_84643F0 +_0813EBA4: .4byte gUnknown_84643D8 + 0x18 thumb_func_end sub_813EB7C thumb_func_start sub_813EBA8 @@ -1031,7 +1031,7 @@ sub_813EBA8: @ 813EBA8 adds r3, r1, 0 lsls r0, 24 lsrs r0, 24 - ldr r1, _0813EBD0 @ =gUnknown_84643F8 + ldr r1, _0813EBD0 @ =gUnknown_84643D8 + 0x20 movs r2, 0x2 str r2, [sp] movs r2, 0x1 @@ -1046,7 +1046,7 @@ sub_813EBA8: @ 813EBA8 pop {r0} bx r0 .align 2, 0 -_0813EBD0: .4byte gUnknown_84643F8 +_0813EBD0: .4byte gUnknown_84643D8 + 0x20 thumb_func_end sub_813EBA8 thumb_func_start sub_813EBD4 -- cgit v1.2.3 From 89be71dcb846b1d1eded569db6dd6709cc42201f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 30 Sep 2019 18:06:49 -0400 Subject: berry_pouch through sub_813E8D4 --- asm/berry_pouch.s | 684 ------------------------------------------------------ 1 file changed, 684 deletions(-) (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index f86bff256..82ce14f9d 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -5,690 +5,6 @@ .text - thumb_func_start sub_813E320 -sub_813E320: @ 813E320 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813E374 @ =gUnknown_203F388 - ldrb r0, [r0] - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - bl sub_813EA98 - movs r0, 0x6 - bl sub_813EA98 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - ldr r1, _0813E378 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - movs r1, 0x1 - bl sub_813D4B0 - adds r0, r4, 0 - bl sub_813DBB4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E374: .4byte gUnknown_203F388 -_0813E378: .4byte gTasks - thumb_func_end sub_813E320 - - thumb_func_start sub_813E37C -sub_813E37C: @ 813E37C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _0813E3C4 @ =gTasks+0x8 - adds r0, r6, r7 - ldrh r1, [r0, 0x2] - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl sub_80BF6A8 - lsls r0, 24 - cmp r0, 0 - bne _0813E3D8 - ldr r1, _0813E3C8 @ =gStringVar1 - adds r0, r4, 0 - bl CopyItemName - ldr r4, _0813E3CC @ =gStringVar4 - ldr r1, _0813E3D0 @ =gUnknown_8416374 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, _0813E3D4 @ =sub_813E290 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl DisplayItemMessageInBerryPouch - b _0813E3EA - .align 2, 0 -_0813E3C4: .4byte gTasks+0x8 -_0813E3C8: .4byte gStringVar1 -_0813E3CC: .4byte gStringVar4 -_0813E3D0: .4byte gUnknown_8416374 -_0813E3D4: .4byte sub_813E290 -_0813E3D8: - ldr r0, _0813E3F0 @ =gUnknown_203F36C - ldr r1, [r0] - ldr r0, _0813E3F4 @ =c2_8123744 - str r0, [r1] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813E3F8 @ =BerryPouch_StartFadeToExitCallback - str r1, [r0] -_0813E3EA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813E3F0: .4byte gUnknown_203F36C -_0813E3F4: .4byte c2_8123744 -_0813E3F8: .4byte BerryPouch_StartFadeToExitCallback - thumb_func_end sub_813E37C - - thumb_func_start sub_813E3FC -sub_813E3FC: @ 813E3FC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813E418 @ =gUnknown_203F36C - ldr r2, [r1] - ldr r1, _0813E41C @ =sub_808CE60 - str r1, [r2] - ldr r2, _0813E420 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0813E424 @ =BerryPouch_StartFadeToExitCallback - str r0, [r1] - bx lr - .align 2, 0 -_0813E418: .4byte gUnknown_203F36C -_0813E41C: .4byte sub_808CE60 -_0813E420: .4byte gTasks -_0813E424: .4byte BerryPouch_StartFadeToExitCallback - thumb_func_end sub_813E3FC - - thumb_func_start sub_813E428 -sub_813E428: @ 813E428 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0813E470 @ =gTasks+0x8 - adds r4, r0, r1 - ldr r6, _0813E474 @ =gSpecialVar_ItemId - ldrh r0, [r6] - bl itemid_get_market_price - lsls r0, 16 - cmp r0, 0 - bne _0813E488 - ldrh r0, [r6] - ldr r1, _0813E478 @ =gStringVar1 - bl CopyItemName - ldr r4, _0813E47C @ =gStringVar4 - ldr r1, _0813E480 @ =gText_OhNoICantBuyThat - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0813E484 @ =sub_813E2B8 - adds r0, r5, 0 - adds r2, r4, 0 - bl DisplayItemMessageInBerryPouch - b _0813E4CE - .align 2, 0 -_0813E470: .4byte gTasks+0x8 -_0813E474: .4byte gSpecialVar_ItemId -_0813E478: .4byte gStringVar1 -_0813E47C: .4byte gStringVar4 -_0813E480: .4byte gText_OhNoICantBuyThat -_0813E484: .4byte sub_813E2B8 -_0813E488: - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _0813E4A0 - bl sub_813EBD4 - adds r0, r5, 0 - bl sub_813E4E4 - b _0813E4CE -_0813E4A0: - cmp r0, 0x63 - ble _0813E4A8 - movs r0, 0x63 - strh r0, [r4, 0x4] -_0813E4A8: - ldrh r0, [r6] - ldr r1, _0813E4D4 @ =gStringVar1 - bl CopyItemName - ldr r4, _0813E4D8 @ =gStringVar4 - ldr r1, _0813E4DC @ =gText_HowManyWouldYouLikeToSell - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0813E4E0 @ =sub_813E5B8 - adds r0, r7, 0 - adds r2, r4, 0 - bl DisplayItemMessageInBerryPouch -_0813E4CE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813E4D4: .4byte gStringVar1 -_0813E4D8: .4byte gStringVar4 -_0813E4DC: .4byte gText_HowManyWouldYouLikeToSell -_0813E4E0: .4byte sub_813E5B8 - thumb_func_end sub_813E428 - - thumb_func_start sub_813E4E4 -sub_813E4E4: @ 813E4E4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0813E540 @ =gTasks+0x8 - adds r4, r0 - ldr r6, _0813E544 @ =gStringVar3 - ldrh r1, [r4, 0x2] - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _0813E548 @ =gStringVar4 - ldr r1, _0813E54C @ =gText_ICanPayThisMuch_WouldThatBeOkay - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0813E550 @ =sub_813E554 - adds r0, r5, 0 - adds r2, r4, 0 - bl DisplayItemMessageInBerryPouch - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813E540: .4byte gTasks+0x8 -_0813E544: .4byte gStringVar3 -_0813E548: .4byte gStringVar4 -_0813E54C: .4byte gText_ICanPayThisMuch_WouldThatBeOkay -_0813E550: .4byte sub_813E554 - thumb_func_end sub_813E4E4 - - thumb_func_start sub_813E554 -sub_813E554: @ 813E554 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813E564 @ =gUnknown_8464374 - bl sub_813EBA8 - pop {r0} - bx r0 - .align 2, 0 -_0813E564: .4byte gUnknown_8464374 - thumb_func_end sub_813E554 - - thumb_func_start sub_813E568 -sub_813E568: @ 813E568 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0813E5B4 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x2 - bl sub_813EA98 - movs r0, 0x5 - bl sub_813EACC - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl sub_813D4B0 - adds r0, r5, 0 - bl sub_813DBB4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813E5B4: .4byte gTasks+0x8 - thumb_func_end sub_813E568 - - thumb_func_start sub_813E5B8 -sub_813E5B8: @ 813E5B8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r5, r0, 2 - adds r5, r0 - lsls r5, 3 - ldr r6, _0813E654 @ =gTasks+0x8 - adds r0, r5, r6 - mov r9, r0 - movs r0, 0x1 - bl sub_813EA08 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813E658 @ =gStringVar1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r2, _0813E65C @ =gStringVar4 - mov r8, r2 - ldr r1, _0813E660 @ =gText_TimesStrVar1 - mov r0, r8 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0 - mov r2, r8 - movs r3, 0x4 - bl sub_813E9A0 - mov r3, r9 - ldrh r1, [r3, 0x2] - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r2, r9 - movs r3, 0x10 - ldrsh r1, [r2, r3] - muls r0, r1 - bl sub_813E668 - bl sub_813EBD4 - bl sub_813D64C - subs r6, 0x8 - adds r5, r6 - ldr r0, _0813E664 @ =sub_813E690 - str r0, [r5] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813E654: .4byte gTasks+0x8 -_0813E658: .4byte gStringVar1 -_0813E65C: .4byte gStringVar4 -_0813E660: .4byte gText_TimesStrVar1 -_0813E664: .4byte sub_813E690 - thumb_func_end sub_813E5B8 - - thumb_func_start sub_813E668 -sub_813E668: @ 813E668 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0x1 - bl sub_813EB10 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - str r1, [sp] - movs r1, 0x38 - movs r2, 0xA - adds r3, r4, 0 - bl PrintMoneyAmount - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813E668 - - thumb_func_start sub_813E690 -sub_813E690: @ 813E690 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0813E6E0 @ =gTasks+0x8 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x10 - ldrh r1, [r5, 0x4] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813E6E4 - movs r0, 0x10 - ldrsh r1, [r5, r0] - movs r0, 0x1 - movs r2, 0x2 - bl sub_813D9F8 - ldrh r1, [r5, 0x2] - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r5, r2] - muls r0, r1 - bl sub_813E668 - b _0813E762 - .align 2, 0 -_0813E6E0: .4byte gTasks+0x8 -_0813E6E4: - ldr r0, _0813E714 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813E718 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_813EA98 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_813D684 - adds r0, r4, 0 - bl sub_813E4E4 - b _0813E762 - .align 2, 0 -_0813E714: .4byte gMain -_0813E718: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813E762 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_813EA98 - movs r0, 0x2 - bl sub_813EA98 - movs r0, 0x5 - bl sub_813EACC - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_813D684 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_813D4B0 - adds r0, r6, 0 - bl sub_813DBB4 -_0813E762: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813E690 - - thumb_func_start sub_813E768 -sub_813E768: @ 813E768 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0813E7D4 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0813E7D8 @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _0813E7DC @ =gStringVar1 - bl CopyItemName - ldr r6, _0813E7E0 @ =gStringVar3 - ldrh r1, [r4, 0x2] - movs r0, 0x5 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _0813E7E4 @ =gStringVar4 - ldr r1, _0813E7E8 @ =gText_TurnedOverItemsWorthYen - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, _0813E7EC @ =sub_813E7F0 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl DisplayItemMessageInBerryPouch - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813E7D4: .4byte gTasks+0x8 -_0813E7D8: .4byte gSpecialVar_ItemId -_0813E7DC: .4byte gStringVar1 -_0813E7E0: .4byte gStringVar3 -_0813E7E4: .4byte gStringVar4 -_0813E7E8: .4byte gText_TurnedOverItemsWorthYen -_0813E7EC: .4byte sub_813E7F0 - thumb_func_end sub_813E768 - - thumb_func_start sub_813E7F0 -sub_813E7F0: @ 813E7F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r6, r0, 2 - adds r6, r0 - lsls r6, 3 - ldr r0, _0813E8BC @ =gTasks+0x8 - mov r9, r0 - adds r1, r6, 0 - add r1, r9 - mov r8, r1 - movs r0, 0xF8 - bl PlaySE - ldr r5, _0813E8C0 @ =gSpecialVar_ItemId - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - bl RemoveBagItem - ldr r7, _0813E8C4 @ =gSaveBlock1Ptr - ldr r4, [r7] - movs r3, 0xA4 - lsls r3, 2 - mov r10, r3 - add r4, r10 - ldrh r0, [r5] - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r2, r8 - movs r3, 0x10 - ldrsh r1, [r2, r3] - muls r1, r0 - adds r0, r4, 0 - bl AddMoney - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - movs r2, 0x2 - bl sub_809C09C - mov r3, r8 - ldrb r0, [r3] - ldr r4, _0813E8C8 @ =gUnknown_203F370 + 10 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl DestroyListMenuTask - bl sub_813D8AC - bl sub_813D6F4 - bl sub_813D204 - ldr r0, _0813E8CC @ =gMultiuseListMenuTemplate - subs r4, 0xA - ldrh r1, [r4, 0xA] - ldrh r2, [r4, 0x8] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1] - movs r1, 0x2 - bl sub_813D4B0 - movs r0, 0x2 - bl sub_813EB10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, [r7] - add r0, r10 - bl GetMoney - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - bl PrintMoneyAmountInMoneyBox - movs r2, 0x8 - negs r2, r2 - add r9, r2 - add r6, r9 - ldr r0, _0813E8D0 @ =sub_813E8D4 - str r0, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813E8BC: .4byte gTasks+0x8 -_0813E8C0: .4byte gSpecialVar_ItemId -_0813E8C4: .4byte gSaveBlock1Ptr -_0813E8C8: .4byte gUnknown_203F370 + 10 -_0813E8CC: .4byte gMultiuseListMenuTemplate -_0813E8D0: .4byte sub_813E8D4 - thumb_func_end sub_813E7F0 - - thumb_func_start sub_813E8D4 -sub_813E8D4: @ 813E8D4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813E90C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813E8EE - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813E906 -_0813E8EE: - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - bl sub_813EA98 - movs r0, 0x2 - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_813E2B8 -_0813E906: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E90C: .4byte gMain - thumb_func_end sub_813E8D4 - thumb_func_start sub_813E910 sub_813E910: @ 813E910 push {r4,lr} -- cgit v1.2.3 From 8eea5b6d750a629c14a152c240f84b02b5e4f0c6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 30 Sep 2019 19:47:38 -0400 Subject: Finish berry_pouch code decomp --- asm/berry_pouch.s | 466 ------------------------------------------------------ 1 file changed, 466 deletions(-) delete mode 100644 asm/berry_pouch.s (limited to 'asm') diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s deleted file mode 100644 index 82ce14f9d..000000000 --- a/asm/berry_pouch.s +++ /dev/null @@ -1,466 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_813E910 -sub_813E910: @ 813E910 - push {r4,lr} - ldr r0, _0813E994 @ =gUnknown_84643B8 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x1 - movs r2, 0xE0 - bl TextWindow_SetUserSelectedFrame - movs r0, 0 - movs r1, 0x13 - movs r2, 0xD0 - bl TextWindow_LoadResourcesStdFrame0 - movs r0, 0 - movs r1, 0xA - movs r2, 0xC0 - bl TextWindow_SetStdFrame0_WithPal - ldr r0, _0813E998 @ =gTMCaseMainWindowPalette - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_0813E946: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813E946 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r4, 0 - ldr r3, _0813E99C @ =gUnknown_203F38C - movs r2, 0xFF -_0813E97C: - adds r0, r4, r3 - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xD - bls _0813E97C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E994: .4byte gUnknown_84643B8 -_0813E998: .4byte gTMCaseMainWindowPalette -_0813E99C: .4byte gUnknown_203F38C - thumb_func_end sub_813E910 - - thumb_func_start sub_813E9A0 -sub_813E9A0: @ 813E9A0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r3 - ldr r3, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r6, [sp, 0x38] - ldr r5, [sp, 0x3C] - mov r8, r5 - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - lsls r7, 24 - lsrs r7, 24 - mov r9, r7 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, _0813EA04 @ =gUnknown_8464448 - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r2, [sp, 0x10] - mov r2, r9 - bl AddTextPrinterParameterized4 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813EA04: .4byte gUnknown_8464448 - thumb_func_end sub_813E9A0 - - thumb_func_start sub_813EA08 -sub_813EA08: @ 813EA08 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813EA4C @ =gUnknown_203F38C - adds r5, r4, r0 - ldrb r0, [r5] - cmp r0, 0xFF - bne _0813EA6C - lsls r0, r4, 3 - ldr r1, _0813EA50 @ =gUnknown_84643D8 - adds r0, r1 - bl AddWindow - strb r0, [r5] - cmp r4, 0x2 - beq _0813EA38 - cmp r4, 0x6 - beq _0813EA38 - cmp r4, 0x7 - beq _0813EA38 - cmp r4, 0x8 - beq _0813EA38 - cmp r4, 0x9 - bne _0813EA54 -_0813EA38: - ldr r0, _0813EA4C @ =gUnknown_203F38C - adds r0, r4, r0 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0xA - movs r3, 0xC - bl DrawStdFrameWithCustomTileAndPalette - b _0813EA60 - .align 2, 0 -_0813EA4C: .4byte gUnknown_203F38C -_0813EA50: .4byte gUnknown_84643D8 -_0813EA54: - ldrb r0, [r5] - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl DrawStdFrameWithCustomTileAndPalette -_0813EA60: - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0813EA74 @ =gUnknown_203F38C - adds r0, r4, r0 - ldrb r0, [r0] -_0813EA6C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0813EA74: .4byte gUnknown_203F38C - thumb_func_end sub_813EA08 - - thumb_func_start sub_813EA78 -sub_813EA78: @ 813EA78 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813EA94 @ =gUnknown_203F38C - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0x1 - movs r3, 0xE - bl DrawStdFrameWithCustomTileAndPalette - pop {r0} - bx r0 - .align 2, 0 -_0813EA94: .4byte gUnknown_203F38C - thumb_func_end sub_813EA78 - - thumb_func_start sub_813EA98 -sub_813EA98: @ 813EA98 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813EAC8 @ =gUnknown_203F38C - adds r4, r0 - ldrb r0, [r4] - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EAC8: .4byte gUnknown_203F38C - thumb_func_end sub_813EA98 - - thumb_func_start sub_813EACC -sub_813EACC: @ 813EACC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813EB0C @ =gUnknown_203F38C - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - beq _0813EB04 - movs r1, 0 - bl ClearDialogWindowAndFrameToTransparent - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r0, 0xFF - strb r0, [r4] -_0813EB04: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EB0C: .4byte gUnknown_203F38C - thumb_func_end sub_813EACC - - thumb_func_start sub_813EB10 -sub_813EB10: @ 813EB10 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813EB1C @ =gUnknown_203F38C - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0813EB1C: .4byte gUnknown_203F38C - thumb_func_end sub_813EB10 - - thumb_func_start DisplayItemMessageInBerryPouch -DisplayItemMessageInBerryPouch: @ 813EB20 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r2, 0 - mov r8, r3 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _0813EB74 @ =gUnknown_203F38C - ldrb r0, [r4, 0x5] - cmp r0, 0xFF - bne _0813EB44 - ldr r0, _0813EB78 @ =gUnknown_84643D8 + 0x28 - bl AddWindow - strb r0, [r4, 0x5] -_0813EB44: - bl GetTextSpeedSetting - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x5] - str r5, [sp] - str r0, [sp, 0x4] - str r7, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r2, 0x13 - movs r3, 0xD - bl DisplayMessageAndContinueTask - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813EB74: .4byte gUnknown_203F38C -_0813EB78: .4byte gUnknown_84643D8 + 0x28 - thumb_func_end DisplayItemMessageInBerryPouch - - thumb_func_start sub_813EB7C -sub_813EB7C: @ 813EB7C - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813EBA4 @ =gUnknown_84643D8 + 0x18 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x2 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0813EBA4: .4byte gUnknown_84643D8 + 0x18 - thumb_func_end sub_813EB7C - - thumb_func_start sub_813EBA8 -sub_813EBA8: @ 813EBA8 - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813EBD0 @ =gUnknown_84643D8 + 0x20 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x2 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0813EBD0: .4byte gUnknown_84643D8 + 0x20 - thumb_func_end sub_813EBA8 - - thumb_func_start sub_813EBD4 -sub_813EBD4: @ 813EBD4 - push {r4,lr} - movs r0, 0x2 - bl sub_813EA08 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813EC04 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - bl GetMoney - adds r3, r0, 0 - adds r0, r4, 0 - movs r1, 0xA - movs r2, 0xC - bl PrintMoneyAmountInMoneyBoxWithBorder - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EC04: .4byte gSaveBlock1Ptr - thumb_func_end sub_813EBD4 - - thumb_func_start sub_813EC08 -sub_813EC08: @ 813EC08 - push {lr} - ldr r0, _0813EC20 @ =gUnknown_84644B8 - movs r1, 0x28 - movs r2, 0x4C - movs r3, 0 - bl CreateSprite - ldr r1, _0813EC24 @ =gUnknown_203F39C - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0813EC20: .4byte gUnknown_84644B8 -_0813EC24: .4byte gUnknown_203F39C - thumb_func_end sub_813EC08 - - thumb_func_start sub_813EC28 -sub_813EC28: @ 813EC28 - push {r4,lr} - ldr r0, _0813EC58 @ =gUnknown_203F39C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0813EC5C @ =gSprites - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0813EC52 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _0813EC60 @ =sub_813EC64 - str r0, [r4, 0x1C] -_0813EC52: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EC58: .4byte gUnknown_203F39C -_0813EC5C: .4byte gSprites -_0813EC60: .4byte sub_813EC64 - thumb_func_end sub_813EC28 - - thumb_func_start sub_813EC64 -sub_813EC64: @ 813EC64 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0813EC80 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _0813EC88 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0813EC80: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EC88: .4byte SpriteCallbackDummy - thumb_func_end sub_813EC64 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From beedb8d73f40b045906f521b48f40367697b6ebb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 30 Sep 2019 20:58:29 -0400 Subject: Tidy global namespace and document --- asm/item_menu.s | 18 +++++++++--------- asm/new_game.s | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'asm') diff --git a/asm/item_menu.s b/asm/item_menu.s index 46fa08f33..e58abf87f 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -3922,7 +3922,7 @@ sub_8109CC0: @ 8109CC0 _08109D14: .4byte gTasks+0x8 _08109D18: ldrh r0, [r4, 0x2] - ldr r1, _08109D30 @ =gUnknown_84163DB + ldr r1, _08109D30 @ =gText_TossOutHowManyStrVar1s bl sub_810971C adds r0, r7, 0 subs r0, 0x8 @@ -3934,7 +3934,7 @@ _08109D2A: pop {r0} bx r0 .align 2, 0 -_08109D30: .4byte gUnknown_84163DB +_08109D30: .4byte gText_TossOutHowManyStrVar1s _08109D34: .4byte sub_8109DEC thumb_func_end sub_8109CC0 @@ -3957,7 +3957,7 @@ sub_8109D38: @ 8109D38 movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r5, _08109DA4 @ =gStringVar4 - ldr r1, _08109DA8 @ =gUnknown_8416409 + ldr r1, _08109DA8 @ =gText_ThrowAwayStrVar2OfThisItemQM adds r0, r5, 0 bl StringExpandPlaceholders movs r0, 0x6 @@ -3988,7 +3988,7 @@ sub_8109D38: @ 8109D38 _08109D9C: .4byte gTasks+0x8 _08109DA0: .4byte gStringVar2 _08109DA4: .4byte gStringVar4 -_08109DA8: .4byte gUnknown_8416409 +_08109DA8: .4byte gText_ThrowAwayStrVar2OfThisItemQM _08109DAC: .4byte gUnknown_8452F50 thumb_func_end sub_8109D38 @@ -4133,7 +4133,7 @@ sub_8109EA8: @ 8109EA8 movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r6, _08109F38 @ =gStringVar4 - ldr r1, _08109F3C @ =gUnknown_84163F4 + ldr r1, _08109F3C @ =gText_ThrewAwayStrVar2StrVar1s adds r0, r6, 0 bl StringExpandPlaceholders movs r0, 0x6 @@ -4167,7 +4167,7 @@ _08109F2C: .4byte gUnknown_203ACFC _08109F30: .4byte gStringVar1 _08109F34: .4byte gStringVar2 _08109F38: .4byte gStringVar4 -_08109F3C: .4byte gUnknown_84163F4 +_08109F3C: .4byte gText_ThrewAwayStrVar2StrVar1s _08109F40: .4byte sub_8109F44 thumb_func_end sub_8109EA8 @@ -4706,7 +4706,7 @@ _0810A3C4: .4byte gUnknown_841630F _0810A3C8: .4byte sub_810A1D0 _0810A3CC: movs r0, 0xB6 - lsls r0, 1 + lsls r0, 1 @ ITEM_TM_CASE cmp r4, r0 bne _0810A3DC ldr r0, _0810A3D8 @ =sub_810A434 @@ -4714,7 +4714,7 @@ _0810A3CC: .align 2, 0 _0810A3D8: .4byte sub_810A434 _0810A3DC: - ldr r0, _0810A3F0 @ =0x0000016d + ldr r0, _0810A3F0 @ =ITEM_BERRY_POUCH cmp r4, r0 bne _0810A3F8 ldr r0, _0810A3F4 @ =sub_810A448 @@ -4724,7 +4724,7 @@ _0810A3E4: bl ItemMenu_StartFadeToExitCallback b _0810A426 .align 2, 0 -_0810A3F0: .4byte 0x0000016d +_0810A3F0: .4byte 0x0000016d @ ITEM_BERRY_POUCH _0810A3F4: .4byte sub_810A448 _0810A3F8: mov r1, r8 diff --git a/asm/new_game.s b/asm/new_game.s index e2b9c876f..15c06e8eb 100644 --- a/asm/new_game.s +++ b/asm/new_game.s @@ -184,7 +184,7 @@ ResetMenuAndMonGlobals: @ 8054A28 bl ZeroEnemyPartyMons bl sub_81089BC bl ResetTMCaseCursorPos - bl sub_813D6E4 + bl BerryPouch_CursorResetToTop bl sub_811089C bl Random lsls r0, 16 -- cgit v1.2.3 From afd5f1f52f7a2b74e9850892aef118292a45df8e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 2 Oct 2019 21:26:01 -0400 Subject: itemfinder through sub_813F004 --- asm/itemfinder.s | 521 +------------------------------------------------------ 1 file changed, 4 insertions(+), 517 deletions(-) (limited to 'asm') diff --git a/asm/itemfinder.s b/asm/itemfinder.s index 8a2dec9de..fbf0a8578 100644 --- a/asm/itemfinder.s +++ b/asm/itemfinder.s @@ -5,519 +5,6 @@ .text - thumb_func_start sub_813EC8C -sub_813EC8C: @ 813EC8C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r7, _0813ECE0 @ =gMapHeader - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r3, r0, 3 - ldr r5, _0813ECE4 @ =gTasks+0x8 - adds r6, r1, 0 - movs r1, 0 -_0813ECA2: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r5 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xF - bls _0813ECA2 - ldr r0, [r7, 0x4] - adds r1, r4, 0 - bl sub_813EE14 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813ECFC - bl sub_813F3EC - ldr r0, _0813ECE8 @ =gTasks - adds r1, r6, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x14 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _0813ECF0 - ldr r0, _0813ECEC @ =sub_813EDB0 - str r0, [r1] - b _0813ED08 - .align 2, 0 -_0813ECE0: .4byte gMapHeader -_0813ECE4: .4byte gTasks+0x8 -_0813ECE8: .4byte gTasks -_0813ECEC: .4byte sub_813EDB0 -_0813ECF0: - ldr r0, _0813ECF8 @ =sub_813ED3C - str r0, [r1] - b _0813ED08 - .align 2, 0 -_0813ECF8: .4byte sub_813ED3C -_0813ECFC: - ldr r2, _0813ED10 @ =gUnknown_8416513 - ldr r3, _0813ED14 @ =sub_813ED18 - adds r0, r4, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField -_0813ED08: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813ED10: .4byte gUnknown_8416513 -_0813ED14: .4byte sub_813ED18 - thumb_func_end sub_813EC8C - - thumb_func_start sub_813ED18 -sub_813ED18: @ 813ED18 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - bl sub_80696C0 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813ED18 - - thumb_func_start sub_813ED3C -sub_813ED3C: @ 813ED3C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0813ED80 @ =gTasks+0x8 - adds r4, r6, r7 - movs r1, 0x6 - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0813EDA2 - movs r2, 0 - ldrsh r0, [r4, r2] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl GetPlayerDirectionTowardsHiddenItem - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813ED88 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813ED84 @ =sub_813F364 - str r1, [r0] - b _0813EDA8 - .align 2, 0 -_0813ED80: .4byte gTasks+0x8 -_0813ED84: .4byte sub_813F364 -_0813ED88: - movs r0, 0x41 - bl PlaySE - ldrb r0, [r4, 0xA] - adds r1, r5, 0 - bl sub_813F40C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] -_0813EDA2: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0813EDA8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813ED3C - - thumb_func_start sub_813EDB0 -sub_813EDB0: @ 813EDB0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, _0813EDE4 @ =gTasks+0x8 - adds r4, r5, r6 - movs r1, 0x6 - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0813EE08 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813EDEC - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _0813EDE8 @ =sub_813F3A8 - str r1, [r0] - b _0813EE0E - .align 2, 0 -_0813EDE4: .4byte gTasks+0x8 -_0813EDE8: .4byte sub_813F3A8 -_0813EDEC: - movs r0, 0x41 - bl PlaySE - bl sub_813F5AC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xE] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] -_0813EE08: - ldrh r0, [r4, 0x6] - adds r0, 0x1 - strh r0, [r4, 0x6] -_0813EE0E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813EDB0 - - thumb_func_start sub_813EE14 -sub_813EE14: @ 813EE14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldr r1, _0813EEC8 @ =gTasks - mov r2, r9 - lsls r0, r2, 2 - add r0, r9 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - movs r3, 0 - mov r0, r8 - ldrb r0, [r0, 0x3] - cmp r3, r0 - bge _0813EF04 -_0813EE4E: - lsls r3, 16 - asrs r1, r3, 16 - mov r0, r8 - ldr r2, [r0, 0x10] - lsls r0, r1, 1 - adds r0, r1 - lsls r7, r0, 2 - adds r1, r7, r2 - ldrb r0, [r1, 0x5] - mov r10, r3 - cmp r0, 0x7 - bne _0813EEF2 - ldr r0, [r1, 0x8] - movs r1, 0x1 - bl sub_80CC44C - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813EEF2 - mov r1, r8 - ldr r2, [r1, 0x10] - adds r2, r7, r2 - ldrh r0, [r2] - adds r0, 0x7 - mov r1, sp - ldrh r1, [r1] - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r2, 0x2] - adds r0, 0x7 - mov r3, sp - ldrh r1, [r3, 0x2] - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - ldr r0, [r2, 0x8] - movs r1, 0x3 - bl sub_80CC44C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0813EECC - cmp r5, 0 - bne _0813EEF2 - cmp r4, 0 - bne _0813EEF2 - mov r1, r8 - ldr r0, [r1, 0x10] - adds r0, r7, r0 - ldr r1, [r0, 0x8] - mov r0, r9 - bl sub_813EF40 - b _0813EF2E - .align 2, 0 -_0813EEC8: .4byte gTasks -_0813EECC: - lsls r0, r5, 16 - asrs r1, r0, 16 - movs r2, 0xE0 - lsls r2, 11 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0xE - bhi _0813EEF2 - lsls r0, r6, 16 - asrs r2, r0, 16 - movs r3, 0x5 - negs r3, r3 - cmp r2, r3 - blt _0813EEF2 - cmp r2, 0x5 - bgt _0813EEF2 - mov r0, r9 - bl sub_813F220 -_0813EEF2: - movs r0, 0x80 - lsls r0, 9 - add r0, r10 - lsrs r3, r0, 16 - asrs r0, 16 - mov r1, r8 - ldrb r1, [r1, 0x3] - cmp r0, r1 - blt _0813EE4E -_0813EF04: - mov r0, r9 - bl sub_813F108 - ldr r0, _0813EF24 @ =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x1 - beq _0813EF28 - movs r0, 0 - b _0813EF30 - .align 2, 0 -_0813EF24: .4byte gTasks -_0813EF28: - mov r0, r9 - bl sub_813EF9C -_0813EF2E: - movs r0, 0x1 -_0813EF30: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_813EE14 - - thumb_func_start sub_813EF40 -sub_813EF40: @ 813EF40 - push {r4,r5,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0813EF8C @ =gTasks+0x8 - adds r4, r0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80CC44C - ldr r1, _0813EF90 @ =gSpecialVar_0x8004 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0 - bl sub_80CC44C - ldr r1, _0813EF94 @ =gSpecialVar_0x8005 - strh r0, [r1] - ldr r0, _0813EF98 @ =gSpecialVar_0x8006 - movs r5, 0x1 - strh r5, [r0] - ldrh r1, [r1] - movs r0, 0 - bl TV_PrintIntToStringVar - strh r5, [r4, 0x4] - movs r0, 0 - strh r0, [r4] - strh r0, [r4, 0x2] - movs r0, 0x3 - strh r0, [r4, 0x8] - strh r5, [r4, 0xC] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813EF8C: .4byte gTasks+0x8 -_0813EF90: .4byte gSpecialVar_0x8004 -_0813EF94: .4byte gSpecialVar_0x8005 -_0813EF98: .4byte gSpecialVar_0x8006 - thumb_func_end sub_813EF40 - - thumb_func_start sub_813EF9C -sub_813EF9C: @ 813EF9C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813EFEC @ =gTasks+0x8 - adds r1, r0 - ldrh r3, [r1, 0x2] - ldrh r2, [r1] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _0813EFBC - cmp r3, 0 - beq _0813EFF8 -_0813EFBC: - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _0813EFCA - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 -_0813EFCA: - movs r4, 0x2 - ldrsh r0, [r1, r4] - cmp r0, 0 - bge _0813EFD8 - negs r0, r0 - lsls r0, 16 - lsrs r3, r0, 16 -_0813EFD8: - lsls r0, r2, 16 - asrs r2, r0, 16 - lsls r0, r3, 16 - asrs r0, 16 - cmp r2, r0 - ble _0813EFF0 - cmp r2, 0x3 - ble _0813EFF8 - movs r0, 0x2 - b _0813EFFA - .align 2, 0 -_0813EFEC: .4byte gTasks+0x8 -_0813EFF0: - cmp r0, 0x3 - ble _0813EFF8 - movs r0, 0x2 - b _0813EFFA -_0813EFF8: - movs r0, 0x4 -_0813EFFA: - strh r0, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813EF9C - - thumb_func_start sub_813F004 -sub_813F004: @ 813F004 - push {r4,r5,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldrb r5, [r0, 0x3] - ldr r4, [r0, 0x10] - movs r3, 0 - cmp r3, r5 - bge _0813F066 - lsls r0, r1, 16 - asrs r1, r0, 16 - lsls r0, r2, 16 - asrs r2, r0, 16 -_0813F020: - ldrb r0, [r4, 0x5] - cmp r0, 0x7 - bne _0813F05E - ldrh r0, [r4] - cmp r1, r0 - bne _0813F05E - ldrh r0, [r4, 0x2] - cmp r2, r0 - bne _0813F05E - ldr r0, [r4, 0x8] - movs r1, 0x1 - bl sub_80CC44C - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [r4, 0x8] - movs r1, 0x3 - bl sub_80CC44C - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _0813F066 - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0813F066 - movs r0, 0x1 - b _0813F068 -_0813F05E: - adds r4, 0xC - adds r3, 0x1 - cmp r3, r5 - blt _0813F020 -_0813F066: - movs r0, 0 -_0813F068: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813F004 - thumb_func_start sub_813F070 sub_813F070: @ 813F070 push {r4-r6,lr} @@ -950,14 +437,14 @@ sub_813F364: @ 813F364 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0813F378 @ =gUnknown_8416476 + ldr r2, _0813F378 @ =gText_ItemfinderResponding ldr r3, _0813F37C @ =sub_813F380 movs r1, 0x2 bl DisplayItemMessageOnField pop {r0} bx r0 .align 2, 0 -_0813F378: .4byte gUnknown_8416476 +_0813F378: .4byte gText_ItemfinderResponding _0813F37C: .4byte sub_813F380 thumb_func_end sub_813F364 @@ -985,14 +472,14 @@ sub_813F3A8: @ 813F3A8 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0813F3BC @ =gUnknown_84164BE + ldr r2, _0813F3BC @ =gText_ItemfinderShakingWildly ldr r3, _0813F3C0 @ =sub_813F3C4 movs r1, 0x2 bl DisplayItemMessageOnField pop {r0} bx r0 .align 2, 0 -_0813F3BC: .4byte gUnknown_84164BE +_0813F3BC: .4byte gText_ItemfinderShakingWildly _0813F3C0: .4byte sub_813F3C4 thumb_func_end sub_813F3A8 -- cgit v1.2.3 From 26d940dfeb48d8471db4a0cf2477aff68f681090 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 Oct 2019 12:12:06 -0400 Subject: Finish itemfinder dism/decomp --- asm/field_control_avatar.s | 8 +- asm/field_specials.s | 6 +- asm/itemfinder.s | 834 --------------------------------------------- 3 files changed, 7 insertions(+), 841 deletions(-) delete mode 100644 asm/itemfinder.s (limited to 'asm') diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 2eee6da2f..35d96eaa4 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1152,24 +1152,24 @@ _0806D174: _0806D17A: ldr r0, [r5, 0x8] movs r1, 0x3 - bl sub_80CC44C + bl GetHiddenItemAttr lsls r0, 16 lsrs r0, 16 cmp r0, 0x1 beq _0806D164 ldr r0, [r5, 0x8] movs r1, 0 - bl sub_80CC44C + bl GetHiddenItemAttr ldr r1, _0806D1C4 @ =gSpecialVar_0x8005 strh r0, [r1] ldr r0, [r5, 0x8] movs r1, 0x1 - bl sub_80CC44C + bl GetHiddenItemAttr ldr r4, _0806D1C8 @ =gSpecialVar_0x8004 strh r0, [r4] ldr r0, [r5, 0x8] movs r1, 0x2 - bl sub_80CC44C + bl GetHiddenItemAttr ldr r1, _0806D1CC @ =gSpecialVar_0x8006 strh r0, [r1] ldrh r0, [r4] diff --git a/asm/field_specials.s b/asm/field_specials.s index 4c37e0638..eaac4a481 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -3942,8 +3942,8 @@ _080CC444: .4byte gSpecialVar_0x8004 _080CC448: .4byte gSpecialVar_0x8006 thumb_func_end sub_80CC3CC - thumb_func_start sub_80CC44C -sub_80CC44C: @ 80CC44C + thumb_func_start GetHiddenItemAttr +GetHiddenItemAttr: @ 80CC44C push {lr} lsls r1, 24 lsrs r1, 24 @@ -3980,7 +3980,7 @@ _080CC484: _080CC486: pop {r1} bx r1 - thumb_func_end sub_80CC44C + thumb_func_end GetHiddenItemAttr thumb_func_start sub_80CC48C sub_80CC48C: @ 80CC48C diff --git a/asm/itemfinder.s b/asm/itemfinder.s deleted file mode 100644 index fbf0a8578..000000000 --- a/asm/itemfinder.s +++ /dev/null @@ -1,834 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_813F070 -sub_813F070: @ 813F070 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - bl mapconnection_get_mapheader - adds r3, r0, 0 - ldrb r0, [r4] - cmp r0, 0x2 - beq _0813F098 - cmp r0, 0x2 - bgt _0813F08E - cmp r0, 0x1 - beq _0813F0AC - b _0813F0EC -_0813F08E: - cmp r0, 0x3 - beq _0813F0C4 - cmp r0, 0x4 - beq _0813F0CE - b _0813F0EC -_0813F098: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0x7 - adds r0, r6 - b _0813F0E2 -_0813F0AC: - ldr r0, [r4, 0x4] - adds r0, 0x7 - subs r0, r5, r0 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _0813F0C0 @ =gMapHeader - ldr r0, [r0] - ldr r0, [r0, 0x4] - b _0813F0DE - .align 2, 0 -_0813F0C0: .4byte gMapHeader -_0813F0C4: - ldr r0, [r3] - ldr r0, [r0] - subs r0, 0x7 - adds r0, r5 - b _0813F0D8 -_0813F0CE: - ldr r0, _0813F0E8 @ =gMapHeader - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x7 - subs r0, r5, r0 -_0813F0D8: - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, [r4, 0x4] -_0813F0DE: - adds r0, 0x7 - subs r0, r6, r0 -_0813F0E2: - lsls r0, 16 - lsrs r2, r0, 16 - b _0813F0F0 - .align 2, 0 -_0813F0E8: .4byte gMapHeader -_0813F0EC: - movs r0, 0 - b _0813F102 -_0813F0F0: - ldr r0, [r3, 0x4] - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - bl sub_813F004 - lsls r0, 24 - lsrs r0, 24 -_0813F102: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813F070 - - thumb_func_start sub_813F108 -sub_813F108: @ 813F108 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _0813F21C @ =gMapHeader - ldr r1, [r0] - ldr r0, [r1] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - ldr r0, [r1, 0x4] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - ldrh r0, [r0] - subs r0, 0x7 - lsls r0, 16 - lsrs r3, r0, 16 - asrs r0, 16 - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - adds r1, 0x7 - cmp r0, r1 - bgt _0813F20C -_0813F156: - mov r5, sp - ldrh r0, [r5, 0x2] - subs r0, 0x5 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - movs r6, 0x2 - ldrsh r0, [r5, r6] - adds r0, 0x5 - lsls r3, 16 - mov r8, r3 - cmp r1, r0 - bgt _0813F1F6 - movs r0, 0x7 - str r0, [sp, 0x10] - mov r1, r8 - asrs r1, 16 - mov r9, r1 - mov r10, r0 -_0813F17E: - ldr r3, [sp, 0x10] - cmp r3, r9 - bgt _0813F1A0 - ldr r5, [sp, 0x8] - lsls r0, r5, 16 - asrs r0, 16 - cmp r9, r0 - bge _0813F1A0 - asrs r1, r2, 16 - cmp r10, r1 - bgt _0813F1A0 - ldr r6, [sp, 0xC] - lsls r0, r6, 16 - asrs r0, 16 - lsls r7, r4, 16 - cmp r1, r0 - blt _0813F1DE -_0813F1A0: - mov r0, r8 - asrs r5, r0, 16 - lsls r4, 16 - asrs r6, r4, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_805973C - adds r7, r4, 0 - cmp r0, 0 - beq _0813F1DE - adds r1, r5, 0 - adds r2, r6, 0 - bl sub_813F070 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813F1DE - mov r0, sp - ldrh r1, [r0] - subs r1, r5, r1 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r0, 0x2] - subs r2, r6, r2 - lsls r2, 16 - asrs r2, 16 - ldr r0, [sp, 0x4] - bl sub_813F220 -_0813F1DE: - movs r1, 0x80 - lsls r1, 9 - adds r0, r7, r1 - lsrs r4, r0, 16 - lsls r2, r4, 16 - asrs r1, r2, 16 - mov r3, sp - movs r5, 0x2 - ldrsh r0, [r3, r5] - adds r0, 0x5 - cmp r1, r0 - ble _0813F17E -_0813F1F6: - movs r1, 0x80 - lsls r1, 9 - add r1, r8 - lsrs r3, r1, 16 - asrs r1, 16 - mov r0, sp - movs r6, 0 - ldrsh r0, [r0, r6] - adds r0, 0x7 - cmp r1, r0 - ble _0813F156 -_0813F20C: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813F21C: .4byte gMapHeader - thumb_func_end sub_813F108 - - thumb_func_start sub_813F220 -sub_813F220: @ 813F220 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813F254 @ =gTasks+0x8 - adds r3, r1, r0 - movs r1, 0x4 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _0813F258 - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] - movs r0, 0x1 - strh r0, [r3, 0x4] - b _0813F2E2 - .align 2, 0 -_0813F254: .4byte gTasks+0x8 -_0813F258: - movs r1, 0 - ldrsh r0, [r3, r1] - cmp r0, 0 - bge _0813F268 - negs r0, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _0813F26A -_0813F268: - ldrh r4, [r3] -_0813F26A: - movs r1, 0x2 - ldrsh r0, [r3, r1] - ldrh r1, [r3, 0x2] - mov r9, r1 - cmp r0, 0 - bge _0813F27E - negs r0, r0 - lsls r0, 16 - lsrs r2, r0, 16 - b _0813F280 -_0813F27E: - ldrh r2, [r3, 0x2] -_0813F280: - lsls r1, r7, 16 - asrs r0, r1, 16 - cmp r0, 0 - bge _0813F290 - negs r0, r0 - lsls r0, 16 - lsrs r6, r0, 16 - b _0813F292 -_0813F290: - lsrs r6, r1, 16 -_0813F292: - mov r1, r12 - lsls r0, r1, 16 - asrs r1, r0, 16 - mov r8, r0 - cmp r1, 0 - bge _0813F2A4 - negs r0, r1 - lsls r0, 16 - b _0813F2A6 -_0813F2A4: - mov r0, r8 -_0813F2A6: - lsrs r5, r0, 16 - lsls r0, r4, 16 - asrs r0, 16 - lsls r1, r2, 16 - asrs r2, r1, 16 - adds r4, r0, r2 - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r5, 16 - asrs r1, 16 - adds r0, r1 - cmp r4, r0 - ble _0813F2C8 - strh r7, [r3] - mov r1, r12 - strh r1, [r3, 0x2] - b _0813F2E2 -_0813F2C8: - cmp r4, r0 - bne _0813F2E2 - cmp r2, r1 - bgt _0813F2DC - cmp r2, r1 - bne _0813F2E2 - mov r1, r9 - lsls r0, r1, 16 - cmp r0, r8 - bge _0813F2E2 -_0813F2DC: - strh r7, [r3] - mov r0, r12 - strh r0, [r3, 0x2] -_0813F2E2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813F220 - - thumb_func_start GetPlayerDirectionTowardsHiddenItem -GetPlayerDirectionTowardsHiddenItem: @ 813F2F0 - push {r4,r5,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r1, 16 - lsrs r2, r0, 16 - cmp r0, 0 - bne _0813F302 - cmp r1, 0 - beq _0813F35C -_0813F302: - lsls r0, r2, 16 - asrs r2, r0, 16 - adds r5, r0, 0 - cmp r2, 0 - bge _0813F314 - negs r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - b _0813F316 -_0813F314: - lsrs r4, r5, 16 -_0813F316: - lsls r0, r1, 16 - asrs r2, r0, 16 - adds r1, r0, 0 - cmp r2, 0 - bge _0813F328 - negs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - b _0813F32A -_0813F328: - lsrs r3, r1, 16 -_0813F32A: - lsls r0, r4, 16 - asrs r2, r0, 16 - lsls r0, r3, 16 - asrs r0, 16 - cmp r2, r0 - ble _0813F342 - cmp r5, 0 - bge _0813F33E - movs r0, 0x4 - b _0813F35E -_0813F33E: - movs r0, 0x2 - b _0813F35E -_0813F342: - cmp r2, r0 - bge _0813F34C - cmp r1, 0 - blt _0813F354 - b _0813F358 -_0813F34C: - cmp r2, r0 - bne _0813F35C - cmp r1, 0 - bge _0813F358 -_0813F354: - movs r0, 0x1 - b _0813F35E -_0813F358: - movs r0, 0x3 - b _0813F35E -_0813F35C: - movs r0, 0 -_0813F35E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetPlayerDirectionTowardsHiddenItem - - thumb_func_start sub_813F364 -sub_813F364: @ 813F364 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813F378 @ =gText_ItemfinderResponding - ldr r3, _0813F37C @ =sub_813F380 - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_0813F378: .4byte gText_ItemfinderResponding -_0813F37C: .4byte sub_813F380 - thumb_func_end sub_813F364 - - thumb_func_start sub_813F380 -sub_813F380: @ 813F380 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_813F3FC - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - bl sub_80696C0 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813F380 - - thumb_func_start sub_813F3A8 -sub_813F3A8: @ 813F3A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813F3BC @ =gText_ItemfinderShakingWildly - ldr r3, _0813F3C0 @ =sub_813F3C4 - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_0813F3BC: .4byte gText_ItemfinderShakingWildly -_0813F3C0: .4byte sub_813F3C4 - thumb_func_end sub_813F3A8 - - thumb_func_start sub_813F3C4 -sub_813F3C4: @ 813F3C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_813F3FC - adds r0, r4, 0 - bl DestroyTask - ldr r0, _0813F3E8 @ =gUnknown_81A8D49 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813F3E8: .4byte gUnknown_81A8D49 - thumb_func_end sub_813F3C4 - - thumb_func_start sub_813F3EC -sub_813F3EC: @ 813F3EC - push {lr} - ldr r0, _0813F3F8 @ =gUnknown_84647FC - bl LoadSpriteSheet - pop {r0} - bx r0 - .align 2, 0 -_0813F3F8: .4byte gUnknown_84647FC - thumb_func_end sub_813F3EC - - thumb_func_start sub_813F3FC -sub_813F3FC: @ 813F3FC - push {lr} - movs r0, 0xFA - lsls r0, 3 - bl FreeSpriteTilesByTag - pop {r0} - bx r0 - thumb_func_end sub_813F3FC - - thumb_func_start sub_813F40C -sub_813F40C: @ 813F40C - push {r4-r7,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _0813F464 @ =gUnknown_84647E4 - movs r1, 0x78 - movs r2, 0x4C - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0813F468 @ =gSprites - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - adds r4, r0 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - strb r0, [r4, 0x5] - adds r0, r4, 0 - adds r1, r5, 0 - bl StartSpriteAnim - movs r0, 0 - strh r5, [r4, 0x3C] - strh r0, [r4, 0x2E] - strh r0, [r4, 0x34] - strh r0, [r4, 0x36] - movs r0, 0x78 - strh r0, [r4, 0x38] - movs r0, 0x4C - strh r0, [r4, 0x3A] - cmp r7, 0x4 - bhi _0813F53E - lsls r0, r7, 2 - ldr r1, _0813F46C @ =_0813F470 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813F464: .4byte gUnknown_84647E4 -_0813F468: .4byte gSprites -_0813F46C: .4byte _0813F470 - .align 2, 0 -_0813F470: - .4byte _0813F484 - .4byte _0813F4C8 - .4byte _0813F4EC - .4byte _0813F50C - .4byte _0813F52C -_0813F484: - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _0813F4C8 - cmp r0, 0x2 - bgt _0813F49A - cmp r0, 0x1 - beq _0813F50C - b _0813F53E -_0813F49A: - cmp r0, 0x3 - beq _0813F4A4 - cmp r0, 0x4 - beq _0813F4EC - b _0813F53E -_0813F4A4: - ldr r1, _0813F4C0 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - ldr r1, _0813F4C4 @ =0x0000ff9c - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - movs r1, 0 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F4C0: .4byte gSprites -_0813F4C4: .4byte 0x0000ff9c -_0813F4C8: - ldr r1, _0813F4E4 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - ldr r1, _0813F4E8 @ =0x0000ff9c - strh r1, [r0, 0x32] - movs r1, 0x3 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F4E4: .4byte gSprites -_0813F4E8: .4byte 0x0000ff9c -_0813F4EC: - ldr r1, _0813F508 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - movs r1, 0x64 - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - movs r1, 0x2 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F508: .4byte gSprites -_0813F50C: - ldr r1, _0813F528 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x30] - movs r1, 0x64 - strh r1, [r0, 0x32] - movs r1, 0x1 - bl StartSpriteAffineAnim - b _0813F53E - .align 2, 0 -_0813F528: .4byte gSprites -_0813F52C: - ldr r1, _0813F544 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - ldr r1, _0813F548 @ =0x0000ff9c - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] -_0813F53E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813F544: .4byte gSprites -_0813F548: .4byte 0x0000ff9c - thumb_func_end sub_813F40C - - thumb_func_start sub_813F54C -sub_813F54C: @ 813F54C - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - ldrh r3, [r2, 0x38] - adds r0, r3 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 24 - ldrh r3, [r2, 0x3A] - adds r1, r3 - strh r1, [r2, 0x22] - subs r0, 0x69 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _0813F58A - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _0813F58A - cmp r0, 0x58 - ble _0813F58E -_0813F58A: - ldr r0, _0813F594 @ =sub_813F598 - str r0, [r2, 0x1C] -_0813F58E: - pop {r0} - bx r0 - .align 2, 0 -_0813F594: .4byte sub_813F598 - thumb_func_end sub_813F54C - - thumb_func_start sub_813F598 -sub_813F598: @ 813F598 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813F598 - - thumb_func_start sub_813F5AC -sub_813F5AC: @ 813F5AC - push {r4,r5,lr} - ldr r0, _0813F604 @ =gUnknown_84647E4 - movs r1, 0x78 - movs r2, 0x4C - movs r3, 0 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r2, _0813F608 @ =gSprites - lsls r1, r5, 4 - adds r1, r5 - lsls r1, 2 - adds r4, r1, r2 - ldrb r3, [r4, 0x5] - movs r0, 0xF - ands r0, r3 - strb r0, [r4, 0x5] - adds r2, 0x1C - adds r1, r2 - ldr r0, _0813F60C @ =sub_813F614 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x4 - bl StartSpriteAnim - movs r1, 0 - strh r1, [r4, 0x3C] - strh r1, [r4, 0x2E] - strh r1, [r4, 0x34] - strh r1, [r4, 0x36] - movs r0, 0x78 - strh r0, [r4, 0x38] - movs r0, 0x4C - strh r0, [r4, 0x3A] - strh r1, [r4, 0x30] - ldr r0, _0813F610 @ =0x0000ff9c - strh r0, [r4, 0x32] - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0813F604: .4byte gUnknown_84647E4 -_0813F608: .4byte gSprites -_0813F60C: .4byte sub_813F614 -_0813F610: .4byte 0x0000ff9c - thumb_func_end sub_813F5AC - - thumb_func_start sub_813F614 -sub_813F614: @ 813F614 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - ldrh r1, [r2, 0x34] - adds r0, r1 - strh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 24 - ldrh r3, [r2, 0x38] - adds r0, r3 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 24 - ldrh r3, [r2, 0x3A] - adds r1, r3 - strh r1, [r2, 0x22] - subs r0, 0x69 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _0813F652 - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _0813F652 - cmp r0, 0x58 - ble _0813F656 -_0813F652: - ldr r0, _0813F65C @ =sub_813F660 - str r0, [r2, 0x1C] -_0813F656: - pop {r0} - bx r0 - .align 2, 0 -_0813F65C: .4byte sub_813F660 - thumb_func_end sub_813F614 - - thumb_func_start sub_813F660 -sub_813F660: @ 813F660 - push {lr} - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end sub_813F660 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 38d2b717173e9d6b24766fc3d6e46002db684cf5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 Oct 2019 15:20:28 -0400 Subject: Normal hidden item script; hidden item attr enum --- asm/field_control_avatar.s | 4 ++-- asm/field_specials.s | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'asm') diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 35d96eaa4..c1825ba58 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1180,14 +1180,14 @@ _0806D17A: beq _0806D164 ldr r0, _0806D1D0 @ =gSpecialVar_Facing strh r6, [r0] - ldr r0, _0806D1D4 @ =gUnknown_81A6843 + ldr r0, _0806D1D4 @ =EventScript_PickUpHiddenItem b _0806D1E6 .align 2, 0 _0806D1C4: .4byte gSpecialVar_0x8005 _0806D1C8: .4byte gSpecialVar_0x8004 _0806D1CC: .4byte gSpecialVar_0x8006 _0806D1D0: .4byte gSpecialVar_Facing -_0806D1D4: .4byte gUnknown_81A6843 +_0806D1D4: .4byte EventScript_PickUpHiddenItem _0806D1D8: cmp r2, 0xFF beq _0806D1E0 diff --git a/asm/field_specials.s b/asm/field_specials.s index eaac4a481..83608fccf 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -1566,8 +1566,9 @@ _080CB1D2: bx r1 thumb_func_end sub_80CB198 - thumb_func_start sub_80CB1D8 -sub_80CB1D8: @ 80CB1D8 + thumb_func_start Special_CheckAddCoins +Special_CheckAddCoins: @ 80CB1D8 +@ addcoins but it's a dry run push {lr} ldr r0, _080CB1F0 @ =gSpecialVar_Result ldrh r1, [r0] @@ -1588,7 +1589,7 @@ _080CB1FC: _080CB1FE: pop {r1} bx r1 - thumb_func_end sub_80CB1D8 + thumb_func_end Special_CheckAddCoins thumb_func_start sub_80CB204 sub_80CB204: @ 80CB204 -- cgit v1.2.3 From aa0ac46b7145951f1d6f65e7af005a3fe561ff63 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 Oct 2019 15:43:05 -0400 Subject: Disassemble dig up item script --- asm/field_specials.s | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'asm') diff --git a/asm/field_specials.s b/asm/field_specials.s index 83608fccf..8d91064e8 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -185,8 +185,8 @@ sub_80CA74C: @ 80CA74C _080CA754: .4byte gBattleOutcome thumb_func_end sub_80CA74C - thumb_func_start sub_80CA758 -sub_80CA758: @ 80CA758 + thumb_func_start Special_SetHiddenItemFlag +Special_SetHiddenItemFlag: @ 80CA758 push {lr} ldr r0, _080CA768 @ =gSpecialVar_0x8004 ldrh r0, [r0] @@ -195,7 +195,7 @@ sub_80CA758: @ 80CA758 bx r0 .align 2, 0 _080CA768: .4byte gSpecialVar_0x8004 - thumb_func_end sub_80CA758 + thumb_func_end Special_SetHiddenItemFlag thumb_func_start sub_80CA76C sub_80CA76C: @ 80CA76C -- cgit v1.2.3 From 1f6f5f369bcb2ab28d0fb73b358d075fdc195ba5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 4 Oct 2019 12:55:48 -0400 Subject: wild_pokemon_area and pokedex_area_markers --- asm/field_specials.s | 6 +- asm/macros.inc | 5 +- asm/pokedex_area_markers.s | 357 ------------------------------------------ asm/pokedex_screen.s | 2 +- asm/wild_encounter.s | 52 +++---- asm/wild_pokemon_area.s | 380 --------------------------------------------- 6 files changed, 32 insertions(+), 770 deletions(-) delete mode 100644 asm/pokedex_area_markers.s delete mode 100644 asm/wild_pokemon_area.s (limited to 'asm') diff --git a/asm/field_specials.s b/asm/field_specials.s index 8d91064e8..c0294fcac 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -3665,8 +3665,8 @@ sub_80CC1E4: @ 80CC1E4 _080CC200: .4byte gSaveBlock2Ptr thumb_func_end sub_80CC1E4 - thumb_func_start sub_80CC204 -sub_80CC204: @ 80CC204 + thumb_func_start GetUnlockedSeviiAreas +GetUnlockedSeviiAreas: @ 80CC204 push {r4,lr} movs r4, 0 ldr r0, _080CC2A4 @ =0x0000089b @@ -3753,7 +3753,7 @@ _080CC2AC: .4byte 0x0000089d _080CC2B0: .4byte 0x0000089e _080CC2B4: .4byte 0x0000089f _080CC2B8: .4byte 0x000008a1 - thumb_func_end sub_80CC204 + thumb_func_end GetUnlockedSeviiAreas thumb_func_start sub_80CC2BC sub_80CC2BC: @ 80CC2BC diff --git a/asm/macros.inc b/asm/macros.inc index e6813d319..4eae2cccc 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -65,10 +65,9 @@ .endm .macro subsprite x, y, priority, tile_num_offset, size - .2byte \x - .2byte \y + .byte \x + .byte \y .2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size - .2byte 0 @ padding .endm .macro obj_image_anim_frame pic_id, duration, flags = 0 diff --git a/asm/pokedex_area_markers.s b/asm/pokedex_area_markers.s deleted file mode 100644 index d6ea7f251..000000000 --- a/asm/pokedex_area_markers.s +++ /dev/null @@ -1,357 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8134200 -sub_8134200: @ 8134200 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08134228 @ =gTasks+0x8 - adds r1, r0 - ldr r2, _0813422C @ =gSprites - ldrb r1, [r1, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_08134228: .4byte gTasks+0x8 -_0813422C: .4byte gSprites - thumb_func_end sub_8134200 - - thumb_func_start sub_8134230 -sub_8134230: @ 8134230 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - mov r9, r0 - mov r8, r2 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - lsls r1, 16 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _081343C4 @ =gUnknown_846343C - str r0, [sp, 0x20] - ldr r3, _081343C8 @ =0xffff0000 - add r0, sp, 0x20 - ldr r2, [r0, 0x4] - ands r2, r3 - movs r3, 0x94 - lsls r3, 3 - orrs r2, r3 - lsrs r7, r1, 16 - ldr r5, _081343CC @ =0x0000ffff - ands r2, r5 - orrs r2, r1 - str r2, [r0, 0x4] - bl LoadCompressedSpriteSheet - ldr r0, _081343D0 @ =gUnknown_846341C - mov r3, r8 - lsls r3, 4 - mov r8, r3 - movs r1, 0x80 - lsls r1, 1 - add r1, r8 - movs r2, 0x20 - bl LoadPalette - ldr r0, _081343D4 @ =sub_8134200 - movs r1, 0 - bl CreateTask - mov r10, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r4, r0, 2 - add r4, r10 - lsls r4, 3 - ldr r0, _081343D8 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - strb r0, [r4, 0xC] - strh r7, [r4, 0xE] - ldrh r0, [r4, 0x10] - orrs r5, r0 - strh r5, [r4, 0x10] - movs r0, 0xF0 - lsls r0, 1 - bl Alloc - adds r1, r0, 0 - str r1, [r4, 0x8] - str r1, [r4, 0x4] - mov r0, r9 - bl sub_813C9DC - strb r0, [r4] - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _081343DC @ =0x00002f42 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _081343E0 @ =0x0000080c - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r1, _081343E4 @ =0x00001f1f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _081343E8 @ =0x00002f3d - movs r0, 0x4A - bl SetGpuReg - add r1, sp, 0x8 - ldr r0, _081343EC @ =gDummySpriteTemplate - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - add r0, sp, 0x8 - strh r7, [r0] - adds r6, 0x20 - movs r1, 0x68 - adds r2, r6, 0 - movs r3, 0 - bl CreateSprite - strb r0, [r4, 0xD] - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _081343F0 @ =gSprites - adds r0, r5 - adds r1, r4, 0 - bl SetSubspriteTables - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r0, [r4, 0xD] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x42 - ldrb r2, [r0] - movs r1, 0x40 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0x1 - bl HideBg - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl SetBgAttribute - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0xF - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl ShowBg - mov r0, r10 - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081343C4: .4byte gUnknown_846343C -_081343C8: .4byte 0xffff0000 -_081343CC: .4byte 0x0000ffff -_081343D0: .4byte gUnknown_846341C -_081343D4: .4byte sub_8134200 -_081343D8: .4byte gTasks+0x8 -_081343DC: .4byte 0x00002f42 -_081343E0: .4byte 0x0000080c -_081343E4: .4byte 0x00001f1f -_081343E8: .4byte 0x00002f3d -_081343EC: .4byte gDummySpriteTemplate -_081343F0: .4byte gSprites - thumb_func_end sub_8134230 - - thumb_func_start sub_81343F4 -sub_81343F4: @ 81343F4 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08134498 @ =gTasks+0x8 - adds r4, r0 - ldrh r0, [r4, 0xE] - bl FreeSpriteTilesByTag - ldrb r1, [r4, 0xD] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0813449C @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r0, [r4, 0x8] - bl Free - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r4, _081344A0 @ =0x00001f1f - movs r0, 0x48 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x4A - adds r1, r4, 0 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 8 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x1 - bl HideBg - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x2 - bl SetBgAttribute - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl ShowBg - adds r0, r5, 0 - bl DestroyTask - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08134498: .4byte gTasks+0x8 -_0813449C: .4byte gSprites -_081344A0: .4byte 0x00001f1f - thumb_func_end sub_81343F4 - - thumb_func_start sub_81344A4 -sub_81344A4: @ 81344A4 - push {r4,lr} - lsls r0, 2 - adds r0, r2 - ldr r4, _081344D8 @ =gUnknown_8463564 - ldr r3, _081344DC @ =gUnknown_8463580 - lsls r1, 2 - adds r2, r1, r3 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - lsls r2, 2 - adds r2, r4 - ldr r2, [r2] - ldr r2, [r2] - str r2, [r0] - adds r2, r3, 0x1 - adds r2, r1, r2 - ldrb r2, [r2] - strb r2, [r0] - adds r3, 0x2 - adds r1, r3 - ldrb r1, [r1] - strb r1, [r0, 0x1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081344D8: .4byte gUnknown_8463564 -_081344DC: .4byte gUnknown_8463580 - thumb_func_end sub_81344A4 - - thumb_func_start sub_81344E0 -sub_81344E0: @ 81344E0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _081344F4 @ =gTasks+0x8 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_081344F4: .4byte gTasks+0x8 - thumb_func_end sub_81344E0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 1a7cd0a2e..2f0682c94 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -7412,7 +7412,7 @@ sub_810603C: @ 810603C movs r2, 0 movs r3, 0 bl FillBgTilemapBufferRect_Palette0 - bl sub_80CC204 + bl GetUnlockedSeviiAreas ldr r1, [r6] adds r1, 0x64 strb r0, [r1] diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s index e9fb8a630..c43ebf0a9 100644 --- a/asm/wild_encounter.s +++ b/asm/wild_encounter.s @@ -298,7 +298,7 @@ _0808290C: sub_8082934: @ 8082934 push {r4-r6,lr} movs r4, 0 - ldr r0, _08082990 @ =gUnknown_83C9CB8 + ldr r0, _08082990 @ =gWildMonHeaders ldrb r1, [r0] adds r5, r0, 0 cmp r1, 0xFF @@ -343,7 +343,7 @@ _08082980: adds r0, r4, 0 b _080829B6 .align 2, 0 -_08082990: .4byte gUnknown_83C9CB8 +_08082990: .4byte gWildMonHeaders _08082994: .4byte 0x00007a01 _08082998: .4byte gSaveBlock1Ptr _0808299C: .4byte 0x00004024 @@ -799,7 +799,7 @@ _08082CE4: bl sub_8058F1C cmp r0, 0x1 bne _08082D78 - ldr r1, _08082D4C @ =gUnknown_83C9CB8 + ldr r1, _08082D4C @ =gWildMonHeaders lsls r2, r4, 2 adds r0, r2, r4 lsls r0, 2 @@ -822,7 +822,7 @@ _08082D06: bne _08082D1E b _08082E46 _08082D1E: - ldr r1, _08082D4C @ =gUnknown_83C9CB8 + ldr r1, _08082D4C @ =gWildMonHeaders adds r0, r5, r4 lsls r0, 2 adds r1, 0x4 @@ -843,7 +843,7 @@ _08082D3A: .align 2, 0 _08082D44: .4byte gUnknown_20386DC _08082D48: .4byte 0x0000ffff -_08082D4C: .4byte gUnknown_83C9CB8 +_08082D4C: .4byte gWildMonHeaders _08082D50: bl TryStartRoamerEncounter lsls r0, 24 @@ -884,7 +884,7 @@ _08082D78: cmp r0, 0x1 bne _08082E46 _08082DA8: - ldr r1, _08082E18 @ =gUnknown_83C9CB8 + ldr r1, _08082E18 @ =gWildMonHeaders lsls r2, r4, 2 adds r0, r2, r4 lsls r0, 2 @@ -904,7 +904,7 @@ _08082DA8: cmp r0, 0 beq _08082E46 _08082DD2: - ldr r1, _08082E18 @ =gUnknown_83C9CB8 + ldr r1, _08082E18 @ =gWildMonHeaders adds r0, r5, r4 lsls r0, 2 adds r1, 0x8 @@ -936,7 +936,7 @@ _08082DFA: movs r0, 0x1 b _08082E48 .align 2, 0 -_08082E18: .4byte gUnknown_83C9CB8 +_08082E18: .4byte gWildMonHeaders _08082E1C: .4byte gSaveBlock1Ptr _08082E20: .4byte 0x000030d0 _08082E24: @@ -975,7 +975,7 @@ sub_8082E54: @ 8082E54 ldr r0, _08082EA4 @ =0x0000ffff cmp r2, r0 beq _08082EB0 - ldr r1, _08082EA8 @ =gUnknown_83C9CB8 + ldr r1, _08082EA8 @ =gWildMonHeaders lsls r0, r2, 2 adds r0, r2 lsls r0, 2 @@ -1006,7 +1006,7 @@ _08082E9C: b _08082EB6 .align 2, 0 _08082EA4: .4byte 0x0000ffff -_08082EA8: .4byte gUnknown_83C9CB8 +_08082EA8: .4byte gWildMonHeaders _08082EAC: .4byte gSpecialVar_Result _08082EB0: ldr r1, _08082EBC @ =gSpecialVar_Result @@ -1049,7 +1049,7 @@ SweetScentWildEncounter: @ 8082EC0 lsrs r0, 24 cmp r0, 0x1 beq _08082F3C - ldr r1, _08082F18 @ =gUnknown_83C9CB8 + ldr r1, _08082F18 @ =gWildMonHeaders lsls r0, r5, 2 adds r0, r5 lsls r0, 2 @@ -1062,7 +1062,7 @@ SweetScentWildEncounter: @ 8082EC0 b _08082F58 .align 2, 0 _08082F14: .4byte 0x0000ffff -_08082F18: .4byte gUnknown_83C9CB8 +_08082F18: .4byte gWildMonHeaders _08082F1C: mov r0, sp movs r1, 0 @@ -1083,7 +1083,7 @@ _08082F3C: movs r0, 0x1 b _08082F6E _08082F44: - ldr r1, _08082F68 @ =gUnknown_83C9CB8 + ldr r1, _08082F68 @ =gWildMonHeaders lsls r0, r5, 2 adds r0, r5 lsls r0, 2 @@ -1100,7 +1100,7 @@ _08082F58: movs r0, 0x1 b _08082F6E .align 2, 0 -_08082F68: .4byte gUnknown_83C9CB8 +_08082F68: .4byte gWildMonHeaders _08082F6C: movs r0, 0 _08082F6E: @@ -1119,7 +1119,7 @@ sub_8082F78: @ 8082F78 ldr r0, _08082FA0 @ =0x0000ffff cmp r2, r0 beq _08082FA8 - ldr r0, _08082FA4 @ =gUnknown_83C9CB8 + ldr r0, _08082FA4 @ =gWildMonHeaders lsls r1, r2, 2 adds r1, r2 lsls r1, 2 @@ -1132,7 +1132,7 @@ sub_8082F78: @ 8082F78 b _08082FAA .align 2, 0 _08082FA0: .4byte 0x0000ffff -_08082FA4: .4byte gUnknown_83C9CB8 +_08082FA4: .4byte gWildMonHeaders _08082FA8: movs r0, 0 _08082FAA: @@ -1146,7 +1146,7 @@ sub_8082FB0: @ 8082FB0 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r4, _08082FE4 @ =gUnknown_83C9CB8 + ldr r4, _08082FE4 @ =gWildMonHeaders bl sub_8082934 lsls r0, 16 lsrs r0, 16 @@ -1165,7 +1165,7 @@ sub_8082FB0: @ 8082FB0 pop {r0} bx r0 .align 2, 0 -_08082FE4: .4byte gUnknown_83C9CB8 +_08082FE4: .4byte gWildMonHeaders thumb_func_end sub_8082FB0 thumb_func_start GetLocalWildMon @@ -1180,7 +1180,7 @@ GetLocalWildMon: @ 8082FE8 ldr r0, _08083020 @ =0x0000ffff cmp r3, r0 beq _0808301A - ldr r2, _08083024 @ =gUnknown_83C9CB8 + ldr r2, _08083024 @ =gWildMonHeaders lsls r1, r3, 2 adds r1, r3 lsls r1, 2 @@ -1199,7 +1199,7 @@ _0808301A: b _0808306E .align 2, 0 _08083020: .4byte 0x0000ffff -_08083024: .4byte gUnknown_83C9CB8 +_08083024: .4byte gWildMonHeaders _08083028: cmp r4, 0 bne _0808303C @@ -1250,7 +1250,7 @@ GetLocalWaterMon: @ 8083074 ldr r0, _080830A8 @ =0x0000ffff cmp r2, r0 beq _080830B0 - ldr r1, _080830AC @ =gUnknown_83C9CB8 + ldr r1, _080830AC @ =gWildMonHeaders lsls r0, r2, 2 adds r0, r2 lsls r0, 2 @@ -1268,7 +1268,7 @@ GetLocalWaterMon: @ 8083074 b _080830B2 .align 2, 0 _080830A8: .4byte 0x0000ffff -_080830AC: .4byte gUnknown_83C9CB8 +_080830AC: .4byte gWildMonHeaders _080830B0: movs r0, 0 _080830B2: @@ -1513,7 +1513,7 @@ sub_808324C: @ 808324C beq _080832CC cmp r4, 0x1 bne _0808328C - ldr r1, _08083288 @ =gUnknown_83C9CB8 + ldr r1, _08083288 @ =gWildMonHeaders lsls r0, r2, 2 adds r0, r2 lsls r0, 2 @@ -1530,11 +1530,11 @@ sub_808324C: @ 808324C b _080832B8 .align 2, 0 _08083284: .4byte 0x0000ffff -_08083288: .4byte gUnknown_83C9CB8 +_08083288: .4byte gWildMonHeaders _0808328C: cmp r5, 0x2 bne _080832CC - ldr r1, _080832AC @ =gUnknown_83C9CB8 + ldr r1, _080832AC @ =gWildMonHeaders lsls r0, r2, 2 adds r0, r2 lsls r0, 2 @@ -1550,7 +1550,7 @@ _080832A8: movs r0, 0 b _080832CE .align 2, 0 -_080832AC: .4byte gUnknown_83C9CB8 +_080832AC: .4byte gWildMonHeaders _080832B0: cmp r1, 0x9 bhi _080832B8 diff --git a/asm/wild_pokemon_area.s b/asm/wild_pokemon_area.s deleted file mode 100644 index 71d8ac8dc..000000000 --- a/asm/wild_pokemon_area.s +++ /dev/null @@ -1,380 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_813C9DC -sub_813C9DC: @ 813C9DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - str r1, [sp, 0x10] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - bl sub_813CB34 - cmp r0, 0 - blt _0813CA02 - ldr r0, [sp, 0xC] - ldr r1, [sp, 0x10] - bl sub_813CB5C - b _0813CB1A -_0813CA02: - bl sub_80CC204 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - movs r0, 0 - str r0, [sp, 0x18] - ldr r0, _0813CA74 @ =0x00004024 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x1C] - cmp r0, 0x8 - ble _0813CA24 - movs r1, 0 - str r1, [sp, 0x1C] -_0813CA24: - movs r6, 0 - mov r8, r6 - ldr r1, _0813CA78 @ =gUnknown_83C9CB8 - ldrb r0, [r1] - cmp r0, 0xFF - beq _0813CB18 -_0813CA30: - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r4, r0, r1 - adds r0, r4, 0 - bl sub_813CC44 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xB7 - bne _0813CA5A - ldr r2, [sp, 0x18] - adds r2, 0x1 - str r2, [sp, 0x18] - adds r0, r2, 0 - subs r0, 0x1 - adds r1, r6, 0x1 - str r1, [sp, 0x20] - ldr r2, [sp, 0x1C] - cmp r2, r0 - bne _0813CB06 -_0813CA5A: - adds r0, r4, 0 - ldr r1, [sp, 0xC] - bl sub_813CBD0 - adds r6, 0x1 - str r6, [sp, 0x20] - cmp r0, 0 - beq _0813CB06 - movs r0, 0 - str r0, [sp, 0x8] - lsls r7, r5, 16 - add r6, sp, 0x8 - b _0813CA94 - .align 2, 0 -_0813CA74: .4byte 0x00004024 -_0813CA78: .4byte gUnknown_83C9CB8 -_0813CA7C: - add r0, sp, 0x4 - ldrh r0, [r0] - cmp r0, 0 - beq _0813CA94 - mov r0, r8 - movs r1, 0x1 - add r8, r1 - add r1, sp, 0x4 - ldrh r1, [r1] - ldr r2, [sp, 0x10] - bl sub_81344A4 -_0813CA94: - lsrs r0, r7, 16 - add r2, sp, 0x4 - str r2, [sp] - ldr r1, _0813CAC8 @ =gUnknown_8464148 - movs r2, 0x37 - adds r3, r6, 0 - bl sub_813CC58 - cmp r0, 0 - bne _0813CA7C - movs r2, 0 - add r5, sp, 0x4 - ldr r0, _0813CACC @ =gUnknown_84642BC - mov r10, r0 -_0813CAB0: - ldr r0, [sp, 0x14] - asrs r0, r2 - movs r1, 0x1 - ands r0, r1 - adds r1, r2, 0x1 - mov r9, r1 - cmp r0, 0 - beq _0813CB00 - movs r0, 0 - str r0, [sp, 0x8] - lsls r4, r2, 3 - b _0813CAE4 - .align 2, 0 -_0813CAC8: .4byte gUnknown_8464148 -_0813CACC: .4byte gUnknown_84642BC -_0813CAD0: - ldrh r0, [r5] - cmp r0, 0 - beq _0813CAE4 - mov r0, r8 - movs r2, 0x1 - add r8, r2 - ldrh r1, [r5] - ldr r2, [sp, 0x10] - bl sub_81344A4 -_0813CAE4: - mov r1, r10 - adds r0, r4, r1 - ldr r1, [r0] - ldr r2, _0813CB2C @ =gUnknown_84642C0 - adds r0, r4, r2 - ldr r2, [r0] - add r0, sp, 0x4 - str r0, [sp] - lsrs r0, r7, 16 - adds r3, r6, 0 - bl sub_813CC58 - cmp r0, 0 - bne _0813CAD0 -_0813CB00: - mov r2, r9 - cmp r2, 0x6 - bls _0813CAB0 -_0813CB06: - ldr r6, [sp, 0x20] - ldr r1, _0813CB30 @ =gUnknown_83C9CB8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0813CA30 -_0813CB18: - mov r0, r8 -_0813CB1A: - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0813CB2C: .4byte gUnknown_84642C0 -_0813CB30: .4byte gUnknown_83C9CB8 - thumb_func_end sub_813C9DC - - thumb_func_start sub_813CB34 -sub_813CB34: @ 813CB34 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0 - ldr r2, _0813CB48 @ =gUnknown_84642F4 -_0813CB3E: - ldrh r0, [r2] - cmp r0, r3 - bne _0813CB4C - adds r0, r1, 0 - b _0813CB58 - .align 2, 0 -_0813CB48: .4byte gUnknown_84642F4 -_0813CB4C: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0x2 - bls _0813CB3E - movs r0, 0x1 - negs r0, r0 -_0813CB58: - pop {r1} - bx r1 - thumb_func_end sub_813CB34 - - thumb_func_start sub_813CB5C -sub_813CB5C: @ 813CB5C - push {r4,r5,lr} - sub sp, 0xC - adds r5, r1, 0 - lsls r0, 16 - lsrs r0, 16 - bl sub_813CB34 - adds r4, r0, 0 - cmp r4, 0 - blt _0813CBC4 - ldr r0, _0813CBBC @ =gUnknown_84642F4 - lsls r4, 2 - adds r4, r0 - bl ScrSpecial_GetStarter - ldrh r1, [r4, 0x2] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bne _0813CBC4 - bl GetRoamerLocationMapSectionId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - str r1, [sp, 0x8] - ldr r1, _0813CBC0 @ =gUnknown_8464148 - add r3, sp, 0x8 - add r2, sp, 0x4 - str r2, [sp] - movs r2, 0x37 - bl sub_813CC58 - cmp r0, 0 - beq _0813CBC4 - add r0, sp, 0x4 - ldrh r0, [r0] - cmp r0, 0 - beq _0813CBC4 - add r0, sp, 0x4 - ldrh r1, [r0] - movs r0, 0 - adds r2, r5, 0 - bl sub_81344A4 - movs r0, 0x1 - b _0813CBC6 - .align 2, 0 -_0813CBBC: .4byte gUnknown_84642F4 -_0813CBC0: .4byte gUnknown_8464148 -_0813CBC4: - movs r0, 0 -_0813CBC6: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813CB5C - - thumb_func_start sub_813CBD0 -sub_813CBD0: @ 813CBD0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, [r4, 0x4] - movs r2, 0xC - bl sub_813CC18 - cmp r0, 0 - bne _0813CC10 - ldr r0, [r4, 0x8] - adds r1, r5, 0 - movs r2, 0x5 - bl sub_813CC18 - cmp r0, 0 - bne _0813CC10 - ldr r0, [r4, 0x10] - adds r1, r5, 0 - movs r2, 0xC - bl sub_813CC18 - cmp r0, 0 - bne _0813CC10 - ldr r0, [r4, 0xC] - adds r1, r5, 0 - movs r2, 0x5 - bl sub_813CC18 - cmp r0, 0 - bne _0813CC10 - movs r0, 0 - b _0813CC12 -_0813CC10: - movs r0, 0x1 -_0813CC12: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_813CBD0 - - thumb_func_start sub_813CC18 -sub_813CC18: @ 813CC18 - push {r4,lr} - adds r4, r1, 0 - cmp r0, 0 - beq _0813CC3A - movs r1, 0 - cmp r1, r2 - bge _0813CC3A - ldr r3, [r0, 0x4] -_0813CC28: - ldrh r0, [r3, 0x2] - cmp r0, r4 - bne _0813CC32 - movs r0, 0x1 - b _0813CC3C -_0813CC32: - adds r3, 0x4 - adds r1, 0x1 - cmp r1, r2 - blt _0813CC28 -_0813CC3A: - movs r0, 0 -_0813CC3C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_813CC18 - - thumb_func_start sub_813CC44 -sub_813CC44: @ 813CC44 - push {lr} - ldrb r2, [r0] - ldrb r1, [r0, 0x1] - adds r0, r2, 0 - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - thumb_func_end sub_813CC44 - - thumb_func_start sub_813CC58 -sub_813CC58: @ 813CC58 - push {r4-r6,lr} - adds r4, r2, 0 - ldr r6, [sp, 0x10] - lsls r0, 16 - lsrs r5, r0, 16 - ldr r2, [r3] - cmp r2, r4 - bge _0813CC86 - lsls r0, r2, 2 - adds r1, r0, r1 -_0813CC6C: - ldrh r0, [r1] - cmp r0, r5 - bne _0813CC7E - ldrh r0, [r1, 0x2] - strh r0, [r6] - adds r0, r2, 0x1 - str r0, [r3] - movs r0, 0x1 - b _0813CC88 -_0813CC7E: - adds r1, 0x4 - adds r2, 0x1 - cmp r2, r4 - blt _0813CC6C -_0813CC86: - movs r0, 0 -_0813CC88: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_813CC58 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From cb3e751f5f8990f7e36e141869a14f62e44eceff Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 5 Oct 2019 12:13:33 -0400 Subject: Decompile mailbox_pc and dump decorations --- asm/mailbox_pc.s | 326 ------------------------------------------------------- 1 file changed, 326 deletions(-) delete mode 100644 asm/mailbox_pc.s (limited to 'asm') diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s deleted file mode 100644 index 7e792681f..000000000 --- a/asm/mailbox_pc.s +++ /dev/null @@ -1,326 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_810EB6C -sub_810EB6C: @ 810EB6C - push {r4,lr} - lsls r0, 24 - ldr r4, _0810EB84 @ =gUnknown_203ADE0 - lsrs r0, 21 - adds r0, 0x8 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _0810EB88 - movs r0, 0 - b _0810EBA2 - .align 2, 0 -_0810EB84: .4byte gUnknown_203ADE0 -_0810EB88: - movs r2, 0 - ldr r4, _0810EBA8 @ =gUnknown_203ADDC - movs r3, 0xFF -_0810EB8E: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0810EB8E - movs r0, 0x1 -_0810EBA2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810EBA8: .4byte gUnknown_203ADDC - thumb_func_end sub_810EB6C - - thumb_func_start sub_810EBAC -sub_810EBAC: @ 810EBAC - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0810EBD8 @ =gUnknown_203ADDC - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, 0xFF - bne _0810EBD0 - lsls r0, r1, 3 - ldr r1, _0810EBDC @ =gUnknown_8453FE8 - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStdWindowBorderStyle -_0810EBD0: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810EBD8: .4byte gUnknown_203ADDC -_0810EBDC: .4byte gUnknown_8453FE8 - thumb_func_end sub_810EBAC - - thumb_func_start sub_810EBE0 -sub_810EBE0: @ 810EBE0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810EC0C @ =gUnknown_203ADDC - adds r4, r0 - ldrb r0, [r4] - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810EC0C: .4byte gUnknown_203ADDC - thumb_func_end sub_810EBE0 - - thumb_func_start sub_810EC10 -sub_810EC10: @ 810EC10 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810EC1C @ =gUnknown_203ADDC - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0810EC1C: .4byte gUnknown_203ADDC - thumb_func_end sub_810EC10 - - thumb_func_start sub_810EC20 -sub_810EC20: @ 810EC20 - push {r4,r5,lr} - sub sp, 0x34 - adds r3, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _0810EC82 - ldr r0, _0810EC8C @ =gSaveBlock1Ptr - lsls r1, r3, 3 - adds r1, r3 - lsls r1, 2 - ldr r0, [r0] - adds r1, r0 - ldr r0, _0810EC90 @ =0x00002dba - adds r1, r0 - add r0, sp, 0x14 - bl StringCopy - add r0, sp, 0x14 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _0810EC62 - add r0, sp, 0x14 - movs r1, 0x1 - bl ConvertInternationalString -_0810EC62: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, _0810EC94 @ =gUnknown_8454000 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - add r0, sp, 0x14 - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x8 - adds r3, r5, 0 - bl AddTextPrinterParameterized4 -_0810EC82: - add sp, 0x34 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EC8C: .4byte gSaveBlock1Ptr -_0810EC90: .4byte 0x00002dba -_0810EC94: .4byte gUnknown_8454000 - thumb_func_end sub_810EC20 - - thumb_func_start sub_810EC98 -sub_810EC98: @ 810EC98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - movs r3, 0 - ldr r7, _0810ED50 @ =gUnknown_203ADE0 - ldr r0, _0810ED54 @ =gFameCheckerText_Cancel - mov r12, r0 - ldr r5, _0810ED58 @ =gMultiuseListMenuTemplate - ldr r1, _0810ED5C @ =gUnknown_203ADDC - mov r8, r1 - ldrb r0, [r6, 0x5] - cmp r3, r0 - bcs _0810ECCE - adds r2, r7, 0 - ldr r4, _0810ED60 @ =gUnknown_8454003 -_0810ECB8: - ldr r1, [r2] - lsls r0, r3, 3 - adds r0, r1 - str r4, [r0] - str r3, [r0, 0x4] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r1, [r6, 0x5] - cmp r3, r1 - bcc _0810ECB8 -_0810ECCE: - ldr r2, [r7] - lsls r0, r3, 3 - adds r0, r2 - mov r1, r12 - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - str r2, [r5] - ldrb r0, [r6, 0x5] - adds r0, 0x1 - movs r4, 0 - strh r0, [r5, 0xC] - mov r1, r8 - ldrb r0, [r1, 0x1] - strb r0, [r5, 0x10] - strb r4, [r5, 0x11] - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - strb r0, [r5, 0x12] - strb r4, [r5, 0x13] - ldrb r0, [r5, 0x16] - movs r2, 0x8 - negs r2, r2 - ands r2, r0 - movs r0, 0x39 - negs r0, r0 - ands r2, r0 - movs r0, 0x10 - orrs r2, r0 - movs r0, 0x8 - strh r0, [r5, 0xE] - ldrb r0, [r5, 0x17] - movs r1, 0x40 - negs r1, r1 - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - movs r0, 0x2A - strb r0, [r5, 0x14] - movs r0, 0x31 - strb r0, [r5, 0x15] - ldr r0, _0810ED64 @ =sub_810ED6C - str r0, [r5, 0x4] - ldr r0, _0810ED68 @ =sub_810EC20 - str r0, [r5, 0x8] - movs r0, 0x3F - ands r1, r0 - strb r1, [r5, 0x17] - ands r2, r0 - strb r2, [r5, 0x16] - ldrh r1, [r6, 0x2] - ldrh r2, [r6] - adds r0, r5, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810ED50: .4byte gUnknown_203ADE0 -_0810ED54: .4byte gFameCheckerText_Cancel -_0810ED58: .4byte gMultiuseListMenuTemplate -_0810ED5C: .4byte gUnknown_203ADDC -_0810ED60: .4byte gUnknown_8454003 -_0810ED64: .4byte sub_810ED6C -_0810ED68: .4byte sub_810EC20 - thumb_func_end sub_810EC98 - - thumb_func_start sub_810ED6C -sub_810ED6C: @ 810ED6C - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0810ED7C - movs r0, 0x5 - bl PlaySE -_0810ED7C: - pop {r0} - bx r0 - thumb_func_end sub_810ED6C - - thumb_func_start sub_810ED80 -sub_810ED80: @ 810ED80 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - ldrb r1, [r4, 0x4] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0x2 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xC2 - movs r2, 0xC - movs r3, 0x94 - bl AddScrollIndicatorArrowPairParameterized - strb r0, [r4, 0xA] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810ED80 - - thumb_func_start sub_810EDB0 -sub_810EDB0: @ 810EDB0 - push {lr} - ldr r0, _0810EDC0 @ =gUnknown_203ADE0 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .align 2, 0 -_0810EDC0: .4byte gUnknown_203ADE0 - thumb_func_end sub_810EDB0 - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3 From 69cb422b78644c60e5471eea8c82ea9347d48b60 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 5 Oct 2019 12:25:18 -0400 Subject: Name functions in mailbox_pc --- asm/player_pc.s | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'asm') diff --git a/asm/player_pc.s b/asm/player_pc.s index 32838be77..ca08fe3b2 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -369,7 +369,7 @@ _080EB95C: _080EB962: ldr r0, _080EB990 @ =gUnknown_203AAC4 ldrb r0, [r0, 0x5] - bl sub_810EB6C + bl MailboxPC_InitBuffers lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1054,7 +1054,7 @@ sub_80EBEB0: @ 80EBEB0 lsls r6, 24 lsrs r6, 24 movs r0, 0 - bl sub_810EBAC + bl MailboxPC_GetAddWindow adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -1066,7 +1066,7 @@ sub_80EBEB0: @ 80EBEB0 bl GetStringWidth adds r5, r0, 0 movs r0, 0x1 - bl sub_810EBAC + bl MailboxPC_GetAddWindow movs r3, 0x50 subs r3, r5 lsrs r0, r3, 31 @@ -1087,7 +1087,7 @@ sub_80EBEB0: @ 80EBEB0 bl ScheduleBgCopyTilemapToVram ldr r4, _080EBF38 @ =gUnknown_203AAC4 adds r0, r4, 0 - bl sub_810EC98 + bl MailboxPC_InitListMenu ldr r2, _080EBF3C @ =gTasks lsls r1, r6, 2 adds r1, r6 @@ -1097,7 +1097,7 @@ sub_80EBEB0: @ 80EBEB0 lsrs r0, 24 strh r0, [r1, 0x1E] adds r0, r4, 0 - bl sub_810ED80 + bl MailboxPC_AddScrollIndicatorArrows add sp, 0xC pop {r3} mov r8, r3 @@ -1168,9 +1168,9 @@ _080EBFB6: movs r0, 0x5 bl PlaySE movs r0, 0 - bl sub_810EBE0 + bl MailboxPC_RemoveWindow movs r0, 0x1 - bl sub_810EBE0 + bl MailboxPC_RemoveWindow ldrb r0, [r4, 0x16] adds r1, r7, 0 mov r2, r8 @@ -1282,16 +1282,16 @@ sub_80EC094: @ 80EC094 ldr r0, _080EC0D4 @ =gTasks+0x8 adds r4, r0 movs r0, 0 - bl sub_810EBE0 + bl MailboxPC_RemoveWindow movs r0, 0x1 - bl sub_810EBE0 + bl MailboxPC_RemoveWindow ldrb r0, [r4, 0x16] movs r1, 0 movs r2, 0 bl DestroyListMenuTask movs r0, 0 bl ScheduleBgCopyTilemapToVram - bl sub_810EDB0 + bl MailboxPC_DestroyListMenuBuffer adds r0, r5, 0 bl sub_80EB8BC pop {r4,r5} @@ -1311,7 +1311,7 @@ sub_80EC0D8: @ 80EC0D8 lsls r5, 24 lsrs r5, 24 movs r0, 0x2 - bl sub_810EBAC + bl MailboxPC_GetAddWindow adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -1437,7 +1437,7 @@ sub_80EC1D4: @ 80EC1D4 ands r0, r1 cmp r0, 0 bne _080EC216 - bl sub_810EDB0 + bl MailboxPC_DestroyListMenuBuffer bl CleanupOverworldWindowsAndTilemaps ldr r2, _080EC220 @ =gSaveBlock1Ptr ldr r1, _080EC224 @ =gUnknown_203AAC4 @@ -1519,7 +1519,7 @@ _080EC27E: lsrs r4, r0, 24 ldr r0, _080EC2AC @ =gUnknown_203AAC4 ldrb r0, [r0, 0x5] - bl sub_810EB6C + bl MailboxPC_InitBuffers lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1752,7 +1752,7 @@ sub_80EC444: @ 80EC444 ands r0, r1 cmp r0, 0 bne _080EC468 - bl sub_810EDB0 + bl MailboxPC_DestroyListMenuBuffer bl CleanupOverworldWindowsAndTilemaps bl sub_81273D8 adds r0, r4, 0 @@ -1810,7 +1810,7 @@ _080EC4C6: bl sub_80F6E9C ldr r0, _080EC4EC @ =gUnknown_203AAC4 ldrb r0, [r0, 0x5] - bl sub_810EB6C + bl MailboxPC_InitBuffers lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1898,7 +1898,7 @@ sub_80EC574: @ 80EC574 lsls r4, 24 lsrs r4, 24 movs r0, 0x2 - bl sub_810EBE0 + bl MailboxPC_RemoveWindow movs r0, 0 bl ScheduleBgCopyTilemapToVram ldr r1, _080EC59C @ =gTasks -- cgit v1.2.3 From b01da1a59260b2ac54dd876e9cf35d2c1fb944e7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 5 Oct 2019 15:49:05 -0400 Subject: link.c through InitLocalLinkPlayer --- asm/cable_club.s | 2 +- asm/easy_chat.s | 4 +- asm/event_data.s | 6 +- asm/evolution_scene.s | 4 +- asm/link.s | 384 ++------------------------------------------------ asm/link_rfu_2.s | 4 +- asm/main_menu.s | 6 +- asm/party_menu.s | 2 +- asm/pokedex_screen.s | 14 +- asm/save_menu_util.s | 2 +- asm/trade.s | 2 +- asm/trainer_card.s | 2 +- 12 files changed, 35 insertions(+), 397 deletions(-) (limited to 'asm') diff --git a/asm/cable_club.s b/asm/cable_club.s index a20b4310c..4b93df7e4 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -2087,7 +2087,7 @@ _080817C0: bl sub_8057F34 ldr r0, _080817DC @ =gSpecialVar_0x8005 ldrb r0, [r0] - bl sub_80096F8 + bl SetLocalLinkPlayerId movs r0, 0x2 strh r0, [r5, 0x8] b _08081820 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 604929f1f..7019ae3c0 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -797,7 +797,7 @@ _080BDCA4: .4byte 0x0000ffff thumb_func_start sub_80BDCA8 sub_80BDCA8: @ 80BDCA8 push {lr} - bl sub_806E25C + bl IsNationalPokedexEnabled lsls r0, 24 lsrs r0, 24 pop {r1} @@ -1116,7 +1116,7 @@ _080BDEB2: movs r0, 0x13 strh r0, [r3] _080BDF0C: - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 beq _080BDF2A ldr r0, _080BDF30 @ =gUnknown_20399BC diff --git a/asm/event_data.s b/asm/event_data.s index 690134c27..e219a7ed9 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -193,8 +193,8 @@ _0806E254: .4byte gSaveBlock2Ptr _0806E258: .4byte 0x00006258 thumb_func_end EnableNationalPokedex - thumb_func_start sub_806E25C -sub_806E25C: @ 806E25C + thumb_func_start IsNationalPokedexEnabled +IsNationalPokedexEnabled: @ 806E25C push {lr} ldr r0, _0806E288 @ =gSaveBlock2Ptr ldr r0, [r0] @@ -224,7 +224,7 @@ _0806E294: _0806E296: pop {r1} bx r1 - thumb_func_end sub_806E25C + thumb_func_end IsNationalPokedexEnabled thumb_func_start sub_806E29C sub_806E29C: @ 806E29C diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index d88145fde..1ffe9b0db 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -1321,7 +1321,7 @@ sub_80CE8DC: @ 80CE8DC ldr r0, _080CE940 @ =gPlayerParty adds r1, r0 mov r9, r1 - bl sub_806E25C + bl IsNationalPokedexEnabled mov r10, r4 cmp r0, 0 bne _080CE948 @@ -2736,7 +2736,7 @@ sub_80CF53C: @ 80CF53C ldr r0, _080CF5C0 @ =gPlayerParty adds r1, r0 mov r8, r1 - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 bne _080CF598 movs r1, 0x8 diff --git a/asm/link.s b/asm/link.s index 80b4f5f6a..b5eefe73e 100644 --- a/asm/link.s +++ b/asm/link.s @@ -5,368 +5,6 @@ .text - thumb_func_start sub_8009480 -sub_8009480: @ 8009480 - push {lr} - ldr r0, _08009494 @ =gUnknown_203ADFA - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _08009498 - movs r0, 0 - b _080094CE - .align 2, 0 -_08009494: .4byte gUnknown_203ADFA -_08009498: - bl sub_800B1F4 - bl sub_80F86F4 - movs r0, 0x1 - bl sub_80FB128 - bl sub_80FD3A4 - ldr r1, _080094C0 @ =0x00008001 - cmp r0, r1 - beq _080094C4 - bl sub_800B210 - bl CloseLink - bl RestoreSerialTimer3IntrHandlers - movs r0, 0 - b _080094CE - .align 2, 0 -_080094C0: .4byte 0x00008001 -_080094C4: - bl rfu_REQ_stopMode - bl rfu_waitREQComplete - movs r0, 0x1 -_080094CE: - pop {r1} - bx r1 - thumb_func_end sub_8009480 - - thumb_func_start sub_80094D4 -sub_80094D4: @ 80094D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - pop {r0} - bx r0 - thumb_func_end sub_80094D4 - - thumb_func_start sub_80094E4 -sub_80094E4: @ 80094E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldr r4, [sp, 0x18] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08009540 @ =gUnknown_8232578 - lsls r1, r5, 4 - movs r2, 0x20 - bl LoadPalette - ldr r3, _08009544 @ =0x040000d4 - ldr r0, _08009548 @ =gUnknown_8232598 - str r0, [r3] - lsls r2, r7, 14 - lsls r0, r4, 5 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - adds r2, r0 - str r2, [r3, 0x4] - ldr r0, _0800954C @ =0x80001000 - str r0, [r3, 0x8] - ldr r0, [r3, 0x8] - ldr r0, _08009550 @ =gUnknown_3003F70 - str r6, [r0] - str r5, [r0, 0x4] - str r4, [r0, 0x8] - mov r0, r8 - cmp r0, 0x2 - beq _0800956E - cmp r0, 0x2 - bgt _08009554 - cmp r0, 0x1 - beq _0800955C - b _08009590 - .align 2, 0 -_08009540: .4byte gUnknown_8232578 -_08009544: .4byte 0x040000d4 -_08009548: .4byte gUnknown_8232598 -_0800954C: .4byte 0x80001000 -_08009550: .4byte gUnknown_3003F70 -_08009554: - mov r0, r8 - cmp r0, 0x3 - beq _08009580 - b _08009590 -_0800955C: - lsls r1, r6, 8 - movs r0, 0x1 - orrs r1, r0 - lsls r0, r7, 2 - orrs r1, r0 - movs r0, 0xA - bl SetGpuReg - b _08009590 -_0800956E: - lsls r1, r6, 8 - movs r0, 0x1 - orrs r1, r0 - lsls r0, r7, 2 - orrs r1, r0 - movs r0, 0xC - bl SetGpuReg - b _08009590 -_08009580: - lsls r1, r6, 8 - movs r0, 0x1 - orrs r1, r0 - lsls r0, r7, 2 - orrs r1, r0 - movs r0, 0xE - bl SetGpuReg -_08009590: - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, 0 - adds r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetGpuReg - adds r4, 0x12 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl SetGpuReg - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80094E4 - - thumb_func_start sub_80095BC -sub_80095BC: @ 80095BC - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r6, r1, 0 - adds r4, r2, 0 - adds r5, r3, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08009628 @ =gUnknown_8232578 - mov r2, r8 - lsls r1, r2, 4 - movs r2, 0x20 - bl LoadPalette - ldr r2, _0800962C @ =0x040000d4 - ldr r0, _08009630 @ =gUnknown_8232598 - str r0, [r2] - lsls r0, r5, 14 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - str r0, [r2, 0x4] - ldr r0, _08009634 @ =0x80001000 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, _08009638 @ =gUnknown_3003F70 - str r4, [r0] - mov r1, r8 - str r1, [r0, 0x4] - movs r1, 0 - str r1, [r0, 0x8] - ldr r0, _0800963C @ =gBGControlRegOffsets - adds r6, r0 - ldrb r0, [r6] - lsls r4, 8 - lsls r5, 2 - orrs r4, r5 - adds r1, r4, 0 - bl SetGpuReg - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08009628: .4byte gUnknown_8232578 -_0800962C: .4byte 0x040000d4 -_08009630: .4byte gUnknown_8232598 -_08009634: .4byte 0x80001000 -_08009638: .4byte gUnknown_3003F70 -_0800963C: .4byte gBGControlRegOffsets - thumb_func_end sub_80095BC - - thumb_func_start sub_8009640 -sub_8009640: @ 8009640 - push {r4,lr} - sub sp, 0x4 - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, _080096D4 @ =sub_800978C - bl SetVBlankCallback - bl ResetBlockSend - ldr r1, _080096D8 @ =gLinkType - ldr r2, _080096DC @ =0x00001111 - adds r0, r2, 0 - strh r0, [r1] - bl OpenLink - ldr r0, _080096E0 @ =gMain - ldrh r0, [r0, 0x24] - bl SeedRng - movs r4, 0 -_08009670: - bl Random - ldr r1, _080096E4 @ =gSaveBlock2Ptr - ldr r1, [r1] - adds r1, 0xA - adds r1, r4 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x3 - ble _08009670 - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x4 - movs r3, 0 - bl sub_80094E4 - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, _080096E8 @ =sub_80094D4 - movs r1, 0 - bl CreateTask - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r0, _080096EC @ =gUnknown_3000E58 - str r4, [r0] - bl sub_8009708 - ldr r0, _080096F0 @ =task00_link_test - movs r1, 0 - bl CreateTask - ldr r0, _080096F4 @ =c2_08009A8C - bl SetMainCallback2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080096D4: .4byte sub_800978C -_080096D8: .4byte gLinkType -_080096DC: .4byte 0x00001111 -_080096E0: .4byte gMain -_080096E4: .4byte gSaveBlock2Ptr -_080096E8: .4byte sub_80094D4 -_080096EC: .4byte gUnknown_3000E58 -_080096F0: .4byte task00_link_test -_080096F4: .4byte c2_08009A8C - thumb_func_end sub_8009640 - - thumb_func_start sub_80096F8 -sub_80096F8: @ 80096F8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08009704 @ =gLocalLinkPlayer - strh r0, [r1, 0x18] - bx lr - .align 2, 0 -_08009704: .4byte gLocalLinkPlayer - thumb_func_end sub_80096F8 - - thumb_func_start sub_8009708 -sub_8009708: @ 8009708 - push {r4,r5,lr} - ldr r5, _08009774 @ =gLocalLinkPlayer - ldr r4, _08009778 @ =gSaveBlock2Ptr - ldr r1, [r4] - ldrb r2, [r1, 0xA] - ldrb r0, [r1, 0xB] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r1, 0xC] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r1, 0xD] - lsls r0, 24 - orrs r2, r0 - str r2, [r5, 0x4] - adds r0, r5, 0 - adds r0, 0x8 - bl StringCopy - ldr r0, [r4] - ldrb r0, [r0, 0x8] - strb r0, [r5, 0x13] - ldr r0, _0800977C @ =gLinkType - ldrh r0, [r0] - str r0, [r5, 0x14] - ldr r0, _08009780 @ =gGameLanguage - ldrb r0, [r0] - strh r0, [r5, 0x1A] - ldr r0, _08009784 @ =gGameVersion - ldrb r0, [r0] - movs r2, 0x80 - lsls r2, 7 - adds r1, r2, 0 - adds r0, r1 - strh r0, [r5] - movs r0, 0x80 - lsls r0, 8 - strh r0, [r5, 0x2] - bl sub_806E25C - strb r0, [r5, 0x10] - ldr r0, _08009788 @ =0x00000844 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0800976E - ldrb r0, [r5, 0x10] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x10] -_0800976E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08009774: .4byte gLocalLinkPlayer -_08009778: .4byte gSaveBlock2Ptr -_0800977C: .4byte gLinkType -_08009780: .4byte gGameLanguage -_08009784: .4byte gGameVersion -_08009788: .4byte 0x00000844 - thumb_func_end sub_8009708 - thumb_func_start sub_800978C sub_800978C: @ 800978C push {lr} @@ -736,8 +374,8 @@ _08009A84: .4byte gLinkVSyncDisabled _08009A88: .4byte gUnknown_3003F80 thumb_func_end LinkTestProcessKeyInput - thumb_func_start c2_08009A8C -c2_08009A8C: @ 8009A8C + thumb_func_start CB2_LinkTest +CB2_LinkTest: @ 8009A8C push {lr} bl LinkTestProcessKeyInput movs r0, 0x1 @@ -750,7 +388,7 @@ c2_08009A8C: @ 8009A8C bl UpdatePaletteFade pop {r0} bx r0 - thumb_func_end c2_08009A8C + thumb_func_end CB2_LinkTest thumb_func_start LinkMain2 LinkMain2: @ 8009AB0 @@ -956,7 +594,7 @@ _08009C2C: _08009C30: .4byte 0x0000cafe _08009C34: .4byte 0x0000cccc _08009C38: - bl sub_8009708 + bl InitLocalLinkPlayer ldr r0, _08009C7C @ =gUnknown_3003E70 adds r2, r0, 0 adds r2, 0x10 @@ -2326,7 +1964,7 @@ PrintHexDigit: @ 800A614 lsls r1, 24 lsrs r1, 24 lsls r2, 24 - ldr r4, _0800A648 @ =gUnknown_3003F70 + ldr r4, _0800A648 @ =gLinkTestBGInfo ldr r3, [r4] lsls r3, 11 movs r5, 0xC0 @@ -2347,7 +1985,7 @@ PrintHexDigit: @ 800A614 pop {r0} bx r0 .align 2, 0 -_0800A648: .4byte gUnknown_3003F70 +_0800A648: .4byte gLinkTestBGInfo thumb_func_end PrintHexDigit thumb_func_start sub_800A64C @@ -2358,7 +1996,7 @@ sub_800A64C: @ 800A64C lsls r1, 24 lsrs r1, 24 lsls r2, 24 - ldr r4, _0800A680 @ =gUnknown_3003F70 + ldr r4, _0800A680 @ =gLinkTestBGInfo ldr r3, [r4] lsls r3, 11 movs r5, 0xC0 @@ -2378,7 +2016,7 @@ sub_800A64C: @ 800A64C pop {r0} bx r0 .align 2, 0 -_0800A680: .4byte gUnknown_3003F70 +_0800A680: .4byte gLinkTestBGInfo thumb_func_end sub_800A64C thumb_func_start sub_800A684 @@ -3315,7 +2953,7 @@ _0800AD30: ldr r1, _0800AE0C @ =gSoftResetDisabled movs r0, 0 strb r0, [r1] - ldr r0, _0800AE10 @ =sub_80094D4 + ldr r0, _0800AE10 @ =Task_DestroySelf movs r1, 0 bl CreateTask bl StopMapMusic @@ -3345,7 +2983,7 @@ _0800AE00: .4byte gUnknown_2022860 _0800AE04: .4byte gUnknown_82345F0 _0800AE08: .4byte gTMCaseMainWindowPalette _0800AE0C: .4byte gSoftResetDisabled -_0800AE10: .4byte sub_80094D4 +_0800AE10: .4byte Task_DestroySelf _0800AE14: .4byte gMain _0800AE18: .4byte sub_800AF2C thumb_func_end c2_800ACD4 @@ -3679,7 +3317,7 @@ _0800B0B0: .4byte gUnknown_3003EAC thumb_func_start sub_800B0B4 sub_800B0B4: @ 800B0B4 push {r4-r6,lr} - bl sub_8009708 + bl InitLocalLinkPlayer ldr r1, _0800B100 @ =gUnknown_3003E70 adds r2, r1, 0 adds r2, 0x10 diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index d4934caa9..316b994a0 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -6866,7 +6866,7 @@ sub_80FBA78: @ 80FBA78 bl ResetPaletteFade ldr r0, _080FBAF4 @ =sub_80FBA64 bl SetVBlankCallback - bl sub_8009480 + bl IsWirelessAdapterConnected lsls r0, 24 cmp r0, 0 beq _080FBAEC @@ -9184,7 +9184,7 @@ _080FCB88: ands r4, r1 orrs r4, r0 strb r4, [r7] - bl sub_806E25C + bl IsNationalPokedexEnabled ands r0, r6 ldrb r1, [r7, 0x1] ands r5, r1 diff --git a/asm/main_menu.s b/asm/main_menu.s index fed088ff3..76c9f8838 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -948,7 +948,7 @@ _0800CAEE: movs r0, 0 b _0800CB22 _0800CAF2: - bl sub_8009480 + bl IsWirelessAdapterConnected lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -1227,7 +1227,7 @@ sub_800CCF8: @ 800CCF8 beq _0800CD44 movs r0, 0x5 bl PlaySE - bl sub_8009480 + bl IsWirelessAdapterConnected movs r0, 0x1 negs r0, r0 movs r1, 0 @@ -1500,7 +1500,7 @@ sub_800CF3C: @ 800CF3C lsrs r0, 24 cmp r0, 0x1 bne _0800CFAE - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 beq _0800CF64 movs r0, 0x1 diff --git a/asm/party_menu.s b/asm/party_menu.s index 44a250e82..899e8e7ea 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -16284,7 +16284,7 @@ _08126C20: .4byte 0x0000ffff thumb_func_start sub_8126C24 sub_8126C24: @ 8126C24 push {lr} - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 bne _08126C60 ldr r0, _08126C54 @ =gUnknown_203B0A0 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 2f0682c94..b0b53da55 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -49,7 +49,7 @@ sub_810250C: @ 810250C mov r6, r8 push {r6} sub sp, 0xC - bl sub_806E25C + bl IsNationalPokedexEnabled lsls r0, 24 lsrs r6, r0, 24 bl m4aSoundVSyncOff @@ -594,7 +594,7 @@ _081029D0: adds r1, 0x62 movs r2, 0 bl ListMenuGetScrollAndRow - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 beq _081029F4 ldr r0, _081029F0 @ =gUnknown_84520E4 @@ -915,7 +915,7 @@ sub_8102C28: @ 8102C28 bl AddWindow ldr r1, [r7] strb r0, [r1, 0x16] - bl sub_806E25C + bl IsNationalPokedexEnabled adds r5, r0, 0 cmp r5, 0 bne _08102C9E @@ -1904,7 +1904,7 @@ sub_8103518: @ 8103518 sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - bl sub_806E25C + bl IsNationalPokedexEnabled movs r1, 0x97 str r1, [sp] cmp r0, 0 @@ -5594,7 +5594,7 @@ sub_81052D0: @ 81052D0 sub sp, 0x8 lsls r0, 24 lsrs r6, r0, 24 - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 beq _081052E8 ldr r0, _081052E4 @ =gUnknown_84406E0 @@ -8137,7 +8137,7 @@ sub_8106810: @ 8106810 push {r4,lr} lsls r0, 16 lsrs r4, r0, 16 - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0x1 beq _08106830 adds r0, r4, 0 @@ -8609,7 +8609,7 @@ sub_8106B60: @ 8106B60 movs r1, 0x3 movs r2, 0x1 bl sub_8104AB0 - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 bne _08106BA4 adds r0, r5, 0 diff --git a/asm/save_menu_util.s b/asm/save_menu_util.s index 2d2866914..1cb9d85a3 100644 --- a/asm/save_menu_util.s +++ b/asm/save_menu_util.s @@ -55,7 +55,7 @@ _080F8024: .align 2, 0 _080F8030: .4byte gSaveBlock2Ptr _080F8034: - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 beq _080F8044 movs r0, 0x1 diff --git a/asm/trade.s b/asm/trade.s index 42097bd3e..4c3932ef1 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6443,7 +6443,7 @@ _0804FA2C: cmp r5, r7 blt _0804FA2C _0804FA4E: - bl sub_806E25C + bl IsNationalPokedexEnabled mov r1, r9 lsls r4, r1, 2 cmp r0, 0 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 787a9748a..9a28cbc5e 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -2039,7 +2039,7 @@ _0808A0DC: .4byte gUnknown_8419CE7 thumb_func_start sub_808A0E0 sub_808A0E0: @ 808A0E0 push {lr} - bl sub_806E25C + bl IsNationalPokedexEnabled cmp r0, 0 bne _0808A0F2 movs r0, 0x1 -- cgit v1.2.3 From 221dd4721d40abaebdbcf0823c924062c77311f5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 5 Oct 2019 20:30:02 -0400 Subject: link through TestBlockTransfer + bss, ewram --- asm/link.s | 672 ++++++++++++++++--------------------------------------- asm/link_rfu_2.s | 74 +++--- 2 files changed, 235 insertions(+), 511 deletions(-) (limited to 'asm') diff --git a/asm/link.s b/asm/link.s index b5eefe73e..db9b022bd 100644 --- a/asm/link.s +++ b/asm/link.s @@ -5,282 +5,6 @@ .text - thumb_func_start sub_800978C -sub_800978C: @ 800978C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_800978C - - thumb_func_start sub_80097A0 -sub_80097A0: @ 80097A0 - push {lr} - ldr r3, _080097C0 @ =gLinkOpen - ldr r1, _080097C4 @ =gUnknown_3003F50 - ldr r2, _080097C8 @ =0x0000efff - adds r0, r1, 0 - adds r0, 0xE -_080097AC: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _080097AC - movs r0, 0x1 - strb r0, [r3] - bl sub_800B2F4 - pop {r0} - bx r0 - .align 2, 0 -_080097C0: .4byte gLinkOpen -_080097C4: .4byte gUnknown_3003F50 -_080097C8: .4byte 0x0000efff - thumb_func_end sub_80097A0 - - thumb_func_start task02_080097CC -task02_080097CC: @ 80097CC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080097FC @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080097F6 - ldr r1, _08009800 @ =gUnknown_3003F84 - movs r0, 0x1 - strb r0, [r1] - adds r0, r2, 0 - bl DestroyTask -_080097F6: - pop {r0} - bx r0 - .align 2, 0 -_080097FC: .4byte gTasks -_08009800: .4byte gUnknown_3003F84 - thumb_func_end task02_080097CC - - thumb_func_start OpenLink -OpenLink: @ 8009804 - push {r4-r6,lr} - ldr r0, _0800984C @ =gWirelessCommType - ldrb r4, [r0] - cmp r4, 0 - bne _08009878 - bl sub_800B388 - bl sub_80097A0 - ldr r1, _08009850 @ =gUnknown_3003F80 - ldr r0, _08009854 @ =sub_800A720 - str r0, [r1] - ldr r0, _08009858 @ =gLinkVSyncDisabled - strb r4, [r0] - ldr r0, _0800985C @ =gUnknown_3003EAC - strb r4, [r0] - ldr r0, _08009860 @ =gUnknown_3003F38 - strb r4, [r0] - bl ResetBlockReceivedFlags - bl ResetBlockSend - ldr r0, _08009864 @ =gUnknown_3000E4C - str r4, [r0] - ldr r0, _08009868 @ =gUnknown_3003F28 - strb r4, [r0] - ldr r0, _0800986C @ =gUnknown_3003F24 - strb r4, [r0] - ldr r0, _08009870 @ =gUnknown_3003F34 - strh r4, [r0] - ldr r0, _08009874 @ =task02_080097CC - movs r1, 0x2 - bl CreateTask - b _0800987C - .align 2, 0 -_0800984C: .4byte gWirelessCommType -_08009850: .4byte gUnknown_3003F80 -_08009854: .4byte sub_800A720 -_08009858: .4byte gLinkVSyncDisabled -_0800985C: .4byte gUnknown_3003EAC -_08009860: .4byte gUnknown_3003F38 -_08009864: .4byte gUnknown_3000E4C -_08009868: .4byte gUnknown_3003F28 -_0800986C: .4byte gUnknown_3003F24 -_08009870: .4byte gUnknown_3003F34 -_08009874: .4byte task02_080097CC -_08009878: - bl sub_80F86F4 -_0800987C: - ldr r1, _080098A8 @ =gReceivedRemoteLinkPlayers - movs r0, 0 - strb r0, [r1] - movs r1, 0 - ldr r6, _080098AC @ =gUnknown_3003EB8 - movs r2, 0 - movs r5, 0x1 - ldr r4, _080098B0 @ =gUnknown_3003F30 - ldr r3, _080098B4 @ =gUnknown_3003F2C -_0800988E: - adds r0, r1, r6 - strb r5, [r0] - adds r0, r1, r4 - strb r2, [r0] - adds r0, r1, r3 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x3 - ble _0800988E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080098A8: .4byte gReceivedRemoteLinkPlayers -_080098AC: .4byte gUnknown_3003EB8 -_080098B0: .4byte gUnknown_3003F30 -_080098B4: .4byte gUnknown_3003F2C - thumb_func_end OpenLink - - thumb_func_start CloseLink -CloseLink: @ 80098B8 - push {r4,lr} - ldr r0, _080098DC @ =gReceivedRemoteLinkPlayers - movs r4, 0 - strb r4, [r0] - ldr r0, _080098E0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080098CC - bl sub_80F8DC0 -_080098CC: - ldr r0, _080098E4 @ =gLinkOpen - strb r4, [r0] - bl sub_800B29C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080098DC: .4byte gReceivedRemoteLinkPlayers -_080098E0: .4byte gWirelessCommType -_080098E4: .4byte gLinkOpen - thumb_func_end CloseLink - - thumb_func_start TestBlockTransfer -TestBlockTransfer: @ 80098E8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r5, _080099AC @ =gUnknown_3000E5C - ldr r4, _080099B0 @ =gUnknown_3000E08 - ldrb r0, [r5] - ldrh r1, [r4] - cmp r0, r1 - beq _0800990C - ldrh r0, [r4] - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0x2 - bl sub_800A684 - ldrh r0, [r4] - strb r0, [r5] -_0800990C: - movs r5, 0 - ldr r7, _080099B4 @ =gUnknown_3000E18 -_08009910: - ldr r0, _080099B8 @ =gUnknown_3000E60 - adds r6, r5, r0 - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 2 - adds r4, r0, r7 - ldrb r0, [r6] - ldrh r1, [r4] - cmp r0, r1 - beq _08009938 - ldrh r0, [r4] - adds r2, r5, 0x4 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x2 - movs r3, 0x2 - bl sub_800A684 - ldrh r0, [r4] - strb r0, [r6] -_08009938: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08009910 - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bne _0800999E - movs r5, 0 - ldr r0, _080099B4 @ =gUnknown_3000E18 - mov r9, r0 - ldr r1, _080099BC @ =0x00000342 - mov r8, r1 -_08009958: - adds r0, r7, 0 - asrs r0, r5 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08009994 - lsls r0, r5, 8 - ldr r1, _080099C0 @ =gBlockRecvBuffer - adds r0, r1 - lsls r4, r5, 1 - adds r1, r4, r5 - lsls r1, 2 - add r1, r9 - ldrh r1, [r1, 0x2] - bl LinkTestCalcBlockChecksum - ldr r1, _080099C4 @ =gUnknown_3003F88 - adds r4, r1 - movs r6, 0 - strh r0, [r4] - adds r0, r5, 0 - bl ResetBlockReceivedFlag - ldrh r0, [r4] - cmp r0, r8 - beq _08009994 - ldr r0, _080099C8 @ =gLinkTestDebugValuesEnabled - strb r6, [r0] - ldr r0, _080099CC @ =gUnknown_2022111 - strb r6, [r0] -_08009994: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08009958 -_0800999E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080099AC: .4byte gUnknown_3000E5C -_080099B0: .4byte gUnknown_3000E08 -_080099B4: .4byte gUnknown_3000E18 -_080099B8: .4byte gUnknown_3000E60 -_080099BC: .4byte 0x00000342 -_080099C0: .4byte gBlockRecvBuffer -_080099C4: .4byte gUnknown_3003F88 -_080099C8: .4byte gLinkTestDebugValuesEnabled -_080099CC: .4byte gUnknown_2022111 - thumb_func_end TestBlockTransfer - thumb_func_start LinkTestProcessKeyInput LinkTestProcessKeyInput: @ 80099D0 push {r4,r5,lr} @@ -291,7 +15,7 @@ LinkTestProcessKeyInput: @ 80099D0 ands r0, r1 cmp r0, 0 beq _080099E6 - ldr r1, _08009A74 @ =gUnknown_3003F84 + ldr r1, _08009A74 @ =gShouldAdvanceLinkState movs r0, 0x1 strb r0, [r1] _080099E6: @@ -350,7 +74,7 @@ _08009A46: ldr r2, [r4, 0x24] ldr r0, _08009A84 @ =gLinkVSyncDisabled ldrb r1, [r0] - ldr r0, _08009A88 @ =gUnknown_3003F80 + ldr r0, _08009A88 @ =gLinkCallback ldr r0, [r0] cmp r0, 0 bne _08009A60 @@ -366,12 +90,12 @@ _08009A66: bx r0 .align 2, 0 _08009A70: .4byte gMain -_08009A74: .4byte gUnknown_3003F84 +_08009A74: .4byte gShouldAdvanceLinkState _08009A78: .4byte gHeap + 0x4000 _08009A7C: .4byte 0x00002004 _08009A80: .4byte gLinkTestDebugValuesEnabled _08009A84: .4byte gLinkVSyncDisabled -_08009A88: .4byte gUnknown_3003F80 +_08009A88: .4byte gLinkCallback thumb_func_end LinkTestProcessKeyInput thumb_func_start CB2_LinkTest @@ -405,7 +129,7 @@ _08009AC0: .4byte gLinkOpen _08009AC4: movs r1, 0 ldr r5, _08009B14 @ =gUnknown_3003EC4 - ldr r3, _08009B18 @ =gUnknown_3003F50 + ldr r3, _08009B18 @ =gSendCmd movs r2, 0 _08009ACC: lsls r0, r1, 1 @@ -429,7 +153,7 @@ _08009ACC: lsls r0, 26 lsrs r0, 30 bl sub_8009B70 - ldr r0, _08009B24 @ =gUnknown_3003F80 + ldr r0, _08009B24 @ =gLinkCallback ldr r0, [r0] cmp r0, 0 beq _08009B04 @@ -445,10 +169,10 @@ _08009B0C: bx r1 .align 2, 0 _08009B14: .4byte gUnknown_3003EC4 -_08009B18: .4byte gUnknown_3003F50 +_08009B18: .4byte gSendCmd _08009B1C: .4byte gUnknown_3003F20 _08009B20: .4byte 0x04000128 -_08009B24: .4byte gUnknown_3003F80 +_08009B24: .4byte gLinkCallback thumb_func_end LinkMain2 thumb_func_start HandleReceiveRemoteLinkPlayer @@ -457,14 +181,14 @@ HandleReceiveRemoteLinkPlayer: @ 8009B28 lsls r0, 24 lsrs r0, 24 movs r5, 0 - ldr r1, _08009B3C @ =gUnknown_3003EB8 + ldr r1, _08009B3C @ =gRemoteLinkPlayersNotReceived adds r0, r1 strb r5, [r0] movs r4, 0 adds r6, r1, 0 b _08009B48 .align 2, 0 -_08009B3C: .4byte gUnknown_3003EB8 +_08009B3C: .4byte gRemoteLinkPlayersNotReceived _08009B40: adds r0, r4, r6 ldrb r0, [r0] @@ -640,7 +364,7 @@ _08009C94: mov r7, r12 adds r1, r7, r6 lsls r1, 2 - ldr r0, _08009CB8 @ =gUnknown_3000E18 + ldr r0, _08009CB8 @ =sBlockRecv adds r1, r0 movs r2, 0 strh r2, [r1] @@ -656,13 +380,13 @@ _08009C94: strb r0, [r1, 0x9] b _08009E3E .align 2, 0 -_08009CB8: .4byte gUnknown_3000E18 +_08009CB8: .4byte sBlockRecv _08009CBC: .4byte gRecvCmds _08009CC0: mov r3, r12 adds r0, r3, r6 lsls r0, 2 - ldr r5, _08009D04 @ =gUnknown_3000E18 + ldr r5, _08009D04 @ =sBlockRecv adds r3, r0, r5 ldrh r1, [r3, 0x2] movs r0, 0x80 @@ -695,7 +419,7 @@ _08009CE4: bls _08009CE4 b _08009D40 .align 2, 0 -_08009D04: .4byte gUnknown_3000E18 +_08009D04: .4byte sBlockRecv _08009D08: .4byte gDecompressionBuffer _08009D0C: .4byte gRecvCmds _08009D10: @@ -738,7 +462,7 @@ _08009D40: ldrh r1, [r1, 0x2] cmp r0, r1 bcc _08009E3E - ldr r0, _08009DCC @ =gUnknown_3003EB8 + ldr r0, _08009DCC @ =gRemoteLinkPlayersNotReceived adds r0, r6, r0 ldrb r0, [r0] cmp r0, 0x1 @@ -792,7 +516,7 @@ _08009DBC: .align 2, 0 _08009DC4: .4byte gBlockRecvBuffer _08009DC8: .4byte gRecvCmds -_08009DCC: .4byte gUnknown_3003EB8 +_08009DCC: .4byte gRemoteLinkPlayersNotReceived _08009DD0: .4byte gLinkPlayers _08009DD4: .4byte gUnknown_82345C0 _08009DD8: .4byte c2_800ACD4 @@ -954,31 +678,31 @@ _08009EFC: .align 2, 0 _08009F04: .4byte 0x0000cccc _08009F08: - ldr r0, _08009F14 @ =gUnknown_3003F50 + ldr r0, _08009F14 @ =gSendCmd strh r2, [r0] ldr r1, _08009F18 @ =gLinkType ldrh r1, [r1] b _08009FD4 .align 2, 0 -_08009F14: .4byte gUnknown_3003F50 +_08009F14: .4byte gSendCmd _08009F18: .4byte gLinkType _08009F1C: - ldr r0, _08009F28 @ =gUnknown_3003F50 + ldr r0, _08009F28 @ =gSendCmd strh r2, [r0] ldr r1, _08009F2C @ =gMain ldrh r1, [r1, 0x2C] b _08009FD4 .align 2, 0 -_08009F28: .4byte gUnknown_3003F50 +_08009F28: .4byte gSendCmd _08009F2C: .4byte gMain _08009F30: - ldr r0, _08009F38 @ =gUnknown_3003F50 + ldr r0, _08009F38 @ =gSendCmd movs r1, 0 b _08009FD2 .align 2, 0 -_08009F38: .4byte gUnknown_3003F50 +_08009F38: .4byte gSendCmd _08009F3C: - ldr r0, _08009F58 @ =gUnknown_3003F50 + ldr r0, _08009F58 @ =gSendCmd strh r2, [r0] movs r1, 0 adds r3, r0, 0 @@ -994,11 +718,11 @@ _08009F46: bls _08009F46 b _08009FD6 .align 2, 0 -_08009F58: .4byte gUnknown_3003F50 +_08009F58: .4byte gSendCmd _08009F5C: - ldr r1, _08009F70 @ =gUnknown_3003F50 + ldr r1, _08009F70 @ =gSendCmd strh r2, [r1] - ldr r2, _08009F74 @ =gUnknown_3000E08 + ldr r2, _08009F74 @ =sBlockSend ldrh r0, [r2, 0x2] strh r0, [r1, 0x2] ldrb r0, [r2, 0x9] @@ -1006,41 +730,41 @@ _08009F5C: strh r0, [r1, 0x4] b _08009FD6 .align 2, 0 -_08009F70: .4byte gUnknown_3003F50 -_08009F74: .4byte gUnknown_3000E08 +_08009F70: .4byte gSendCmd +_08009F74: .4byte sBlockSend _08009F78: - ldr r0, _08009F84 @ =gUnknown_3003F50 + ldr r0, _08009F84 @ =gSendCmd strh r2, [r0] ldr r1, _08009F88 @ =gSpecialVar_ItemId ldrh r1, [r1] b _08009FD4 .align 2, 0 -_08009F84: .4byte gUnknown_3003F50 +_08009F84: .4byte gSendCmd _08009F88: .4byte gSpecialVar_ItemId _08009F8C: - ldr r0, _08009F98 @ =gUnknown_3003F50 + ldr r0, _08009F98 @ =gSendCmd strh r2, [r0] ldr r1, _08009F9C @ =gUnknown_3003F90 ldrb r1, [r1] b _08009FD4 .align 2, 0 -_08009F98: .4byte gUnknown_3003F50 +_08009F98: .4byte gSendCmd _08009F9C: .4byte gUnknown_3003F90 _08009FA0: - ldr r0, _08009FAC @ =gUnknown_3003F50 + ldr r0, _08009FAC @ =gSendCmd strh r2, [r0] ldr r1, _08009FB0 @ =gUnknown_3003F34 ldrh r1, [r1] b _08009FD4 .align 2, 0 -_08009FAC: .4byte gUnknown_3003F50 +_08009FAC: .4byte gSendCmd _08009FB0: .4byte gUnknown_3003F34 _08009FB4: - ldr r0, _08009FBC @ =gUnknown_3003F50 + ldr r0, _08009FBC @ =gSendCmd strh r2, [r0] b _08009FD6 .align 2, 0 -_08009FBC: .4byte gUnknown_3003F50 +_08009FBC: .4byte gSendCmd _08009FC0: ldr r0, _08009FDC @ =gUnknown_3005028 ldrh r1, [r0] @@ -1050,7 +774,7 @@ _08009FC0: ldrb r0, [r0] cmp r0, 0 bne _08009FD6 - ldr r0, _08009FE4 @ =gUnknown_3003F50 + ldr r0, _08009FE4 @ =gSendCmd _08009FD2: strh r2, [r0] _08009FD4: @@ -1061,7 +785,7 @@ _08009FD6: .align 2, 0 _08009FDC: .4byte gUnknown_3005028 _08009FE0: .4byte gLinkTransferringData -_08009FE4: .4byte gUnknown_3003F50 +_08009FE4: .4byte gSendCmd thumb_func_end sub_8009E60 thumb_func_start sub_8009FE8 @@ -1073,14 +797,14 @@ sub_8009FE8: @ 8009FE8 beq _08009FF6 bl sub_80F9828 _08009FF6: - ldr r1, _0800A004 @ =gUnknown_3003F80 + ldr r1, _0800A004 @ =gLinkCallback ldr r0, _0800A008 @ =sub_800A040 str r0, [r1] pop {r0} bx r0 .align 2, 0 _0800A000: .4byte gWirelessCommType -_0800A004: .4byte gUnknown_3003F80 +_0800A004: .4byte gLinkCallback _0800A008: .4byte sub_800A040 thumb_func_end sub_8009FE8 @@ -1096,7 +820,7 @@ sub_800A00C: @ 800A00C .align 2, 0 _0800A01C: .4byte gWirelessCommType _0800A020: - ldr r0, _0800A030 @ =gUnknown_3003F80 + ldr r0, _0800A030 @ =gLinkCallback ldr r1, [r0] ldr r0, _0800A034 @ =sub_800A040 cmp r1, r0 @@ -1104,7 +828,7 @@ _0800A020: movs r0, 0 b _0800A03A .align 2, 0 -_0800A030: .4byte gUnknown_3003F80 +_0800A030: .4byte gLinkCallback _0800A034: .4byte sub_800A040 _0800A038: movs r0, 0x1 @@ -1132,12 +856,12 @@ _0800A058: .4byte 0x0000cafe thumb_func_start sub_800A05C sub_800A05C: @ 800A05C - ldr r1, _0800A064 @ =gUnknown_3003F80 + ldr r1, _0800A064 @ =gLinkCallback movs r0, 0 str r0, [r1] bx lr .align 2, 0 -_0800A064: .4byte gUnknown_3003F80 +_0800A064: .4byte gLinkCallback thumb_func_end sub_800A05C thumb_func_start sub_800A068 @@ -1152,13 +876,13 @@ sub_800A068: @ 800A068 .align 2, 0 _0800A078: .4byte gWirelessCommType _0800A07C: - ldr r0, _0800A084 @ =gUnknown_3003F80 + ldr r0, _0800A084 @ =gLinkCallback str r1, [r0] _0800A080: pop {r0} bx r0 .align 2, 0 -_0800A084: .4byte gUnknown_3003F80 +_0800A084: .4byte gLinkCallback thumb_func_end sub_800A068 thumb_func_start GetLinkPlayerCount @@ -1189,7 +913,7 @@ _0800A0B0: thumb_func_start sub_800A0B4 sub_800A0B4: @ 800A0B4 push {lr} - ldr r0, _0800A0C8 @ =gUnknown_3000E54 + ldr r0, _0800A0C8 @ =sPlayerDataExchangeStatus movs r1, 0 str r1, [r0] ldr r0, _0800A0CC @ =gLinkTimeOutCounter @@ -1198,7 +922,7 @@ sub_800A0B4: @ 800A0B4 pop {r0} bx r0 .align 2, 0 -_0800A0C8: .4byte gUnknown_3000E54 +_0800A0C8: .4byte sPlayerDataExchangeStatus _0800A0CC: .4byte gLinkTimeOutCounter thumb_func_end sub_800A0B4 @@ -1220,19 +944,19 @@ sub_800A0D0: @ 800A0D0 cmp r0, r6 ble _0800A100 _0800A0F0: - ldr r1, _0800A0FC @ =gUnknown_3000E54 + ldr r1, _0800A0FC @ =sPlayerDataExchangeStatus movs r0, 0x6 str r0, [r1] b _0800A1E2 .align 2, 0 _0800A0F8: .4byte gReceivedRemoteLinkPlayers -_0800A0FC: .4byte gUnknown_3000E54 +_0800A0FC: .4byte sPlayerDataExchangeStatus _0800A100: bl GetLinkPlayerCount lsls r0, 24 cmp r0, 0 bne _0800A112 - ldr r0, _0800A11C @ =gUnknown_3003EAC + ldr r0, _0800A11C @ =gLinkErrorOccurred strb r4, [r0] bl CloseLink _0800A112: @@ -1241,7 +965,7 @@ _0800A112: movs r5, 0 b _0800A138 .align 2, 0 -_0800A11C: .4byte gUnknown_3003EAC +_0800A11C: .4byte gLinkErrorOccurred _0800A120: .4byte gLinkPlayers _0800A124: adds r0, r4, 0 @@ -1278,52 +1002,52 @@ _0800A138: bgt _0800A17C cmp r0, 0 beq _0800A188 - ldr r2, _0800A178 @ =gUnknown_3000E54 + ldr r2, _0800A178 @ =sPlayerDataExchangeStatus b _0800A1E0 .align 2, 0 _0800A170: .4byte gLinkPlayers _0800A174: .4byte 0x00001133 -_0800A178: .4byte gUnknown_3000E54 +_0800A178: .4byte sPlayerDataExchangeStatus _0800A17C: cmp r0, 0x2 beq _0800A1A0 - ldr r2, _0800A184 @ =gUnknown_3000E54 + ldr r2, _0800A184 @ =sPlayerDataExchangeStatus b _0800A1E0 .align 2, 0 -_0800A184: .4byte gUnknown_3000E54 +_0800A184: .4byte sPlayerDataExchangeStatus _0800A188: - ldr r1, _0800A190 @ =gUnknown_3000E54 + ldr r1, _0800A190 @ =sPlayerDataExchangeStatus movs r0, 0x1 b _0800A1BC .align 2, 0 -_0800A190: .4byte gUnknown_3000E54 +_0800A190: .4byte sPlayerDataExchangeStatus _0800A194: - ldr r1, _0800A19C @ =gUnknown_3000E54 + ldr r1, _0800A19C @ =sPlayerDataExchangeStatus movs r0, 0x4 b _0800A1BC .align 2, 0 -_0800A19C: .4byte gUnknown_3000E54 +_0800A19C: .4byte sPlayerDataExchangeStatus _0800A1A0: - ldr r1, _0800A1A8 @ =gUnknown_3000E54 + ldr r1, _0800A1A8 @ =sPlayerDataExchangeStatus movs r0, 0x5 b _0800A1BC .align 2, 0 -_0800A1A8: .4byte gUnknown_3000E54 +_0800A1A8: .4byte sPlayerDataExchangeStatus _0800A1AC: - ldr r1, _0800A1B4 @ =gUnknown_3000E54 + ldr r1, _0800A1B4 @ =sPlayerDataExchangeStatus movs r0, 0x1 b _0800A1BC .align 2, 0 -_0800A1B4: .4byte gUnknown_3000E54 +_0800A1B4: .4byte sPlayerDataExchangeStatus _0800A1B8: - ldr r1, _0800A1C4 @ =gUnknown_3000E54 + ldr r1, _0800A1C4 @ =sPlayerDataExchangeStatus movs r0, 0x3 _0800A1BC: str r0, [r1] adds r2, r1, 0 b _0800A1E0 .align 2, 0 -_0800A1C4: .4byte gUnknown_3000E54 +_0800A1C4: .4byte sPlayerDataExchangeStatus _0800A1C8: ldr r0, _0800A1E8 @ =gLinkTimeOutCounter ldrh r1, [r0] @@ -1332,7 +1056,7 @@ _0800A1C8: lsls r1, 16 movs r0, 0x96 lsls r0, 18 - ldr r2, _0800A1EC @ =gUnknown_3000E54 + ldr r2, _0800A1EC @ =sPlayerDataExchangeStatus cmp r1, r0 bls _0800A1E0 movs r0, 0x2 @@ -1345,7 +1069,7 @@ _0800A1E2: bx r1 .align 2, 0 _0800A1E8: .4byte gLinkTimeOutCounter -_0800A1EC: .4byte gUnknown_3000E54 +_0800A1EC: .4byte sPlayerDataExchangeStatus thumb_func_end sub_800A0D0 thumb_func_start IsLinkPlayerDataExchangeComplete @@ -1387,14 +1111,14 @@ _0800A220: cmp r6, r0 bne _0800A244 movs r2, 0x1 - ldr r0, _0800A240 @ =gUnknown_3000E54 + ldr r0, _0800A240 @ =sPlayerDataExchangeStatus str r2, [r0] b _0800A24C .align 2, 0 -_0800A240: .4byte gUnknown_3000E54 +_0800A240: .4byte sPlayerDataExchangeStatus _0800A244: movs r2, 0 - ldr r1, _0800A254 @ =gUnknown_3000E54 + ldr r1, _0800A254 @ =sPlayerDataExchangeStatus movs r0, 0x3 str r0, [r1] _0800A24C: @@ -1403,7 +1127,7 @@ _0800A24C: pop {r1} bx r1 .align 2, 0 -_0800A254: .4byte gUnknown_3000E54 +_0800A254: .4byte sPlayerDataExchangeStatus thumb_func_end IsLinkPlayerDataExchangeComplete thumb_func_start GetLinkPlayerTrainerId @@ -1445,7 +1169,7 @@ _0800A290: .4byte gLinkPlayers thumb_func_start ResetBlockSend ResetBlockSend: @ 800A294 - ldr r1, _0800A2A4 @ =gUnknown_3000E08 + ldr r1, _0800A2A4 @ =sBlockSend movs r0, 0 strb r0, [r1, 0x8] strh r0, [r1] @@ -1453,7 +1177,7 @@ ResetBlockSend: @ 800A294 str r0, [r1, 0x4] bx lr .align 2, 0 -_0800A2A4: .4byte gUnknown_3000E08 +_0800A2A4: .4byte sBlockSend thumb_func_end ResetBlockSend thumb_func_start InitBlockSend @@ -1461,14 +1185,14 @@ InitBlockSend: @ 800A2A8 push {r4-r7,lr} adds r7, r0, 0 adds r6, r1, 0 - ldr r4, _0800A2BC @ =gUnknown_3000E08 + ldr r4, _0800A2BC @ =sBlockSend ldrb r5, [r4, 0x8] cmp r5, 0 beq _0800A2C0 movs r0, 0 b _0800A2FE .align 2, 0 -_0800A2BC: .4byte gUnknown_3000E08 +_0800A2BC: .4byte sBlockSend _0800A2C0: bl GetMultiplayerId strb r0, [r4, 0x9] @@ -1494,10 +1218,10 @@ _0800A2E8: _0800A2EA: ldr r0, _0800A308 @ =0x0000bbbb bl sub_8009E60 - ldr r1, _0800A30C @ =gUnknown_3003F80 + ldr r1, _0800A30C @ =gLinkCallback ldr r0, _0800A310 @ =LinkCB_BlockSendBegin str r0, [r1] - ldr r1, _0800A314 @ =gUnknown_3000E48 + ldr r1, _0800A314 @ =sBlockSendDelayCounter movs r0, 0 str r0, [r1] movs r0, 0x1 @@ -1508,38 +1232,38 @@ _0800A2FE: .align 2, 0 _0800A304: .4byte gBlockSendBuffer _0800A308: .4byte 0x0000bbbb -_0800A30C: .4byte gUnknown_3003F80 +_0800A30C: .4byte gLinkCallback _0800A310: .4byte LinkCB_BlockSendBegin -_0800A314: .4byte gUnknown_3000E48 +_0800A314: .4byte sBlockSendDelayCounter thumb_func_end InitBlockSend thumb_func_start LinkCB_BlockSendBegin LinkCB_BlockSendBegin: @ 800A318 push {lr} - ldr r1, _0800A330 @ =gUnknown_3000E48 + ldr r1, _0800A330 @ =sBlockSendDelayCounter ldr r0, [r1] adds r0, 0x1 str r0, [r1] cmp r0, 0x2 bls _0800A32C - ldr r1, _0800A334 @ =gUnknown_3003F80 + ldr r1, _0800A334 @ =gLinkCallback ldr r0, _0800A338 @ =LinkCB_BlockSend str r0, [r1] _0800A32C: pop {r0} bx r0 .align 2, 0 -_0800A330: .4byte gUnknown_3000E48 -_0800A334: .4byte gUnknown_3003F80 +_0800A330: .4byte sBlockSendDelayCounter +_0800A334: .4byte gLinkCallback _0800A338: .4byte LinkCB_BlockSend thumb_func_end LinkCB_BlockSendBegin thumb_func_start LinkCB_BlockSend LinkCB_BlockSend: @ 800A33C push {r4-r6,lr} - ldr r0, _0800A38C @ =gUnknown_3000E08 + ldr r0, _0800A38C @ =sBlockSend ldr r5, [r0, 0x4] - ldr r2, _0800A390 @ =gUnknown_3003F50 + ldr r2, _0800A390 @ =gSendCmd ldr r1, _0800A394 @ =0x00008888 strh r1, [r2] movs r3, 0 @@ -1570,7 +1294,7 @@ _0800A350: bhi _0800A384 movs r0, 0 strb r0, [r4, 0x8] - ldr r1, _0800A398 @ =gUnknown_3003F80 + ldr r1, _0800A398 @ =gLinkCallback ldr r0, _0800A39C @ =sub_800A3A0 str r0, [r1] _0800A384: @@ -1578,21 +1302,21 @@ _0800A384: pop {r0} bx r0 .align 2, 0 -_0800A38C: .4byte gUnknown_3000E08 -_0800A390: .4byte gUnknown_3003F50 +_0800A38C: .4byte sBlockSend +_0800A390: .4byte gSendCmd _0800A394: .4byte 0x00008888 -_0800A398: .4byte gUnknown_3003F80 +_0800A398: .4byte gLinkCallback _0800A39C: .4byte sub_800A3A0 thumb_func_end LinkCB_BlockSend thumb_func_start sub_800A3A0 sub_800A3A0: @ 800A3A0 - ldr r1, _0800A3A8 @ =gUnknown_3003F80 + ldr r1, _0800A3A8 @ =gLinkCallback movs r0, 0 str r0, [r1] bx lr .align 2, 0 -_0800A3A8: .4byte gUnknown_3003F80 +_0800A3A8: .4byte gLinkCallback thumb_func_end sub_800A3A0 thumb_func_start sub_800A3AC @@ -1617,13 +1341,13 @@ sub_800A3CC: @ 800A3CC ldr r1, _0800A3DC @ =gUnknown_2022114 movs r0, 0 str r0, [r1] - ldr r1, _0800A3E0 @ =gUnknown_3003F80 + ldr r1, _0800A3E0 @ =gLinkCallback ldr r0, _0800A3E4 @ =sub_800A3AC str r0, [r1] bx lr .align 2, 0 _0800A3DC: .4byte gUnknown_2022114 -_0800A3E0: .4byte gUnknown_3003F80 +_0800A3E0: .4byte gLinkCallback _0800A3E4: .4byte sub_800A3AC thumb_func_end sub_800A3CC @@ -1731,14 +1455,14 @@ sub_800A474: @ 800A474 .align 2, 0 _0800A490: .4byte gWirelessCommType _0800A494: - ldr r0, _0800A4A0 @ =gUnknown_3003F80 + ldr r0, _0800A4A0 @ =gLinkCallback ldr r0, [r0] cmp r0, 0 beq _0800A4A4 movs r0, 0 b _0800A4B0 .align 2, 0 -_0800A4A0: .4byte gUnknown_3003F80 +_0800A4A0: .4byte gLinkCallback _0800A4A4: ldr r0, _0800A4B4 @ =gUnknown_3003F90 strb r2, [r0] @@ -1768,7 +1492,7 @@ IsLinkTaskFinished: @ 800A4BC _0800A4D0: .4byte gWirelessCommType _0800A4D4: movs r1, 0 - ldr r0, _0800A4E8 @ =gUnknown_3003F80 + ldr r0, _0800A4E8 @ =gLinkCallback ldr r0, [r0] cmp r0, 0 bne _0800A4E0 @@ -1779,7 +1503,7 @@ _0800A4E2: pop {r1} bx r1 .align 2, 0 -_0800A4E8: .4byte gUnknown_3003F80 +_0800A4E8: .4byte gLinkCallback thumb_func_end IsLinkTaskFinished thumb_func_start GetBlockReceivedStatus @@ -1916,7 +1640,7 @@ CheckShouldAdvanceLinkState: @ 800A5BC ands r1, r0 cmp r1, 0x4 bls _0800A5D8 - ldr r1, _0800A5E0 @ =gUnknown_3003F84 + ldr r1, _0800A5E0 @ =gShouldAdvanceLinkState movs r0, 0x1 strb r0, [r1] _0800A5D8: @@ -1924,7 +1648,7 @@ _0800A5D8: bx r0 .align 2, 0 _0800A5DC: .4byte gUnknown_3003F20 -_0800A5E0: .4byte gUnknown_3003F84 +_0800A5E0: .4byte gShouldAdvanceLinkState thumb_func_end CheckShouldAdvanceLinkState thumb_func_start LinkTestCalcBlockChecksum @@ -2019,8 +1743,8 @@ sub_800A64C: @ 800A64C _0800A680: .4byte gLinkTestBGInfo thumb_func_end sub_800A64C - thumb_func_start sub_800A684 -sub_800A684: @ 800A684 + thumb_func_start LinkTest_prnthex +LinkTest_prnthex: @ 800A684 push {r4-r7,lr} sub sp, 0x10 adds r5, r0, 0 @@ -2066,7 +1790,7 @@ _0800A6D0: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_800A684 + thumb_func_end LinkTest_prnthex thumb_func_start sub_800A6D8 sub_800A6D8: @ 800A6D8 @@ -2110,8 +1834,8 @@ _0800A718: bx r0 thumb_func_end sub_800A6D8 - thumb_func_start sub_800A720 -sub_800A720: @ 800A720 + thumb_func_start LinkCB_RequestPlayerDataExchange +LinkCB_RequestPlayerDataExchange: @ 800A720 push {lr} ldr r0, _0800A740 @ =gUnknown_3003F20 ldr r0, [r0] @@ -2122,7 +1846,7 @@ sub_800A720: @ 800A720 ldr r0, _0800A744 @ =0x00002222 bl sub_8009E60 _0800A734: - ldr r1, _0800A748 @ =gUnknown_3003F80 + ldr r1, _0800A748 @ =gLinkCallback movs r0, 0 str r0, [r1] pop {r0} @@ -2130,8 +1854,8 @@ _0800A734: .align 2, 0 _0800A740: .4byte gUnknown_3003F20 _0800A744: .4byte 0x00002222 -_0800A748: .4byte gUnknown_3003F80 - thumb_func_end sub_800A720 +_0800A748: .4byte gLinkCallback + thumb_func_end LinkCB_RequestPlayerDataExchange thumb_func_start task00_link_test task00_link_test: @ 800A74C @@ -2144,24 +1868,24 @@ task00_link_test: @ 800A74C movs r1, 0x5 movs r2, 0x2 bl sub_800A6D8 - ldr r0, _0800A870 @ =gUnknown_3003F84 + ldr r0, _0800A870 @ =gShouldAdvanceLinkState ldrb r0, [r0] movs r1, 0x2 movs r2, 0x1 movs r3, 0x2 - bl sub_800A684 + bl LinkTest_prnthex ldr r4, _0800A874 @ =gUnknown_3003F20 ldr r0, [r4] movs r1, 0xF movs r2, 0x1 movs r3, 0x8 - bl sub_800A684 + bl LinkTest_prnthex ldr r0, _0800A878 @ =gUnknown_3003FB0 ldrb r0, [r0, 0x1] movs r1, 0x2 movs r2, 0xA movs r3, 0x2 - bl sub_800A684 + bl LinkTest_prnthex ldr r0, [r4] movs r1, 0x1C ands r0, r1 @@ -2169,83 +1893,83 @@ task00_link_test: @ 800A74C movs r1, 0xF movs r2, 0xA movs r3, 0x2 - bl sub_800A684 + bl LinkTest_prnthex bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 movs r1, 0xF movs r2, 0xC movs r3, 0x2 - bl sub_800A684 + bl LinkTest_prnthex ldr r0, _0800A87C @ =gUnknown_3003FA0 ldrb r0, [r0] movs r1, 0x19 movs r2, 0x1 movs r3, 0x2 - bl sub_800A684 + bl LinkTest_prnthex ldr r0, _0800A880 @ =gUnknown_3004F70 ldrb r0, [r0] movs r1, 0x19 movs r2, 0x2 movs r3, 0x2 - bl sub_800A684 + bl LinkTest_prnthex bl GetBlockReceivedStatus lsls r0, 24 lsrs r0, 24 movs r1, 0xF movs r2, 0x5 movs r3, 0x2 - bl sub_800A684 + bl LinkTest_prnthex ldr r0, _0800A884 @ =gUnknown_3003E6C ldr r0, [r0] movs r1, 0x2 movs r2, 0xC movs r3, 0x8 - bl sub_800A684 + bl LinkTest_prnthex ldr r0, _0800A888 @ =gUnknown_3003EB0 ldr r0, [r0] movs r1, 0x2 movs r2, 0xD movs r3, 0x8 - bl sub_800A684 + bl LinkTest_prnthex bl GetSioMultiSI lsls r0, 24 lsrs r0, 24 movs r1, 0x19 movs r2, 0x5 movs r3, 0x1 - bl sub_800A684 + bl LinkTest_prnthex bl IsSioMultiMaster lsls r0, 24 lsrs r0, 24 movs r1, 0x19 movs r2, 0x6 movs r3, 0x1 - bl sub_800A684 + bl LinkTest_prnthex bl IsLinkConnectionEstablished lsls r0, 24 lsrs r0, 24 movs r1, 0x19 movs r2, 0x7 movs r3, 0x1 - bl sub_800A684 + bl LinkTest_prnthex bl HasLinkErrorOccurred lsls r0, 24 lsrs r0, 24 movs r1, 0x19 movs r2, 0x8 movs r3, 0x1 - bl sub_800A684 + bl LinkTest_prnthex movs r6, 0 movs r5, 0x80 lsls r5, 19 - ldr r4, _0800A88C @ =gUnknown_3003F88 + ldr r4, _0800A88C @ =gLinkTestBlockChecksums _0800A84A: ldrh r0, [r4] lsrs r2, r5, 24 movs r1, 0xA movs r3, 0x4 - bl sub_800A684 + bl LinkTest_prnthex movs r0, 0x80 lsls r0, 17 adds r5, r0 @@ -2259,14 +1983,14 @@ _0800A84A: bx r0 .align 2, 0 _0800A86C: .4byte gUnknown_82345D0 -_0800A870: .4byte gUnknown_3003F84 +_0800A870: .4byte gShouldAdvanceLinkState _0800A874: .4byte gUnknown_3003F20 _0800A878: .4byte gUnknown_3003FB0 _0800A87C: .4byte gUnknown_3003FA0 _0800A880: .4byte gUnknown_3004F70 _0800A884: .4byte gUnknown_3003E6C _0800A888: .4byte gUnknown_3003EB0 -_0800A88C: .4byte gUnknown_3003F88 +_0800A88C: .4byte gLinkTestBlockChecksums thumb_func_end task00_link_test thumb_func_start SetLinkDebugValues @@ -2468,7 +2192,7 @@ _0800A9C2: cmp r0, 0 beq _0800A9F6 _0800A9E6: - ldr r1, _0800AA1C @ =gUnknown_3003EAC + ldr r1, _0800AA1C @ =gLinkErrorOccurred movs r0, 0x1 strb r0, [r1] bl CloseLink @@ -2492,7 +2216,7 @@ _0800AA04: _0800AA10: .4byte gUnknown_3003F40 _0800AA14: .4byte gSavedLinkPlayers _0800AA18: .4byte gLinkPlayers -_0800AA1C: .4byte gUnknown_3003EAC +_0800AA1C: .4byte gLinkErrorOccurred _0800AA20: .4byte c2_800ACD4 thumb_func_end sub_800A9A4 @@ -2569,7 +2293,7 @@ sub_800AA80: @ 800AA80 .align 2, 0 _0800AA94: .4byte gWirelessCommType _0800AA98: - ldr r2, _0800AAB0 @ =gUnknown_3003F80 + ldr r2, _0800AAB0 @ =gLinkCallback ldr r1, [r2] cmp r1, 0 bne _0800AAAC @@ -2583,7 +2307,7 @@ _0800AAAC: pop {r0} bx r0 .align 2, 0 -_0800AAB0: .4byte gUnknown_3003F80 +_0800AAB0: .4byte gLinkCallback _0800AAB4: .4byte sub_800AB0C _0800AAB8: .4byte gUnknown_3003F24 _0800AABC: .4byte gUnknown_3003F34 @@ -2601,7 +2325,7 @@ sub_800AAC0: @ 800AAC0 .align 2, 0 _0800AAD0: .4byte gWirelessCommType _0800AAD4: - ldr r2, _0800AAE8 @ =gUnknown_3003F80 + ldr r2, _0800AAE8 @ =gLinkCallback ldr r1, [r2] cmp r1, 0 beq _0800AAF0 @@ -2611,7 +2335,7 @@ _0800AAD4: strh r0, [r1] b _0800AAFC .align 2, 0 -_0800AAE8: .4byte gUnknown_3003F80 +_0800AAE8: .4byte gLinkCallback _0800AAEC: .4byte gUnknown_202285C _0800AAF0: ldr r0, _0800AB00 @ =sub_800AB0C @@ -2638,7 +2362,7 @@ sub_800AB0C: @ 800AB0C bne _0800AB22 ldr r0, _0800AB2C @ =0x00005fff bl sub_8009E60 - ldr r1, _0800AB30 @ =gUnknown_3003F80 + ldr r1, _0800AB30 @ =gLinkCallback ldr r0, _0800AB34 @ =sub_800AB38 str r0, [r1] _0800AB22: @@ -2647,7 +2371,7 @@ _0800AB22: .align 2, 0 _0800AB28: .4byte gUnknown_3004F70 _0800AB2C: .4byte 0x00005fff -_0800AB30: .4byte gUnknown_3003F80 +_0800AB30: .4byte gLinkCallback _0800AB34: .4byte sub_800AB38 thumb_func_end sub_800AB0C @@ -2684,7 +2408,7 @@ _0800AB5C: movs r4, 0x1 strb r4, [r0] bl CloseLink - ldr r1, _0800AB94 @ =gUnknown_3003F80 + ldr r1, _0800AB94 @ =gLinkCallback movs r0, 0 str r0, [r1] ldr r0, _0800AB98 @ =gUnknown_3003F24 @@ -2698,7 +2422,7 @@ _0800AB84: .4byte gUnknown_3003F30 _0800AB88: .4byte gBattleTypeFlags _0800AB8C: .4byte 0x0000ffdf _0800AB90: .4byte gLinkVSyncDisabled -_0800AB94: .4byte gUnknown_3003F80 +_0800AB94: .4byte gLinkCallback _0800AB98: .4byte gUnknown_3003F24 thumb_func_end sub_800AB38 @@ -2714,7 +2438,7 @@ sub_800AB9C: @ 800AB9C .align 2, 0 _0800ABAC: .4byte gWirelessCommType _0800ABB0: - ldr r1, _0800ABC8 @ =gUnknown_3003F80 + ldr r1, _0800ABC8 @ =gLinkCallback ldr r0, [r1] cmp r0, 0 bne _0800ABBC @@ -2728,7 +2452,7 @@ _0800ABC2: pop {r0} bx r0 .align 2, 0 -_0800ABC8: .4byte gUnknown_3003F80 +_0800ABC8: .4byte gLinkCallback _0800ABCC: .4byte sub_800ABD4 _0800ABD0: .4byte gUnknown_3003F24 thumb_func_end sub_800AB9C @@ -2742,7 +2466,7 @@ sub_800ABD4: @ 800ABD4 bne _0800ABEA ldr r0, _0800ABF4 @ =0x00002ffe bl sub_8009E60 - ldr r1, _0800ABF8 @ =gUnknown_3003F80 + ldr r1, _0800ABF8 @ =gLinkCallback ldr r0, _0800ABFC @ =sub_800AC00 str r0, [r1] _0800ABEA: @@ -2751,7 +2475,7 @@ _0800ABEA: .align 2, 0 _0800ABF0: .4byte gUnknown_3004F70 _0800ABF4: .4byte 0x00002ffe -_0800ABF8: .4byte gUnknown_3003F80 +_0800ABF8: .4byte gLinkCallback _0800ABFC: .4byte sub_800AC00 thumb_func_end sub_800ABD4 @@ -2782,7 +2506,7 @@ _0800AC2A: cmp r1, r2 bne _0800AC48 movs r1, 0 - ldr r4, _0800AC54 @ =gUnknown_3003F80 + ldr r4, _0800AC54 @ =gLinkCallback ldr r3, _0800AC50 @ =gUnknown_3003F2C movs r2, 0 _0800AC36: @@ -2801,7 +2525,7 @@ _0800AC48: bx r0 .align 2, 0 _0800AC50: .4byte gUnknown_3003F2C -_0800AC54: .4byte gUnknown_3003F80 +_0800AC54: .4byte gLinkCallback thumb_func_end sub_800AC00 thumb_func_start sub_800AC58 @@ -2818,7 +2542,7 @@ sub_800AC58: @ 800AC58 ands r0, r2 cmp r0, 0 beq _0800AC98 - ldr r0, _0800ACA4 @ =gUnknown_3003F38 + ldr r0, _0800ACA4 @ =gSuppressLinkErrorMessage ldrb r0, [r0] cmp r0, 0 bne _0800AC8E @@ -2833,7 +2557,7 @@ sub_800AC58: @ 800AC58 ldr r0, _0800ACB4 @ =c2_800ACD4 bl SetMainCallback2 _0800AC8E: - ldr r1, _0800ACB8 @ =gUnknown_3003EAC + ldr r1, _0800ACB8 @ =gLinkErrorOccurred movs r0, 0x1 strb r0, [r1] bl CloseLink @@ -2843,12 +2567,12 @@ _0800AC98: .align 2, 0 _0800AC9C: .4byte gLinkOpen _0800ACA0: .4byte gUnknown_3003F20 -_0800ACA4: .4byte gUnknown_3003F38 +_0800ACA4: .4byte gSuppressLinkErrorMessage _0800ACA8: .4byte sLinkErrorBuffer _0800ACAC: .4byte gUnknown_3004F70 _0800ACB0: .4byte gUnknown_3003FA0 _0800ACB4: .4byte c2_800ACD4 -_0800ACB8: .4byte gUnknown_3003EAC +_0800ACB8: .4byte gLinkErrorOccurred thumb_func_end sub_800AC58 thumb_func_start sub_800ACBC @@ -3298,20 +3022,20 @@ _0800B098: .4byte gUnknown_3003F20 thumb_func_start SetSuppressLinkErrorMessage SetSuppressLinkErrorMessage: @ 800B09C - ldr r1, _0800B0A4 @ =gUnknown_3003F38 + ldr r1, _0800B0A4 @ =gSuppressLinkErrorMessage strb r0, [r1] bx lr .align 2, 0 -_0800B0A4: .4byte gUnknown_3003F38 +_0800B0A4: .4byte gSuppressLinkErrorMessage thumb_func_end SetSuppressLinkErrorMessage thumb_func_start HasLinkErrorOccurred HasLinkErrorOccurred: @ 800B0A8 - ldr r0, _0800B0B0 @ =gUnknown_3003EAC + ldr r0, _0800B0B0 @ =gLinkErrorOccurred ldrb r0, [r0] bx lr .align 2, 0 -_0800B0B0: .4byte gUnknown_3003EAC +_0800B0B0: .4byte gLinkErrorOccurred thumb_func_end HasLinkErrorOccurred thumb_func_start sub_800B0B4 @@ -3415,8 +3139,8 @@ HandleLinkConnection: @ 800B178 ldrb r0, [r0] cmp r0, 0 bne _0800B1C8 - ldr r0, _0800B1B4 @ =gUnknown_3003F84 - ldr r1, _0800B1B8 @ =gUnknown_3003F50 + ldr r0, _0800B1B4 @ =gShouldAdvanceLinkState + ldr r1, _0800B1B8 @ =gSendCmd ldr r2, _0800B1BC @ =gRecvCmds bl LinkMain1 ldr r4, _0800B1C0 @ =gUnknown_3003F20 @@ -3437,8 +3161,8 @@ _0800B1AA: b _0800B1EE .align 2, 0 _0800B1B0: .4byte gWirelessCommType -_0800B1B4: .4byte gUnknown_3003F84 -_0800B1B8: .4byte gUnknown_3003F50 +_0800B1B4: .4byte gShouldAdvanceLinkState +_0800B1B8: .4byte gSendCmd _0800B1BC: .4byte gRecvCmds _0800B1C0: .4byte gUnknown_3003F20 _0800B1C4: .4byte gMain + 0x2C @@ -3569,8 +3293,8 @@ sub_800B284: @ 800B284 bx r0 thumb_func_end sub_800B284 - thumb_func_start sub_800B29C -sub_800B29C: @ 800B29C + thumb_func_start DisableSerial +DisableSerial: @ 800B29C push {lr} sub sp, 0x4 movs r0, 0xC0 @@ -3608,10 +3332,10 @@ _0800B2E4: .4byte 0x0400012a _0800B2E8: .4byte 0x04000120 _0800B2EC: .4byte gUnknown_3003FB0 _0800B2F0: .4byte 0x050003f0 - thumb_func_end sub_800B29C + thumb_func_end DisableSerial - thumb_func_start sub_800B2F4 -sub_800B2F4: @ 800B2F4 + thumb_func_start EnableSerial +EnableSerial: @ 800B2F4 push {r4,r5,lr} sub sp, 0x4 movs r0, 0xC0 @@ -3639,15 +3363,15 @@ sub_800B2F4: @ 800B2F4 ldr r2, _0800B368 @ =0x050003f0 mov r0, sp bl CpuSet - ldr r0, _0800B36C @ =gUnknown_3000E64 + ldr r0, _0800B36C @ =sNumVBlanksWithoutSerialIntr strb r4, [r0] - ldr r0, _0800B370 @ =gUnknown_3000E66 + ldr r0, _0800B370 @ =sSendNonzeroCheck strh r5, [r0] - ldr r0, _0800B374 @ =gUnknown_3000E68 + ldr r0, _0800B374 @ =sRecvNonzeroCheck strh r5, [r0] - ldr r0, _0800B378 @ =gUnknown_3000E6A + ldr r0, _0800B378 @ =sChecksumAvailable strb r4, [r0] - ldr r0, _0800B37C @ =gUnknown_3000E6B + ldr r0, _0800B37C @ =sHandshakePlayerCount strb r4, [r0] ldr r0, _0800B380 @ =gUnknown_3003FA0 strb r4, [r0] @@ -3664,23 +3388,23 @@ _0800B35C: .4byte 0x00004003 _0800B360: .4byte 0x0400012a _0800B364: .4byte gUnknown_3003FB0 _0800B368: .4byte 0x050003f0 -_0800B36C: .4byte gUnknown_3000E64 -_0800B370: .4byte gUnknown_3000E66 -_0800B374: .4byte gUnknown_3000E68 -_0800B378: .4byte gUnknown_3000E6A -_0800B37C: .4byte gUnknown_3000E6B +_0800B36C: .4byte sNumVBlanksWithoutSerialIntr +_0800B370: .4byte sSendNonzeroCheck +_0800B374: .4byte sRecvNonzeroCheck +_0800B378: .4byte sChecksumAvailable +_0800B37C: .4byte sHandshakePlayerCount _0800B380: .4byte gUnknown_3003FA0 _0800B384: .4byte gUnknown_3004F70 - thumb_func_end sub_800B2F4 + thumb_func_end EnableSerial - thumb_func_start sub_800B388 -sub_800B388: @ 800B388 + thumb_func_start ResetSerial +ResetSerial: @ 800B388 push {lr} - bl sub_800B2F4 - bl sub_800B29C + bl EnableSerial + bl DisableSerial pop {r0} bx r0 - thumb_func_end sub_800B388 + thumb_func_end ResetSerial thumb_func_start LinkMain1 LinkMain1: @ 800B398 @@ -3708,7 +3432,7 @@ _0800B3BC: .4byte _0800B434 .4byte _0800B43E _0800B3D0: - bl sub_800B29C + bl DisableSerial ldr r1, _0800B3DC @ =gUnknown_3003FB0 movs r0, 0x1 strb r0, [r1, 0x1] @@ -3719,7 +3443,7 @@ _0800B3E0: ldrb r0, [r4] cmp r0, 0x1 bne _0800B44A - bl sub_800B2F4 + bl EnableSerial ldr r1, _0800B3F4 @ =gUnknown_3003FB0 movs r0, 0x2 strb r0, [r1, 0x1] @@ -3921,7 +3645,7 @@ sub_800B520: @ 800B520 lsrs r0, 24 _0800B55E: movs r2, 0 - ldr r4, _0800B5A8 @ =gUnknown_3000E66 + ldr r4, _0800B5A8 @ =sSendNonzeroCheck mov r9, r4 ldr r1, _0800B5AC @ =gUnknown_3003FA0 mov r10, r1 @@ -3955,12 +3679,12 @@ _0800B598: .4byte gUnknown_3004F74 _0800B59C: .4byte 0x04000208 _0800B5A0: .4byte gUnknown_3003FB0 _0800B5A4: .4byte 0x00000339 -_0800B5A8: .4byte gUnknown_3000E66 +_0800B5A8: .4byte sSendNonzeroCheck _0800B5AC: .4byte gUnknown_3003FA0 _0800B5B0: movs r0, 0x1 strb r0, [r6, 0x12] - ldr r2, _0800B5F4 @ =gUnknown_3000E66 + ldr r2, _0800B5F4 @ =sSendNonzeroCheck mov r9, r2 ldr r4, _0800B5F8 @ =gUnknown_3003FA0 mov r10, r4 @@ -3995,7 +3719,7 @@ _0800B5D4: pop {r0} bx r0 .align 2, 0 -_0800B5F4: .4byte gUnknown_3000E66 +_0800B5F4: .4byte sSendNonzeroCheck _0800B5F8: .4byte gUnknown_3003FA0 _0800B5FC: .4byte 0x00000339 _0800B600: .4byte 0x04000208 @@ -4183,7 +3907,7 @@ _0800B754: cmp r2, 0x2 bne _0800B77E _0800B75E: - ldr r1, _0800B784 @ =gUnknown_3000E64 + ldr r1, _0800B784 @ =sNumVBlanksWithoutSerialIntr ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] @@ -4205,7 +3929,7 @@ _0800B77E: pop {r0} bx r0 .align 2, 0 -_0800B784: .4byte gUnknown_3000E64 +_0800B784: .4byte sNumVBlanksWithoutSerialIntr thumb_func_end LinkVSync thumb_func_start Timer3Intr @@ -4263,7 +3987,7 @@ _0800B7EA: adds r0, 0x1 movs r2, 0 strb r0, [r3, 0xD] - ldr r1, _0800B814 @ =gUnknown_3000E64 + ldr r1, _0800B814 @ =sNumVBlanksWithoutSerialIntr strb r2, [r1] lsls r0, 24 asrs r0, 24 @@ -4280,7 +4004,7 @@ _0800B80A: bx r0 .align 2, 0 _0800B810: .4byte gUnknown_3003FB0 -_0800B814: .4byte gUnknown_3000E64 +_0800B814: .4byte sNumVBlanksWithoutSerialIntr _0800B818: .4byte gUnknown_3004F70 _0800B81C: .4byte 0x00000fbd thumb_func_end SerialCB @@ -4336,7 +4060,7 @@ _0800B860: str r1, [r3, 0x4] strb r0, [r2, 0xA] movs r4, 0 - ldr r0, _0800B8C4 @ =gUnknown_3000E6B + ldr r0, _0800B8C4 @ =sHandshakePlayerCount mov r9, r0 mov r8, r2 ldr r2, _0800B8C8 @ =0x00008fff @@ -4371,7 +4095,7 @@ _0800B8B4: .4byte 0x0400012a _0800B8B8: .4byte 0x0000b9a0 _0800B8BC: .4byte gSioMlt_Recv _0800B8C0: .4byte 0x04000120 -_0800B8C4: .4byte gUnknown_3000E6B +_0800B8C4: .4byte sHandshakePlayerCount _0800B8C8: .4byte 0x00008fff _0800B8CC: .4byte 0x0000ffff _0800B8D0: @@ -4444,7 +4168,7 @@ DoRecv: @ 800B92C cmp r1, 0 bne _0800B990 movs r4, 0 - ldr r7, _0800B98C @ =gUnknown_3000E6A + ldr r7, _0800B98C @ =sChecksumAvailable ldrb r0, [r6, 0x3] cmp r4, r0 bcs _0800B97A @@ -4479,7 +4203,7 @@ _0800B97A: .align 2, 0 _0800B984: .4byte 0x04000120 _0800B988: .4byte gUnknown_3003FB0 -_0800B98C: .4byte gUnknown_3000E6A +_0800B98C: .4byte sChecksumAvailable _0800B990: ldr r2, _0800BA00 @ =0x00000fbc adds r1, r6, r2 @@ -4503,7 +4227,7 @@ _0800B9AC: cmp r4, r1 bcs _0800BA0C adds r5, r6, 0 - ldr r7, _0800BA04 @ =gUnknown_3000E68 + ldr r7, _0800BA04 @ =sRecvNonzeroCheck lsls r0, 1 mov r12, r0 movs r2, 0xCF @@ -4541,7 +4265,7 @@ _0800B9C8: b _0800BA0C .align 2, 0 _0800BA00: .4byte 0x00000fbc -_0800BA04: .4byte gUnknown_3000E68 +_0800BA04: .4byte sRecvNonzeroCheck _0800BA08: movs r0, 0x2 strb r0, [r6, 0x12] @@ -4553,7 +4277,7 @@ _0800BA0C: lsrs r0, 24 cmp r0, 0x8 bne _0800BA30 - ldr r2, _0800BA3C @ =gUnknown_3000E68 + ldr r2, _0800BA3C @ =sRecvNonzeroCheck ldrh r0, [r2] cmp r0, 0 beq _0800BA30 @@ -4572,7 +4296,7 @@ _0800BA30: pop {r0} bx r0 .align 2, 0 -_0800BA3C: .4byte gUnknown_3000E68 +_0800BA3C: .4byte sRecvNonzeroCheck _0800BA40: .4byte 0x00000fbd thumb_func_end DoRecv @@ -4587,7 +4311,7 @@ DoSend: @ 800BA44 ldr r1, _0800BA84 @ =0x0400012a ldrh r0, [r4, 0x14] strh r0, [r1] - ldr r1, _0800BA88 @ =gUnknown_3000E65 + ldr r1, _0800BA88 @ =sSendBufferEmpty ldrb r2, [r1] cmp r2, 0 bne _0800BA90 @@ -4611,14 +4335,14 @@ DoSend: @ 800BA44 .align 2, 0 _0800BA80: .4byte gUnknown_3003FB0 _0800BA84: .4byte 0x0400012a -_0800BA88: .4byte gUnknown_3000E65 +_0800BA88: .4byte sSendBufferEmpty _0800BA8C: .4byte 0x00000339 _0800BA90: movs r0, 0 strb r0, [r1] b _0800BAEC _0800BA96: - ldr r1, _0800BABC @ =gUnknown_3000E65 + ldr r1, _0800BABC @ =sSendBufferEmpty ldrb r0, [r1] cmp r0, 0 bne _0800BAB2 @@ -4639,7 +4363,7 @@ _0800BAB2: strh r0, [r1] b _0800BAE6 .align 2, 0 -_0800BABC: .4byte gUnknown_3000E65 +_0800BABC: .4byte sSendBufferEmpty _0800BAC0: .4byte 0x00000339 _0800BAC4: .4byte 0x0400012a _0800BAC8: diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 316b994a0..582cc073e 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -71,7 +71,7 @@ _080F863E: adds r0, r4, 0 bl sub_80FC4D4 strh r5, [r7] - ldr r1, _080F86AC @ =gUnknown_3003F50 + ldr r1, _080F86AC @ =gSendCmd ldr r2, _080F86B0 @ =0x01000008 adds r0, r7, 0 bl CpuSet @@ -97,7 +97,7 @@ _080F869C: .4byte gUnknown_3005450 _080F86A0: .4byte 0x010004d6 _080F86A4: .4byte gUnknown_30054BC _080F86A8: .4byte 0x00000634 -_080F86AC: .4byte gUnknown_3003F50 +_080F86AC: .4byte gSendCmd _080F86B0: .4byte 0x01000008 _080F86B4: .4byte gRecvCmds _080F86B8: .4byte 0x01000028 @@ -1277,7 +1277,7 @@ _080F9034: .4byte 0x01000028 thumb_func_start sub_80F9038 sub_80F9038: @ 80F9038 push {lr} - ldr r3, _080F9064 @ =gUnknown_3003F50 + ldr r3, _080F9064 @ =gSendCmd ldr r2, _080F9068 @ =gRecvCmds movs r1, 0x6 _080F9040: @@ -1288,7 +1288,7 @@ _080F9040: subs r1, 0x1 cmp r1, 0 bge _080F9040 - ldr r1, _080F9064 @ =gUnknown_3003F50 + ldr r1, _080F9064 @ =gSendCmd movs r2, 0 adds r0, r1, 0 adds r0, 0xC @@ -1300,7 +1300,7 @@ _080F9056: pop {r0} bx r0 .align 2, 0 -_080F9064: .4byte gUnknown_3003F50 +_080F9064: .4byte gSendCmd _080F9068: .4byte gRecvCmds thumb_func_end sub_80F9038 @@ -2007,7 +2007,7 @@ _080F95E4: ldrb r1, [r2] strb r0, [r2] bl sub_80FA510 - ldr r5, _080F9658 @ =gUnknown_3003F50 + ldr r5, _080F9658 @ =gSendCmd add r4, sp, 0x48 adds r0, r5, 0 adds r1, r4, 0 @@ -2045,7 +2045,7 @@ _080F9648: .4byte 0x0000099c _080F964C: .4byte gUnknown_3007460 _080F9650: .4byte gReceivedRemoteLinkPlayers _080F9654: .4byte 0x00000988 -_080F9658: .4byte gUnknown_3003F50 +_080F9658: .4byte gSendCmd thumb_func_end sub_80F9514 thumb_func_start sub_80F965C @@ -2723,7 +2723,7 @@ _080F9B68: movs r0, 0xEE lsls r0, 8 bl sub_80F9D04 - ldr r1, _080F9B90 @ =gUnknown_3003F50 + ldr r1, _080F9B90 @ =gSendCmd ldr r3, _080F9B94 @ =gUnknown_3003ED2 adds r0, r5, r3 ldrh r0, [r0] @@ -2739,7 +2739,7 @@ _080F9B68: strh r0, [r1, 0x6] b _080F9BF4 .align 2, 0 -_080F9B90: .4byte gUnknown_3003F50 +_080F9B90: .4byte gSendCmd _080F9B94: .4byte gUnknown_3003ED2 _080F9B98: .4byte gUnknown_3003ED4 _080F9B9C: .4byte gRecvCmds @@ -2949,7 +2949,7 @@ sub_80F9D04: @ 80F9D04 push {r4,r5,lr} lsls r0, 16 lsrs r1, r0, 16 - ldr r5, _080F9D34 @ =gUnknown_3003F50 + ldr r5, _080F9D34 @ =gSendCmd strh r1, [r5] movs r0, 0xF0 lsls r0, 7 @@ -2970,7 +2970,7 @@ sub_80F9D04: @ 80F9D04 beq _080F9DFC b _080F9E22 .align 2, 0 -_080F9D34: .4byte gUnknown_3003F50 +_080F9D34: .4byte gSendCmd _080F9D38: movs r0, 0xCC lsls r0, 7 @@ -3103,7 +3103,7 @@ _080F9E28: .4byte gUnknown_3005028 sub_80F9E2C: @ 80F9E2C push {r4,lr} adds r4, r0, 0 - ldr r0, _080F9E58 @ =gUnknown_3003F50 + ldr r0, _080F9E58 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080F9E52 @@ -3122,7 +3122,7 @@ _080F9E52: pop {r0} bx r0 .align 2, 0 -_080F9E58: .4byte gUnknown_3003F50 +_080F9E58: .4byte gSendCmd _080F9E5C: .4byte gUnknown_3005542 thumb_func_end sub_80F9E2C @@ -3146,7 +3146,7 @@ _080F9E7C: ldr r0, [r5] cmp r0, 0 bne _080F9EA4 - ldr r0, _080F9EB8 @ =gUnknown_3003F50 + ldr r0, _080F9EB8 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080F9EA4 @@ -3170,7 +3170,7 @@ _080F9EA8: .4byte gUnknown_843ED94 _080F9EAC: .4byte 0x00000701 _080F9EB0: .4byte gUnknown_843EDD8 _080F9EB4: .4byte gUnknown_3005450 -_080F9EB8: .4byte gUnknown_3003F50 +_080F9EB8: .4byte gSendCmd _080F9EBC: .4byte gUnknown_203AC08 _080F9EC0: adds r0, r6, 0 @@ -3240,7 +3240,7 @@ _080F9F40: .4byte rfufunc_80F9F44 thumb_func_start rfufunc_80F9F44 rfufunc_80F9F44: @ 80F9F44 push {r4,r5,lr} - ldr r0, _080F9F74 @ =gUnknown_3003F50 + ldr r0, _080F9F74 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080F9F98 @@ -3263,7 +3263,7 @@ rfufunc_80F9F44: @ 80F9F44 bls _080F9F98 b _080F9F94 .align 2, 0 -_080F9F74: .4byte gUnknown_3003F50 +_080F9F74: .4byte gSendCmd _080F9F78: .4byte gUnknown_3005450 _080F9F7C: bl GetMultiplayerId @@ -3295,7 +3295,7 @@ sub_80F9FA8: @ 80F9FA8 ldr r0, _080FA014 @ =gUnknown_3005450 mov r12, r0 ldr r5, [r0, 0x70] - ldr r3, _080FA018 @ =gUnknown_3003F50 + ldr r3, _080FA018 @ =gSendCmd mov r2, r12 adds r2, 0x6C ldrh r1, [r2] @@ -3348,7 +3348,7 @@ _080FA00C: bx r0 .align 2, 0 _080FA014: .4byte gUnknown_3005450 -_080FA018: .4byte gUnknown_3003F50 +_080FA018: .4byte gSendCmd _080FA01C: .4byte rfufunc_80FA020 thumb_func_end sub_80F9FA8 @@ -3367,7 +3367,7 @@ rfufunc_80FA020: @ 80FA020 ldrb r0, [r5, 0xC] cmp r0, 0 bne _080FA0E8 - ldr r3, _080FA0CC @ =gUnknown_3003F50 + ldr r3, _080FA0CC @ =gSendCmd adds r2, r5, 0 adds r2, 0x6E ldrh r0, [r2] @@ -3439,7 +3439,7 @@ _080FA05C: b _080FA0EC .align 2, 0 _080FA0C8: .4byte gUnknown_3005450 -_080FA0CC: .4byte gUnknown_3003F50 +_080FA0CC: .4byte gSendCmd _080FA0D0: .4byte 0xffff8900 _080FA0D4: .4byte gRecvCmds _080FA0D8: .4byte gUnknown_843EBD4 @@ -3624,7 +3624,7 @@ _080FA220: .4byte sub_80FA160 thumb_func_start sub_80FA224 sub_80FA224: @ 80FA224 push {r4,lr} - ldr r0, _080FA250 @ =gUnknown_3003F50 + ldr r0, _080FA250 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080FA248 @@ -3645,7 +3645,7 @@ _080FA248: pop {r0} bx r0 .align 2, 0 -_080FA250: .4byte gUnknown_3003F50 +_080FA250: .4byte gSendCmd _080FA254: .4byte gUnknown_3005450 _080FA258: .4byte sub_80FA1C4 thumb_func_end sub_80FA224 @@ -3789,7 +3789,7 @@ sub_80FA350: @ 80FA350 ldrb r0, [r0] cmp r0, 0 bne _080FA372 - ldr r0, _080FA380 @ =gUnknown_3003F50 + ldr r0, _080FA380 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080FA372 @@ -3805,7 +3805,7 @@ _080FA372: .align 2, 0 _080FA378: .4byte gUnknown_3005450 _080FA37C: .4byte 0x0000069e -_080FA380: .4byte gUnknown_3003F50 +_080FA380: .4byte gSendCmd _080FA384: .4byte sub_80FA2B0 thumb_func_end sub_80FA350 @@ -3822,7 +3822,7 @@ sub_80FA388: @ 80FA388 ldrb r0, [r0] cmp r0, 0 bne _080FA416 - ldr r0, _080FA3BC @ =gUnknown_3003F50 + ldr r0, _080FA3BC @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080FA416 @@ -3834,7 +3834,7 @@ sub_80FA388: @ 80FA388 .align 2, 0 _080FA3B4: .4byte gUnknown_3005450 _080FA3B8: .4byte 0x0000069e -_080FA3BC: .4byte gUnknown_3003F50 +_080FA3BC: .4byte gSendCmd _080FA3C0: .4byte sub_80FA2B0 _080FA3C4: bl GetLinkPlayerCount @@ -3869,7 +3869,7 @@ _080FA3F2: ldrb r0, [r0] cmp r0, 0 bne _080FA416 - ldr r0, _080FA424 @ =gUnknown_3003F50 + ldr r0, _080FA424 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080FA416 @@ -3886,7 +3886,7 @@ _080FA416: .align 2, 0 _080FA41C: .4byte gUnknown_3005450 _080FA420: .4byte 0x0000069e -_080FA424: .4byte gUnknown_3003F50 +_080FA424: .4byte gSendCmd _080FA428: .4byte sub_80FA350 thumb_func_end sub_80FA388 @@ -4540,7 +4540,7 @@ _080FA8D8: .align 2, 0 _080FA8E8: .4byte gTasks _080FA8EC: - ldr r0, _080FA8FC @ =gUnknown_3003F50 + ldr r0, _080FA8FC @ =gSendCmd ldrh r0, [r0] cmp r0, 0 bne _080FA9BC @@ -4549,7 +4549,7 @@ _080FA8F4: strh r0, [r4, 0x8] b _080FA9BC .align 2, 0 -_080FA8FC: .4byte gUnknown_3003F50 +_080FA8FC: .4byte gSendCmd _080FA900: ldrb r0, [r5, 0xD] b _080FA92C @@ -4831,7 +4831,7 @@ _080FAB0C: .4byte _080FABEE .4byte _080FAC78 _080FAB24: - ldr r0, _080FAB40 @ =gUnknown_3003F50 + ldr r0, _080FAB40 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 beq _080FAB2E @@ -4844,9 +4844,9 @@ _080FAB2E: bl sub_80F9D04 b _080FAC2E .align 2, 0 -_080FAB40: .4byte gUnknown_3003F50 +_080FAB40: .4byte gSendCmd _080FAB44: - ldr r0, _080FAB58 @ =gUnknown_3003F50 + ldr r0, _080FAB58 @ =gSendCmd ldrh r0, [r0] cmp r0, 0 beq _080FAB4E @@ -4857,7 +4857,7 @@ _080FAB4E: adds r1, r3 b _080FAC36 .align 2, 0 -_080FAB58: .4byte gUnknown_3003F50 +_080FAB58: .4byte gSendCmd _080FAB5C: bl GetBlockReceivedStatus lsls r0, 24 @@ -7269,7 +7269,7 @@ sub_80FBDB8: @ 80FBDB8 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r6, _080FBE10 @ =gUnknown_3003F50 + ldr r6, _080FBE10 @ =gSendCmd ldrh r0, [r6] cmp r0, 0 bne _080FBE08 @@ -7309,7 +7309,7 @@ _080FBE08: pop {r0} bx r0 .align 2, 0 -_080FBE10: .4byte gUnknown_3003F50 +_080FBE10: .4byte gSendCmd _080FBE14: .4byte gUnknown_3005450 _080FBE18: .4byte gTasks _080FBE1C: .4byte gUnknown_843EC41 -- cgit v1.2.3 From d84e9bed58db84bbb7db568c366bfa803be87139 Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Sun, 6 Oct 2019 00:48:48 -0700 Subject: Decompile/port new_game --- asm/battle_tower.s | 4 +- asm/hall_of_fame.s | 2 +- asm/link_rfu_3.s | 4 +- asm/new_game.s | 340 ----------------------------------------------------- asm/overworld.s | 18 +-- asm/start_menu.s | 12 +- 6 files changed, 20 insertions(+), 360 deletions(-) delete mode 100644 asm/new_game.s (limited to 'asm') diff --git a/asm/battle_tower.s b/asm/battle_tower.s index abb47aba9..08fefffbc 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2799,7 +2799,7 @@ _080E6F0E: ldr r4, _080E6FA4 @ =gSaveBlock2Ptr ldr r1, [r4] adds r1, 0xA - bl CopyUnalignedWord + bl CopyTrainerId adds r0, r5, 0x4 ldr r1, [r4] bl StringCopy7 @@ -3369,7 +3369,7 @@ _080E7372: adds r0, 0xC ldr r1, [r5] adds r1, 0xA - bl CopyUnalignedWord + bl CopyTrainerId adds r0, r7, 0x4 ldr r1, [r5] bl StringCopy7 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 5b28e21d5..75475b667 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -1458,7 +1458,7 @@ sub_80F2934: @ 80F2934 movs r0, 0x3 @ MAP_GROUP(INDIGO_PLATEAU_EXTERIOR) movs r1, 0x9 @ MAP_NUM(INDIGO_PLATEAU_EXTERIOR) movs r3, 0xB - bl Overworld_SetWarpDestination + bl SetWarpDestination bl DoWarp bl ResetInitialPlayerAvatarState add sp, 0x4 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index f65efc5f7..4ddbed23a 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -3356,7 +3356,7 @@ sub_8117440: @ 8117440 asrs r5, 24 str r5, [sp] adds r3, r4, 0 - bl Overworld_SetWarpDestination + bl SetWarpDestination ldr r0, [r6] movs r1, 0x4 ldrsb r1, [r0, r1] @@ -3423,7 +3423,7 @@ sub_81174B4: @ 81174B4 adds r0, r4, 0 adds r1, r5, 0 mov r3, r8 - bl Overworld_SetWarpDestination + bl SetWarpDestination bl WarpIntoMap add sp, 0x4 pop {r3} diff --git a/asm/new_game.s b/asm/new_game.s deleted file mode 100644 index 15c06e8eb..000000000 --- a/asm/new_game.s +++ /dev/null @@ -1,340 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start WriteUnalignedWord -WriteUnalignedWord: @ 80548FC - strb r0, [r1] - lsrs r2, r0, 8 - strb r2, [r1, 0x1] - lsrs r2, r0, 16 - strb r2, [r1, 0x2] - lsrs r0, 24 - strb r0, [r1, 0x3] - bx lr - thumb_func_end WriteUnalignedWord - - thumb_func_start CopyUnalignedWord -CopyUnalignedWord: @ 805490C - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - movs r2, 0 -_08054914: - adds r0, r4, r2 - adds r1, r3, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _08054914 - pop {r4} - pop {r0} - bx r0 - thumb_func_end CopyUnalignedWord - - thumb_func_start InitPlayerTrainerId -InitPlayerTrainerId: @ 8054928 - push {r4,lr} - bl Random - adds r4, r0, 0 - bl GetGeneratedTrainerIdLower - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - orrs r4, r0 - ldr r0, _08054950 @ =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, 0xA - adds r0, r4, 0 - bl WriteUnalignedWord - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08054950: .4byte gSaveBlock2Ptr - thumb_func_end InitPlayerTrainerId - - thumb_func_start SetDefaultOptions -SetDefaultOptions: @ 8054954 - ldr r3, _080549A8 @ =gSaveBlock2Ptr - ldr r2, [r3] - ldrb r1, [r2, 0x14] - movs r0, 0x8 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x14] - ldr r2, [r3] - ldrb r1, [r2, 0x14] - movs r0, 0x7 - ands r0, r1 - strb r0, [r2, 0x14] - ldr r2, [r3] - ldrb r1, [r2, 0x15] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x15] - ldr r2, [r3] - ldrb r1, [r2, 0x15] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x15] - ldr r2, [r3] - ldrb r1, [r2, 0x15] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x15] - ldr r2, [r3] - ldrb r1, [r2, 0x15] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x15] - ldr r1, [r3] - movs r0, 0 - strb r0, [r1, 0x13] - bx lr - .align 2, 0 -_080549A8: .4byte gSaveBlock2Ptr - thumb_func_end SetDefaultOptions - - thumb_func_start sub_80549AC -sub_80549AC: @ 80549AC - push {r4,lr} - ldr r4, _080549D0 @ =gSaveBlock2Ptr - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0 - movs r2, 0x34 - bl memset - ldr r0, [r4] - adds r0, 0x5C - movs r1, 0 - movs r2, 0x34 - bl memset - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080549D0: .4byte gSaveBlock2Ptr - thumb_func_end sub_80549AC - - thumb_func_start sub_80549D4 -sub_80549D4: @ 80549D4 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r0, _080549F0 @ =gSaveBlock2Ptr - ldr r1, [r0] - adds r1, 0xB0 - ldr r2, _080549F4 @ =0x050001fa - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080549F0: .4byte gSaveBlock2Ptr -_080549F4: .4byte 0x050001fa - thumb_func_end sub_80549D4 - - thumb_func_start sub_80549F8 -sub_80549F8: @ 80549F8 - push {lr} - sub sp, 0x4 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x4 - movs r1, 0x1 - movs r3, 0x6 - bl Overworld_SetWarpDestination - bl WarpIntoMap - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80549F8 - - thumb_func_start Sav2_ClearSetDefault -Sav2_ClearSetDefault: @ 8054A18 - push {lr} - bl ClearSav2 - bl SetDefaultOptions - pop {r0} - bx r0 - thumb_func_end Sav2_ClearSetDefault - - thumb_func_start ResetMenuAndMonGlobals -ResetMenuAndMonGlobals: @ 8054A28 - push {lr} - ldr r1, _08054A5C @ =gUnknown_2031DB0 - movs r0, 0 - strb r0, [r1] - bl ZeroPlayerPartyMons - bl ZeroEnemyPartyMons - bl sub_81089BC - bl ResetTMCaseCursorPos - bl BerryPouch_CursorResetToTop - bl sub_811089C - bl Random - lsls r0, 16 - lsrs r0, 16 - bl sub_8083214 - bl sub_806E6FC - pop {r0} - bx r0 - .align 2, 0 -_08054A5C: .4byte gUnknown_2031DB0 - thumb_func_end ResetMenuAndMonGlobals - - thumb_func_start sub_8054A60 -sub_8054A60: @ 8054A60 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - ldr r6, _08054B50 @ =gSaveBlock1Ptr - ldr r1, [r6] - ldr r0, _08054B54 @ =0x00003a4c - mov r8, r0 - add r1, r8 - mov r0, sp - bl StringCopy - ldr r1, _08054B58 @ =gUnknown_2031DB0 - movs r0, 0x1 - strb r0, [r1] - ldr r4, _08054B5C @ =gSaveBlock2Ptr - ldr r0, [r4] - movs r1, 0xF2 - lsls r1, 4 - adds r0, r1 - movs r5, 0 - str r5, [r0] - bl ZeroPlayerPartyMons - bl ZeroEnemyPartyMons - bl sub_80549D4 - bl ClearSav1 - bl ClearMailData - ldr r0, [r4] - strb r5, [r0, 0x9] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xA8 - str r5, [r1] - adds r0, 0xAC - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xAD - strb r5, [r0] - bl InitPlayerTrainerId - bl PlayTimeCounter_Reset - bl sub_80549AC - bl sub_806E0D0 - bl ResetFameChecker - ldr r0, [r6] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - ldr r1, _08054B60 @ =0x00000bb8 - bl SetMoney - bl sub_8054E68 - bl InitLinkBattleRecords - bl sub_80A0904 - bl sub_80A0958 - bl sub_806E190 - ldr r0, _08054B64 @ =gPlayerPartyCount - strb r5, [r0] - bl ZeroPlayerPartyMons - bl sub_808C7E0 - bl ClearRoamerData - ldr r0, [r6] - ldr r1, _08054B68 @ =0x00000296 - adds r0, r1 - strh r5, [r0] - bl ClearItemSlotsInAllBagPockets - bl sub_80EB658 - bl sub_809C794 - bl sub_80BDD34 - bl sub_8113044 - bl copy_strings_to_sav1 - bl sub_8054B70 - bl sub_8143D24 - bl sub_815D838 - bl sub_80549F8 - ldr r0, _08054B6C @ =gUnknown_81A6481 - bl ScriptContext2_RunNewScript - ldr r0, [r6] - add r0, r8 - mov r1, sp - bl StringCopy - bl sub_815EE0C - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08054B50: .4byte gSaveBlock1Ptr -_08054B54: .4byte 0x00003a4c -_08054B58: .4byte gUnknown_2031DB0 -_08054B5C: .4byte gSaveBlock2Ptr -_08054B60: .4byte 0x00000bb8 -_08054B64: .4byte gPlayerPartyCount -_08054B68: .4byte 0x00000296 -_08054B6C: .4byte gUnknown_81A6481 - thumb_func_end sub_8054A60 - - thumb_func_start sub_8054B70 -sub_8054B70: @ 8054B70 - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - movs r5, 0 - strh r5, [r0] - ldr r4, _08054BBC @ =gSaveBlock2Ptr - ldr r1, [r4] - movs r0, 0xAF - lsls r0, 4 - adds r1, r0 - ldr r6, _08054BC0 @ =0x01000008 - mov r0, sp - adds r2, r6, 0 - bl CpuSet - ldr r0, [r4] - ldr r1, _08054BC4 @ =0x00000af8 - adds r0, r1 - movs r1, 0 - bl sub_815EE54 - bl ResetPokeJumpResults - mov r0, sp - adds r0, 0x2 - strh r5, [r0] - ldr r1, [r4] - movs r2, 0xB1 - lsls r2, 4 - adds r1, r2 - adds r2, r6, 0 - bl CpuSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08054BBC: .4byte gSaveBlock2Ptr -_08054BC0: .4byte 0x01000008 -_08054BC4: .4byte 0x00000af8 - thumb_func_end sub_8054B70 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index 5cc051c8a..a443a0d10 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -1003,8 +1003,8 @@ WarpIntoMap: @ 8055378 bx r0 thumb_func_end WarpIntoMap - thumb_func_start Overworld_SetWarpDestination -Overworld_SetWarpDestination: @ 805538C + thumb_func_start SetWarpDestination +SetWarpDestination: @ 805538C push {r4-r6,lr} sub sp, 0x8 adds r4, r0, 0 @@ -1034,7 +1034,7 @@ Overworld_SetWarpDestination: @ 805538C bx r0 .align 2, 0 _080553C4: .4byte gUnknown_2031DBC - thumb_func_end Overworld_SetWarpDestination + thumb_func_end SetWarpDestination thumb_func_start warp1_set_2 warp1_set_2: @ 80553C8 @@ -1049,7 +1049,7 @@ warp1_set_2: @ 80553C8 movs r3, 0x1 negs r3, r3 str r3, [sp] - bl Overworld_SetWarpDestination + bl SetWarpDestination add sp, 0x4 pop {r0} bx r0 @@ -1151,7 +1151,7 @@ sub_805546C: @ 805546C lsls r4, 24 asrs r4, 24 str r4, [sp] - bl Overworld_SetWarpDestination + bl SetWarpDestination _0805549A: add sp, 0x4 pop {r4} @@ -1458,7 +1458,7 @@ _080556BC: lsls r4, r6, 24 asrs r4, 24 str r4, [sp] - bl Overworld_SetWarpDestination + bl SetWarpDestination _080556D6: add sp, 0x4 pop {r4-r6} @@ -1627,7 +1627,7 @@ sub_80557C4: @ 80557C4 lsls r4, r5, 24 asrs r4, 24 str r4, [sp] - bl Overworld_SetWarpDestination + bl SetWarpDestination b _08055818 _080557FC: bl mapheader_run_script_with_tag_x6 @@ -1700,7 +1700,7 @@ sub_8055864: @ 8055864 negs r3, r3 str r3, [sp] adds r2, r3, 0 - bl Overworld_SetWarpDestination + bl SetWarpDestination bl sub_8055E94 bl warp_shift bl set_current_map_header_from_sav1_save_old_name @@ -3493,7 +3493,7 @@ CB2_NewGame: @ 8056644 bl sub_80569BC bl StopMapMusic bl sub_8056420 - bl sub_8054A60 + bl NewGameInitData bl ResetInitialPlayerAvatarState bl PlayTimeCounter_Start bl ScriptContext1_Init diff --git a/asm/start_menu.s b/asm/start_menu.s index 40a678a01..7ab76140f 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -1386,7 +1386,7 @@ _0806F81A: cmp r0, 0x2 bne _0806F82E _0806F826: - ldr r0, _0806F83C @ =gUnknown_2031DB0 + ldr r0, _0806F83C @ =gDifferentSaveFile ldrb r0, [r0] cmp r0, 0 bne _0806F848 @@ -1397,7 +1397,7 @@ _0806F82E: b _0806F864 .align 2, 0 _0806F838: .4byte gSaveFileStatus -_0806F83C: .4byte gUnknown_2031DB0 +_0806F83C: .4byte gDifferentSaveFile _0806F840: .4byte gUnknown_3000FA4 _0806F844: .4byte sub_806F86C _0806F848: @@ -1423,7 +1423,7 @@ _0806F866: thumb_func_start sub_806F86C sub_806F86C: @ 806F86C push {lr} - ldr r0, _0806F880 @ =gUnknown_2031DB0 + ldr r0, _0806F880 @ =gDifferentSaveFile ldrb r0, [r0] cmp r0, 0x1 bne _0806F88C @@ -1432,7 +1432,7 @@ sub_806F86C: @ 806F86C bl sub_806F69C b _0806F894 .align 2, 0 -_0806F880: .4byte gUnknown_2031DB0 +_0806F880: .4byte gDifferentSaveFile _0806F884: .4byte gUnknown_81C566A _0806F888: .4byte sub_806F8C0 _0806F88C: @@ -1537,7 +1537,7 @@ sub_806F940: @ 806F940 push {r4,lr} movs r0, 0 bl IncrementGameStat - ldr r4, _0806F95C @ =gUnknown_2031DB0 + ldr r4, _0806F95C @ =gDifferentSaveFile ldrb r0, [r4] cmp r0, 0x1 bne _0806F960 @@ -1547,7 +1547,7 @@ sub_806F940: @ 806F940 strb r0, [r4] b _0806F966 .align 2, 0 -_0806F95C: .4byte gUnknown_2031DB0 +_0806F95C: .4byte gDifferentSaveFile _0806F960: movs r0, 0 bl TrySavingData -- cgit v1.2.3 From 0873084a5d143c4e7eab682f7d27a3255ed281b7 Mon Sep 17 00:00:00 2001 From: ultima-soul Date: Sun, 6 Oct 2019 13:06:13 -0700 Subject: Sync some function names with pokeemerald. --- asm/easy_chat.s | 6 +++--- asm/event_data.s | 6 +++--- asm/overworld.s | 6 +++--- asm/player_pc.s | 6 +++--- asm/pokemon_storage_system.s | 6 +++--- 5 files changed, 15 insertions(+), 15 deletions(-) (limited to 'asm') diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 604929f1f..ffd31bcc8 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -868,8 +868,8 @@ _080BDD2C: .4byte gUnknown_83ECED4 _080BDD30: .4byte 0x0000ffff thumb_func_end sub_80BDCB8 - thumb_func_start sub_80BDD34 -sub_80BDD34: @ 80BDD34 + thumb_func_start InitEasyChatPhrases +InitEasyChatPhrases: @ 80BDD34 push {r4-r7,lr} movs r4, 0 ldr r5, _080BDE00 @ =gSaveBlock1Ptr @@ -988,7 +988,7 @@ _080BDE18: .4byte 0x0000ffff _080BDE1C: .4byte 0x00002cc4 _080BDE20: .4byte 0x00002cd0 _080BDE24: .4byte 0x00002f10 - thumb_func_end sub_80BDD34 + thumb_func_end InitEasyChatPhrases thumb_func_start sub_80BDE28 sub_80BDE28: @ 80BDE28 diff --git a/asm/event_data.s b/asm/event_data.s index 690134c27..263bd99c3 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_806E0D0 -sub_806E0D0: @ 806E0D0 + thumb_func_start InitEventData +InitEventData: @ 806E0D0 push {r4,lr} ldr r4, _0806E108 @ =gSaveBlock1Ptr ldr r0, [r4] @@ -35,7 +35,7 @@ sub_806E0D0: @ 806E0D0 .align 2, 0 _0806E108: .4byte gSaveBlock1Ptr _0806E10C: .4byte gUnknown_20370E0 - thumb_func_end sub_806E0D0 + thumb_func_end InitEventData thumb_func_start sub_806E110 sub_806E110: @ 806E110 diff --git a/asm/overworld.s b/asm/overworld.s index a443a0d10..1bf22ede1 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -289,8 +289,8 @@ sub_8054E40: @ 8054E40 _08054E64: .4byte 0x0000406e thumb_func_end sub_8054E40 - thumb_func_start sub_8054E68 -sub_8054E68: @ 8054E68 + thumb_func_start ResetGameStats +ResetGameStats: @ 8054E68 push {r4,r5,lr} movs r2, 0 ldr r5, _08054E8C @ =gSaveBlock1Ptr @@ -311,7 +311,7 @@ _08054E74: bx r0 .align 2, 0 _08054E8C: .4byte gSaveBlock1Ptr - thumb_func_end sub_8054E68 + thumb_func_end ResetGameStats thumb_func_start IncrementGameStat IncrementGameStat: @ 8054E90 diff --git a/asm/player_pc.s b/asm/player_pc.s index ca08fe3b2..fa528abb9 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_80EB658 -sub_80EB658: @ 80EB658 + thumb_func_start NewGameInitPCItems +NewGameInitPCItems: @ 80EB658 push {r4-r6,lr} movs r4, 0 bl ClearPCItemSlots @@ -48,7 +48,7 @@ _080EB6A0: bx r0 .align 2, 0 _080EB6A8: .4byte gUnknown_8402220 - thumb_func_end sub_80EB658 + thumb_func_end NewGameInitPCItems thumb_func_start sub_80EB6AC sub_80EB6AC: @ 80EB6AC diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 47097a060..180ec0e5d 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1897,8 +1897,8 @@ _0808C7D8: .4byte mapldr_0808C6D8 _0808C7DC: .4byte CB2_ReturnToField thumb_func_end sub_808C7B4 - thumb_func_start sub_808C7E0 -sub_808C7E0: @ 808C7E0 + thumb_func_start ResetPokemonStorageSystem +ResetPokemonStorageSystem: @ 808C7E0 push {r4-r6,lr} movs r0, 0 bl sub_808BA00 @@ -1954,7 +1954,7 @@ _0808C832: bx r0 .align 2, 0 _0808C850: .4byte gUnknown_84186CD - thumb_func_end sub_808C7E0 + thumb_func_end ResetPokemonStorageSystem thumb_func_start sub_808C854 sub_808C854: @ 808C854 -- cgit v1.2.3 From 5620b0ed1a330e38c0d4cdbbfea2c5ce75053925 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 6 Oct 2019 18:03:46 -0400 Subject: link through BuildSendCmd --- asm/cable_club.s | 4 +- asm/link.s | 1121 ++++++++---------------------------------------------- asm/link_rfu_2.s | 68 ++-- asm/overworld.s | 22 +- asm/trade.s | 4 +- 5 files changed, 218 insertions(+), 1001 deletions(-) (limited to 'asm') diff --git a/asm/cable_club.s b/asm/cable_club.s index 4b93df7e4..03105bc3d 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -2460,7 +2460,7 @@ sub_8081A90: @ 8081A90 cmp r1, r0 ble _08081AC2 bl CloseLink - ldr r0, _08081ADC @ =c2_800ACD4 + ldr r0, _08081ADC @ =CB2_LinkError bl SetMainCallback2 adds r0, r4, 0 bl DestroyTask @@ -2477,7 +2477,7 @@ _08081AD0: bx r0 .align 2, 0 _08081AD8: .4byte gTasks -_08081ADC: .4byte c2_800ACD4 +_08081ADC: .4byte CB2_LinkError _08081AE0: .4byte gReceivedRemoteLinkPlayers thumb_func_end sub_8081A90 diff --git a/asm/link.s b/asm/link.s index db9b022bd..14131af9e 100644 --- a/asm/link.s +++ b/asm/link.s @@ -5,789 +5,6 @@ .text - thumb_func_start LinkTestProcessKeyInput -LinkTestProcessKeyInput: @ 80099D0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, _08009A70 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080099E6 - ldr r1, _08009A74 @ =gShouldAdvanceLinkState - movs r0, 0x1 - strb r0, [r1] -_080099E6: - ldrh r1, [r4, 0x2C] - movs r5, 0x2 - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - beq _080099FA - ldr r0, _08009A78 @ =gHeap + 0x4000 - ldr r1, _08009A7C @ =0x00002004 - bl InitBlockSend -_080099FA: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _08009A16 - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08009A16: - ldrh r1, [r4, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08009A26 - movs r0, 0x1 - bl SetSuppressLinkErrorMessage -_08009A26: - ldrh r1, [r4, 0x2E] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _08009A38 - movs r0, 0x1 - bl TrySavingData -_08009A38: - ldrh r1, [r4, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08009A46 - bl sub_800AAC0 -_08009A46: - ldr r0, _08009A80 @ =gLinkTestDebugValuesEnabled - ldrb r0, [r0] - cmp r0, 0 - beq _08009A66 - ldr r2, [r4, 0x24] - ldr r0, _08009A84 @ =gLinkVSyncDisabled - ldrb r1, [r0] - ldr r0, _08009A88 @ =gLinkCallback - ldr r0, [r0] - cmp r0, 0 - bne _08009A60 - movs r0, 0x10 - orrs r1, r0 -_08009A60: - adds r0, r2, 0 - bl SetLinkDebugValues -_08009A66: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08009A70: .4byte gMain -_08009A74: .4byte gShouldAdvanceLinkState -_08009A78: .4byte gHeap + 0x4000 -_08009A7C: .4byte 0x00002004 -_08009A80: .4byte gLinkTestDebugValuesEnabled -_08009A84: .4byte gLinkVSyncDisabled -_08009A88: .4byte gLinkCallback - thumb_func_end LinkTestProcessKeyInput - - thumb_func_start CB2_LinkTest -CB2_LinkTest: @ 8009A8C - push {lr} - bl LinkTestProcessKeyInput - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0 - bl TestBlockTransfer - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end CB2_LinkTest - - thumb_func_start LinkMain2 -LinkMain2: @ 8009AB0 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, _08009AC0 @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0 - bne _08009AC4 - movs r0, 0 - b _08009B0C - .align 2, 0 -_08009AC0: .4byte gLinkOpen -_08009AC4: - movs r1, 0 - ldr r5, _08009B14 @ =gUnknown_3003EC4 - ldr r3, _08009B18 @ =gSendCmd - movs r2, 0 -_08009ACC: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _08009ACC - ldrh r0, [r4] - strh r0, [r5] - ldr r0, _08009B1C @ =gUnknown_3003F20 - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08009B08 - ldr r0, _08009B20 @ =0x04000128 - ldr r0, [r0] - lsls r0, 26 - lsrs r0, 30 - bl sub_8009B70 - ldr r0, _08009B24 @ =gLinkCallback - ldr r0, [r0] - cmp r0, 0 - beq _08009B04 - bl _call_via_r0 -_08009B04: - bl sub_800AC58 -_08009B08: - ldr r0, _08009B1C @ =gUnknown_3003F20 - ldrh r0, [r0] -_08009B0C: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08009B14: .4byte gUnknown_3003EC4 -_08009B18: .4byte gSendCmd -_08009B1C: .4byte gUnknown_3003F20 -_08009B20: .4byte 0x04000128 -_08009B24: .4byte gLinkCallback - thumb_func_end LinkMain2 - - thumb_func_start HandleReceiveRemoteLinkPlayer -HandleReceiveRemoteLinkPlayer: @ 8009B28 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - ldr r1, _08009B3C @ =gRemoteLinkPlayersNotReceived - adds r0, r1 - strb r5, [r0] - movs r4, 0 - adds r6, r1, 0 - b _08009B48 - .align 2, 0 -_08009B3C: .4byte gRemoteLinkPlayersNotReceived -_08009B40: - adds r0, r4, r6 - ldrb r0, [r0] - adds r5, r0 - adds r4, 0x1 -_08009B48: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _08009B40 - cmp r5, 0 - bne _08009B64 - ldr r1, _08009B6C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r1] - cmp r0, 0 - bne _08009B64 - movs r0, 0x1 - strb r0, [r1] -_08009B64: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08009B6C: .4byte gReceivedRemoteLinkPlayers - thumb_func_end HandleReceiveRemoteLinkPlayer - - thumb_func_start sub_8009B70 -sub_8009B70: @ 8009B70 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r6, 0 -_08009B7E: - ldr r0, _08009BC8 @ =gUnknown_3003E60 - lsls r1, r6, 1 - adds r3, r1, r0 - movs r0, 0 - strh r0, [r3] - lsls r4, r6, 4 - ldr r5, _08009BCC @ =gRecvCmds - adds r2, r4, r5 - ldrh r0, [r2] - mov r12, r1 - adds r7, r6, 0x1 - str r7, [sp] - cmp r0, 0 - bne _08009B9C - b _08009E3E -_08009B9C: - ldrh r1, [r2] - ldr r0, _08009BD0 @ =0x00005fff - cmp r1, r0 - bne _08009BA6 - b _08009DF0 -_08009BA6: - cmp r1, r0 - bgt _08009BF4 - ldr r0, _08009BD4 @ =0x00004444 - cmp r1, r0 - bne _08009BB2 - b _08009E34 -_08009BB2: - cmp r1, r0 - bgt _08009BE0 - ldr r0, _08009BD8 @ =0x00002222 - cmp r1, r0 - beq _08009C38 - ldr r0, _08009BDC @ =0x00002ffe - cmp r1, r0 - bne _08009BC4 - b _08009DF8 -_08009BC4: - b _08009E3E - .align 2, 0 -_08009BC8: .4byte gUnknown_3003E60 -_08009BCC: .4byte gRecvCmds -_08009BD0: .4byte 0x00005fff -_08009BD4: .4byte 0x00004444 -_08009BD8: .4byte 0x00002222 -_08009BDC: .4byte 0x00002ffe -_08009BE0: - ldr r0, _08009BF0 @ =0x00005555 - cmp r1, r0 - beq _08009C88 - adds r0, 0x11 - cmp r1, r0 - beq _08009C88 - b _08009E3E - .align 2, 0 -_08009BF0: .4byte 0x00005555 -_08009BF4: - ldr r0, _08009C10 @ =0x0000bbbb - cmp r1, r0 - beq _08009C94 - cmp r1, r0 - bgt _08009C1C - ldr r0, _08009C14 @ =0x00008888 - cmp r1, r0 - beq _08009CC0 - ldr r0, _08009C18 @ =0x0000aaaa - cmp r1, r0 - bne _08009C0C - b _08009E08 -_08009C0C: - b _08009E3E - .align 2, 0 -_08009C10: .4byte 0x0000bbbb -_08009C14: .4byte 0x00008888 -_08009C18: .4byte 0x0000aaaa -_08009C1C: - ldr r0, _08009C30 @ =0x0000cafe - cmp r1, r0 - bne _08009C24 - b _08009E34 -_08009C24: - ldr r0, _08009C34 @ =0x0000cccc - cmp r1, r0 - bne _08009C2C - b _08009E0E -_08009C2C: - b _08009E3E - .align 2, 0 -_08009C30: .4byte 0x0000cafe -_08009C34: .4byte 0x0000cccc -_08009C38: - bl InitLocalLinkPlayer - ldr r0, _08009C7C @ =gUnknown_3003E70 - adds r2, r0, 0 - adds r2, 0x10 - ldr r1, _08009C80 @ =gLocalLinkPlayer - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldr r1, [r1] - str r1, [r2] - ldr r4, _08009C84 @ =gUnknown_82345C0 - adds r2, r0, 0 - adds r1, r4, 0 - ldm r1!, {r5-r7} - stm r2!, {r5-r7} - ldrh r3, [r1] - strh r3, [r2] - ldrb r1, [r1, 0x2] - strb r1, [r2, 0x2] - adds r1, r0, 0 - adds r1, 0x2C - ldm r4!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldrh r2, [r4] - strh r2, [r1] - ldrb r2, [r4, 0x2] - strb r2, [r1, 0x2] - movs r1, 0x3C - bl InitBlockSend - b _08009E3E - .align 2, 0 -_08009C7C: .4byte gUnknown_3003E70 -_08009C80: .4byte gLocalLinkPlayer -_08009C84: .4byte gUnknown_82345C0 -_08009C88: - ldr r1, _08009C90 @ =gUnknown_3003F28 - movs r0, 0x1 - strb r0, [r1] - b _08009E3E - .align 2, 0 -_08009C90: .4byte gUnknown_3003F28 -_08009C94: - mov r7, r12 - adds r1, r7, r6 - lsls r1, 2 - ldr r0, _08009CB8 @ =sBlockRecv - adds r1, r0 - movs r2, 0 - strh r2, [r1] - ldr r0, _08009CBC @ =gRecvCmds - adds r0, 0x2 - adds r0, r4, r0 - ldrh r0, [r0] - strh r0, [r1, 0x2] - ldr r0, _08009CBC @ =gRecvCmds - adds r0, 0x4 - adds r0, r4, r0 - ldrh r0, [r0] - strb r0, [r1, 0x9] - b _08009E3E - .align 2, 0 -_08009CB8: .4byte sBlockRecv -_08009CBC: .4byte gRecvCmds -_08009CC0: - mov r3, r12 - adds r0, r3, r6 - lsls r0, 2 - ldr r5, _08009D04 @ =sBlockRecv - adds r3, r0, r5 - ldrh r1, [r3, 0x2] - movs r0, 0x80 - lsls r0, 1 - adds r7, r5, 0 - mov r10, r7 - cmp r1, r0 - bls _08009D10 - ldr r0, _08009D08 @ =gDecompressionBuffer - mov r8, r0 - movs r2, 0 - adds r5, r3, 0 - ldr r7, _08009D0C @ =gRecvCmds - adds r3, r4, 0 -_08009CE4: - ldrh r1, [r5] - lsrs r1, 1 - adds r1, r2 - lsls r1, 1 - add r1, r8 - adds r2, 0x1 - lsls r0, r2, 1 - adds r0, r3 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - lsls r2, 16 - lsrs r2, 16 - cmp r2, 0x6 - bls _08009CE4 - b _08009D40 - .align 2, 0 -_08009D04: .4byte sBlockRecv -_08009D08: .4byte gDecompressionBuffer -_08009D0C: .4byte gRecvCmds -_08009D10: - movs r2, 0 - ldr r1, _08009DC4 @ =gBlockRecvBuffer - mov r9, r1 - adds r7, r3, 0 - ldr r3, _08009DC8 @ =gRecvCmds - mov r8, r3 - lsls r5, r6, 8 - adds r3, r4, 0 -_08009D20: - ldrh r1, [r7] - lsrs r1, 1 - adds r1, r2 - lsls r1, 1 - adds r1, r5 - add r1, r9 - adds r2, 0x1 - lsls r0, r2, 1 - adds r0, r3 - add r0, r8 - ldrh r0, [r0] - strh r0, [r1] - lsls r2, 16 - lsrs r2, 16 - cmp r2, 0x6 - bls _08009D20 -_08009D40: - mov r4, r12 - adds r1, r4, r6 - lsls r1, 2 - add r1, r10 - ldrh r0, [r1] - adds r0, 0xE - movs r3, 0 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r1, 0x2] - cmp r0, r1 - bcc _08009E3E - ldr r0, _08009DCC @ =gRemoteLinkPlayersNotReceived - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08009DE6 - lsls r1, r6, 8 - ldr r0, _08009DC4 @ =gBlockRecvBuffer - adds r1, r0 - mov r8, r1 - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - ldr r1, _08009DD0 @ =gLinkPlayers - adds r2, r0, r1 - adds r1, r2, 0 - mov r0, r8 - adds r0, 0x10 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldr r0, [r0] - str r0, [r1] - ldrb r0, [r2] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08009D9A - strb r3, [r2, 0x12] - strb r3, [r2, 0x11] - strb r3, [r2, 0x10] -_08009D9A: - adds r0, r2, 0 - bl sub_800B284 - ldr r5, _08009DD4 @ =gUnknown_82345C0 - mov r0, r8 - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - bne _08009DBC - mov r0, r8 - adds r0, 0x2C - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - beq _08009DDC -_08009DBC: - ldr r0, _08009DD8 @ =c2_800ACD4 - bl SetMainCallback2 - b _08009E3E - .align 2, 0 -_08009DC4: .4byte gBlockRecvBuffer -_08009DC8: .4byte gRecvCmds -_08009DCC: .4byte gRemoteLinkPlayersNotReceived -_08009DD0: .4byte gLinkPlayers -_08009DD4: .4byte gUnknown_82345C0 -_08009DD8: .4byte c2_800ACD4 -_08009DDC: - lsls r0, r6, 24 - lsrs r0, 24 - bl HandleReceiveRemoteLinkPlayer - b _08009E3E -_08009DE6: - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_800A524 - b _08009E3E -_08009DF0: - ldr r0, _08009DF4 @ =gUnknown_3003F30 - b _08009DFA - .align 2, 0 -_08009DF4: .4byte gUnknown_3003F30 -_08009DF8: - ldr r0, _08009E04 @ =gUnknown_3003F2C -_08009DFA: - adds r0, r6, r0 - movs r1, 0x1 - strb r1, [r0] - b _08009E3E - .align 2, 0 -_08009E04: .4byte gUnknown_3003F2C -_08009E08: - bl sub_800A3CC - b _08009E3E -_08009E0E: - ldr r3, _08009E2C @ =gUnknown_8234598 - ldr r0, _08009E30 @ =gRecvCmds - adds r0, 0x2 - adds r0, r4, r0 - ldrh r2, [r0] - lsls r2, 3 - adds r0, r2, r3 - ldr r1, [r0] - adds r3, 0x4 - adds r2, r3 - ldrh r2, [r2] - movs r0, 0 - bl SendBlock - b _08009E3E - .align 2, 0 -_08009E2C: .4byte gUnknown_8234598 -_08009E30: .4byte gRecvCmds -_08009E34: - ldr r0, _08009E5C @ =gRecvCmds - adds r0, 0x2 - adds r0, r4, r0 - ldrh r0, [r0] - strh r0, [r3] -_08009E3E: - ldr r5, [sp] - lsls r0, r5, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _08009E4A - b _08009B7E -_08009E4A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08009E5C: .4byte gRecvCmds - thumb_func_end sub_8009B70 - - thumb_func_start sub_8009E60 -sub_8009E60: @ 8009E60 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08009E8C @ =0x00006666 - cmp r2, r0 - beq _08009F30 - cmp r2, r0 - bgt _08009EC0 - ldr r0, _08009E90 @ =0x00004444 - cmp r2, r0 - beq _08009F1C - cmp r2, r0 - bgt _08009E9C - ldr r0, _08009E94 @ =0x00002222 - cmp r2, r0 - beq _08009F08 - ldr r0, _08009E98 @ =0x00002ffe -_08009E82: - cmp r2, r0 - bne _08009E88 - b _08009FB4 -_08009E88: - b _08009FD6 - .align 2, 0 -_08009E8C: .4byte 0x00006666 -_08009E90: .4byte 0x00004444 -_08009E94: .4byte 0x00002222 -_08009E98: .4byte 0x00002ffe -_08009E9C: - ldr r0, _08009EAC @ =0x00005566 - cmp r2, r0 - bne _08009EA4 - b _08009FB4 -_08009EA4: - cmp r2, r0 - bgt _08009EB0 - subs r0, 0x11 - b _08009E82 - .align 2, 0 -_08009EAC: .4byte 0x00005566 -_08009EB0: - ldr r0, _08009EBC @ =0x00005fff - cmp r2, r0 - bne _08009EB8 - b _08009FA0 -_08009EB8: - b _08009FD6 - .align 2, 0 -_08009EBC: .4byte 0x00005fff -_08009EC0: - ldr r0, _08009ED4 @ =0x0000aaab - cmp r2, r0 - beq _08009F78 - cmp r2, r0 - bgt _08009EE0 - ldr r0, _08009ED8 @ =0x00007777 - cmp r2, r0 - beq _08009F3C - ldr r0, _08009EDC @ =0x0000aaaa - b _08009E82 - .align 2, 0 -_08009ED4: .4byte 0x0000aaab -_08009ED8: .4byte 0x00007777 -_08009EDC: .4byte 0x0000aaaa -_08009EE0: - ldr r0, _08009EF4 @ =0x0000cafe - cmp r2, r0 - beq _08009FC0 - cmp r2, r0 - bgt _08009EFC - ldr r0, _08009EF8 @ =0x0000bbbb - cmp r2, r0 - beq _08009F5C - b _08009FD6 - .align 2, 0 -_08009EF4: .4byte 0x0000cafe -_08009EF8: .4byte 0x0000bbbb -_08009EFC: - ldr r0, _08009F04 @ =0x0000cccc - cmp r2, r0 - beq _08009F8C - b _08009FD6 - .align 2, 0 -_08009F04: .4byte 0x0000cccc -_08009F08: - ldr r0, _08009F14 @ =gSendCmd - strh r2, [r0] - ldr r1, _08009F18 @ =gLinkType - ldrh r1, [r1] - b _08009FD4 - .align 2, 0 -_08009F14: .4byte gSendCmd -_08009F18: .4byte gLinkType -_08009F1C: - ldr r0, _08009F28 @ =gSendCmd - strh r2, [r0] - ldr r1, _08009F2C @ =gMain - ldrh r1, [r1, 0x2C] - b _08009FD4 - .align 2, 0 -_08009F28: .4byte gSendCmd -_08009F2C: .4byte gMain -_08009F30: - ldr r0, _08009F38 @ =gSendCmd - movs r1, 0 - b _08009FD2 - .align 2, 0 -_08009F38: .4byte gSendCmd -_08009F3C: - ldr r0, _08009F58 @ =gSendCmd - strh r2, [r0] - movs r1, 0 - adds r3, r0, 0 - movs r2, 0xEE -_08009F46: - adds r1, 0x1 - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x4 - bls _08009F46 - b _08009FD6 - .align 2, 0 -_08009F58: .4byte gSendCmd -_08009F5C: - ldr r1, _08009F70 @ =gSendCmd - strh r2, [r1] - ldr r2, _08009F74 @ =sBlockSend - ldrh r0, [r2, 0x2] - strh r0, [r1, 0x2] - ldrb r0, [r2, 0x9] - adds r0, 0x80 - strh r0, [r1, 0x4] - b _08009FD6 - .align 2, 0 -_08009F70: .4byte gSendCmd -_08009F74: .4byte sBlockSend -_08009F78: - ldr r0, _08009F84 @ =gSendCmd - strh r2, [r0] - ldr r1, _08009F88 @ =gSpecialVar_ItemId - ldrh r1, [r1] - b _08009FD4 - .align 2, 0 -_08009F84: .4byte gSendCmd -_08009F88: .4byte gSpecialVar_ItemId -_08009F8C: - ldr r0, _08009F98 @ =gSendCmd - strh r2, [r0] - ldr r1, _08009F9C @ =gUnknown_3003F90 - ldrb r1, [r1] - b _08009FD4 - .align 2, 0 -_08009F98: .4byte gSendCmd -_08009F9C: .4byte gUnknown_3003F90 -_08009FA0: - ldr r0, _08009FAC @ =gSendCmd - strh r2, [r0] - ldr r1, _08009FB0 @ =gUnknown_3003F34 - ldrh r1, [r1] - b _08009FD4 - .align 2, 0 -_08009FAC: .4byte gSendCmd -_08009FB0: .4byte gUnknown_3003F34 -_08009FB4: - ldr r0, _08009FBC @ =gSendCmd - strh r2, [r0] - b _08009FD6 - .align 2, 0 -_08009FBC: .4byte gSendCmd -_08009FC0: - ldr r0, _08009FDC @ =gUnknown_3005028 - ldrh r1, [r0] - cmp r1, 0 - beq _08009FD6 - ldr r0, _08009FE0 @ =gLinkTransferringData - ldrb r0, [r0] - cmp r0, 0 - bne _08009FD6 - ldr r0, _08009FE4 @ =gSendCmd -_08009FD2: - strh r2, [r0] -_08009FD4: - strh r1, [r0, 0x2] -_08009FD6: - pop {r0} - bx r0 - .align 2, 0 -_08009FDC: .4byte gUnknown_3005028 -_08009FE0: .4byte gLinkTransferringData -_08009FE4: .4byte gSendCmd - thumb_func_end sub_8009E60 - thumb_func_start sub_8009FE8 sub_8009FE8: @ 8009FE8 push {lr} @@ -845,7 +62,7 @@ sub_800A040: @ 800A040 cmp r0, 0x1 bne _0800A050 ldr r0, _0800A058 @ =0x0000cafe - bl sub_8009E60 + bl BuildSendCmd _0800A050: pop {r0} bx r0 @@ -892,7 +109,7 @@ GetLinkPlayerCount: @ 800A088 ldrb r0, [r0] cmp r0, 0 bne _0800A0A8 - ldr r0, _0800A0A4 @ =gUnknown_3003F20 + ldr r0, _0800A0A4 @ =gLinkStatus ldr r0, [r0] movs r1, 0x1C ands r0, r1 @@ -900,7 +117,7 @@ GetLinkPlayerCount: @ 800A088 b _0800A0B0 .align 2, 0 _0800A0A0: .4byte gWirelessCommType -_0800A0A4: .4byte gUnknown_3003F20 +_0800A0A4: .4byte gLinkStatus _0800A0A8: bl sub_80FA4EC lsls r0, 24 @@ -1217,7 +434,7 @@ _0800A2E8: str r5, [r4, 0x4] _0800A2EA: ldr r0, _0800A308 @ =0x0000bbbb - bl sub_8009E60 + bl BuildSendCmd ldr r1, _0800A30C @ =gLinkCallback ldr r0, _0800A310 @ =LinkCB_BlockSendBegin str r0, [r1] @@ -1324,7 +541,7 @@ sub_800A3AC: @ 800A3AC push {lr} bl GetMultiplayerId ldr r0, _0800A3C4 @ =0x00004444 - bl sub_8009E60 + bl BuildSendCmd ldr r1, _0800A3C8 @ =gUnknown_2022114 ldr r0, [r1] adds r0, 0x1 @@ -1364,7 +581,7 @@ _0800A3F0: .4byte gUnknown_2022114 sub_800A3F4: @ 800A3F4 push {lr} ldr r0, _0800A400 @ =0x0000aaaa - bl sub_8009E60 + bl BuildSendCmd pop {r0} bx r0 .align 2, 0 @@ -1464,16 +681,16 @@ _0800A494: .align 2, 0 _0800A4A0: .4byte gLinkCallback _0800A4A4: - ldr r0, _0800A4B4 @ =gUnknown_3003F90 + ldr r0, _0800A4B4 @ =gBlockRequestType strb r2, [r0] ldr r0, _0800A4B8 @ =0x0000cccc - bl sub_8009E60 + bl BuildSendCmd movs r0, 0x1 _0800A4B0: pop {r1} bx r1 .align 2, 0 -_0800A4B4: .4byte gUnknown_3003F90 +_0800A4B4: .4byte gBlockRequestType _0800A4B8: .4byte 0x0000cccc thumb_func_end sub_800A474 @@ -1513,7 +730,7 @@ GetBlockReceivedStatus: @ 800A4EC ldrb r0, [r0] cmp r0, 0x1 beq _0800A518 - ldr r2, _0800A514 @ =gUnknown_3003EBC + ldr r2, _0800A514 @ =gBlockReceivedStatus ldrb r0, [r2, 0x3] lsls r0, 3 ldrb r1, [r2, 0x2] @@ -1527,7 +744,7 @@ GetBlockReceivedStatus: @ 800A4EC b _0800A51C .align 2, 0 _0800A510: .4byte gWirelessCommType -_0800A514: .4byte gUnknown_3003EBC +_0800A514: .4byte gBlockReceivedStatus _0800A518: bl sub_80F9CC8 _0800A51C: @@ -1537,8 +754,8 @@ _0800A51C: bx r1 thumb_func_end GetBlockReceivedStatus - thumb_func_start sub_800A524 -sub_800A524: @ 800A524 + thumb_func_start SetBlockReceivedFlag +SetBlockReceivedFlag: @ 800A524 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -1552,7 +769,7 @@ sub_800A524: @ 800A524 .align 2, 0 _0800A53C: .4byte gWirelessCommType _0800A540: - ldr r0, _0800A54C @ =gUnknown_3003EBC + ldr r0, _0800A54C @ =gBlockReceivedStatus adds r0, r1, r0 movs r1, 0x1 strb r1, [r0] @@ -1560,8 +777,8 @@ _0800A548: pop {r0} bx r0 .align 2, 0 -_0800A54C: .4byte gUnknown_3003EBC - thumb_func_end sub_800A524 +_0800A54C: .4byte gBlockReceivedStatus + thumb_func_end SetBlockReceivedFlag thumb_func_start ResetBlockReceivedFlags ResetBlockReceivedFlags: @ 800A550 @@ -1582,7 +799,7 @@ _0800A55C: .align 2, 0 _0800A56C: .4byte gWirelessCommType _0800A570: - ldr r1, _0800A584 @ =gUnknown_3003EBC + ldr r1, _0800A584 @ =gBlockReceivedStatus movs r2, 0 adds r0, r1, 0x3 _0800A576: @@ -1595,7 +812,7 @@ _0800A57E: pop {r0} bx r0 .align 2, 0 -_0800A584: .4byte gUnknown_3003EBC +_0800A584: .4byte gBlockReceivedStatus thumb_func_end ResetBlockReceivedFlags thumb_func_start ResetBlockReceivedFlag @@ -1613,7 +830,7 @@ ResetBlockReceivedFlag: @ 800A588 .align 2, 0 _0800A5A0: .4byte gWirelessCommType _0800A5A4: - ldr r0, _0800A5B8 @ =gUnknown_3003EBC + ldr r0, _0800A5B8 @ =gBlockReceivedStatus adds r1, r0 ldrb r0, [r1] cmp r0, 0 @@ -1624,13 +841,13 @@ _0800A5B2: pop {r0} bx r0 .align 2, 0 -_0800A5B8: .4byte gUnknown_3003EBC +_0800A5B8: .4byte gBlockReceivedStatus thumb_func_end ResetBlockReceivedFlag thumb_func_start CheckShouldAdvanceLinkState CheckShouldAdvanceLinkState: @ 800A5BC push {lr} - ldr r0, _0800A5DC @ =gUnknown_3003F20 + ldr r0, _0800A5DC @ =gLinkStatus ldr r1, [r0] movs r0, 0x20 ands r0, r1 @@ -1647,7 +864,7 @@ _0800A5D8: pop {r0} bx r0 .align 2, 0 -_0800A5DC: .4byte gUnknown_3003F20 +_0800A5DC: .4byte gLinkStatus _0800A5E0: .4byte gShouldAdvanceLinkState thumb_func_end CheckShouldAdvanceLinkState @@ -1837,14 +1054,14 @@ _0800A718: thumb_func_start LinkCB_RequestPlayerDataExchange LinkCB_RequestPlayerDataExchange: @ 800A720 push {lr} - ldr r0, _0800A740 @ =gUnknown_3003F20 + ldr r0, _0800A740 @ =gLinkStatus ldr r0, [r0] movs r1, 0x20 ands r0, r1 cmp r0, 0 beq _0800A734 ldr r0, _0800A744 @ =0x00002222 - bl sub_8009E60 + bl BuildSendCmd _0800A734: ldr r1, _0800A748 @ =gLinkCallback movs r0, 0 @@ -1852,7 +1069,7 @@ _0800A734: pop {r0} bx r0 .align 2, 0 -_0800A740: .4byte gUnknown_3003F20 +_0800A740: .4byte gLinkStatus _0800A744: .4byte 0x00002222 _0800A748: .4byte gLinkCallback thumb_func_end LinkCB_RequestPlayerDataExchange @@ -1861,7 +1078,7 @@ _0800A748: .4byte gLinkCallback task00_link_test: @ 800A74C push {r4-r6,lr} sub sp, 0x20 - ldr r1, _0800A86C @ =gUnknown_82345D0 + ldr r1, _0800A86C @ =gASCIITestPrint mov r0, sp bl strcpy mov r0, sp @@ -1874,13 +1091,13 @@ task00_link_test: @ 800A74C movs r2, 0x1 movs r3, 0x2 bl LinkTest_prnthex - ldr r4, _0800A874 @ =gUnknown_3003F20 + ldr r4, _0800A874 @ =gLinkStatus ldr r0, [r4] movs r1, 0xF movs r2, 0x1 movs r3, 0x8 bl LinkTest_prnthex - ldr r0, _0800A878 @ =gUnknown_3003FB0 + ldr r0, _0800A878 @ =gLink ldrb r0, [r0, 0x1] movs r1, 0x2 movs r2, 0xA @@ -1901,13 +1118,13 @@ task00_link_test: @ 800A74C movs r2, 0xC movs r3, 0x2 bl LinkTest_prnthex - ldr r0, _0800A87C @ =gUnknown_3003FA0 + ldr r0, _0800A87C @ =gLastSendQueueCount ldrb r0, [r0] movs r1, 0x19 movs r2, 0x1 movs r3, 0x2 bl LinkTest_prnthex - ldr r0, _0800A880 @ =gUnknown_3004F70 + ldr r0, _0800A880 @ =gLastRecvQueueCount ldrb r0, [r0] movs r1, 0x19 movs r2, 0x2 @@ -1920,13 +1137,13 @@ task00_link_test: @ 800A74C movs r2, 0x5 movs r3, 0x2 bl LinkTest_prnthex - ldr r0, _0800A884 @ =gUnknown_3003E6C + ldr r0, _0800A884 @ =gLinkDebugSeed ldr r0, [r0] movs r1, 0x2 movs r2, 0xC movs r3, 0x8 bl LinkTest_prnthex - ldr r0, _0800A888 @ =gUnknown_3003EB0 + ldr r0, _0800A888 @ =gLinkDebugFlags ldr r0, [r0] movs r1, 0x2 movs r2, 0xD @@ -1982,27 +1199,27 @@ _0800A84A: pop {r0} bx r0 .align 2, 0 -_0800A86C: .4byte gUnknown_82345D0 +_0800A86C: .4byte gASCIITestPrint _0800A870: .4byte gShouldAdvanceLinkState -_0800A874: .4byte gUnknown_3003F20 -_0800A878: .4byte gUnknown_3003FB0 -_0800A87C: .4byte gUnknown_3003FA0 -_0800A880: .4byte gUnknown_3004F70 -_0800A884: .4byte gUnknown_3003E6C -_0800A888: .4byte gUnknown_3003EB0 +_0800A874: .4byte gLinkStatus +_0800A878: .4byte gLink +_0800A87C: .4byte gLastSendQueueCount +_0800A880: .4byte gLastRecvQueueCount +_0800A884: .4byte gLinkDebugSeed +_0800A888: .4byte gLinkDebugFlags _0800A88C: .4byte gLinkTestBlockChecksums thumb_func_end task00_link_test thumb_func_start SetLinkDebugValues SetLinkDebugValues: @ 800A890 - ldr r2, _0800A89C @ =gUnknown_3003E6C + ldr r2, _0800A89C @ =gLinkDebugSeed str r0, [r2] - ldr r0, _0800A8A0 @ =gUnknown_3003EB0 + ldr r0, _0800A8A0 @ =gLinkDebugFlags str r1, [r0] bx lr .align 2, 0 -_0800A89C: .4byte gUnknown_3003E6C -_0800A8A0: .4byte gUnknown_3003EB0 +_0800A89C: .4byte gLinkDebugSeed +_0800A8A0: .4byte gLinkDebugFlags thumb_func_end SetLinkDebugValues thumb_func_start sub_800A8A4 @@ -2010,7 +1227,7 @@ sub_800A8A4: @ 800A8A4 push {r4,lr} movs r1, 0 movs r2, 0 - ldr r0, _0800A8D0 @ =gUnknown_3003F40 + ldr r0, _0800A8D0 @ =gSavedLinkPlayerCount ldrb r0, [r0] cmp r1, r0 bge _0800A8C6 @@ -2031,7 +1248,7 @@ _0800A8C6: pop {r1} bx r1 .align 2, 0 -_0800A8D0: .4byte gUnknown_3003F40 +_0800A8D0: .4byte gSavedLinkPlayerCount thumb_func_end sub_800A8A4 thumb_func_start sub_800A8D4 @@ -2063,10 +1280,10 @@ _0800A8EA: thumb_func_start sub_800A900 sub_800A900: @ 800A900 push {r4-r7,lr} - ldr r1, _0800A934 @ =gUnknown_3003F40 + ldr r1, _0800A934 @ =gSavedLinkPlayerCount strb r0, [r1] bl GetMultiplayerId - ldr r1, _0800A938 @ =gUnknown_3003F60 + ldr r1, _0800A938 @ =gSavedMultiplayerId strb r0, [r1] ldr r4, _0800A93C @ =gLinkPlayers ldr r3, _0800A940 @ =gSavedLinkPlayers @@ -2089,35 +1306,35 @@ _0800A914: pop {r0} bx r0 .align 2, 0 -_0800A934: .4byte gUnknown_3003F40 -_0800A938: .4byte gUnknown_3003F60 +_0800A934: .4byte gSavedLinkPlayerCount +_0800A938: .4byte gSavedMultiplayerId _0800A93C: .4byte gLinkPlayers _0800A940: .4byte gSavedLinkPlayers thumb_func_end sub_800A900 thumb_func_start sub_800A944 sub_800A944: @ 800A944 - ldr r0, _0800A94C @ =gUnknown_3003F40 + ldr r0, _0800A94C @ =gSavedLinkPlayerCount ldrb r0, [r0] bx lr .align 2, 0 -_0800A94C: .4byte gUnknown_3003F40 +_0800A94C: .4byte gSavedLinkPlayerCount thumb_func_end sub_800A944 thumb_func_start sub_800A950 sub_800A950: @ 800A950 - ldr r0, _0800A958 @ =gUnknown_3003F60 + ldr r0, _0800A958 @ =gSavedMultiplayerId ldrb r0, [r0] bx lr .align 2, 0 -_0800A958: .4byte gUnknown_3003F60 +_0800A958: .4byte gSavedMultiplayerId thumb_func_end sub_800A950 thumb_func_start sub_800A95C sub_800A95C: @ 800A95C push {r4-r6,lr} movs r5, 0 - ldr r0, _0800A990 @ =gUnknown_3003F40 + ldr r0, _0800A990 @ =gSavedLinkPlayerCount ldrb r2, [r0] adds r6, r0, 0 cmp r5, r2 @@ -2145,7 +1362,7 @@ _0800A986: movs r0, 0 b _0800A99E .align 2, 0 -_0800A990: .4byte gUnknown_3003F40 +_0800A990: .4byte gSavedLinkPlayerCount _0800A994: .4byte gLinkPlayers _0800A998: .4byte gSavedLinkPlayers _0800A99C: @@ -2162,7 +1379,7 @@ sub_800A9A4: @ 800A9A4 mov r7, r8 push {r7} movs r4, 0 - ldr r0, _0800AA10 @ =gUnknown_3003F40 + ldr r0, _0800AA10 @ =gSavedLinkPlayerCount ldrb r0, [r0] cmp r4, r0 bcs _0800AA04 @@ -2196,13 +1413,13 @@ _0800A9E6: movs r0, 0x1 strb r0, [r1] bl CloseLink - ldr r0, _0800AA20 @ =c2_800ACD4 + ldr r0, _0800AA20 @ =CB2_LinkError bl SetMainCallback2 _0800A9F6: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0800AA10 @ =gUnknown_3003F40 + ldr r0, _0800AA10 @ =gSavedLinkPlayerCount ldrb r0, [r0] cmp r4, r0 bcc _0800A9C2 @@ -2213,36 +1430,36 @@ _0800AA04: pop {r0} bx r0 .align 2, 0 -_0800AA10: .4byte gUnknown_3003F40 +_0800AA10: .4byte gSavedLinkPlayerCount _0800AA14: .4byte gSavedLinkPlayers _0800AA18: .4byte gLinkPlayers _0800AA1C: .4byte gLinkErrorOccurred -_0800AA20: .4byte c2_800ACD4 +_0800AA20: .4byte CB2_LinkError thumb_func_end sub_800A9A4 thumb_func_start sub_800AA24 sub_800AA24: @ 800AA24 - ldr r0, _0800AA30 @ =gUnknown_3003F40 + ldr r0, _0800AA30 @ =gSavedLinkPlayerCount movs r1, 0 strb r1, [r0] - ldr r0, _0800AA34 @ =gUnknown_3003F60 + ldr r0, _0800AA34 @ =gSavedMultiplayerId strb r1, [r0] bx lr .align 2, 0 -_0800AA30: .4byte gUnknown_3003F40 -_0800AA34: .4byte gUnknown_3003F60 +_0800AA30: .4byte gSavedLinkPlayerCount +_0800AA34: .4byte gSavedMultiplayerId thumb_func_end sub_800AA24 thumb_func_start GetLinkPlayerCount_2 GetLinkPlayerCount_2: @ 800AA38 - ldr r0, _0800AA44 @ =gUnknown_3003F20 + ldr r0, _0800AA44 @ =gLinkStatus ldr r0, [r0] movs r1, 0x1C ands r0, r1 lsrs r0, 2 bx lr .align 2, 0 -_0800AA44: .4byte gUnknown_3003F20 +_0800AA44: .4byte gLinkStatus thumb_func_end GetLinkPlayerCount_2 thumb_func_start IsLinkMaster @@ -2252,7 +1469,7 @@ IsLinkMaster: @ 800AA48 ldrb r0, [r0] cmp r0, 0 bne _0800AA68 - ldr r0, _0800AA64 @ =gUnknown_3003F20 + ldr r0, _0800AA64 @ =gLinkStatus ldr r0, [r0] lsrs r0, 5 movs r1, 0x1 @@ -2260,7 +1477,7 @@ IsLinkMaster: @ 800AA48 b _0800AA70 .align 2, 0 _0800AA60: .4byte gWirelessCommType -_0800AA64: .4byte gUnknown_3003F20 +_0800AA64: .4byte gLinkStatus _0800AA68: bl sub_80FBA2C lsls r0, 24 @@ -2356,12 +1573,12 @@ _0800AB08: .4byte gUnknown_3003F34 thumb_func_start sub_800AB0C sub_800AB0C: @ 800AB0C push {lr} - ldr r0, _0800AB28 @ =gUnknown_3004F70 + ldr r0, _0800AB28 @ =gLastRecvQueueCount ldrb r0, [r0] cmp r0, 0 bne _0800AB22 ldr r0, _0800AB2C @ =0x00005fff - bl sub_8009E60 + bl BuildSendCmd ldr r1, _0800AB30 @ =gLinkCallback ldr r0, _0800AB34 @ =sub_800AB38 str r0, [r1] @@ -2369,7 +1586,7 @@ _0800AB22: pop {r0} bx r0 .align 2, 0 -_0800AB28: .4byte gUnknown_3004F70 +_0800AB28: .4byte gLastRecvQueueCount _0800AB2C: .4byte 0x00005fff _0800AB30: .4byte gLinkCallback _0800AB34: .4byte sub_800AB38 @@ -2460,12 +1677,12 @@ _0800ABD0: .4byte gUnknown_3003F24 thumb_func_start sub_800ABD4 sub_800ABD4: @ 800ABD4 push {lr} - ldr r0, _0800ABF0 @ =gUnknown_3004F70 + ldr r0, _0800ABF0 @ =gLastRecvQueueCount ldrb r0, [r0] cmp r0, 0 bne _0800ABEA ldr r0, _0800ABF4 @ =0x00002ffe - bl sub_8009E60 + bl BuildSendCmd ldr r1, _0800ABF8 @ =gLinkCallback ldr r0, _0800ABFC @ =sub_800AC00 str r0, [r1] @@ -2473,7 +1690,7 @@ _0800ABEA: pop {r0} bx r0 .align 2, 0 -_0800ABF0: .4byte gUnknown_3004F70 +_0800ABF0: .4byte gLastRecvQueueCount _0800ABF4: .4byte 0x00002ffe _0800ABF8: .4byte gLinkCallback _0800ABFC: .4byte sub_800AC00 @@ -2528,14 +1745,14 @@ _0800AC50: .4byte gUnknown_3003F2C _0800AC54: .4byte gLinkCallback thumb_func_end sub_800AC00 - thumb_func_start sub_800AC58 -sub_800AC58: @ 800AC58 + thumb_func_start CheckErrorStatus +CheckErrorStatus: @ 800AC58 push {lr} ldr r0, _0800AC9C @ =gLinkOpen ldrb r0, [r0] cmp r0, 0 beq _0800AC98 - ldr r0, _0800ACA0 @ =gUnknown_3003F20 + ldr r0, _0800ACA0 @ =gLinkStatus ldr r2, [r0] movs r0, 0xFE lsls r0, 11 @@ -2548,13 +1765,13 @@ sub_800AC58: @ 800AC58 bne _0800AC8E ldr r1, _0800ACA8 @ =sLinkErrorBuffer str r2, [r1] - ldr r0, _0800ACAC @ =gUnknown_3004F70 + ldr r0, _0800ACAC @ =gLastRecvQueueCount ldrb r0, [r0] strb r0, [r1, 0x4] - ldr r0, _0800ACB0 @ =gUnknown_3003FA0 + ldr r0, _0800ACB0 @ =gLastSendQueueCount ldrb r0, [r0] strb r0, [r1, 0x5] - ldr r0, _0800ACB4 @ =c2_800ACD4 + ldr r0, _0800ACB4 @ =CB2_LinkError bl SetMainCallback2 _0800AC8E: ldr r1, _0800ACB8 @ =gLinkErrorOccurred @@ -2566,14 +1783,14 @@ _0800AC98: bx r0 .align 2, 0 _0800AC9C: .4byte gLinkOpen -_0800ACA0: .4byte gUnknown_3003F20 +_0800ACA0: .4byte gLinkStatus _0800ACA4: .4byte gSuppressLinkErrorMessage _0800ACA8: .4byte sLinkErrorBuffer -_0800ACAC: .4byte gUnknown_3004F70 -_0800ACB0: .4byte gUnknown_3003FA0 -_0800ACB4: .4byte c2_800ACD4 +_0800ACAC: .4byte gLastRecvQueueCount +_0800ACB0: .4byte gLastSendQueueCount +_0800ACB4: .4byte CB2_LinkError _0800ACB8: .4byte gLinkErrorOccurred - thumb_func_end sub_800AC58 + thumb_func_end CheckErrorStatus thumb_func_start sub_800ACBC sub_800ACBC: @ 800ACBC @@ -2590,8 +1807,8 @@ sub_800ACBC: @ 800ACBC _0800ACD0: .4byte sLinkErrorBuffer thumb_func_end sub_800ACBC - thumb_func_start c2_800ACD4 -c2_800ACD4: @ 800ACD4 + thumb_func_start CB2_LinkError +CB2_LinkError: @ 800ACD4 push {r4,lr} movs r0, 0 movs r1, 0 @@ -2710,7 +1927,7 @@ _0800AE0C: .4byte gSoftResetDisabled _0800AE10: .4byte Task_DestroySelf _0800AE14: .4byte gMain _0800AE18: .4byte sub_800AF2C - thumb_func_end c2_800ACD4 + thumb_func_end CB2_LinkError thumb_func_start sub_800AE1C sub_800AE1C: @ 800AE1C @@ -2730,7 +1947,7 @@ sub_800AE1C: @ 800AE1C bl CopyToBgTilemapBuffer movs r0, 0x1 bl CopyBgTilemapBufferToVram - ldr r0, _0800AEC0 @ =gUnknown_8231EC4 + ldr r0, _0800AEC0 @ =gWirelessLinkDisplayPal movs r1, 0 movs r2, 0x20 bl LoadPalette @@ -2780,7 +1997,7 @@ sub_800AE1C: @ 800AE1C .align 2, 0 _0800AEB8: .4byte gWirelessLinkDisplay4bpp _0800AEBC: .4byte gWirelessLinkDisplayBin -_0800AEC0: .4byte gUnknown_8231EC4 +_0800AEC0: .4byte gWirelessLinkDisplayPal _0800AEC4: .4byte gUnknown_8234610 _0800AEC8: .4byte gUnknown_841DEF0 _0800AECC: .4byte gUnknown_841DF05 @@ -3010,14 +2227,14 @@ _0800B088: .4byte 0x04000128 thumb_func_start IsLinkConnectionEstablished IsLinkConnectionEstablished: @ 800B08C - ldr r0, _0800B098 @ =gUnknown_3003F20 + ldr r0, _0800B098 @ =gLinkStatus ldr r0, [r0] lsrs r0, 6 movs r1, 0x1 ands r0, r1 bx lr .align 2, 0 -_0800B098: .4byte gUnknown_3003F20 +_0800B098: .4byte gLinkStatus thumb_func_end IsLinkConnectionEstablished thumb_func_start SetSuppressLinkErrorMessage @@ -3042,7 +2259,7 @@ _0800B0B0: .4byte gLinkErrorOccurred sub_800B0B4: @ 800B0B4 push {r4-r6,lr} bl InitLocalLinkPlayer - ldr r1, _0800B100 @ =gUnknown_3003E70 + ldr r1, _0800B100 @ =gLocalLinkPlayerBlock adds r2, r1, 0 adds r2, 0x10 ldr r0, _0800B104 @ =gLocalLinkPlayer @@ -3052,7 +2269,7 @@ sub_800B0B4: @ 800B0B4 stm r2!, {r3,r4,r6} ldr r0, [r0] str r0, [r2] - ldr r3, _0800B108 @ =gUnknown_82345C0 + ldr r3, _0800B108 @ =gASCIIGameFreakInc adds r2, r1, 0 adds r0, r3, 0 ldm r0!, {r4-r6} @@ -3076,9 +2293,9 @@ sub_800B0B4: @ 800B0B4 pop {r0} bx r0 .align 2, 0 -_0800B100: .4byte gUnknown_3003E70 +_0800B100: .4byte gLocalLinkPlayerBlock _0800B104: .4byte gLocalLinkPlayer -_0800B108: .4byte gUnknown_82345C0 +_0800B108: .4byte gASCIIGameFreakInc _0800B10C: .4byte gBlockSendBuffer thumb_func_end sub_800B0B4 @@ -3106,7 +2323,7 @@ sub_800B110: @ 800B110 str r0, [r1] adds r0, r2, 0 bl sub_800B284 - ldr r5, _0800B170 @ =gUnknown_82345C0 + ldr r5, _0800B170 @ =gASCIIGameFreakInc adds r0, r4, 0 adds r1, r5, 0 bl strcmp @@ -3119,7 +2336,7 @@ sub_800B110: @ 800B110 cmp r0, 0 beq _0800B160 _0800B15A: - ldr r0, _0800B174 @ =c2_800ACD4 + ldr r0, _0800B174 @ =CB2_LinkError bl SetMainCallback2 _0800B160: pop {r4-r6} @@ -3128,8 +2345,8 @@ _0800B160: .align 2, 0 _0800B168: .4byte gBlockRecvBuffer _0800B16C: .4byte gLinkPlayers -_0800B170: .4byte gUnknown_82345C0 -_0800B174: .4byte c2_800ACD4 +_0800B170: .4byte gASCIIGameFreakInc +_0800B174: .4byte CB2_LinkError thumb_func_end sub_800B110 thumb_func_start HandleLinkConnection @@ -3143,7 +2360,7 @@ HandleLinkConnection: @ 800B178 ldr r1, _0800B1B8 @ =gSendCmd ldr r2, _0800B1BC @ =gRecvCmds bl LinkMain1 - ldr r4, _0800B1C0 @ =gUnknown_3003F20 + ldr r4, _0800B1C0 @ =gLinkStatus str r0, [r4] ldr r0, _0800B1C4 @ =gMain + 0x2C bl LinkMain2 @@ -3164,7 +2381,7 @@ _0800B1B0: .4byte gWirelessCommType _0800B1B4: .4byte gShouldAdvanceLinkState _0800B1B8: .4byte gSendCmd _0800B1BC: .4byte gRecvCmds -_0800B1C0: .4byte gUnknown_3003F20 +_0800B1C0: .4byte gLinkStatus _0800B1C4: .4byte gMain + 0x2C _0800B1C8: bl sub_80FAE94 @@ -3248,14 +2465,14 @@ sub_800B248: @ 800B248 ldrb r0, [r0] cmp r0, 0 bne _0800B268 - ldr r0, _0800B260 @ =gUnknown_3003FB0 + ldr r0, _0800B260 @ =gLink ldr r1, _0800B264 @ =0x00000fbd adds r0, r1 ldrb r0, [r0] b _0800B26C .align 2, 0 _0800B25C: .4byte gWirelessCommType -_0800B260: .4byte gUnknown_3003FB0 +_0800B260: .4byte gLink _0800B264: .4byte 0x00000fbd _0800B268: bl sub_80FC460 @@ -3318,7 +2535,7 @@ DisableSerial: @ 800B29C str r0, [r2] str r1, [r2, 0x4] str r0, [sp] - ldr r1, _0800B2EC @ =gUnknown_3003FB0 + ldr r1, _0800B2EC @ =gLink ldr r2, _0800B2F0 @ =0x050003f0 mov r0, sp bl CpuSet @@ -3330,7 +2547,7 @@ _0800B2DC: .4byte 0x04000128 _0800B2E0: .4byte 0x0400010e _0800B2E4: .4byte 0x0400012a _0800B2E8: .4byte 0x04000120 -_0800B2EC: .4byte gUnknown_3003FB0 +_0800B2EC: .4byte gLink _0800B2F0: .4byte 0x050003f0 thumb_func_end DisableSerial @@ -3359,7 +2576,7 @@ EnableSerial: @ 800B2F4 strh r4, [r0] movs r5, 0 str r5, [sp] - ldr r1, _0800B364 @ =gUnknown_3003FB0 + ldr r1, _0800B364 @ =gLink ldr r2, _0800B368 @ =0x050003f0 mov r0, sp bl CpuSet @@ -3373,9 +2590,9 @@ EnableSerial: @ 800B2F4 strb r4, [r0] ldr r0, _0800B37C @ =sHandshakePlayerCount strb r4, [r0] - ldr r0, _0800B380 @ =gUnknown_3003FA0 + ldr r0, _0800B380 @ =gLastSendQueueCount strb r4, [r0] - ldr r0, _0800B384 @ =gUnknown_3004F70 + ldr r0, _0800B384 @ =gLastRecvQueueCount strb r4, [r0] add sp, 0x4 pop {r4,r5} @@ -3386,15 +2603,15 @@ _0800B354: .4byte 0x04000134 _0800B358: .4byte 0x04000128 _0800B35C: .4byte 0x00004003 _0800B360: .4byte 0x0400012a -_0800B364: .4byte gUnknown_3003FB0 +_0800B364: .4byte gLink _0800B368: .4byte 0x050003f0 _0800B36C: .4byte sNumVBlanksWithoutSerialIntr _0800B370: .4byte sSendNonzeroCheck _0800B374: .4byte sRecvNonzeroCheck _0800B378: .4byte sChecksumAvailable _0800B37C: .4byte sHandshakePlayerCount -_0800B380: .4byte gUnknown_3003FA0 -_0800B384: .4byte gUnknown_3004F70 +_0800B380: .4byte gLastSendQueueCount +_0800B384: .4byte gLastRecvQueueCount thumb_func_end EnableSerial thumb_func_start ResetSerial @@ -3412,7 +2629,7 @@ LinkMain1: @ 800B398 adds r4, r0, 0 adds r5, r1, 0 adds r6, r2, 0 - ldr r0, _0800B3B4 @ =gUnknown_3003FB0 + ldr r0, _0800B3B4 @ =gLink ldrb r0, [r0, 0x1] cmp r0, 0x4 bhi _0800B44A @@ -3422,7 +2639,7 @@ LinkMain1: @ 800B398 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0800B3B4: .4byte gUnknown_3003FB0 +_0800B3B4: .4byte gLink _0800B3B8: .4byte _0800B3BC .align 2, 0 _0800B3BC: @@ -3433,23 +2650,23 @@ _0800B3BC: .4byte _0800B43E _0800B3D0: bl DisableSerial - ldr r1, _0800B3DC @ =gUnknown_3003FB0 + ldr r1, _0800B3DC @ =gLink movs r0, 0x1 strb r0, [r1, 0x1] b _0800B44A .align 2, 0 -_0800B3DC: .4byte gUnknown_3003FB0 +_0800B3DC: .4byte gLink _0800B3E0: ldrb r0, [r4] cmp r0, 0x1 bne _0800B44A bl EnableSerial - ldr r1, _0800B3F4 @ =gUnknown_3003FB0 + ldr r1, _0800B3F4 @ =gLink movs r0, 0x2 strb r0, [r1, 0x1] b _0800B44A .align 2, 0 -_0800B3F4: .4byte gUnknown_3003FB0 +_0800B3F4: .4byte gLink _0800B3F8: ldrb r1, [r4] cmp r1, 0x1 @@ -3459,7 +2676,7 @@ _0800B3F8: bl CheckMasterOrSlave b _0800B44A _0800B408: - ldr r2, _0800B41C @ =gUnknown_3003FB0 + ldr r2, _0800B41C @ =gLink ldrb r0, [r2] cmp r0, 0x8 bne _0800B44A @@ -3469,20 +2686,20 @@ _0800B408: strb r1, [r2, 0xE] b _0800B44A .align 2, 0 -_0800B41C: .4byte gUnknown_3003FB0 +_0800B41C: .4byte gLink _0800B420: - ldr r0, _0800B42C @ =gUnknown_3003FB0 + ldr r0, _0800B42C @ =gLink movs r1, 0 strb r1, [r0, 0x1] ldr r0, _0800B430 @ =0x0400012a strh r1, [r0] b _0800B44A .align 2, 0 -_0800B42C: .4byte gUnknown_3003FB0 +_0800B42C: .4byte gLink _0800B430: .4byte 0x0400012a _0800B434: bl InitTimer - ldr r1, _0800B484 @ =gUnknown_3003FB0 + ldr r1, _0800B484 @ =gLink movs r0, 0x4 strb r0, [r1, 0x1] _0800B43E: @@ -3493,7 +2710,7 @@ _0800B43E: _0800B44A: movs r0, 0 strb r0, [r4] - ldr r1, _0800B484 @ =gUnknown_3003FB0 + ldr r1, _0800B484 @ =gLink ldrb r2, [r1, 0x2] ldrb r0, [r1, 0x3] lsls r0, 2 @@ -3522,7 +2739,7 @@ _0800B462: orrs r0, r2 b _0800B48C .align 2, 0 -_0800B484: .4byte gUnknown_3003FB0 +_0800B484: .4byte gLink _0800B488: adds r0, r2, 0 orrs r0, r3 @@ -3566,7 +2783,7 @@ CheckMasterOrSlave: @ 800B4C4 ldr r1, [r0] movs r0, 0xC ands r1, r0 - ldr r2, _0800B4E4 @ =gUnknown_3003FB0 + ldr r2, _0800B4E4 @ =gLink cmp r1, 0x8 bne _0800B4E8 ldrb r0, [r2, 0x2] @@ -3576,7 +2793,7 @@ CheckMasterOrSlave: @ 800B4C4 b _0800B4EC .align 2, 0 _0800B4E0: .4byte 0x04000128 -_0800B4E4: .4byte gUnknown_3003FB0 +_0800B4E4: .4byte gLink _0800B4E8: movs r0, 0 strb r0, [r2] @@ -3588,7 +2805,7 @@ _0800B4EC: thumb_func_start InitTimer InitTimer: @ 800B4F0 push {lr} - ldr r0, _0800B514 @ =gUnknown_3003FB0 + ldr r0, _0800B514 @ =gLink ldrb r0, [r0] cmp r0, 0 beq _0800B50E @@ -3605,7 +2822,7 @@ _0800B50E: pop {r0} bx r0 .align 2, 0 -_0800B514: .4byte gUnknown_3003FB0 +_0800B514: .4byte gLink _0800B518: .4byte 0x0400010c _0800B51C: .4byte 0x0000ff3b thumb_func_end InitTimer @@ -3618,13 +2835,13 @@ sub_800B520: @ 800B520 mov r5, r8 push {r5-r7} adds r3, r0, 0 - ldr r2, _0800B598 @ =gUnknown_3004F74 + ldr r2, _0800B598 @ =gLinkSavedIme ldr r1, _0800B59C @ =0x04000208 ldrh r0, [r1] strh r0, [r2] movs r0, 0 strh r0, [r1] - ldr r1, _0800B5A0 @ =gUnknown_3003FB0 + ldr r1, _0800B5A0 @ =gLink ldr r4, _0800B5A4 @ =0x00000339 adds r0, r1, r4 ldrb r4, [r0] @@ -3647,7 +2864,7 @@ _0800B55E: movs r2, 0 ldr r4, _0800B5A8 @ =sSendNonzeroCheck mov r9, r4 - ldr r1, _0800B5AC @ =gUnknown_3003FA0 + ldr r1, _0800B5AC @ =gLastSendQueueCount mov r10, r1 lsls r5, r0, 1 movs r0, 0x18 @@ -3675,18 +2892,18 @@ _0800B574: bls _0800B574 b _0800B5BC .align 2, 0 -_0800B598: .4byte gUnknown_3004F74 +_0800B598: .4byte gLinkSavedIme _0800B59C: .4byte 0x04000208 -_0800B5A0: .4byte gUnknown_3003FB0 +_0800B5A0: .4byte gLink _0800B5A4: .4byte 0x00000339 _0800B5A8: .4byte sSendNonzeroCheck -_0800B5AC: .4byte gUnknown_3003FA0 +_0800B5AC: .4byte gLastSendQueueCount _0800B5B0: movs r0, 0x1 strb r0, [r6, 0x12] ldr r2, _0800B5F4 @ =sSendNonzeroCheck mov r9, r2 - ldr r4, _0800B5F8 @ =gUnknown_3003FA0 + ldr r4, _0800B5F8 @ =gLastSendQueueCount mov r10, r4 _0800B5BC: mov r1, r9 @@ -3703,7 +2920,7 @@ _0800B5BC: strh r2, [r4] _0800B5D4: ldr r1, _0800B600 @ =0x04000208 - ldr r2, _0800B604 @ =gUnknown_3004F74 + ldr r2, _0800B604 @ =gLinkSavedIme ldrh r0, [r2] strh r0, [r1] ldr r4, _0800B5FC @ =0x00000339 @@ -3720,10 +2937,10 @@ _0800B5D4: bx r0 .align 2, 0 _0800B5F4: .4byte sSendNonzeroCheck -_0800B5F8: .4byte gUnknown_3003FA0 +_0800B5F8: .4byte gLastSendQueueCount _0800B5FC: .4byte 0x00000339 _0800B600: .4byte 0x04000208 -_0800B604: .4byte gUnknown_3004F74 +_0800B604: .4byte gLinkSavedIme thumb_func_end sub_800B520 thumb_func_start sub_800B608 @@ -3734,13 +2951,13 @@ sub_800B608: @ 800B608 mov r5, r8 push {r5-r7} mov r9, r0 - ldr r2, _0800B664 @ =gUnknown_3004F74 + ldr r2, _0800B664 @ =gLinkSavedIme ldr r1, _0800B668 @ =0x04000208 ldrh r0, [r1] strh r0, [r2] movs r0, 0 strh r0, [r1] - ldr r1, _0800B66C @ =gUnknown_3003FB0 + ldr r1, _0800B66C @ =gLink ldr r3, _0800B670 @ =0x00000fbd adds r0, r1, r3 ldrb r0, [r0] @@ -3777,9 +2994,9 @@ _0800B65A: strb r0, [r7, 0xC] b _0800B6F0 .align 2, 0 -_0800B664: .4byte gUnknown_3004F74 +_0800B664: .4byte gLinkSavedIme _0800B668: .4byte 0x04000208 -_0800B66C: .4byte gUnknown_3003FB0 +_0800B66C: .4byte gLink _0800B670: .4byte 0x00000fbd _0800B674: movs r3, 0 @@ -3850,7 +3067,7 @@ _0800B6EC: strb r3, [r2, 0xC] _0800B6F0: ldr r1, _0800B710 @ =0x04000208 - ldr r3, _0800B714 @ =gUnknown_3004F74 + ldr r3, _0800B714 @ =gLinkSavedIme ldrh r0, [r3] strh r0, [r1] pop {r3-r5} @@ -3864,13 +3081,13 @@ _0800B6F0: _0800B708: .4byte 0x00000fbc _0800B70C: .4byte 0x00000fbd _0800B710: .4byte 0x04000208 -_0800B714: .4byte gUnknown_3004F74 +_0800B714: .4byte gLinkSavedIme thumb_func_end sub_800B608 thumb_func_start LinkVSync LinkVSync: @ 800B718 push {r4,lr} - ldr r3, _0800B740 @ =gUnknown_3003FB0 + ldr r3, _0800B740 @ =gLink ldrb r4, [r3] cmp r4, 0 beq _0800B754 @@ -3890,7 +3107,7 @@ LinkVSync: @ 800B718 strb r0, [r3, 0x13] b _0800B77E .align 2, 0 -_0800B740: .4byte gUnknown_3003FB0 +_0800B740: .4byte gLink _0800B744: ldrb r0, [r3, 0x13] cmp r0, 0x1 @@ -3944,7 +3161,7 @@ Timer3Intr: @ 800B788 thumb_func_start SerialCB SerialCB: @ 800B798 push {r4,lr} - ldr r4, _0800B7C4 @ =gUnknown_3003FB0 + ldr r4, _0800B7C4 @ =gLink ldr r0, _0800B7C8 @ =0x04000128 ldr r1, [r0] lsls r0, r1, 26 @@ -3963,7 +3180,7 @@ SerialCB: @ 800B798 bl SendRecvDone b _0800B7EA .align 2, 0 -_0800B7C4: .4byte gUnknown_3003FB0 +_0800B7C4: .4byte gLink _0800B7C8: .4byte 0x04000128 _0800B7CC: bl DoHandshake @@ -3982,7 +3199,7 @@ _0800B7E6: movs r0, 0x4 strb r0, [r4, 0x1] _0800B7EA: - ldr r3, _0800B810 @ =gUnknown_3003FB0 + ldr r3, _0800B810 @ =gLink ldrb r0, [r3, 0xD] adds r0, 0x1 movs r2, 0 @@ -3993,7 +3210,7 @@ _0800B7EA: asrs r0, 24 cmp r0, 0x8 bne _0800B80A - ldr r0, _0800B818 @ =gUnknown_3004F70 + ldr r0, _0800B818 @ =gLastRecvQueueCount ldr r2, _0800B81C @ =0x00000fbd adds r1, r3, r2 ldrb r1, [r1] @@ -4003,9 +3220,9 @@ _0800B80A: pop {r0} bx r0 .align 2, 0 -_0800B810: .4byte gUnknown_3003FB0 +_0800B810: .4byte gLink _0800B814: .4byte sNumVBlanksWithoutSerialIntr -_0800B818: .4byte gUnknown_3004F70 +_0800B818: .4byte gLastRecvQueueCount _0800B81C: .4byte 0x00000fbd thumb_func_end SerialCB @@ -4029,7 +3246,7 @@ DoHandshake: @ 800B830 push {r6,r7} movs r5, 0 ldr r6, _0800B84C @ =0x0000ffff - ldr r0, _0800B850 @ =gUnknown_3003FB0 + ldr r0, _0800B850 @ =gLink ldrb r1, [r0, 0xE] adds r7, r0, 0 cmp r1, 0x1 @@ -4039,7 +3256,7 @@ DoHandshake: @ 800B830 b _0800B860 .align 2, 0 _0800B84C: .4byte 0x0000ffff -_0800B850: .4byte gUnknown_3003FB0 +_0800B850: .4byte gLink _0800B854: .4byte 0x0400012a _0800B858: .4byte 0x00008fff _0800B85C: @@ -4048,7 +3265,7 @@ _0800B85C: _0800B860: adds r0, r2, 0 strh r0, [r1] - ldr r2, _0800B8BC @ =gSioMlt_Recv + ldr r2, _0800B8BC @ =gLink + 4 ldr r3, _0800B8C0 @ =0x04000120 ldr r0, [r3] ldr r1, [r3, 0x4] @@ -4093,7 +3310,7 @@ _0800B8A0: .align 2, 0 _0800B8B4: .4byte 0x0400012a _0800B8B8: .4byte 0x0000b9a0 -_0800B8BC: .4byte gSioMlt_Recv +_0800B8BC: .4byte gLink + 4 _0800B8C0: .4byte 0x04000120 _0800B8C4: .4byte sHandshakePlayerCount _0800B8C8: .4byte 0x00008fff @@ -4162,7 +3379,7 @@ DoRecv: @ 800B92C ldr r0, [r0] str r0, [sp] str r1, [sp, 0x4] - ldr r0, _0800B988 @ =gUnknown_3003FB0 + ldr r0, _0800B988 @ =gLink ldrb r1, [r0, 0x16] adds r6, r0, 0 cmp r1, 0 @@ -4202,7 +3419,7 @@ _0800B97A: b _0800BA30 .align 2, 0 _0800B984: .4byte 0x04000120 -_0800B988: .4byte gUnknown_3003FB0 +_0800B988: .4byte gLink _0800B98C: .4byte sChecksumAvailable _0800B990: ldr r2, _0800BA00 @ =0x00000fbc @@ -4303,7 +3520,7 @@ _0800BA40: .4byte 0x00000fbd thumb_func_start DoSend DoSend: @ 800BA44 push {r4,lr} - ldr r0, _0800BA80 @ =gUnknown_3003FB0 + ldr r0, _0800BA80 @ =gLink ldrb r1, [r0, 0x16] adds r4, r0, 0 cmp r1, 0x8 @@ -4333,7 +3550,7 @@ DoSend: @ 800BA44 strb r2, [r1] b _0800BAEC .align 2, 0 -_0800BA80: .4byte gUnknown_3003FB0 +_0800BA80: .4byte gLink _0800BA84: .4byte 0x0400012a _0800BA88: .4byte sSendBufferEmpty _0800BA8C: .4byte 0x00000339 @@ -4397,7 +3614,7 @@ _0800BAF4: .4byte 0x0400012a thumb_func_start StopTimer StopTimer: @ 800BAF8 push {lr} - ldr r0, _0800BB18 @ =gUnknown_3003FB0 + ldr r0, _0800BB18 @ =gLink ldrb r0, [r0] cmp r0, 0 beq _0800BB14 @@ -4414,7 +3631,7 @@ _0800BB14: pop {r0} bx r0 .align 2, 0 -_0800BB18: .4byte gUnknown_3003FB0 +_0800BB18: .4byte gLink _0800BB1C: .4byte 0x0400010e _0800BB20: .4byte 0x0000ff7f _0800BB24: .4byte 0x0400010c @@ -4424,7 +3641,7 @@ _0800BB28: .4byte 0x0000ff3b thumb_func_start SendRecvDone SendRecvDone: @ 800BB2C push {lr} - ldr r1, _0800BB40 @ =gUnknown_3003FB0 + ldr r1, _0800BB40 @ =gLink ldrb r0, [r1, 0x17] cmp r0, 0x8 bne _0800BB44 @@ -4433,7 +3650,7 @@ SendRecvDone: @ 800BB2C strb r0, [r1, 0x17] b _0800BB54 .align 2, 0 -_0800BB40: .4byte gUnknown_3003FB0 +_0800BB40: .4byte gLink _0800BB44: ldrb r0, [r1] cmp r0, 0 @@ -4453,7 +3670,7 @@ _0800BB58: .4byte 0x0400010e thumb_func_start ResetSendBuffer ResetSendBuffer: @ 800BB5C push {r4-r6,lr} - ldr r1, _0800BBA4 @ =gUnknown_3003FB0 + ldr r1, _0800BBA4 @ =gLink ldr r2, _0800BBA8 @ =0x00000339 adds r0, r1, r2 movs r2, 0 @@ -4490,7 +3707,7 @@ _0800BB82: pop {r0} bx r0 .align 2, 0 -_0800BBA4: .4byte gUnknown_3003FB0 +_0800BBA4: .4byte gLink _0800BBA8: .4byte 0x00000339 _0800BBAC: .4byte 0x0000efff thumb_func_end ResetSendBuffer @@ -4498,7 +3715,7 @@ _0800BBAC: .4byte 0x0000efff thumb_func_start ResetRecvBuffer ResetRecvBuffer: @ 800BBB0 push {r4-r7,lr} - ldr r1, _0800BC10 @ =gUnknown_3003FB0 + ldr r1, _0800BC10 @ =gLink ldr r2, _0800BC14 @ =0x00000fbd adds r0, r1, r2 movs r2, 0 @@ -4549,7 +3766,7 @@ _0800BBE6: pop {r0} bx r0 .align 2, 0 -_0800BC10: .4byte gUnknown_3003FB0 +_0800BC10: .4byte gLink _0800BC14: .4byte 0x00000fbd _0800BC18: .4byte 0x00000fbc _0800BC1C: .4byte 0x0000efff diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 582cc073e..3b6ec730f 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -2244,7 +2244,7 @@ rfu_func_080F97B8: @ 80F97B8 ldrb r0, [r0] cmp r0, 0 beq _080F97EA - ldr r3, _080F97F4 @ =gUnknown_3005028 + ldr r3, _080F97F4 @ =gHeldKeyCodeToSend ldrh r2, [r3] cmp r2, 0 beq _080F97EA @@ -2268,7 +2268,7 @@ _080F97EA: bx r0 .align 2, 0 _080F97F0: .4byte gReceivedRemoteLinkPlayers -_080F97F4: .4byte gUnknown_3005028 +_080F97F4: .4byte gHeldKeyCodeToSend _080F97F8: .4byte gLinkTransferringData _080F97FC: .4byte gUnknown_3001188 thumb_func_end rfu_func_080F97B8 @@ -2444,12 +2444,12 @@ _080F9914: beq _080F9924 b _080F9BF8 _080F9924: - ldr r1, _080F9948 @ =gUnknown_3003ED2 + ldr r1, _080F9948 @ =gRecvCmds + 2 adds r0, r2, r1 ldrh r0, [r0] ldr r3, _080F993C @ =gUnknown_3005450 strb r0, [r3, 0xD] - ldr r4, _080F994C @ =gUnknown_3003ED4 + ldr r4, _080F994C @ =gRecvCmds + 4 adds r0, r2, r4 bl sub_80F9770 ldr r1, _080F9950 @ =gUnknown_3005DD6 @@ -2459,8 +2459,8 @@ _080F9924: _080F993C: .4byte gUnknown_3005450 _080F9940: .4byte gReceivedRemoteLinkPlayers _080F9944: .4byte gUnknown_3007460 -_080F9948: .4byte gUnknown_3003ED2 -_080F994C: .4byte gUnknown_3003ED4 +_080F9948: .4byte gRecvCmds + 2 +_080F994C: .4byte gRecvCmds + 4 _080F9950: .4byte gUnknown_3005DD6 _080F9954: ldr r2, _080F99AC @ =gUnknown_3005450 @@ -2484,13 +2484,13 @@ _080F9974: adds r0, 0x80 movs r2, 0 strh r4, [r0] - ldr r1, _080F99B0 @ =gUnknown_3003ED2 + ldr r1, _080F99B0 @ =gRecvCmds + 2 adds r0, r5, r1 ldrh r0, [r0] adds r1, r3, 0 adds r1, 0x82 strh r0, [r1] - ldr r1, _080F99B4 @ =gUnknown_3003ED4 + ldr r1, _080F99B4 @ =gRecvCmds + 4 adds r0, r5, r1 ldrh r1, [r0] adds r0, r3, 0 @@ -2510,8 +2510,8 @@ _080F9974: b _080F9BF8 .align 2, 0 _080F99AC: .4byte gUnknown_3005450 -_080F99B0: .4byte gUnknown_3003ED2 -_080F99B4: .4byte gUnknown_3003ED4 +_080F99B0: .4byte gRecvCmds + 2 +_080F99B4: .4byte gRecvCmds + 4 _080F99B8: ldr r4, _080F9A88 @ =gUnknown_3005450 mov r9, r4 @@ -2628,7 +2628,7 @@ _080F9A94: .4byte gUnknown_843EBD4 _080F9A98: .4byte gReceivedRemoteLinkPlayers _080F9A9C: ldr r2, _080F9AB8 @ =gUnknown_843EC64 - ldr r3, _080F9ABC @ =gUnknown_3003ED2 + ldr r3, _080F9ABC @ =gRecvCmds + 2 adds r0, r5, r3 ldrh r1, [r0] lsls r1, 3 @@ -2641,7 +2641,7 @@ _080F9A9C: b _080F9BF4 .align 2, 0 _080F9AB8: .4byte gUnknown_843EC64 -_080F9ABC: .4byte gUnknown_3003ED2 +_080F9ABC: .4byte gRecvCmds + 2 _080F9AC0: ldr r1, _080F9ACC @ =gUnknown_3005534 add r1, r8 @@ -2655,7 +2655,7 @@ _080F9AD0: movs r4, 0x80 lsls r4, 1 adds r0, r2, r4 - ldr r3, _080F9AFC @ =gUnknown_3003ED2 + ldr r3, _080F9AFC @ =gRecvCmds + 2 adds r1, r5, r3 ldrh r0, [r0] mov r6, r8 @@ -2673,7 +2673,7 @@ _080F9AEA: b _080F9BF8 .align 2, 0 _080F9AF8: .4byte gUnknown_3005450 -_080F9AFC: .4byte gUnknown_3003ED2 +_080F9AFC: .4byte gRecvCmds + 2 _080F9B00: ldr r7, _080F9B4C @ =gUnknown_3005450 ldrb r2, [r7, 0xC] @@ -2685,7 +2685,7 @@ _080F9B00: adds r6, 0x1 cmp r0, 0 beq _080F9BF8 - ldr r0, _080F9B54 @ =gUnknown_3003ED2 + ldr r0, _080F9B54 @ =gRecvCmds + 2 adds r4, r5, r0 ldrh r1, [r4] ldr r0, _080F9B58 @ =gUnknown_3007460 @@ -2696,7 +2696,7 @@ _080F9B00: beq _080F9B38 strb r2, [r3] bl sub_80FEB14 - ldr r1, _080F9B5C @ =gUnknown_3003ED4 + ldr r1, _080F9B5C @ =gRecvCmds + 4 adds r0, r5, r1 ldrh r1, [r0] ldr r2, _080F9B60 @ =0x0000099c @@ -2714,9 +2714,9 @@ _080F9B38: .align 2, 0 _080F9B4C: .4byte gUnknown_3005450 _080F9B50: .4byte gReceivedRemoteLinkPlayers -_080F9B54: .4byte gUnknown_3003ED2 +_080F9B54: .4byte gRecvCmds + 2 _080F9B58: .4byte gUnknown_3007460 -_080F9B5C: .4byte gUnknown_3003ED4 +_080F9B5C: .4byte gRecvCmds + 4 _080F9B60: .4byte 0x0000099c _080F9B64: .4byte gRecvCmds _080F9B68: @@ -2724,11 +2724,11 @@ _080F9B68: lsls r0, 8 bl sub_80F9D04 ldr r1, _080F9B90 @ =gSendCmd - ldr r3, _080F9B94 @ =gUnknown_3003ED2 + ldr r3, _080F9B94 @ =gRecvCmds + 2 adds r0, r5, r3 ldrh r0, [r0] strh r0, [r1, 0x2] - ldr r4, _080F9B98 @ =gUnknown_3003ED4 + ldr r4, _080F9B98 @ =gRecvCmds + 4 adds r0, r5, r4 ldrh r0, [r0] strh r0, [r1, 0x4] @@ -2740,8 +2740,8 @@ _080F9B68: b _080F9BF4 .align 2, 0 _080F9B90: .4byte gSendCmd -_080F9B94: .4byte gUnknown_3003ED2 -_080F9B98: .4byte gUnknown_3003ED4 +_080F9B94: .4byte gRecvCmds + 2 +_080F9B98: .4byte gRecvCmds + 4 _080F9B9C: .4byte gRecvCmds _080F9BA0: ldr r4, _080F9BD0 @ =gUnknown_3005450 @@ -2752,13 +2752,13 @@ _080F9BA0: bne _080F9C34 ldr r0, _080F9BD4 @ =0x0000099b adds r2, r4, r0 - ldr r1, _080F9BD8 @ =gUnknown_3003ED2 + ldr r1, _080F9BD8 @ =gRecvCmds + 2 adds r3, r5, r1 ldrb r1, [r3] ldrb r0, [r2] orrs r0, r1 strb r0, [r2] - ldr r2, _080F9BDC @ =gUnknown_3003ED4 + ldr r2, _080F9BDC @ =gRecvCmds + 4 adds r0, r5, r2 ldrh r1, [r0] ldr r2, _080F9BE0 @ =0x0000099c @@ -2770,15 +2770,15 @@ _080F9BA0: .align 2, 0 _080F9BD0: .4byte gUnknown_3005450 _080F9BD4: .4byte 0x0000099b -_080F9BD8: .4byte gUnknown_3003ED2 -_080F9BDC: .4byte gUnknown_3003ED4 +_080F9BD8: .4byte gRecvCmds + 2 +_080F9BDC: .4byte gRecvCmds + 4 _080F9BE0: .4byte 0x0000099c _080F9BE4: - ldr r0, _080F9C24 @ =gUnknown_3003E60 + ldr r0, _080F9C24 @ =gLinkPartnersHeldKeys mov r3, r8 lsls r1, r3, 1 adds r1, r0 - ldr r4, _080F9C28 @ =gUnknown_3003ED2 + ldr r4, _080F9C28 @ =gRecvCmds + 2 adds r0, r5, r4 ldrh r0, [r0] strh r0, [r1] @@ -2808,8 +2808,8 @@ _080F9BF8: strb r1, [r2] b _080F9C34 .align 2, 0 -_080F9C24: .4byte gUnknown_3003E60 -_080F9C28: .4byte gUnknown_3003ED2 +_080F9C24: .4byte gLinkPartnersHeldKeys +_080F9C28: .4byte gRecvCmds + 2 _080F9C2C: .4byte gUnknown_3005450 _080F9C30: adds r0, 0x1 @@ -3087,7 +3087,7 @@ _080F9E00: .align 2, 0 _080F9E18: .4byte gUnknown_3005542 _080F9E1C: - ldr r0, _080F9E28 @ =gUnknown_3005028 + ldr r0, _080F9E28 @ =gHeldKeyCodeToSend ldrh r0, [r0] _080F9E20: strh r0, [r5, 0x2] @@ -3096,7 +3096,7 @@ _080F9E22: pop {r0} bx r0 .align 2, 0 -_080F9E28: .4byte gUnknown_3005028 +_080F9E28: .4byte gHeldKeyCodeToSend thumb_func_end sub_80F9D04 thumb_func_start sub_80F9E2C @@ -5159,7 +5159,7 @@ sub_80FAD98: @ 80FAD98 movs r0, 0x2 strb r0, [r1] _080FADC0: - ldr r4, _080FAE24 @ =c2_800ACD4 + ldr r4, _080FAE24 @ =CB2_LinkError adds r0, r4, 0 bl SetMainCallback2 str r4, [r6, 0x8] @@ -5201,7 +5201,7 @@ _080FAE14: .4byte gUnknown_3005E10 _080FAE18: .4byte gMain _080FAE1C: .4byte c2_mystery_gift_e_reader_run _080FAE20: .4byte gWirelessCommType -_080FAE24: .4byte c2_800ACD4 +_080FAE24: .4byte CB2_LinkError _080FAE28: .4byte 0x0000069e _080FAE2C: .4byte 0x000008d2 _080FAE30: diff --git a/asm/overworld.s b/asm/overworld.s index 5cc051c8a..f2ec7532b 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -5649,7 +5649,7 @@ c1_link_related: @ 8057884 _0805789E: ldr r0, _080578CC @ =gUnknown_300502C ldrb r4, [r0] - ldr r0, _080578D0 @ =gUnknown_3003E60 + ldr r0, _080578D0 @ =gLinkPartnersHeldKeys adds r1, r4, 0 bl sub_8057BE4 ldr r0, _080578D4 @ =gUnknown_3000E84 @@ -5667,7 +5667,7 @@ _080578C0: .align 2, 0 _080578C8: .4byte gWirelessCommType _080578CC: .4byte gUnknown_300502C -_080578D0: .4byte gUnknown_3003E60 +_080578D0: .4byte gLinkPartnersHeldKeys _080578D4: .4byte gUnknown_3000E84 thumb_func_end c1_link_related @@ -5686,12 +5686,12 @@ _080578E8: .4byte sub_8057D5C thumb_func_start sub_80578EC sub_80578EC: @ 80578EC push {lr} - ldr r0, _080578F8 @ =gUnknown_3003E60 + ldr r0, _080578F8 @ =gLinkPartnersHeldKeys bl sub_8057D48 pop {r0} bx r0 .align 2, 0 -_080578F8: .4byte gUnknown_3003E60 +_080578F8: .4byte gLinkPartnersHeldKeys thumb_func_end sub_80578EC thumb_func_start c1_link_related_func_set @@ -6126,14 +6126,14 @@ sub_8057C4C: @ 8057C4C lsrs r0, 16 cmp r0, 0xC bhi _08057C6C - ldr r0, _08057C68 @ =gUnknown_3005028 + ldr r0, _08057C68 @ =gHeldKeyCodeToSend strh r4, [r0] b _08057C72 .align 2, 0 _08057C64: .4byte 0xffef0000 -_08057C68: .4byte gUnknown_3005028 +_08057C68: .4byte gHeldKeyCodeToSend _08057C6C: - ldr r1, _08057CB0 @ =gUnknown_3005028 + ldr r1, _08057CB0 @ =gHeldKeyCodeToSend movs r0, 0x11 strh r0, [r1] _08057C72: @@ -6159,7 +6159,7 @@ _08057C72: cmp r4, 0x18 blt _08057CA8 _08057CA2: - ldr r1, _08057CB0 @ =gUnknown_3005028 + ldr r1, _08057CB0 @ =gHeldKeyCodeToSend movs r0, 0 strh r0, [r1] _08057CA8: @@ -6167,7 +6167,7 @@ _08057CA8: pop {r0} bx r0 .align 2, 0 -_08057CB0: .4byte gUnknown_3005028 +_08057CB0: .4byte gHeldKeyCodeToSend _08057CB4: .4byte gWirelessCommType thumb_func_end sub_8057C4C @@ -7114,14 +7114,14 @@ sub_805833C: @ 805833C ldrb r0, [r0] cmp r0, 0 bne _0805835C - ldr r0, _08058354 @ =gUnknown_3003FB0 + ldr r0, _08058354 @ =gLink ldr r1, _08058358 @ =0x00000339 adds r0, r1 ldrb r0, [r0] b _08058364 .align 2, 0 _08058350: .4byte gWirelessCommType -_08058354: .4byte gUnknown_3003FB0 +_08058354: .4byte gLink _08058358: .4byte 0x00000339 _0805835C: ldr r0, _08058368 @ =gUnknown_3005450 diff --git a/asm/trade.s b/asm/trade.s index 4c3932ef1..52db4c7d2 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -7179,7 +7179,7 @@ _0804FF7A: cmp r1, r0 bls _0804FFAC bl CloseLink - ldr r0, _0804FFC0 @ =c2_800ACD4 + ldr r0, _0804FFC0 @ =CB2_LinkError bl SetMainCallback2 ldr r1, [r4] adds r3, r1, 0 @@ -7203,7 +7203,7 @@ _0804FFAC: pop {r0} bx r0 .align 2, 0 -_0804FFC0: .4byte c2_800ACD4 +_0804FFC0: .4byte CB2_LinkError thumb_func_end sub_804FF4C thumb_func_start sub_804FFC4 -- cgit v1.2.3 From 76fd98fffee901012c1e41580aff23d70a977330 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 6 Oct 2019 20:04:37 -0400 Subject: link through CheckErrorStatus --- asm/battle_2.s | 2 +- asm/cable_club.s | 22 +- asm/link.s | 1787 ------------------------------------------------------ asm/link_rfu_2.s | 60 +- asm/overworld.s | 10 +- asm/trade.s | 10 +- 6 files changed, 52 insertions(+), 1839 deletions(-) (limited to 'asm') diff --git a/asm/battle_2.s b/asm/battle_2.s index 344325ff4..90c429e19 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -1645,7 +1645,7 @@ _08010B2A: ldrb r0, [r0] cmp r0, 0 beq _08010B64 - bl IsNoOneConnected + bl IsRfuTaskFinished lsls r0, 24 cmp r0, 0 beq _08010B82 diff --git a/asm/cable_club.s b/asm/cable_club.s index 03105bc3d..d7432e2c2 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -142,7 +142,7 @@ sub_8080844: @ 8080844 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 - bl sub_800A0D0 + bl GetLinkPlayerDataExchangeStatusTimed lsls r0, 24 lsrs r0, 24 subs r0, 0x1 @@ -384,9 +384,9 @@ sub_80809F8: @ 80809F8 ldrsh r2, [r4, r3] cmp r2, 0 bne _08080A30 - bl sub_800A0B4 + bl OpenLinkTimed bl sub_800AA24 - bl sub_800A270 + bl ResetLinkPlayers ldr r0, _08080A2C @ =gUnknown_83C6AB0 bl AddWindow strh r0, [r4, 0xA] @@ -608,7 +608,7 @@ sub_8080BC8: @ 8080BC8 lsls r0, 24 cmp r0, 0 bne _08080C5C - bl sub_800A944 + bl GetSavedPlayerCount adds r4, r0, 0 bl GetLinkPlayerCount_2 lsls r4, 24 @@ -685,7 +685,7 @@ sub_8080C6C: @ 8080C6C beq _08080CCE bl GetLinkPlayerCount_2 adds r4, r0, 0 - bl sub_800A944 + bl GetSavedPlayerCount lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -1368,7 +1368,7 @@ sub_80811FC: @ 80811FC cmp r2, 0 bne _08081230 bl OpenLink - bl sub_800A270 + bl ResetLinkPlayers ldr r0, _0808122C @ =sub_8081A90 movs r1, 0x50 bl CreateTask @@ -1443,7 +1443,7 @@ sub_80812A0: @ 80812A0 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - bl sub_800A944 + bl GetSavedPlayerCount adds r4, r0, 0 bl GetLinkPlayerCount_2 lsls r4, 24 @@ -1541,7 +1541,7 @@ _0808135C: ldr r2, _08081378 @ =0x00002211 adds r0, r2, 0 strh r0, [r1] - bl sub_800A068 + bl ClearLinkCallback_2 b _080813AA .align 2, 0 _08081374: .4byte gLinkType @@ -1698,7 +1698,7 @@ _080814A0: ldr r2, _080814C0 @ =0x00002211 adds r1, r2, 0 strh r1, [r0] - bl sub_800A068 + bl ClearLinkCallback_2 movs r0, 0x1 strh r0, [r6] b _0808160A @@ -2180,7 +2180,7 @@ _08081882: movs r0, 0x1 movs r1, 0 bl fade_screen - bl sub_800A068 + bl ClearLinkCallback_2 b _080818B8 _08081894: ldr r0, _080818A4 @ =gPaletteFade @@ -2256,7 +2256,7 @@ _0808191A: movs r0, 0x1 movs r1, 0 bl fade_screen - bl sub_80F985C + bl Rfu_set_zero b _08081950 _0808192C: ldr r0, _0808193C @ =gPaletteFade diff --git a/asm/link.s b/asm/link.s index 14131af9e..b0de10227 100644 --- a/asm/link.s +++ b/asm/link.s @@ -5,1793 +5,6 @@ .text - thumb_func_start sub_8009FE8 -sub_8009FE8: @ 8009FE8 - push {lr} - ldr r0, _0800A000 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08009FF6 - bl sub_80F9828 -_08009FF6: - ldr r1, _0800A004 @ =gLinkCallback - ldr r0, _0800A008 @ =sub_800A040 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0800A000: .4byte gWirelessCommType -_0800A004: .4byte gLinkCallback -_0800A008: .4byte sub_800A040 - thumb_func_end sub_8009FE8 - - thumb_func_start sub_800A00C -sub_800A00C: @ 800A00C - push {lr} - ldr r0, _0800A01C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0800A020 - bl sub_80F9808 - b _0800A03A - .align 2, 0 -_0800A01C: .4byte gWirelessCommType -_0800A020: - ldr r0, _0800A030 @ =gLinkCallback - ldr r1, [r0] - ldr r0, _0800A034 @ =sub_800A040 - cmp r1, r0 - beq _0800A038 - movs r0, 0 - b _0800A03A - .align 2, 0 -_0800A030: .4byte gLinkCallback -_0800A034: .4byte sub_800A040 -_0800A038: - movs r0, 0x1 -_0800A03A: - pop {r1} - bx r1 - thumb_func_end sub_800A00C - - thumb_func_start sub_800A040 -sub_800A040: @ 800A040 - push {lr} - ldr r0, _0800A054 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800A050 - ldr r0, _0800A058 @ =0x0000cafe - bl BuildSendCmd -_0800A050: - pop {r0} - bx r0 - .align 2, 0 -_0800A054: .4byte gReceivedRemoteLinkPlayers -_0800A058: .4byte 0x0000cafe - thumb_func_end sub_800A040 - - thumb_func_start sub_800A05C -sub_800A05C: @ 800A05C - ldr r1, _0800A064 @ =gLinkCallback - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_0800A064: .4byte gLinkCallback - thumb_func_end sub_800A05C - - thumb_func_start sub_800A068 -sub_800A068: @ 800A068 - push {lr} - ldr r0, _0800A078 @ =gWirelessCommType - ldrb r1, [r0] - cmp r1, 0 - beq _0800A07C - bl sub_80F985C - b _0800A080 - .align 2, 0 -_0800A078: .4byte gWirelessCommType -_0800A07C: - ldr r0, _0800A084 @ =gLinkCallback - str r1, [r0] -_0800A080: - pop {r0} - bx r0 - .align 2, 0 -_0800A084: .4byte gLinkCallback - thumb_func_end sub_800A068 - - thumb_func_start GetLinkPlayerCount -GetLinkPlayerCount: @ 800A088 - push {lr} - ldr r0, _0800A0A0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0800A0A8 - ldr r0, _0800A0A4 @ =gLinkStatus - ldr r0, [r0] - movs r1, 0x1C - ands r0, r1 - lsrs r0, 2 - b _0800A0B0 - .align 2, 0 -_0800A0A0: .4byte gWirelessCommType -_0800A0A4: .4byte gLinkStatus -_0800A0A8: - bl sub_80FA4EC - lsls r0, 24 - lsrs r0, 24 -_0800A0B0: - pop {r1} - bx r1 - thumb_func_end GetLinkPlayerCount - - thumb_func_start sub_800A0B4 -sub_800A0B4: @ 800A0B4 - push {lr} - ldr r0, _0800A0C8 @ =sPlayerDataExchangeStatus - movs r1, 0 - str r1, [r0] - ldr r0, _0800A0CC @ =gLinkTimeOutCounter - strh r1, [r0] - bl OpenLink - pop {r0} - bx r0 - .align 2, 0 -_0800A0C8: .4byte sPlayerDataExchangeStatus -_0800A0CC: .4byte gLinkTimeOutCounter - thumb_func_end sub_800A0B4 - - thumb_func_start sub_800A0D0 -sub_800A0D0: @ 800A0D0 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r7, 0 - ldr r0, _0800A0F8 @ =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0x1 - bne _0800A1C8 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bgt _0800A0F0 - cmp r0, r6 - ble _0800A100 -_0800A0F0: - ldr r1, _0800A0FC @ =sPlayerDataExchangeStatus - movs r0, 0x6 - str r0, [r1] - b _0800A1E2 - .align 2, 0 -_0800A0F8: .4byte gReceivedRemoteLinkPlayers -_0800A0FC: .4byte sPlayerDataExchangeStatus -_0800A100: - bl GetLinkPlayerCount - lsls r0, 24 - cmp r0, 0 - bne _0800A112 - ldr r0, _0800A11C @ =gLinkErrorOccurred - strb r4, [r0] - bl CloseLink -_0800A112: - movs r6, 0 - ldr r4, _0800A120 @ =gLinkPlayers - movs r5, 0 - b _0800A138 - .align 2, 0 -_0800A11C: .4byte gLinkErrorOccurred -_0800A120: .4byte gLinkPlayers -_0800A124: - adds r0, r4, 0 - adds r0, 0x14 - adds r0, r5, r0 - ldr r1, [r0] - ldr r0, [r4, 0x14] - cmp r1, r0 - bne _0800A134 - adds r7, 0x1 -_0800A134: - adds r5, 0x1C - adds r6, 0x1 -_0800A138: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - blt _0800A124 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r7, r0 - bne _0800A1B8 - ldr r0, _0800A170 @ =gLinkPlayers - ldr r1, [r0, 0x14] - ldr r0, _0800A174 @ =0x00001133 - cmp r1, r0 - bne _0800A1AC - bl sub_804FB34 - cmp r0, 0x1 - beq _0800A194 - cmp r0, 0x1 - bgt _0800A17C - cmp r0, 0 - beq _0800A188 - ldr r2, _0800A178 @ =sPlayerDataExchangeStatus - b _0800A1E0 - .align 2, 0 -_0800A170: .4byte gLinkPlayers -_0800A174: .4byte 0x00001133 -_0800A178: .4byte sPlayerDataExchangeStatus -_0800A17C: - cmp r0, 0x2 - beq _0800A1A0 - ldr r2, _0800A184 @ =sPlayerDataExchangeStatus - b _0800A1E0 - .align 2, 0 -_0800A184: .4byte sPlayerDataExchangeStatus -_0800A188: - ldr r1, _0800A190 @ =sPlayerDataExchangeStatus - movs r0, 0x1 - b _0800A1BC - .align 2, 0 -_0800A190: .4byte sPlayerDataExchangeStatus -_0800A194: - ldr r1, _0800A19C @ =sPlayerDataExchangeStatus - movs r0, 0x4 - b _0800A1BC - .align 2, 0 -_0800A19C: .4byte sPlayerDataExchangeStatus -_0800A1A0: - ldr r1, _0800A1A8 @ =sPlayerDataExchangeStatus - movs r0, 0x5 - b _0800A1BC - .align 2, 0 -_0800A1A8: .4byte sPlayerDataExchangeStatus -_0800A1AC: - ldr r1, _0800A1B4 @ =sPlayerDataExchangeStatus - movs r0, 0x1 - b _0800A1BC - .align 2, 0 -_0800A1B4: .4byte sPlayerDataExchangeStatus -_0800A1B8: - ldr r1, _0800A1C4 @ =sPlayerDataExchangeStatus - movs r0, 0x3 -_0800A1BC: - str r0, [r1] - adds r2, r1, 0 - b _0800A1E0 - .align 2, 0 -_0800A1C4: .4byte sPlayerDataExchangeStatus -_0800A1C8: - ldr r0, _0800A1E8 @ =gLinkTimeOutCounter - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x96 - lsls r0, 18 - ldr r2, _0800A1EC @ =sPlayerDataExchangeStatus - cmp r1, r0 - bls _0800A1E0 - movs r0, 0x2 - str r0, [r2] -_0800A1E0: - ldrb r0, [r2] -_0800A1E2: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0800A1E8: .4byte gLinkTimeOutCounter -_0800A1EC: .4byte sPlayerDataExchangeStatus - thumb_func_end sub_800A0D0 - - thumb_func_start IsLinkPlayerDataExchangeComplete -IsLinkPlayerDataExchangeComplete: @ 800A1F0 - push {r4-r6,lr} - movs r6, 0 - movs r4, 0 - ldr r5, _0800A1FC @ =gLinkPlayers - b _0800A220 - .align 2, 0 -_0800A1FC: .4byte gLinkPlayers -_0800A200: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x14 - adds r0, r1 - ldr r1, [r0] - ldr r0, [r5, 0x14] - cmp r1, r0 - bne _0800A21A - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0800A21A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0800A220: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _0800A200 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0800A244 - movs r2, 0x1 - ldr r0, _0800A240 @ =sPlayerDataExchangeStatus - str r2, [r0] - b _0800A24C - .align 2, 0 -_0800A240: .4byte sPlayerDataExchangeStatus -_0800A244: - movs r2, 0 - ldr r1, _0800A254 @ =sPlayerDataExchangeStatus - movs r0, 0x3 - str r0, [r1] -_0800A24C: - adds r0, r2, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0800A254: .4byte sPlayerDataExchangeStatus - thumb_func_end IsLinkPlayerDataExchangeComplete - - thumb_func_start GetLinkPlayerTrainerId -GetLinkPlayerTrainerId: @ 800A258 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800A26C @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r2, 0x4 - adds r1, r2 - ldr r0, [r1] - bx lr - .align 2, 0 -_0800A26C: .4byte gLinkPlayers - thumb_func_end GetLinkPlayerTrainerId - - thumb_func_start sub_800A270 -sub_800A270: @ 800A270 - push {r4,r5,lr} - ldr r5, _0800A290 @ =gLinkPlayers - movs r4, 0x4 -_0800A276: - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x1C - bl memset - adds r5, 0x1C - subs r4, 0x1 - cmp r4, 0 - bge _0800A276 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A290: .4byte gLinkPlayers - thumb_func_end sub_800A270 - - thumb_func_start ResetBlockSend -ResetBlockSend: @ 800A294 - ldr r1, _0800A2A4 @ =sBlockSend - movs r0, 0 - strb r0, [r1, 0x8] - strh r0, [r1] - strh r0, [r1, 0x2] - str r0, [r1, 0x4] - bx lr - .align 2, 0 -_0800A2A4: .4byte sBlockSend - thumb_func_end ResetBlockSend - - thumb_func_start InitBlockSend -InitBlockSend: @ 800A2A8 - push {r4-r7,lr} - adds r7, r0, 0 - adds r6, r1, 0 - ldr r4, _0800A2BC @ =sBlockSend - ldrb r5, [r4, 0x8] - cmp r5, 0 - beq _0800A2C0 - movs r0, 0 - b _0800A2FE - .align 2, 0 -_0800A2BC: .4byte sBlockSend -_0800A2C0: - bl GetMultiplayerId - strb r0, [r4, 0x9] - movs r0, 0x1 - strb r0, [r4, 0x8] - strh r6, [r4, 0x2] - strh r5, [r4] - adds r0, 0xFF - cmp r6, r0 - bls _0800A2D8 - str r7, [r4, 0x4] - b _0800A2EA -_0800A2D8: - ldr r5, _0800A304 @ =gBlockSendBuffer - cmp r7, r5 - beq _0800A2E8 - adds r0, r5, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl memcpy -_0800A2E8: - str r5, [r4, 0x4] -_0800A2EA: - ldr r0, _0800A308 @ =0x0000bbbb - bl BuildSendCmd - ldr r1, _0800A30C @ =gLinkCallback - ldr r0, _0800A310 @ =LinkCB_BlockSendBegin - str r0, [r1] - ldr r1, _0800A314 @ =sBlockSendDelayCounter - movs r0, 0 - str r0, [r1] - movs r0, 0x1 -_0800A2FE: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0800A304: .4byte gBlockSendBuffer -_0800A308: .4byte 0x0000bbbb -_0800A30C: .4byte gLinkCallback -_0800A310: .4byte LinkCB_BlockSendBegin -_0800A314: .4byte sBlockSendDelayCounter - thumb_func_end InitBlockSend - - thumb_func_start LinkCB_BlockSendBegin -LinkCB_BlockSendBegin: @ 800A318 - push {lr} - ldr r1, _0800A330 @ =sBlockSendDelayCounter - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - cmp r0, 0x2 - bls _0800A32C - ldr r1, _0800A334 @ =gLinkCallback - ldr r0, _0800A338 @ =LinkCB_BlockSend - str r0, [r1] -_0800A32C: - pop {r0} - bx r0 - .align 2, 0 -_0800A330: .4byte sBlockSendDelayCounter -_0800A334: .4byte gLinkCallback -_0800A338: .4byte LinkCB_BlockSend - thumb_func_end LinkCB_BlockSendBegin - - thumb_func_start LinkCB_BlockSend -LinkCB_BlockSend: @ 800A33C - push {r4-r6,lr} - ldr r0, _0800A38C @ =sBlockSend - ldr r5, [r0, 0x4] - ldr r2, _0800A390 @ =gSendCmd - ldr r1, _0800A394 @ =0x00008888 - strh r1, [r2] - movs r3, 0 - adds r4, r0, 0 - adds r6, r4, 0 - adds r2, 0x2 -_0800A350: - lsls r0, r3, 1 - ldrh r1, [r6] - adds r0, r1 - adds r0, r5 - ldrb r1, [r0, 0x1] - lsls r1, 8 - ldrb r0, [r0] - orrs r0, r1 - strh r0, [r2] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x6 - ble _0800A350 - ldrh r0, [r4] - adds r0, 0xE - strh r0, [r4] - ldrh r1, [r4, 0x2] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0800A384 - movs r0, 0 - strb r0, [r4, 0x8] - ldr r1, _0800A398 @ =gLinkCallback - ldr r0, _0800A39C @ =sub_800A3A0 - str r0, [r1] -_0800A384: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800A38C: .4byte sBlockSend -_0800A390: .4byte gSendCmd -_0800A394: .4byte 0x00008888 -_0800A398: .4byte gLinkCallback -_0800A39C: .4byte sub_800A3A0 - thumb_func_end LinkCB_BlockSend - - thumb_func_start sub_800A3A0 -sub_800A3A0: @ 800A3A0 - ldr r1, _0800A3A8 @ =gLinkCallback - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_0800A3A8: .4byte gLinkCallback - thumb_func_end sub_800A3A0 - - thumb_func_start sub_800A3AC -sub_800A3AC: @ 800A3AC - push {lr} - bl GetMultiplayerId - ldr r0, _0800A3C4 @ =0x00004444 - bl BuildSendCmd - ldr r1, _0800A3C8 @ =gUnknown_2022114 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0800A3C4: .4byte 0x00004444 -_0800A3C8: .4byte gUnknown_2022114 - thumb_func_end sub_800A3AC - - thumb_func_start sub_800A3CC -sub_800A3CC: @ 800A3CC - ldr r1, _0800A3DC @ =gUnknown_2022114 - movs r0, 0 - str r0, [r1] - ldr r1, _0800A3E0 @ =gLinkCallback - ldr r0, _0800A3E4 @ =sub_800A3AC - str r0, [r1] - bx lr - .align 2, 0 -_0800A3DC: .4byte gUnknown_2022114 -_0800A3E0: .4byte gLinkCallback -_0800A3E4: .4byte sub_800A3AC - thumb_func_end sub_800A3CC - - thumb_func_start sub_800A3E8 -sub_800A3E8: @ 800A3E8 - ldr r0, _0800A3F0 @ =gUnknown_2022114 - ldr r0, [r0] - bx lr - .align 2, 0 -_0800A3F0: .4byte gUnknown_2022114 - thumb_func_end sub_800A3E8 - - thumb_func_start sub_800A3F4 -sub_800A3F4: @ 800A3F4 - push {lr} - ldr r0, _0800A400 @ =0x0000aaaa - bl BuildSendCmd - pop {r0} - bx r0 - .align 2, 0 -_0800A400: .4byte 0x0000aaaa - thumb_func_end sub_800A3F4 - - thumb_func_start GetMultiplayerId -GetMultiplayerId: @ 800A404 - push {lr} - ldr r0, _0800A418 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - beq _0800A420 - ldr r0, _0800A41C @ =0x04000128 - ldr r0, [r0] - lsls r0, 26 - lsrs r0, 30 - b _0800A428 - .align 2, 0 -_0800A418: .4byte gWirelessCommType -_0800A41C: .4byte 0x04000128 -_0800A420: - bl rfu_get_multiplayer_id - lsls r0, 24 - lsrs r0, 24 -_0800A428: - pop {r1} - bx r1 - thumb_func_end GetMultiplayerId - - thumb_func_start bitmask_all_link_players_but_self -bitmask_all_link_players_but_self: @ 800A42C - push {lr} - bl GetMultiplayerId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0xF - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end bitmask_all_link_players_but_self - - thumb_func_start SendBlock -SendBlock: @ 800A448 - push {lr} - adds r3, r1, 0 - lsls r2, 16 - lsrs r1, r2, 16 - ldr r0, _0800A460 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - beq _0800A464 - adds r0, r3, 0 - bl InitBlockSend - b _0800A46A - .align 2, 0 -_0800A460: .4byte gWirelessCommType -_0800A464: - adds r0, r3, 0 - bl sub_80F9E60 -_0800A46A: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end SendBlock - - thumb_func_start sub_800A474 -sub_800A474: @ 800A474 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - ldr r0, _0800A490 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800A494 - adds r0, r1, 0 - bl sub_80FA0F8 - lsls r0, 24 - lsrs r0, 24 - b _0800A4B0 - .align 2, 0 -_0800A490: .4byte gWirelessCommType -_0800A494: - ldr r0, _0800A4A0 @ =gLinkCallback - ldr r0, [r0] - cmp r0, 0 - beq _0800A4A4 - movs r0, 0 - b _0800A4B0 - .align 2, 0 -_0800A4A0: .4byte gLinkCallback -_0800A4A4: - ldr r0, _0800A4B4 @ =gBlockRequestType - strb r2, [r0] - ldr r0, _0800A4B8 @ =0x0000cccc - bl BuildSendCmd - movs r0, 0x1 -_0800A4B0: - pop {r1} - bx r1 - .align 2, 0 -_0800A4B4: .4byte gBlockRequestType -_0800A4B8: .4byte 0x0000cccc - thumb_func_end sub_800A474 - - thumb_func_start IsLinkTaskFinished -IsLinkTaskFinished: @ 800A4BC - push {lr} - ldr r0, _0800A4D0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800A4D4 - bl IsNoOneConnected - lsls r0, 24 - lsrs r0, 24 - b _0800A4E2 - .align 2, 0 -_0800A4D0: .4byte gWirelessCommType -_0800A4D4: - movs r1, 0 - ldr r0, _0800A4E8 @ =gLinkCallback - ldr r0, [r0] - cmp r0, 0 - bne _0800A4E0 - movs r1, 0x1 -_0800A4E0: - adds r0, r1, 0 -_0800A4E2: - pop {r1} - bx r1 - .align 2, 0 -_0800A4E8: .4byte gLinkCallback - thumb_func_end IsLinkTaskFinished - - thumb_func_start GetBlockReceivedStatus -GetBlockReceivedStatus: @ 800A4EC - push {lr} - ldr r0, _0800A510 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - beq _0800A518 - ldr r2, _0800A514 @ =gBlockReceivedStatus - ldrb r0, [r2, 0x3] - lsls r0, 3 - ldrb r1, [r2, 0x2] - lsls r1, 2 - orrs r0, r1 - ldrb r1, [r2, 0x1] - lsls r1, 1 - orrs r0, r1 - ldrb r1, [r2] - orrs r0, r1 - b _0800A51C - .align 2, 0 -_0800A510: .4byte gWirelessCommType -_0800A514: .4byte gBlockReceivedStatus -_0800A518: - bl sub_80F9CC8 -_0800A51C: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetBlockReceivedStatus - - thumb_func_start SetBlockReceivedFlag -SetBlockReceivedFlag: @ 800A524 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0800A53C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800A540 - adds r0, r1, 0 - bl sub_80F9720 - b _0800A548 - .align 2, 0 -_0800A53C: .4byte gWirelessCommType -_0800A540: - ldr r0, _0800A54C @ =gBlockReceivedStatus - adds r0, r1, r0 - movs r1, 0x1 - strb r1, [r0] -_0800A548: - pop {r0} - bx r0 - .align 2, 0 -_0800A54C: .4byte gBlockReceivedStatus - thumb_func_end SetBlockReceivedFlag - - thumb_func_start ResetBlockReceivedFlags -ResetBlockReceivedFlags: @ 800A550 - push {r4,lr} - ldr r0, _0800A56C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800A570 - movs r4, 0 -_0800A55C: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80F974C - adds r4, 0x1 - cmp r4, 0x4 - ble _0800A55C - b _0800A57E - .align 2, 0 -_0800A56C: .4byte gWirelessCommType -_0800A570: - ldr r1, _0800A584 @ =gBlockReceivedStatus - movs r2, 0 - adds r0, r1, 0x3 -_0800A576: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _0800A576 -_0800A57E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800A584: .4byte gBlockReceivedStatus - thumb_func_end ResetBlockReceivedFlags - - thumb_func_start ResetBlockReceivedFlag -ResetBlockReceivedFlag: @ 800A588 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0800A5A0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800A5A4 - adds r0, r1, 0 - bl sub_80F974C - b _0800A5B2 - .align 2, 0 -_0800A5A0: .4byte gWirelessCommType -_0800A5A4: - ldr r0, _0800A5B8 @ =gBlockReceivedStatus - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _0800A5B2 - movs r0, 0 - strb r0, [r1] -_0800A5B2: - pop {r0} - bx r0 - .align 2, 0 -_0800A5B8: .4byte gBlockReceivedStatus - thumb_func_end ResetBlockReceivedFlag - - thumb_func_start CheckShouldAdvanceLinkState -CheckShouldAdvanceLinkState: @ 800A5BC - push {lr} - ldr r0, _0800A5DC @ =gLinkStatus - ldr r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0800A5D8 - movs r0, 0x1C - ands r1, r0 - cmp r1, 0x4 - bls _0800A5D8 - ldr r1, _0800A5E0 @ =gShouldAdvanceLinkState - movs r0, 0x1 - strb r0, [r1] -_0800A5D8: - pop {r0} - bx r0 - .align 2, 0 -_0800A5DC: .4byte gLinkStatus -_0800A5E0: .4byte gShouldAdvanceLinkState - thumb_func_end CheckShouldAdvanceLinkState - - thumb_func_start LinkTestCalcBlockChecksum -LinkTestCalcBlockChecksum: @ 800A5E4 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - movs r3, 0 - movs r2, 0 - lsrs r1, 17 - cmp r3, r1 - bcs _0800A60A -_0800A5F4: - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - adds r0, r3, r0 - lsls r0, 16 - lsrs r3, r0, 16 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r1 - bcc _0800A5F4 -_0800A60A: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end LinkTestCalcBlockChecksum - - thumb_func_start PrintHexDigit -PrintHexDigit: @ 800A614 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - ldr r4, _0800A648 @ =gLinkTestBGInfo - ldr r3, [r4] - lsls r3, 11 - movs r5, 0xC0 - lsls r5, 19 - adds r3, r5 - lsrs r2, 19 - adds r2, r1 - lsls r2, 1 - adds r2, r3 - ldr r3, [r4, 0x4] - lsls r3, 12 - ldr r1, [r4, 0x8] - adds r1, 0x1 - adds r0, r1 - orrs r3, r0 - strh r3, [r2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A648: .4byte gLinkTestBGInfo - thumb_func_end PrintHexDigit - - thumb_func_start sub_800A64C -sub_800A64C: @ 800A64C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - ldr r4, _0800A680 @ =gLinkTestBGInfo - ldr r3, [r4] - lsls r3, 11 - movs r5, 0xC0 - lsls r5, 19 - adds r3, r5 - lsrs r2, 19 - adds r2, r1 - lsls r2, 1 - adds r2, r3 - ldr r3, [r4, 0x4] - lsls r3, 12 - ldr r1, [r4, 0x8] - adds r1, r0 - orrs r3, r1 - strh r3, [r2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800A680: .4byte gLinkTestBGInfo - thumb_func_end sub_800A64C - - thumb_func_start LinkTest_prnthex -LinkTest_prnthex: @ 800A684 - push {r4-r7,lr} - sub sp, 0x10 - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - cmp r4, r3 - bge _0800A6B0 - movs r2, 0xF -_0800A69E: - mov r0, sp - adds r1, r0, r4 - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1] - lsrs r5, 4 - adds r4, 0x1 - cmp r4, r3 - blt _0800A69E -_0800A6B0: - subs r4, r3, 0x1 - cmp r4, 0 - blt _0800A6D0 -_0800A6B6: - mov r1, sp - adds r0, r1, r4 - ldrb r0, [r0] - adds r1, r6, 0 - adds r2, r7, 0 - bl PrintHexDigit - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - subs r4, 0x1 - cmp r4, 0 - bge _0800A6B6 -_0800A6D0: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end LinkTest_prnthex - - thumb_func_start sub_800A6D8 -sub_800A6D8: @ 800A6D8 - push {r4-r7,lr} - adds r3, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r6, 0 - ldrb r0, [r3] - cmp r0, 0 - beq _0800A718 - adds r4, r3, 0 - lsls r5, r2, 24 -_0800A6F0: - ldrb r0, [r4] - cmp r0, 0xA - bne _0800A700 - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - movs r6, 0 - b _0800A710 -_0800A700: - ldrb r0, [r4] - adds r1, r7, r6 - lsls r1, 24 - lsrs r1, 24 - lsrs r2, r5, 24 - bl sub_800A64C - adds r6, 0x1 -_0800A710: - adds r4, 0x1 - ldrb r0, [r4] - cmp r0, 0 - bne _0800A6F0 -_0800A718: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_800A6D8 - - thumb_func_start LinkCB_RequestPlayerDataExchange -LinkCB_RequestPlayerDataExchange: @ 800A720 - push {lr} - ldr r0, _0800A740 @ =gLinkStatus - ldr r0, [r0] - movs r1, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0800A734 - ldr r0, _0800A744 @ =0x00002222 - bl BuildSendCmd -_0800A734: - ldr r1, _0800A748 @ =gLinkCallback - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0800A740: .4byte gLinkStatus -_0800A744: .4byte 0x00002222 -_0800A748: .4byte gLinkCallback - thumb_func_end LinkCB_RequestPlayerDataExchange - - thumb_func_start task00_link_test -task00_link_test: @ 800A74C - push {r4-r6,lr} - sub sp, 0x20 - ldr r1, _0800A86C @ =gASCIITestPrint - mov r0, sp - bl strcpy - mov r0, sp - movs r1, 0x5 - movs r2, 0x2 - bl sub_800A6D8 - ldr r0, _0800A870 @ =gShouldAdvanceLinkState - ldrb r0, [r0] - movs r1, 0x2 - movs r2, 0x1 - movs r3, 0x2 - bl LinkTest_prnthex - ldr r4, _0800A874 @ =gLinkStatus - ldr r0, [r4] - movs r1, 0xF - movs r2, 0x1 - movs r3, 0x8 - bl LinkTest_prnthex - ldr r0, _0800A878 @ =gLink - ldrb r0, [r0, 0x1] - movs r1, 0x2 - movs r2, 0xA - movs r3, 0x2 - bl LinkTest_prnthex - ldr r0, [r4] - movs r1, 0x1C - ands r0, r1 - lsrs r0, 2 - movs r1, 0xF - movs r2, 0xA - movs r3, 0x2 - bl LinkTest_prnthex - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xF - movs r2, 0xC - movs r3, 0x2 - bl LinkTest_prnthex - ldr r0, _0800A87C @ =gLastSendQueueCount - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0x1 - movs r3, 0x2 - bl LinkTest_prnthex - ldr r0, _0800A880 @ =gLastRecvQueueCount - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0x2 - movs r3, 0x2 - bl LinkTest_prnthex - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xF - movs r2, 0x5 - movs r3, 0x2 - bl LinkTest_prnthex - ldr r0, _0800A884 @ =gLinkDebugSeed - ldr r0, [r0] - movs r1, 0x2 - movs r2, 0xC - movs r3, 0x8 - bl LinkTest_prnthex - ldr r0, _0800A888 @ =gLinkDebugFlags - ldr r0, [r0] - movs r1, 0x2 - movs r2, 0xD - movs r3, 0x8 - bl LinkTest_prnthex - bl GetSioMultiSI - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0x5 - movs r3, 0x1 - bl LinkTest_prnthex - bl IsSioMultiMaster - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0x6 - movs r3, 0x1 - bl LinkTest_prnthex - bl IsLinkConnectionEstablished - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0x7 - movs r3, 0x1 - bl LinkTest_prnthex - bl HasLinkErrorOccurred - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0x8 - movs r3, 0x1 - bl LinkTest_prnthex - movs r6, 0 - movs r5, 0x80 - lsls r5, 19 - ldr r4, _0800A88C @ =gLinkTestBlockChecksums -_0800A84A: - ldrh r0, [r4] - lsrs r2, r5, 24 - movs r1, 0xA - movs r3, 0x4 - bl LinkTest_prnthex - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _0800A84A - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800A86C: .4byte gASCIITestPrint -_0800A870: .4byte gShouldAdvanceLinkState -_0800A874: .4byte gLinkStatus -_0800A878: .4byte gLink -_0800A87C: .4byte gLastSendQueueCount -_0800A880: .4byte gLastRecvQueueCount -_0800A884: .4byte gLinkDebugSeed -_0800A888: .4byte gLinkDebugFlags -_0800A88C: .4byte gLinkTestBlockChecksums - thumb_func_end task00_link_test - - thumb_func_start SetLinkDebugValues -SetLinkDebugValues: @ 800A890 - ldr r2, _0800A89C @ =gLinkDebugSeed - str r0, [r2] - ldr r0, _0800A8A0 @ =gLinkDebugFlags - str r1, [r0] - bx lr - .align 2, 0 -_0800A89C: .4byte gLinkDebugSeed -_0800A8A0: .4byte gLinkDebugFlags - thumb_func_end SetLinkDebugValues - - thumb_func_start sub_800A8A4 -sub_800A8A4: @ 800A8A4 - push {r4,lr} - movs r1, 0 - movs r2, 0 - ldr r0, _0800A8D0 @ =gSavedLinkPlayerCount - ldrb r0, [r0] - cmp r1, r0 - bge _0800A8C6 - movs r4, 0x1 - adds r3, r0, 0 -_0800A8B6: - adds r0, r4, 0 - lsls r0, r2 - orrs r1, r0 - lsls r0, r1, 24 - lsrs r1, r0, 24 - adds r2, 0x1 - cmp r2, r3 - blt _0800A8B6 -_0800A8C6: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0800A8D0: .4byte gSavedLinkPlayerCount - thumb_func_end sub_800A8A4 - - thumb_func_start sub_800A8D4 -sub_800A8D4: @ 800A8D4 - push {r4-r6,lr} - movs r4, 0 - movs r5, 0 - movs r6, 0x1 - b _0800A8EA -_0800A8DE: - adds r0, r6, 0 - lsls r0, r5 - orrs r4, r0 - lsls r0, r4, 24 - lsrs r4, r0, 24 - adds r5, 0x1 -_0800A8EA: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _0800A8DE - adds r0, r4, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_800A8D4 - - thumb_func_start sub_800A900 -sub_800A900: @ 800A900 - push {r4-r7,lr} - ldr r1, _0800A934 @ =gSavedLinkPlayerCount - strb r0, [r1] - bl GetMultiplayerId - ldr r1, _0800A938 @ =gSavedMultiplayerId - strb r0, [r1] - ldr r4, _0800A93C @ =gLinkPlayers - ldr r3, _0800A940 @ =gSavedLinkPlayers - movs r2, 0x4 -_0800A914: - adds r0, r3, 0 - adds r1, r4, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldr r1, [r1] - str r1, [r0] - adds r4, 0x1C - adds r3, 0x1C - subs r2, 0x1 - cmp r2, 0 - bge _0800A914 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800A934: .4byte gSavedLinkPlayerCount -_0800A938: .4byte gSavedMultiplayerId -_0800A93C: .4byte gLinkPlayers -_0800A940: .4byte gSavedLinkPlayers - thumb_func_end sub_800A900 - - thumb_func_start sub_800A944 -sub_800A944: @ 800A944 - ldr r0, _0800A94C @ =gSavedLinkPlayerCount - ldrb r0, [r0] - bx lr - .align 2, 0 -_0800A94C: .4byte gSavedLinkPlayerCount - thumb_func_end sub_800A944 - - thumb_func_start sub_800A950 -sub_800A950: @ 800A950 - ldr r0, _0800A958 @ =gSavedMultiplayerId - ldrb r0, [r0] - bx lr - .align 2, 0 -_0800A958: .4byte gSavedMultiplayerId - thumb_func_end sub_800A950 - - thumb_func_start sub_800A95C -sub_800A95C: @ 800A95C - push {r4-r6,lr} - movs r5, 0 - ldr r0, _0800A990 @ =gSavedLinkPlayerCount - ldrb r2, [r0] - adds r6, r0, 0 - cmp r5, r2 - bge _0800A986 - ldr r1, _0800A994 @ =gLinkPlayers - ldr r0, _0800A998 @ =gSavedLinkPlayers - adds r4, r0, 0x4 - adds r3, r1, 0x4 -_0800A972: - ldr r1, [r3] - ldr r0, [r4] - cmp r1, r0 - bne _0800A97C - adds r5, 0x1 -_0800A97C: - adds r4, 0x1C - adds r3, 0x1C - subs r2, 0x1 - cmp r2, 0 - bne _0800A972 -_0800A986: - ldrb r6, [r6] - cmp r5, r6 - beq _0800A99C - movs r0, 0 - b _0800A99E - .align 2, 0 -_0800A990: .4byte gSavedLinkPlayerCount -_0800A994: .4byte gLinkPlayers -_0800A998: .4byte gSavedLinkPlayers -_0800A99C: - movs r0, 0x1 -_0800A99E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_800A95C - - thumb_func_start sub_800A9A4 -sub_800A9A4: @ 800A9A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r4, 0 - ldr r0, _0800AA10 @ =gSavedLinkPlayerCount - ldrb r0, [r0] - cmp r4, r0 - bcs _0800AA04 - ldr r6, _0800AA14 @ =gSavedLinkPlayers - ldr r5, _0800AA18 @ =gLinkPlayers - movs r0, 0x8 - adds r0, r6 - mov r8, r0 - adds r7, r5, 0 - adds r7, 0x8 -_0800A9C2: - lsls r0, r4, 3 - subs r0, r4 - lsls r2, r0, 2 - adds r1, r6, 0x4 - adds r1, r2, r1 - adds r0, r5, 0x4 - adds r0, r2, r0 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - bne _0800A9E6 - mov r1, r8 - adds r0, r2, r1 - adds r1, r2, r7 - bl StringCompare - cmp r0, 0 - beq _0800A9F6 -_0800A9E6: - ldr r1, _0800AA1C @ =gLinkErrorOccurred - movs r0, 0x1 - strb r0, [r1] - bl CloseLink - ldr r0, _0800AA20 @ =CB2_LinkError - bl SetMainCallback2 -_0800A9F6: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0800AA10 @ =gSavedLinkPlayerCount - ldrb r0, [r0] - cmp r4, r0 - bcc _0800A9C2 -_0800AA04: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800AA10: .4byte gSavedLinkPlayerCount -_0800AA14: .4byte gSavedLinkPlayers -_0800AA18: .4byte gLinkPlayers -_0800AA1C: .4byte gLinkErrorOccurred -_0800AA20: .4byte CB2_LinkError - thumb_func_end sub_800A9A4 - - thumb_func_start sub_800AA24 -sub_800AA24: @ 800AA24 - ldr r0, _0800AA30 @ =gSavedLinkPlayerCount - movs r1, 0 - strb r1, [r0] - ldr r0, _0800AA34 @ =gSavedMultiplayerId - strb r1, [r0] - bx lr - .align 2, 0 -_0800AA30: .4byte gSavedLinkPlayerCount -_0800AA34: .4byte gSavedMultiplayerId - thumb_func_end sub_800AA24 - - thumb_func_start GetLinkPlayerCount_2 -GetLinkPlayerCount_2: @ 800AA38 - ldr r0, _0800AA44 @ =gLinkStatus - ldr r0, [r0] - movs r1, 0x1C - ands r0, r1 - lsrs r0, 2 - bx lr - .align 2, 0 -_0800AA44: .4byte gLinkStatus - thumb_func_end GetLinkPlayerCount_2 - - thumb_func_start IsLinkMaster -IsLinkMaster: @ 800AA48 - push {lr} - ldr r0, _0800AA60 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0800AA68 - ldr r0, _0800AA64 @ =gLinkStatus - ldr r0, [r0] - lsrs r0, 5 - movs r1, 0x1 - ands r0, r1 - b _0800AA70 - .align 2, 0 -_0800AA60: .4byte gWirelessCommType -_0800AA64: .4byte gLinkStatus -_0800AA68: - bl sub_80FBA2C - lsls r0, 24 - lsrs r0, 24 -_0800AA70: - pop {r1} - bx r1 - thumb_func_end IsLinkMaster - - thumb_func_start sub_800AA74 -sub_800AA74: @ 800AA74 - ldr r0, _0800AA7C @ =gUnknown_3000E50 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0800AA7C: .4byte gUnknown_3000E50 - thumb_func_end sub_800AA74 - - thumb_func_start sub_800AA80 -sub_800AA80: @ 800AA80 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _0800AA94 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800AA98 - bl task_add_05_task_del_08FA224_when_no_RfuFunc - b _0800AAAC - .align 2, 0 -_0800AA94: .4byte gWirelessCommType -_0800AA98: - ldr r2, _0800AAB0 @ =gLinkCallback - ldr r1, [r2] - cmp r1, 0 - bne _0800AAAC - ldr r0, _0800AAB4 @ =sub_800AB0C - str r0, [r2] - ldr r0, _0800AAB8 @ =gUnknown_3003F24 - strb r1, [r0] - ldr r0, _0800AABC @ =gUnknown_3003F34 - strh r3, [r0] -_0800AAAC: - pop {r0} - bx r0 - .align 2, 0 -_0800AAB0: .4byte gLinkCallback -_0800AAB4: .4byte sub_800AB0C -_0800AAB8: .4byte gUnknown_3003F24 -_0800AABC: .4byte gUnknown_3003F34 - thumb_func_end sub_800AA80 - - thumb_func_start sub_800AAC0 -sub_800AAC0: @ 800AAC0 - push {lr} - ldr r0, _0800AAD0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800AAD4 - bl task_add_05_task_del_08FA224_when_no_RfuFunc - b _0800AAFC - .align 2, 0 -_0800AAD0: .4byte gWirelessCommType -_0800AAD4: - ldr r2, _0800AAE8 @ =gLinkCallback - ldr r1, [r2] - cmp r1, 0 - beq _0800AAF0 - ldr r1, _0800AAEC @ =gUnknown_202285C - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0800AAFC - .align 2, 0 -_0800AAE8: .4byte gLinkCallback -_0800AAEC: .4byte gUnknown_202285C -_0800AAF0: - ldr r0, _0800AB00 @ =sub_800AB0C - str r0, [r2] - ldr r0, _0800AB04 @ =gUnknown_3003F24 - strb r1, [r0] - ldr r0, _0800AB08 @ =gUnknown_3003F34 - strh r1, [r0] -_0800AAFC: - pop {r0} - bx r0 - .align 2, 0 -_0800AB00: .4byte sub_800AB0C -_0800AB04: .4byte gUnknown_3003F24 -_0800AB08: .4byte gUnknown_3003F34 - thumb_func_end sub_800AAC0 - - thumb_func_start sub_800AB0C -sub_800AB0C: @ 800AB0C - push {lr} - ldr r0, _0800AB28 @ =gLastRecvQueueCount - ldrb r0, [r0] - cmp r0, 0 - bne _0800AB22 - ldr r0, _0800AB2C @ =0x00005fff - bl BuildSendCmd - ldr r1, _0800AB30 @ =gLinkCallback - ldr r0, _0800AB34 @ =sub_800AB38 - str r0, [r1] -_0800AB22: - pop {r0} - bx r0 - .align 2, 0 -_0800AB28: .4byte gLastRecvQueueCount -_0800AB2C: .4byte 0x00005fff -_0800AB30: .4byte gLinkCallback -_0800AB34: .4byte sub_800AB38 - thumb_func_end sub_800AB0C - - thumb_func_start sub_800AB38 -sub_800AB38: @ 800AB38 - push {r4,lr} - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r2, r0, 24 - movs r3, 0 - movs r1, 0 - cmp r3, r2 - bge _0800AB5C - ldr r4, _0800AB84 @ =gUnknown_3003F30 -_0800AB4C: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0800AB56 - adds r3, 0x1 -_0800AB56: - adds r1, 0x1 - cmp r1, r2 - blt _0800AB4C -_0800AB5C: - cmp r3, r2 - bne _0800AB7E - ldr r2, _0800AB88 @ =gBattleTypeFlags - ldr r0, [r2] - ldr r1, _0800AB8C @ =0x0000ffdf - ands r0, r1 - str r0, [r2] - ldr r0, _0800AB90 @ =gLinkVSyncDisabled - movs r4, 0x1 - strb r4, [r0] - bl CloseLink - ldr r1, _0800AB94 @ =gLinkCallback - movs r0, 0 - str r0, [r1] - ldr r0, _0800AB98 @ =gUnknown_3003F24 - strb r4, [r0] -_0800AB7E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800AB84: .4byte gUnknown_3003F30 -_0800AB88: .4byte gBattleTypeFlags -_0800AB8C: .4byte 0x0000ffdf -_0800AB90: .4byte gLinkVSyncDisabled -_0800AB94: .4byte gLinkCallback -_0800AB98: .4byte gUnknown_3003F24 - thumb_func_end sub_800AB38 - - thumb_func_start sub_800AB9C -sub_800AB9C: @ 800AB9C - push {lr} - ldr r0, _0800ABAC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x1 - bne _0800ABB0 - bl sub_80FA42C - b _0800ABC2 - .align 2, 0 -_0800ABAC: .4byte gWirelessCommType -_0800ABB0: - ldr r1, _0800ABC8 @ =gLinkCallback - ldr r0, [r1] - cmp r0, 0 - bne _0800ABBC - ldr r0, _0800ABCC @ =sub_800ABD4 - str r0, [r1] -_0800ABBC: - ldr r1, _0800ABD0 @ =gUnknown_3003F24 - movs r0, 0 - strb r0, [r1] -_0800ABC2: - pop {r0} - bx r0 - .align 2, 0 -_0800ABC8: .4byte gLinkCallback -_0800ABCC: .4byte sub_800ABD4 -_0800ABD0: .4byte gUnknown_3003F24 - thumb_func_end sub_800AB9C - - thumb_func_start sub_800ABD4 -sub_800ABD4: @ 800ABD4 - push {lr} - ldr r0, _0800ABF0 @ =gLastRecvQueueCount - ldrb r0, [r0] - cmp r0, 0 - bne _0800ABEA - ldr r0, _0800ABF4 @ =0x00002ffe - bl BuildSendCmd - ldr r1, _0800ABF8 @ =gLinkCallback - ldr r0, _0800ABFC @ =sub_800AC00 - str r0, [r1] -_0800ABEA: - pop {r0} - bx r0 - .align 2, 0 -_0800ABF0: .4byte gLastRecvQueueCount -_0800ABF4: .4byte 0x00002ffe -_0800ABF8: .4byte gLinkCallback -_0800ABFC: .4byte sub_800AC00 - thumb_func_end sub_800ABD4 - - thumb_func_start sub_800AC00 -sub_800AC00: @ 800AC00 - push {r4,lr} - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - cmp r1, r2 - bcs _0800AC2A - ldr r3, _0800AC50 @ =gUnknown_3003F2C - ldrb r0, [r3] - cmp r0, 0 - beq _0800AC2A -_0800AC18: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcs _0800AC2A - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _0800AC18 -_0800AC2A: - cmp r1, r2 - bne _0800AC48 - movs r1, 0 - ldr r4, _0800AC54 @ =gLinkCallback - ldr r3, _0800AC50 @ =gUnknown_3003F2C - movs r2, 0 -_0800AC36: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _0800AC36 - movs r0, 0 - str r0, [r4] -_0800AC48: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800AC50: .4byte gUnknown_3003F2C -_0800AC54: .4byte gLinkCallback - thumb_func_end sub_800AC00 - - thumb_func_start CheckErrorStatus -CheckErrorStatus: @ 800AC58 - push {lr} - ldr r0, _0800AC9C @ =gLinkOpen - ldrb r0, [r0] - cmp r0, 0 - beq _0800AC98 - ldr r0, _0800ACA0 @ =gLinkStatus - ldr r2, [r0] - movs r0, 0xFE - lsls r0, 11 - ands r0, r2 - cmp r0, 0 - beq _0800AC98 - ldr r0, _0800ACA4 @ =gSuppressLinkErrorMessage - ldrb r0, [r0] - cmp r0, 0 - bne _0800AC8E - ldr r1, _0800ACA8 @ =sLinkErrorBuffer - str r2, [r1] - ldr r0, _0800ACAC @ =gLastRecvQueueCount - ldrb r0, [r0] - strb r0, [r1, 0x4] - ldr r0, _0800ACB0 @ =gLastSendQueueCount - ldrb r0, [r0] - strb r0, [r1, 0x5] - ldr r0, _0800ACB4 @ =CB2_LinkError - bl SetMainCallback2 -_0800AC8E: - ldr r1, _0800ACB8 @ =gLinkErrorOccurred - movs r0, 0x1 - strb r0, [r1] - bl CloseLink -_0800AC98: - pop {r0} - bx r0 - .align 2, 0 -_0800AC9C: .4byte gLinkOpen -_0800ACA0: .4byte gLinkStatus -_0800ACA4: .4byte gSuppressLinkErrorMessage -_0800ACA8: .4byte sLinkErrorBuffer -_0800ACAC: .4byte gLastRecvQueueCount -_0800ACB0: .4byte gLastSendQueueCount -_0800ACB4: .4byte CB2_LinkError -_0800ACB8: .4byte gLinkErrorOccurred - thumb_func_end CheckErrorStatus - thumb_func_start sub_800ACBC sub_800ACBC: @ 800ACBC push {r4,lr} diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 3b6ec730f..04c4621e7 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -2148,8 +2148,8 @@ _080F9718: .4byte gUnknown_3005AF0 _080F971C: .4byte gUnknown_30054BE thumb_func_end sub_80F965C - thumb_func_start sub_80F9720 -sub_80F9720: @ 80F9720 + thumb_func_start Rfu_SetBlockReceivedFlag +Rfu_SetBlockReceivedFlag: @ 80F9720 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -2173,10 +2173,10 @@ _080F9740: _080F9748: pop {r0} bx r0 - thumb_func_end sub_80F9720 + thumb_func_end Rfu_SetBlockReceivedFlag - thumb_func_start sub_80F974C -sub_80F974C: @ 80F974C + thumb_func_start Rfu_ResetBlockReceivedFlag +Rfu_ResetBlockReceivedFlag: @ 80F974C lsls r0, 24 lsrs r0, 24 ldr r3, _080F976C @ =gUnknown_3005450 @@ -2194,7 +2194,7 @@ sub_80F974C: @ 80F974C bx lr .align 2, 0 _080F976C: .4byte gUnknown_3005450 - thumb_func_end sub_80F974C + thumb_func_end Rfu_ResetBlockReceivedFlag thumb_func_start sub_80F9770 sub_80F9770: @ 80F9770 @@ -2281,8 +2281,8 @@ sub_80F9800: @ 80F9800 _080F9804: .4byte gUnknown_3005440 thumb_func_end sub_80F9800 - thumb_func_start sub_80F9808 -sub_80F9808: @ 80F9808 + thumb_func_start IsSendingKeysToRfu +IsSendingKeysToRfu: @ 80F9808 push {lr} movs r2, 0 ldr r0, _080F9820 @ =gUnknown_3005450 @@ -2298,7 +2298,7 @@ _080F9818: .align 2, 0 _080F9820: .4byte gUnknown_3005450 _080F9824: .4byte rfu_func_080F97B8 - thumb_func_end sub_80F9808 + thumb_func_end IsSendingKeysToRfu thumb_func_start sub_80F9828 sub_80F9828: @ 80F9828 @@ -2326,15 +2326,15 @@ _080F9854: .4byte gUnknown_843EDC4 _080F9858: .4byte rfu_func_080F97B8 thumb_func_end sub_80F9828 - thumb_func_start sub_80F985C -sub_80F985C: @ 80F985C + thumb_func_start Rfu_set_zero +Rfu_set_zero: @ 80F985C ldr r1, _080F9864 @ =gUnknown_3005450 movs r0, 0 str r0, [r1] bx lr .align 2, 0 _080F9864: .4byte gUnknown_3005450 - thumb_func_end sub_80F985C + thumb_func_end Rfu_set_zero thumb_func_start sub_80F9868 sub_80F9868: @ 80F9868 @@ -2597,7 +2597,7 @@ _080F9A4C: mov r1, r8 lsls r0, r1, 24 lsrs r0, 24 - bl sub_80F9720 + bl Rfu_SetBlockReceivedFlag bl sub_80F9800 ldrb r1, [r0, 0xA] movs r0, 0x7F @@ -2637,7 +2637,7 @@ _080F9A9C: adds r2, 0x4 adds r1, r2 ldrh r1, [r1] - bl sub_80F9E60 + bl Rfu_InitBlockSend b _080F9BF4 .align 2, 0 _080F9AB8: .4byte gUnknown_843EC64 @@ -2909,8 +2909,8 @@ sub_80F9CB4: @ 80F9CB4 bx lr thumb_func_end sub_80F9CB4 - thumb_func_start sub_80F9CC8 -sub_80F9CC8: @ 80F9CC8 + thumb_func_start Rfu_GetBlockReceivedStatus +Rfu_GetBlockReceivedStatus: @ 80F9CC8 push {r4,lr} movs r2, 0 movs r1, 0 @@ -2942,7 +2942,7 @@ _080F9CEE: bx r1 .align 2, 0 _080F9D00: .4byte gUnknown_3005450 - thumb_func_end sub_80F9CC8 + thumb_func_end Rfu_GetBlockReceivedStatus thumb_func_start sub_80F9D04 sub_80F9D04: @ 80F9D04 @@ -3126,8 +3126,8 @@ _080F9E58: .4byte gSendCmd _080F9E5C: .4byte gUnknown_3005542 thumb_func_end sub_80F9E2C - thumb_func_start sub_80F9E60 -sub_80F9E60: @ 80F9E60 + thumb_func_start Rfu_InitBlockSend +Rfu_InitBlockSend: @ 80F9E60 push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -3235,7 +3235,7 @@ _080F9F2A: _080F9F38: .4byte gBlockSendBuffer _080F9F3C: .4byte gUnknown_3005450 _080F9F40: .4byte rfufunc_80F9F44 - thumb_func_end sub_80F9E60 + thumb_func_end Rfu_InitBlockSend thumb_func_start rfufunc_80F9F44 rfufunc_80F9F44: @ 80F9F44 @@ -4003,17 +4003,17 @@ _080FA4E6: bx r1 thumb_func_end rfu_get_multiplayer_id - thumb_func_start sub_80FA4EC -sub_80FA4EC: @ 80FA4EC + thumb_func_start GetRfuPlayerCount +GetRfuPlayerCount: @ 80FA4EC ldr r0, _080FA4F4 @ =gUnknown_3005450 ldrb r0, [r0, 0xD] bx lr .align 2, 0 _080FA4F4: .4byte gUnknown_3005450 - thumb_func_end sub_80FA4EC + thumb_func_end GetRfuPlayerCount - thumb_func_start IsNoOneConnected -IsNoOneConnected: @ 80FA4F8 + thumb_func_start IsRfuTaskFinished +IsRfuTaskFinished: @ 80FA4F8 push {lr} movs r1, 0 ldr r0, _080FA50C @ =gUnknown_3005450 @@ -4027,7 +4027,7 @@ _080FA506: bx r1 .align 2, 0 _080FA50C: .4byte gUnknown_3005450 - thumb_func_end IsNoOneConnected + thumb_func_end IsRfuTaskFinished thumb_func_start sub_80FA510 sub_80FA510: @ 80FA510 @@ -4590,7 +4590,7 @@ _080FA940: bl sub_800B110 lsls r0, r4, 24 lsrs r0, 24 - bl sub_80F974C + bl Rfu_ResetBlockReceivedFlag adds r4, 0x1 ldrb r2, [r5, 0xD] cmp r4, r2 @@ -6812,14 +6812,14 @@ sub_80FBA1C: @ 80FBA1C _080FBA28: .4byte gUnknown_3005450 thumb_func_end sub_80FBA1C - thumb_func_start sub_80FBA2C -sub_80FBA2C: @ 80FBA2C + thumb_func_start Rfu_IsMaster +Rfu_IsMaster: @ 80FBA2C ldr r0, _080FBA34 @ =gUnknown_3005450 ldrb r0, [r0, 0xC] bx lr .align 2, 0 _080FBA34: .4byte gUnknown_3005450 - thumb_func_end sub_80FBA2C + thumb_func_end Rfu_IsMaster thumb_func_start RFUVSync RFUVSync: @ 80FBA38 diff --git a/asm/overworld.s b/asm/overworld.s index 10d1b4ee8..ef63df6bb 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -5643,7 +5643,7 @@ c1_link_related: @ 8057884 bl sub_80F90DC cmp r0, 0 beq _0805789E - bl sub_800A00C + bl IsSendingKeysToLink cmp r0, 0 bne _080578C0 _0805789E: @@ -6147,7 +6147,7 @@ _08057C72: bl IsUpdateLinkStateCBActive cmp r0, 0x1 bne _08057CA8 - bl sub_800A00C + bl IsSendingKeysToLink cmp r0, 0x1 bne _08057CA8 cmp r4, 0x11 @@ -7012,7 +7012,7 @@ sub_8058274: @ 8058274 bl IsUpdateLinkStateCBActive cmp r0, 0x1 bne _080582D8 - bl sub_800A00C + bl IsSendingKeysToLink cmp r0, 0x1 bne _080582D8 ldr r0, _080582C4 @ =gUnknown_3000E84 @@ -7065,7 +7065,7 @@ sub_80582E0: @ 80582E0 bl IsUpdateLinkStateCBActive cmp r0, 0x1 bne _08058304 - bl sub_800A00C + bl IsSendingKeysToLink cmp r0, 0x1 bne _08058304 ldr r0, _08058308 @ =gUnknown_3000E84 @@ -7093,7 +7093,7 @@ sub_8058318: @ 8058318 ldrb r0, [r0] cmp r0, 0 bne _08058334 - bl sub_800A00C + bl IsSendingKeysToLink cmp r0, 0 beq _08058334 movs r0, 0x1 diff --git a/asm/trade.s b/asm/trade.s index 52db4c7d2..0c1c168cc 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -334,7 +334,7 @@ _0804C8F0: .4byte gUnknown_2031DA8 _0804C8F4: bl GetLinkPlayerCount_2 adds r4, r0, 0 - bl sub_800A944 + bl GetSavedPlayerCount lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -422,7 +422,7 @@ _0804C9B0: ldrb r0, [r0] cmp r0, 0 beq _0804C9E8 - bl IsNoOneConnected + bl IsRfuTaskFinished lsls r0, 24 cmp r0, 0 bne _0804C9C4 @@ -1832,7 +1832,7 @@ sub_804D5A4: @ 804D5A4 ldrb r0, [r0] cmp r0, 0 beq _0804D5FC - bl IsNoOneConnected + bl IsRfuTaskFinished lsls r0, 24 cmp r0, 0 beq _0804D620 @@ -7557,7 +7557,7 @@ _080502A8: _080502B4: bl GetLinkPlayerCount_2 adds r4, r0, 0 - bl sub_800A944 + bl GetSavedPlayerCount lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -14745,7 +14745,7 @@ _0805434C: ldr r0, _08054378 @ =sub_804C718 cmp r1, r0 bne _08054384 - bl IsNoOneConnected + bl IsRfuTaskFinished lsls r0, 24 cmp r0, 0 beq _08054396 -- cgit v1.2.3 From e73e1172aa2bfa52b5fd5bcf89cd7b12decf5676 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 6 Oct 2019 21:08:53 -0400 Subject: link through ResetSerial --- asm/link.s | 831 ------------------------------------------------------- asm/link_rfu_2.s | 14 +- asm/overworld.s | 10 +- 3 files changed, 12 insertions(+), 843 deletions(-) (limited to 'asm') diff --git a/asm/link.s b/asm/link.s index b0de10227..4b5b0e6b5 100644 --- a/asm/link.s +++ b/asm/link.s @@ -5,837 +5,6 @@ .text - thumb_func_start sub_800ACBC -sub_800ACBC: @ 800ACBC - push {r4,lr} - ldr r4, _0800ACD0 @ =sLinkErrorBuffer - str r0, [r4] - strb r1, [r4, 0x5] - strb r2, [r4, 0x4] - strb r3, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800ACD0: .4byte sLinkErrorBuffer - thumb_func_end sub_800ACBC - - thumb_func_start CB2_LinkError -CB2_LinkError: @ 800ACD4 - push {r4,lr} - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r0, _0800ADE0 @ =gMPlayInfo_SE1 - bl m4aMPlayStop - ldr r0, _0800ADE4 @ =gMPlayInfo_SE2 - bl m4aMPlayStop - ldr r0, _0800ADE8 @ =gMPlayInfo_SE3 - bl m4aMPlayStop - ldr r0, _0800ADEC @ =gHeap - movs r1, 0xE0 - lsls r1, 9 - bl InitHeap - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetPaletteFadeControl - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - bl ResetTasks - bl ScanlineEffect_Stop - ldr r1, _0800ADF0 @ =gWirelessCommType - ldrb r0, [r1] - cmp r0, 0 - beq _0800AD30 - ldr r0, _0800ADF4 @ =sLinkErrorBuffer - ldrb r0, [r0, 0x6] - cmp r0, 0 - bne _0800AD2C - movs r0, 0x3 - strb r0, [r1] -_0800AD2C: - bl sub_80F85F8 -_0800AD30: - ldr r0, _0800ADF8 @ =sub_800978C - bl SetVBlankCallback - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0800ADFC @ =gUnknown_82345E8 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - ldr r4, _0800AE00 @ =gUnknown_2022860 - movs r0, 0x80 - lsls r0, 4 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, _0800AE04 @ =gUnknown_82345F0 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _0800ADD8 - bl DeactivateAllTextPrinters - bl ResetTempTileDataBuffers - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r1, 0xE0 - lsls r1, 8 - movs r0, 0 - bl ClearGpuRegBits - ldr r0, _0800AE08 @ =gTMCaseMainWindowPalette - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0800AE0C @ =gSoftResetDisabled - movs r0, 0 - strb r0, [r1] - ldr r0, _0800AE10 @ =Task_DestroySelf - movs r1, 0 - bl CreateTask - bl StopMapMusic - ldr r1, _0800AE14 @ =gMain - movs r0, 0 - str r0, [r1] - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r0, _0800AE18 @ =sub_800AF2C - bl SetMainCallback2 -_0800ADD8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800ADE0: .4byte gMPlayInfo_SE1 -_0800ADE4: .4byte gMPlayInfo_SE2 -_0800ADE8: .4byte gMPlayInfo_SE3 -_0800ADEC: .4byte gHeap -_0800ADF0: .4byte gWirelessCommType -_0800ADF4: .4byte sLinkErrorBuffer -_0800ADF8: .4byte sub_800978C -_0800ADFC: .4byte gUnknown_82345E8 -_0800AE00: .4byte gUnknown_2022860 -_0800AE04: .4byte gUnknown_82345F0 -_0800AE08: .4byte gTMCaseMainWindowPalette -_0800AE0C: .4byte gSoftResetDisabled -_0800AE10: .4byte Task_DestroySelf -_0800AE14: .4byte gMain -_0800AE18: .4byte sub_800AF2C - thumb_func_end CB2_LinkError - - thumb_func_start sub_800AE1C -sub_800AE1C: @ 800AE1C - push {r4,r5,lr} - sub sp, 0xC - ldr r1, _0800AEB8 @ =gWirelessLinkDisplay4bpp - movs r5, 0 - str r5, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r1, _0800AEBC @ =gWirelessLinkDisplayBin - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, _0800AEC0 @ =gWirelessLinkDisplayPal - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r4, _0800AEC4 @ =gUnknown_8234610 - str r4, [sp] - str r5, [sp, 0x4] - ldr r0, _0800AEC8 @ =gUnknown_841DEF0 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0x5 - bl AddTextPrinterParameterized3 - str r4, [sp] - str r5, [sp, 0x4] - ldr r0, _0800AECC @ =gUnknown_841DF05 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800AEB8: .4byte gWirelessLinkDisplay4bpp -_0800AEBC: .4byte gWirelessLinkDisplayBin -_0800AEC0: .4byte gWirelessLinkDisplayPal -_0800AEC4: .4byte gUnknown_8234610 -_0800AEC8: .4byte gUnknown_841DEF0 -_0800AECC: .4byte gUnknown_841DF05 - thumb_func_end sub_800AE1C - - thumb_func_start sub_800AED0 -sub_800AED0: @ 800AED0 - push {lr} - sub sp, 0xC - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, _0800AF24 @ =gUnknown_8234610 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r0, _0800AF28 @ =gUnknown_841DE9D - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0 - bl CopyWindowToVram - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0 - bl ShowBg - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_0800AF24: .4byte gUnknown_8234610 -_0800AF28: .4byte gUnknown_841DE9D - thumb_func_end sub_800AED0 - - thumb_func_start sub_800AF2C -sub_800AF2C: @ 800AF2C - push {r4,lr} - sub sp, 0xC - ldr r0, _0800AF4C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3C - beq _0800AF72 - cmp r0, 0x3C - bgt _0800AF50 - cmp r0, 0 - beq _0800AF5A - cmp r0, 0x1E - beq _0800AF72 - b _0800AFC4 - .align 2, 0 -_0800AF4C: .4byte gMain -_0800AF50: - cmp r0, 0x5A - beq _0800AF72 - cmp r0, 0x82 - beq _0800AF7A - b _0800AFC4 -_0800AF5A: - ldr r0, _0800AF68 @ =sLinkErrorBuffer - ldrb r0, [r0, 0x6] - cmp r0, 0 - beq _0800AF6C - bl sub_800AE1C - b _0800AFC4 - .align 2, 0 -_0800AF68: .4byte sLinkErrorBuffer -_0800AF6C: - bl sub_800AED0 - b _0800AFC4 -_0800AF72: - movs r0, 0x16 - bl PlaySE - b _0800AFC4 -_0800AF7A: - ldr r0, _0800AF9C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0x2 - bne _0800AFA8 - ldr r0, _0800AFA0 @ =gUnknown_8234610 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r0, _0800AFA4 @ =gUnknown_841DF6B - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0x14 - bl AddTextPrinterParameterized3 - b _0800AFC4 - .align 2, 0 -_0800AF9C: .4byte gWirelessCommType -_0800AFA0: .4byte gUnknown_8234610 -_0800AFA4: .4byte gUnknown_841DF6B -_0800AFA8: - cmp r0, 0x1 - bne _0800AFC4 - ldr r0, _0800AFFC @ =gUnknown_8234610 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r0, _0800B000 @ =gUnknown_841DF4C - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x3 - movs r2, 0x2 - movs r3, 0x14 - bl AddTextPrinterParameterized3 -_0800AFC4: - ldr r0, _0800B004 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r0, r2 - ldrb r1, [r1] - cmp r1, 0xA0 - bne _0800B03C - ldr r4, _0800B008 @ =gWirelessCommType - ldrb r2, [r4] - cmp r2, 0x1 - bne _0800B010 - ldrh r0, [r0, 0x2E] - ands r2, r0 - cmp r2, 0 - beq _0800B02E - bl sub_812B484 - movs r0, 0x15 - bl PlaySE - movs r0, 0 - strb r0, [r4] - ldr r1, _0800B00C @ =sLinkErrorBuffer - movs r0, 0 - strb r0, [r1, 0x6] - bl sub_8079B7C - b _0800B02E - .align 2, 0 -_0800AFFC: .4byte gUnknown_8234610 -_0800B000: .4byte gUnknown_841DF4C -_0800B004: .4byte gMain -_0800B008: .4byte gWirelessCommType -_0800B00C: .4byte sLinkErrorBuffer -_0800B010: - cmp r2, 0x2 - bne _0800B02E - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0800B02E - bl sub_812B484 - bl rfu_REQ_stopMode - bl rfu_waitREQComplete - bl DoSoftReset -_0800B02E: - ldr r0, _0800B050 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r0, r2 - ldrb r1, [r1] - cmp r1, 0xA0 - beq _0800B048 -_0800B03C: - movs r2, 0x87 - lsls r2, 3 - adds r1, r0, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0800B048: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800B050: .4byte gMain - thumb_func_end sub_800AF2C - - thumb_func_start GetSioMultiSI -GetSioMultiSI: @ 800B054 - ldr r0, _0800B060 @ =0x04000128 - ldrh r0, [r0] - lsrs r0, 2 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0800B060: .4byte 0x04000128 - thumb_func_end GetSioMultiSI - - thumb_func_start IsSioMultiMaster -IsSioMultiMaster: @ 800B064 - push {lr} - movs r3, 0 - ldr r2, _0800B088 @ =0x04000128 - ldrh r1, [r2] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0800B080 - ldrh r1, [r2] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0800B080 - movs r3, 0x1 -_0800B080: - adds r0, r3, 0 - pop {r1} - bx r1 - .align 2, 0 -_0800B088: .4byte 0x04000128 - thumb_func_end IsSioMultiMaster - - thumb_func_start IsLinkConnectionEstablished -IsLinkConnectionEstablished: @ 800B08C - ldr r0, _0800B098 @ =gLinkStatus - ldr r0, [r0] - lsrs r0, 6 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0800B098: .4byte gLinkStatus - thumb_func_end IsLinkConnectionEstablished - - thumb_func_start SetSuppressLinkErrorMessage -SetSuppressLinkErrorMessage: @ 800B09C - ldr r1, _0800B0A4 @ =gSuppressLinkErrorMessage - strb r0, [r1] - bx lr - .align 2, 0 -_0800B0A4: .4byte gSuppressLinkErrorMessage - thumb_func_end SetSuppressLinkErrorMessage - - thumb_func_start HasLinkErrorOccurred -HasLinkErrorOccurred: @ 800B0A8 - ldr r0, _0800B0B0 @ =gLinkErrorOccurred - ldrb r0, [r0] - bx lr - .align 2, 0 -_0800B0B0: .4byte gLinkErrorOccurred - thumb_func_end HasLinkErrorOccurred - - thumb_func_start sub_800B0B4 -sub_800B0B4: @ 800B0B4 - push {r4-r6,lr} - bl InitLocalLinkPlayer - ldr r1, _0800B100 @ =gLocalLinkPlayerBlock - adds r2, r1, 0 - adds r2, 0x10 - ldr r0, _0800B104 @ =gLocalLinkPlayer - ldm r0!, {r3-r5} - stm r2!, {r3-r5} - ldm r0!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldr r0, [r0] - str r0, [r2] - ldr r3, _0800B108 @ =gASCIIGameFreakInc - adds r2, r1, 0 - adds r0, r3, 0 - ldm r0!, {r4-r6} - stm r2!, {r4-r6} - ldrh r4, [r0] - strh r4, [r2] - ldrb r0, [r0, 0x2] - strb r0, [r2, 0x2] - adds r0, r1, 0 - adds r0, 0x2C - ldm r3!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldrh r2, [r3] - strh r2, [r0] - ldrb r2, [r3, 0x2] - strb r2, [r0, 0x2] - ldr r0, _0800B10C @ =gBlockSendBuffer - movs r2, 0x3C - bl memcpy - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800B100: .4byte gLocalLinkPlayerBlock -_0800B104: .4byte gLocalLinkPlayer -_0800B108: .4byte gASCIIGameFreakInc -_0800B10C: .4byte gBlockSendBuffer - thumb_func_end sub_800B0B4 - - thumb_func_start sub_800B110 -sub_800B110: @ 800B110 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 8 - ldr r1, _0800B168 @ =gBlockRecvBuffer - adds r4, r2, r1 - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - ldr r0, _0800B16C @ =gLinkPlayers - adds r2, r0 - adds r1, r2, 0 - adds r0, r4, 0 - adds r0, 0x10 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldr r0, [r0] - str r0, [r1] - adds r0, r2, 0 - bl sub_800B284 - ldr r5, _0800B170 @ =gASCIIGameFreakInc - adds r0, r4, 0 - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - bne _0800B15A - adds r0, r4, 0 - adds r0, 0x2C - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - beq _0800B160 -_0800B15A: - ldr r0, _0800B174 @ =CB2_LinkError - bl SetMainCallback2 -_0800B160: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800B168: .4byte gBlockRecvBuffer -_0800B16C: .4byte gLinkPlayers -_0800B170: .4byte gASCIIGameFreakInc -_0800B174: .4byte CB2_LinkError - thumb_func_end sub_800B110 - - thumb_func_start HandleLinkConnection -HandleLinkConnection: @ 800B178 - push {r4,r5,lr} - ldr r0, _0800B1B0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0800B1C8 - ldr r0, _0800B1B4 @ =gShouldAdvanceLinkState - ldr r1, _0800B1B8 @ =gSendCmd - ldr r2, _0800B1BC @ =gRecvCmds - bl LinkMain1 - ldr r4, _0800B1C0 @ =gLinkStatus - str r0, [r4] - ldr r0, _0800B1C4 @ =gMain + 0x2C - bl LinkMain2 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - beq _0800B1EC - bl sub_8058318 - cmp r0, 0x1 - bne _0800B1EC -_0800B1AA: - movs r0, 0x1 - b _0800B1EE - .align 2, 0 -_0800B1B0: .4byte gWirelessCommType -_0800B1B4: .4byte gShouldAdvanceLinkState -_0800B1B8: .4byte gSendCmd -_0800B1BC: .4byte gRecvCmds -_0800B1C0: .4byte gLinkStatus -_0800B1C4: .4byte gMain + 0x2C -_0800B1C8: - bl sub_80FAE94 - adds r4, r0, 0 - bl sub_80FAEF0 - adds r5, r0, 0 - bl sub_8058318 - cmp r0, 0x1 - bne _0800B1EC - cmp r4, 0x1 - beq _0800B1AA - bl sub_80F90DC - cmp r0, 0 - bne _0800B1AA - cmp r5, 0 - bne _0800B1AA -_0800B1EC: - movs r0, 0 -_0800B1EE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end HandleLinkConnection - - thumb_func_start sub_800B1F4 -sub_800B1F4: @ 800B1F4 - push {lr} - ldr r0, _0800B208 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0800B204 - ldr r1, _0800B20C @ =gWirelessCommType - movs r0, 0x1 - strb r0, [r1] -_0800B204: - pop {r0} - bx r0 - .align 2, 0 -_0800B208: .4byte gReceivedRemoteLinkPlayers -_0800B20C: .4byte gWirelessCommType - thumb_func_end sub_800B1F4 - - thumb_func_start sub_800B210 -sub_800B210: @ 800B210 - push {lr} - ldr r0, _0800B224 @ =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _0800B21E - ldr r0, _0800B228 @ =gWirelessCommType - strb r1, [r0] -_0800B21E: - pop {r0} - bx r0 - .align 2, 0 -_0800B224: .4byte gReceivedRemoteLinkPlayers -_0800B228: .4byte gWirelessCommType - thumb_func_end sub_800B210 - - thumb_func_start sub_800B22C -sub_800B22C: @ 800B22C - push {lr} - ldr r0, _0800B240 @ =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _0800B23A - ldr r0, _0800B244 @ =gWirelessCommType - strb r1, [r0] -_0800B23A: - pop {r0} - bx r0 - .align 2, 0 -_0800B240: .4byte gReceivedRemoteLinkPlayers -_0800B244: .4byte gWirelessCommType - thumb_func_end sub_800B22C - - thumb_func_start sub_800B248 -sub_800B248: @ 800B248 - push {lr} - ldr r0, _0800B25C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0800B268 - ldr r0, _0800B260 @ =gLink - ldr r1, _0800B264 @ =0x00000fbd - adds r0, r1 - ldrb r0, [r0] - b _0800B26C - .align 2, 0 -_0800B25C: .4byte gWirelessCommType -_0800B260: .4byte gLink -_0800B264: .4byte 0x00000fbd -_0800B268: - bl sub_80FC460 -_0800B26C: - pop {r1} - bx r1 - thumb_func_end sub_800B248 - - thumb_func_start sub_800B270 -sub_800B270: @ 800B270 - push {lr} - bl sub_800B248 - cmp r0, 0x2 - bhi _0800B27E - movs r0, 0 - b _0800B280 -_0800B27E: - movs r0, 0x1 -_0800B280: - pop {r1} - bx r1 - thumb_func_end sub_800B270 - - thumb_func_start sub_800B284 -sub_800B284: @ 800B284 - push {lr} - ldrb r1, [r0, 0x10] - strb r1, [r0, 0x12] - adds r2, r0, 0 - adds r2, 0x8 - ldrb r1, [r0, 0x1A] - adds r0, r2, 0 - bl ConvertInternationalString - pop {r0} - bx r0 - thumb_func_end sub_800B284 - - thumb_func_start DisableSerial -DisableSerial: @ 800B29C - push {lr} - sub sp, 0x4 - movs r0, 0xC0 - bl DisableInterrupts - ldr r1, _0800B2DC @ =0x04000128 - movs r2, 0x80 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0800B2E0 @ =0x0400010e - movs r2, 0 - strh r2, [r0] - adds r1, 0xDA - movs r0, 0xC0 - strh r0, [r1] - ldr r0, _0800B2E4 @ =0x0400012a - strh r2, [r0] - ldr r2, _0800B2E8 @ =0x04000120 - movs r0, 0 - movs r1, 0 - str r0, [r2] - str r1, [r2, 0x4] - str r0, [sp] - ldr r1, _0800B2EC @ =gLink - ldr r2, _0800B2F0 @ =0x050003f0 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0800B2DC: .4byte 0x04000128 -_0800B2E0: .4byte 0x0400010e -_0800B2E4: .4byte 0x0400012a -_0800B2E8: .4byte 0x04000120 -_0800B2EC: .4byte gLink -_0800B2F0: .4byte 0x050003f0 - thumb_func_end DisableSerial - - thumb_func_start EnableSerial -EnableSerial: @ 800B2F4 - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0xC0 - bl DisableInterrupts - ldr r0, _0800B354 @ =0x04000134 - movs r4, 0 - strh r4, [r0] - ldr r2, _0800B358 @ =0x04000128 - movs r1, 0x80 - lsls r1, 6 - adds r0, r1, 0 - strh r0, [r2] - ldrh r0, [r2] - ldr r3, _0800B35C @ =0x00004003 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - movs r0, 0x80 - bl EnableInterrupts - ldr r0, _0800B360 @ =0x0400012a - strh r4, [r0] - movs r5, 0 - str r5, [sp] - ldr r1, _0800B364 @ =gLink - ldr r2, _0800B368 @ =0x050003f0 - mov r0, sp - bl CpuSet - ldr r0, _0800B36C @ =sNumVBlanksWithoutSerialIntr - strb r4, [r0] - ldr r0, _0800B370 @ =sSendNonzeroCheck - strh r5, [r0] - ldr r0, _0800B374 @ =sRecvNonzeroCheck - strh r5, [r0] - ldr r0, _0800B378 @ =sChecksumAvailable - strb r4, [r0] - ldr r0, _0800B37C @ =sHandshakePlayerCount - strb r4, [r0] - ldr r0, _0800B380 @ =gLastSendQueueCount - strb r4, [r0] - ldr r0, _0800B384 @ =gLastRecvQueueCount - strb r4, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800B354: .4byte 0x04000134 -_0800B358: .4byte 0x04000128 -_0800B35C: .4byte 0x00004003 -_0800B360: .4byte 0x0400012a -_0800B364: .4byte gLink -_0800B368: .4byte 0x050003f0 -_0800B36C: .4byte sNumVBlanksWithoutSerialIntr -_0800B370: .4byte sSendNonzeroCheck -_0800B374: .4byte sRecvNonzeroCheck -_0800B378: .4byte sChecksumAvailable -_0800B37C: .4byte sHandshakePlayerCount -_0800B380: .4byte gLastSendQueueCount -_0800B384: .4byte gLastRecvQueueCount - thumb_func_end EnableSerial - - thumb_func_start ResetSerial -ResetSerial: @ 800B388 - push {lr} - bl EnableSerial - bl DisableSerial - pop {r0} - bx r0 - thumb_func_end ResetSerial - thumb_func_start LinkMain1 LinkMain1: @ 800B398 push {r4-r7,lr} diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 04c4621e7..fd1cf3dc6 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -1360,8 +1360,8 @@ _080F90D4: .4byte 0x000008d4 _080F90D8: .4byte 0x000008f2 thumb_func_end sub_80F906C - thumb_func_start sub_80F90DC -sub_80F90DC: @ 80F90DC + thumb_func_start IsRfuRecvQueueEmpty +IsRfuRecvQueueEmpty: @ 80F90DC push {r4,lr} ldr r0, _080F90EC @ =gUnknown_3007460 ldr r0, [r0] @@ -1398,7 +1398,7 @@ _080F9110: bx r1 .align 2, 0 _080F9118: .4byte gRecvCmds - thumb_func_end sub_80F90DC + thumb_func_end IsRfuRecvQueueEmpty thumb_func_start sub_80F911C sub_80F911C: @ 80F911C @@ -2029,7 +2029,7 @@ _080F9618: cmp r1, 0x6 bls _080F9618 _080F9628: - bl sub_80F90DC + bl IsRfuRecvQueueEmpty add sp, 0x58 pop {r3} mov r8, r3 @@ -8105,8 +8105,8 @@ _080FC458: .4byte gUnknown_3005450 _080FC45C: .4byte 0x000008d2 thumb_func_end sub_80FC44C - thumb_func_start sub_80FC460 -sub_80FC460: @ 80FC460 + thumb_func_start GetRfuRecvQueueLength +GetRfuRecvQueueLength: @ 80FC460 ldr r0, _080FC46C @ =gUnknown_3005450 ldr r1, _080FC470 @ =0x0000069e adds r0, r1 @@ -8115,7 +8115,7 @@ sub_80FC460: @ 80FC460 .align 2, 0 _080FC46C: .4byte gUnknown_3005450 _080FC470: .4byte 0x0000069e - thumb_func_end sub_80FC460 + thumb_func_end GetRfuRecvQueueLength thumb_func_start nullsub_89 nullsub_89: @ 80FC474 diff --git a/asm/overworld.s b/asm/overworld.s index ef63df6bb..ec8a03ddd 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -5640,7 +5640,7 @@ c1_link_related: @ 8057884 ldrb r0, [r0] cmp r0, 0 beq _0805789E - bl sub_80F90DC + bl IsRfuRecvQueueEmpty cmp r0, 0 beq _0805789E bl IsSendingKeysToLink @@ -6289,7 +6289,7 @@ sub_8057D5C: @ 8057D5C movs r0, 0x11 b _08057D92 _08057D70: - bl sub_800B248 + bl GetLinkRecvQueueLength cmp r0, 0x4 bls _08057D7C movs r0, 0x1B @@ -6344,7 +6344,7 @@ _08057DC4: .4byte sub_8057D98 thumb_func_start sub_8057DC8 sub_8057DC8: @ 8057DC8 push {r4,lr} - bl sub_800B248 + bl GetLinkRecvQueueLength movs r4, 0x11 cmp r0, 0x2 bhi _08057DE0 @@ -6982,7 +6982,7 @@ sub_8058244: @ 8058244 movs r0, 0 b _0805826C _08058252: - bl sub_800B248 + bl GetLinkRecvQueueLength cmp r0, 0x2 bls _08058264 ldr r1, _08058260 @ =gUnknown_3000E88 @@ -7006,7 +7006,7 @@ _08058270: .4byte gUnknown_3000E88 thumb_func_start sub_8058274 sub_8058274: @ 8058274 push {lr} - bl sub_800B248 + bl GetLinkRecvQueueLength cmp r0, 0x1 bls _080582D8 bl IsUpdateLinkStateCBActive -- cgit v1.2.3 From f39511d7c804d16c14ab84ede7015222f9d715c4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 7 Oct 2019 10:54:45 -0400 Subject: Finish link.s decomp --- asm/link.s | 1157 ------------------------------------------------------------ 1 file changed, 1157 deletions(-) delete mode 100644 asm/link.s (limited to 'asm') diff --git a/asm/link.s b/asm/link.s deleted file mode 100644 index 4b5b0e6b5..000000000 --- a/asm/link.s +++ /dev/null @@ -1,1157 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start LinkMain1 -LinkMain1: @ 800B398 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, _0800B3B4 @ =gLink - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - bhi _0800B44A - lsls r0, 2 - ldr r1, _0800B3B8 @ =_0800B3BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800B3B4: .4byte gLink -_0800B3B8: .4byte _0800B3BC - .align 2, 0 -_0800B3BC: - .4byte _0800B3D0 - .4byte _0800B3E0 - .4byte _0800B3F8 - .4byte _0800B434 - .4byte _0800B43E -_0800B3D0: - bl DisableSerial - ldr r1, _0800B3DC @ =gLink - movs r0, 0x1 - strb r0, [r1, 0x1] - b _0800B44A - .align 2, 0 -_0800B3DC: .4byte gLink -_0800B3E0: - ldrb r0, [r4] - cmp r0, 0x1 - bne _0800B44A - bl EnableSerial - ldr r1, _0800B3F4 @ =gLink - movs r0, 0x2 - strb r0, [r1, 0x1] - b _0800B44A - .align 2, 0 -_0800B3F4: .4byte gLink -_0800B3F8: - ldrb r1, [r4] - cmp r1, 0x1 - beq _0800B408 - cmp r1, 0x2 - beq _0800B420 - bl CheckMasterOrSlave - b _0800B44A -_0800B408: - ldr r2, _0800B41C @ =gLink - ldrb r0, [r2] - cmp r0, 0x8 - bne _0800B44A - ldrb r0, [r2, 0x3] - cmp r0, 0x1 - bls _0800B44A - strb r1, [r2, 0xE] - b _0800B44A - .align 2, 0 -_0800B41C: .4byte gLink -_0800B420: - ldr r0, _0800B42C @ =gLink - movs r1, 0 - strb r1, [r0, 0x1] - ldr r0, _0800B430 @ =0x0400012a - strh r1, [r0] - b _0800B44A - .align 2, 0 -_0800B42C: .4byte gLink -_0800B430: .4byte 0x0400012a -_0800B434: - bl InitTimer - ldr r1, _0800B484 @ =gLink - movs r0, 0x4 - strb r0, [r1, 0x1] -_0800B43E: - adds r0, r5, 0 - bl sub_800B520 - adds r0, r6, 0 - bl sub_800B608 -_0800B44A: - movs r0, 0 - strb r0, [r4] - ldr r1, _0800B484 @ =gLink - ldrb r2, [r1, 0x2] - ldrb r0, [r1, 0x3] - lsls r0, 2 - orrs r2, r0 - ldrb r0, [r1] - cmp r0, 0x8 - bne _0800B462 - movs r0, 0x20 - orrs r2, r0 -_0800B462: - ldrb r0, [r1, 0xC] - lsls r3, r0, 8 - ldrb r0, [r1, 0xF] - lsls r4, r0, 9 - ldrb r0, [r1, 0x10] - lsls r5, r0, 12 - ldrb r0, [r1, 0x11] - lsls r6, r0, 13 - ldrb r0, [r1, 0x12] - lsls r7, r0, 14 - ldrb r0, [r1, 0x1] - cmp r0, 0x4 - bne _0800B488 - movs r0, 0x40 - orrs r0, r3 - orrs r0, r2 - b _0800B48C - .align 2, 0 -_0800B484: .4byte gLink -_0800B488: - adds r0, r2, 0 - orrs r0, r3 -_0800B48C: - orrs r0, r4 - orrs r0, r5 - orrs r0, r6 - orrs r0, r7 - adds r2, r0, 0 - ldrb r3, [r1, 0x13] - cmp r3, 0x1 - bne _0800B4A2 - movs r0, 0x80 - lsls r0, 9 - orrs r2, r0 -_0800B4A2: - ldrb r0, [r1, 0x2] - cmp r0, 0x3 - bls _0800B4AE - movs r0, 0x80 - lsls r0, 10 - orrs r2, r0 -_0800B4AE: - adds r1, r2, 0 - cmp r3, 0x2 - bne _0800B4BA - movs r0, 0x80 - lsls r0, 11 - orrs r1, r0 -_0800B4BA: - adds r0, r1, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end LinkMain1 - - thumb_func_start CheckMasterOrSlave -CheckMasterOrSlave: @ 800B4C4 - push {lr} - ldr r0, _0800B4E0 @ =0x04000128 - ldr r1, [r0] - movs r0, 0xC - ands r1, r0 - ldr r2, _0800B4E4 @ =gLink - cmp r1, 0x8 - bne _0800B4E8 - ldrb r0, [r2, 0x2] - cmp r0, 0 - bne _0800B4E8 - strb r1, [r2] - b _0800B4EC - .align 2, 0 -_0800B4E0: .4byte 0x04000128 -_0800B4E4: .4byte gLink -_0800B4E8: - movs r0, 0 - strb r0, [r2] -_0800B4EC: - pop {r0} - bx r0 - thumb_func_end CheckMasterOrSlave - - thumb_func_start InitTimer -InitTimer: @ 800B4F0 - push {lr} - ldr r0, _0800B514 @ =gLink - ldrb r0, [r0] - cmp r0, 0 - beq _0800B50E - ldr r1, _0800B518 @ =0x0400010c - ldr r2, _0800B51C @ =0x0000ff3b - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x41 - strh r0, [r1] - movs r0, 0x40 - bl EnableInterrupts -_0800B50E: - pop {r0} - bx r0 - .align 2, 0 -_0800B514: .4byte gLink -_0800B518: .4byte 0x0400010c -_0800B51C: .4byte 0x0000ff3b - thumb_func_end InitTimer - - thumb_func_start sub_800B520 -sub_800B520: @ 800B520 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r3, r0, 0 - ldr r2, _0800B598 @ =gLinkSavedIme - ldr r1, _0800B59C @ =0x04000208 - ldrh r0, [r1] - strh r0, [r2] - movs r0, 0 - strh r0, [r1] - ldr r1, _0800B5A0 @ =gLink - ldr r4, _0800B5A4 @ =0x00000339 - adds r0, r1, r4 - ldrb r4, [r0] - adds r6, r1, 0 - cmp r4, 0x31 - bhi _0800B5B0 - movs r1, 0xCE - lsls r1, 2 - adds r0, r6, r1 - ldrb r0, [r0] - adds r0, r4, r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x31 - bls _0800B55E - subs r0, 0x32 - lsls r0, 24 - lsrs r0, 24 -_0800B55E: - movs r2, 0 - ldr r4, _0800B5A8 @ =sSendNonzeroCheck - mov r9, r4 - ldr r1, _0800B5AC @ =gLastSendQueueCount - mov r10, r1 - lsls r5, r0, 1 - movs r0, 0x18 - adds r0, r6 - mov r8, r0 - mov r12, r2 - movs r7, 0x64 -_0800B574: - ldrh r0, [r4] - ldrh r1, [r3] - orrs r0, r1 - strh r0, [r4] - adds r0, r2, 0 - muls r0, r7 - adds r0, r5, r0 - add r0, r8 - strh r1, [r0] - mov r1, r12 - strh r1, [r3] - adds r3, 0x2 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0800B574 - b _0800B5BC - .align 2, 0 -_0800B598: .4byte gLinkSavedIme -_0800B59C: .4byte 0x04000208 -_0800B5A0: .4byte gLink -_0800B5A4: .4byte 0x00000339 -_0800B5A8: .4byte sSendNonzeroCheck -_0800B5AC: .4byte gLastSendQueueCount -_0800B5B0: - movs r0, 0x1 - strb r0, [r6, 0x12] - ldr r2, _0800B5F4 @ =sSendNonzeroCheck - mov r9, r2 - ldr r4, _0800B5F8 @ =gLastSendQueueCount - mov r10, r4 -_0800B5BC: - mov r1, r9 - ldrh r0, [r1] - cmp r0, 0 - beq _0800B5D4 - ldr r2, _0800B5FC @ =0x00000339 - adds r0, r6, r2 - ldrb r1, [r0] - adds r1, 0x1 - movs r2, 0 - strb r1, [r0] - mov r4, r9 - strh r2, [r4] -_0800B5D4: - ldr r1, _0800B600 @ =0x04000208 - ldr r2, _0800B604 @ =gLinkSavedIme - ldrh r0, [r2] - strh r0, [r1] - ldr r4, _0800B5FC @ =0x00000339 - adds r0, r6, r4 - ldrb r0, [r0] - mov r1, r10 - strb r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800B5F4: .4byte sSendNonzeroCheck -_0800B5F8: .4byte gLastSendQueueCount -_0800B5FC: .4byte 0x00000339 -_0800B600: .4byte 0x04000208 -_0800B604: .4byte gLinkSavedIme - thumb_func_end sub_800B520 - - thumb_func_start sub_800B608 -sub_800B608: @ 800B608 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - ldr r2, _0800B664 @ =gLinkSavedIme - ldr r1, _0800B668 @ =0x04000208 - ldrh r0, [r1] - strh r0, [r2] - movs r0, 0 - strh r0, [r1] - ldr r1, _0800B66C @ =gLink - ldr r3, _0800B670 @ =0x00000fbd - adds r0, r1, r3 - ldrb r0, [r0] - mov r12, r1 - cmp r0, 0 - bne _0800B674 - movs r3, 0 - ldrb r0, [r1, 0x3] - cmp r3, r0 - bcs _0800B65A - movs r5, 0 - adds r6, r0, 0 -_0800B63A: - movs r2, 0 - lsls r1, r3, 4 - adds r4, r3, 0x1 - add r1, r9 -_0800B642: - lsls r0, r2, 1 - adds r0, r1 - strh r5, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0800B642 - lsls r0, r4, 24 - lsrs r3, r0, 24 - cmp r3, r6 - bcc _0800B63A -_0800B65A: - movs r0, 0x1 - mov r7, r12 - strb r0, [r7, 0xC] - b _0800B6F0 - .align 2, 0 -_0800B664: .4byte gLinkSavedIme -_0800B668: .4byte 0x04000208 -_0800B66C: .4byte gLink -_0800B670: .4byte 0x00000fbd -_0800B674: - movs r3, 0 - mov r0, r12 - ldrb r1, [r0, 0x3] - cmp r3, r1 - bcs _0800B6CA - ldr r0, _0800B708 @ =0x00000fbc - add r0, r12 - ldrb r0, [r0] - lsls r6, r0, 1 - movs r2, 0xCF - lsls r2, 2 - add r2, r12 - mov r8, r2 - mov r10, r1 -_0800B690: - movs r2, 0 - lsls r1, r3, 4 - adds r4, r3, 0x1 - lsls r0, r3, 1 - mov r7, r9 - adds r5, r1, r7 - adds r0, r3 - lsls r0, 3 - adds r0, r3 - lsls r3, r0, 5 -_0800B6A4: - lsls r1, r2, 1 - adds r1, r5 - movs r7, 0x64 - adds r0, r2, 0 - muls r0, r7 - adds r0, r6, r0 - adds r0, r3 - add r0, r8 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0800B6A4 - lsls r0, r4, 24 - lsrs r3, r0, 24 - cmp r3, r10 - bcc _0800B690 -_0800B6CA: - mov r2, r12 - ldr r0, _0800B70C @ =0x00000fbd - adds r1, r2, r0 - ldrb r0, [r1] - subs r0, 0x1 - movs r3, 0 - strb r0, [r1] - ldr r1, _0800B708 @ =0x00000fbc - adds r2, r1 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x31 - bls _0800B6EC - strb r3, [r2] -_0800B6EC: - mov r2, r12 - strb r3, [r2, 0xC] -_0800B6F0: - ldr r1, _0800B710 @ =0x04000208 - ldr r3, _0800B714 @ =gLinkSavedIme - ldrh r0, [r3] - strh r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800B708: .4byte 0x00000fbc -_0800B70C: .4byte 0x00000fbd -_0800B710: .4byte 0x04000208 -_0800B714: .4byte gLinkSavedIme - thumb_func_end sub_800B608 - - thumb_func_start LinkVSync -LinkVSync: @ 800B718 - push {r4,lr} - ldr r3, _0800B740 @ =gLink - ldrb r4, [r3] - cmp r4, 0 - beq _0800B754 - ldrb r0, [r3, 0x1] - cmp r0, 0x2 - beq _0800B74E - cmp r0, 0x4 - bne _0800B77E - movs r0, 0xD - ldrsb r0, [r3, r0] - cmp r0, 0x8 - bgt _0800B744 - ldrb r0, [r3, 0x10] - cmp r0, 0x1 - beq _0800B74E - movs r0, 0x1 - strb r0, [r3, 0x13] - b _0800B77E - .align 2, 0 -_0800B740: .4byte gLink -_0800B744: - ldrb r0, [r3, 0x13] - cmp r0, 0x1 - beq _0800B77E - movs r0, 0 - strb r0, [r3, 0xD] -_0800B74E: - bl sub_800B820 - b _0800B77E -_0800B754: - ldrb r2, [r3, 0x1] - cmp r2, 0x4 - beq _0800B75E - cmp r2, 0x2 - bne _0800B77E -_0800B75E: - ldr r1, _0800B784 @ =sNumVBlanksWithoutSerialIntr - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - bls _0800B77E - cmp r2, 0x4 - bne _0800B776 - movs r0, 0x2 - strb r0, [r3, 0x13] -_0800B776: - cmp r2, 0x2 - bne _0800B77E - strb r4, [r3, 0x3] - strb r4, [r3, 0xF] -_0800B77E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800B784: .4byte sNumVBlanksWithoutSerialIntr - thumb_func_end LinkVSync - - thumb_func_start Timer3Intr -Timer3Intr: @ 800B788 - push {lr} - bl StopTimer - bl sub_800B820 - pop {r0} - bx r0 - thumb_func_end Timer3Intr - - thumb_func_start SerialCB -SerialCB: @ 800B798 - push {r4,lr} - ldr r4, _0800B7C4 @ =gLink - ldr r0, _0800B7C8 @ =0x04000128 - ldr r1, [r0] - lsls r0, r1, 26 - lsrs r0, 30 - strb r0, [r4, 0x2] - ldrb r0, [r4, 0x1] - cmp r0, 0x2 - beq _0800B7CC - cmp r0, 0x4 - bne _0800B7EA - lsls r0, r1, 25 - lsrs r0, 31 - strb r0, [r4, 0x10] - bl DoRecv - bl DoSend - bl SendRecvDone - b _0800B7EA - .align 2, 0 -_0800B7C4: .4byte gLink -_0800B7C8: .4byte 0x04000128 -_0800B7CC: - bl DoHandshake - lsls r0, 24 - cmp r0, 0 - beq _0800B7EA - ldrb r0, [r4] - cmp r0, 0 - beq _0800B7E6 - movs r0, 0x3 - strb r0, [r4, 0x1] - movs r0, 0x8 - strb r0, [r4, 0xD] - b _0800B7EA -_0800B7E6: - movs r0, 0x4 - strb r0, [r4, 0x1] -_0800B7EA: - ldr r3, _0800B810 @ =gLink - ldrb r0, [r3, 0xD] - adds r0, 0x1 - movs r2, 0 - strb r0, [r3, 0xD] - ldr r1, _0800B814 @ =sNumVBlanksWithoutSerialIntr - strb r2, [r1] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x8 - bne _0800B80A - ldr r0, _0800B818 @ =gLastRecvQueueCount - ldr r2, _0800B81C @ =0x00000fbd - adds r1, r3, r2 - ldrb r1, [r1] - strb r1, [r0] -_0800B80A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800B810: .4byte gLink -_0800B814: .4byte sNumVBlanksWithoutSerialIntr -_0800B818: .4byte gLastRecvQueueCount -_0800B81C: .4byte 0x00000fbd - thumb_func_end SerialCB - - thumb_func_start sub_800B820 -sub_800B820: @ 800B820 - ldr r0, _0800B82C @ =0x04000128 - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] - bx lr - .align 2, 0 -_0800B82C: .4byte 0x04000128 - thumb_func_end sub_800B820 - - thumb_func_start DoHandshake -DoHandshake: @ 800B830 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r5, 0 - ldr r6, _0800B84C @ =0x0000ffff - ldr r0, _0800B850 @ =gLink - ldrb r1, [r0, 0xE] - adds r7, r0, 0 - cmp r1, 0x1 - bne _0800B85C - ldr r1, _0800B854 @ =0x0400012a - ldr r2, _0800B858 @ =0x00008fff - b _0800B860 - .align 2, 0 -_0800B84C: .4byte 0x0000ffff -_0800B850: .4byte gLink -_0800B854: .4byte 0x0400012a -_0800B858: .4byte 0x00008fff -_0800B85C: - ldr r1, _0800B8B4 @ =0x0400012a - ldr r2, _0800B8B8 @ =0x0000b9a0 -_0800B860: - adds r0, r2, 0 - strh r0, [r1] - ldr r2, _0800B8BC @ =gLink + 4 - ldr r3, _0800B8C0 @ =0x04000120 - ldr r0, [r3] - ldr r1, [r3, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0 - movs r1, 0 - str r0, [r3] - str r1, [r3, 0x4] - strb r0, [r2, 0xA] - movs r4, 0 - ldr r0, _0800B8C4 @ =sHandshakePlayerCount - mov r9, r0 - mov r8, r2 - ldr r2, _0800B8C8 @ =0x00008fff - ldr r1, _0800B8CC @ =0x0000ffff - mov r12, r1 -_0800B888: - lsls r0, r4, 1 - add r0, r8 - ldrh r3, [r0] - movs r0, 0x4 - negs r0, r0 - ands r0, r3 - ldr r1, _0800B8B8 @ =0x0000b9a0 - cmp r0, r1 - beq _0800B8A0 - adds r0, r3, 0 - cmp r0, r2 - bne _0800B8D0 -_0800B8A0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r3, 0 - cmp r6, r0 - bls _0800B8D8 - cmp r0, 0 - beq _0800B8D8 - adds r6, r3, 0 - b _0800B8D8 - .align 2, 0 -_0800B8B4: .4byte 0x0400012a -_0800B8B8: .4byte 0x0000b9a0 -_0800B8BC: .4byte gLink + 4 -_0800B8C0: .4byte 0x04000120 -_0800B8C4: .4byte sHandshakePlayerCount -_0800B8C8: .4byte 0x00008fff -_0800B8CC: .4byte 0x0000ffff -_0800B8D0: - cmp r0, r12 - beq _0800B8E2 - movs r5, 0 - b _0800B8E2 -_0800B8D8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0800B888 -_0800B8E2: - strb r5, [r7, 0x3] - adds r0, r5, 0 - cmp r0, 0x1 - bls _0800B912 - mov r2, r9 - ldrb r2, [r2] - cmp r0, r2 - bne _0800B904 - ldrh r1, [r7, 0x4] - ldr r0, _0800B900 @ =0x00008fff - cmp r1, r0 - bne _0800B904 - movs r0, 0x1 - b _0800B91E - .align 2, 0 -_0800B900: .4byte 0x00008fff -_0800B904: - ldrb r0, [r7, 0x3] - cmp r0, 0x1 - bls _0800B912 - movs r0, 0x3 - ands r6, r0 - adds r0, r6, 0x1 - b _0800B914 -_0800B912: - movs r0, 0 -_0800B914: - strb r0, [r7, 0xF] - ldrb r0, [r7, 0x3] - mov r1, r9 - strb r0, [r1] - movs r0, 0 -_0800B91E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end DoHandshake - - thumb_func_start DoRecv -DoRecv: @ 800B92C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r0, _0800B984 @ =0x04000120 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, _0800B988 @ =gLink - ldrb r1, [r0, 0x16] - adds r6, r0, 0 - cmp r1, 0 - bne _0800B990 - movs r4, 0 - ldr r7, _0800B98C @ =sChecksumAvailable - ldrb r0, [r6, 0x3] - cmp r4, r0 - bcs _0800B97A - adds r5, r6, 0 - ldrh r1, [r6, 0x14] - adds r3, r7, 0 - adds r2, r6, 0 -_0800B95A: - lsls r0, r4, 1 - add r0, sp - ldrh r0, [r0] - cmp r1, r0 - beq _0800B96E - ldrb r0, [r3] - cmp r0, 0 - beq _0800B96E - movs r0, 0x1 - strb r0, [r5, 0x11] -_0800B96E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r2, 0x3] - cmp r4, r0 - bcc _0800B95A -_0800B97A: - movs r0, 0 - strh r0, [r6, 0x14] - movs r0, 0x1 - strb r0, [r7] - b _0800BA30 - .align 2, 0 -_0800B984: .4byte 0x04000120 -_0800B988: .4byte gLink -_0800B98C: .4byte sChecksumAvailable -_0800B990: - ldr r2, _0800BA00 @ =0x00000fbc - adds r1, r6, r2 - adds r2, 0x1 - adds r0, r6, r2 - ldrb r2, [r0] - ldrb r1, [r1] - adds r0, r2, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x31 - bls _0800B9AC - subs r0, 0x32 - lsls r0, 24 - lsrs r0, 24 -_0800B9AC: - cmp r2, 0x31 - bhi _0800BA08 - movs r4, 0 - ldrb r1, [r6, 0x3] - cmp r4, r1 - bcs _0800BA0C - adds r5, r6, 0 - ldr r7, _0800BA04 @ =sRecvNonzeroCheck - lsls r0, 1 - mov r12, r0 - movs r2, 0xCF - lsls r2, 2 - adds r2, r6 - mov r8, r2 -_0800B9C8: - lsls r1, r4, 1 - mov r2, sp - adds r0, r2, r1 - ldrh r3, [r0] - ldrh r2, [r5, 0x14] - adds r0, r3, r2 - strh r0, [r5, 0x14] - ldrh r0, [r7] - orrs r0, r3 - strh r0, [r7] - ldrb r2, [r5, 0x17] - movs r0, 0x64 - muls r0, r2 - add r0, r12 - adds r1, r4 - lsls r1, 3 - adds r1, r4 - lsls r1, 5 - adds r0, r1 - add r0, r8 - strh r3, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5, 0x3] - cmp r4, r0 - bcc _0800B9C8 - b _0800BA0C - .align 2, 0 -_0800BA00: .4byte 0x00000fbc -_0800BA04: .4byte sRecvNonzeroCheck -_0800BA08: - movs r0, 0x2 - strb r0, [r6, 0x12] -_0800BA0C: - ldrb r0, [r6, 0x17] - adds r0, 0x1 - strb r0, [r6, 0x17] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - bne _0800BA30 - ldr r2, _0800BA3C @ =sRecvNonzeroCheck - ldrh r0, [r2] - cmp r0, 0 - beq _0800BA30 - ldr r1, _0800BA40 @ =0x00000fbd - adds r0, r6, r1 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - movs r0, 0 - strh r0, [r2] -_0800BA30: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800BA3C: .4byte sRecvNonzeroCheck -_0800BA40: .4byte 0x00000fbd - thumb_func_end DoRecv - - thumb_func_start DoSend -DoSend: @ 800BA44 - push {r4,lr} - ldr r0, _0800BA80 @ =gLink - ldrb r1, [r0, 0x16] - adds r4, r0, 0 - cmp r1, 0x8 - bne _0800BA96 - ldr r1, _0800BA84 @ =0x0400012a - ldrh r0, [r4, 0x14] - strh r0, [r1] - ldr r1, _0800BA88 @ =sSendBufferEmpty - ldrb r2, [r1] - cmp r2, 0 - bne _0800BA90 - ldr r0, _0800BA8C @ =0x00000339 - adds r1, r4, r0 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - movs r0, 0xCE - lsls r0, 2 - adds r1, r4, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x31 - bls _0800BAEC - strb r2, [r1] - b _0800BAEC - .align 2, 0 -_0800BA80: .4byte gLink -_0800BA84: .4byte 0x0400012a -_0800BA88: .4byte sSendBufferEmpty -_0800BA8C: .4byte 0x00000339 -_0800BA90: - movs r0, 0 - strb r0, [r1] - b _0800BAEC -_0800BA96: - ldr r1, _0800BABC @ =sSendBufferEmpty - ldrb r0, [r1] - cmp r0, 0 - bne _0800BAB2 - ldr r2, _0800BAC0 @ =0x00000339 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0800BAAC - movs r0, 0x1 - strb r0, [r1] -_0800BAAC: - ldrb r0, [r1] - cmp r0, 0 - beq _0800BAC8 -_0800BAB2: - ldr r1, _0800BAC4 @ =0x0400012a - movs r0, 0 - strh r0, [r1] - b _0800BAE6 - .align 2, 0 -_0800BABC: .4byte sSendBufferEmpty -_0800BAC0: .4byte 0x00000339 -_0800BAC4: .4byte 0x0400012a -_0800BAC8: - ldr r3, _0800BAF4 @ =0x0400012a - movs r1, 0xCE - lsls r1, 2 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, 1 - ldrb r2, [r4, 0x16] - movs r1, 0x64 - muls r1, r2 - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x18 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] -_0800BAE6: - ldrb r0, [r4, 0x16] - adds r0, 0x1 - strb r0, [r4, 0x16] -_0800BAEC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800BAF4: .4byte 0x0400012a - thumb_func_end DoSend - - thumb_func_start StopTimer -StopTimer: @ 800BAF8 - push {lr} - ldr r0, _0800BB18 @ =gLink - ldrb r0, [r0] - cmp r0, 0 - beq _0800BB14 - ldr r2, _0800BB1C @ =0x0400010e - ldrh r1, [r2] - ldr r0, _0800BB20 @ =0x0000ff7f - ands r0, r1 - strh r0, [r2] - ldr r1, _0800BB24 @ =0x0400010c - ldr r2, _0800BB28 @ =0x0000ff3b - adds r0, r2, 0 - strh r0, [r1] -_0800BB14: - pop {r0} - bx r0 - .align 2, 0 -_0800BB18: .4byte gLink -_0800BB1C: .4byte 0x0400010e -_0800BB20: .4byte 0x0000ff7f -_0800BB24: .4byte 0x0400010c -_0800BB28: .4byte 0x0000ff3b - thumb_func_end StopTimer - - thumb_func_start SendRecvDone -SendRecvDone: @ 800BB2C - push {lr} - ldr r1, _0800BB40 @ =gLink - ldrb r0, [r1, 0x17] - cmp r0, 0x8 - bne _0800BB44 - movs r0, 0 - strb r0, [r1, 0x16] - strb r0, [r1, 0x17] - b _0800BB54 - .align 2, 0 -_0800BB40: .4byte gLink -_0800BB44: - ldrb r0, [r1] - cmp r0, 0 - beq _0800BB54 - ldr r0, _0800BB58 @ =0x0400010e - ldrh r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strh r1, [r0] -_0800BB54: - pop {r0} - bx r0 - .align 2, 0 -_0800BB58: .4byte 0x0400010e - thumb_func_end SendRecvDone - - thumb_func_start ResetSendBuffer -ResetSendBuffer: @ 800BB5C - push {r4-r6,lr} - ldr r1, _0800BBA4 @ =gLink - ldr r2, _0800BBA8 @ =0x00000339 - adds r0, r1, r2 - movs r2, 0 - strb r2, [r0] - movs r3, 0xCE - lsls r3, 2 - adds r0, r1, r3 - strb r2, [r0] - movs r0, 0 - movs r6, 0x64 - adds r5, r1, 0 - adds r5, 0x18 - ldr r4, _0800BBAC @ =0x0000efff -_0800BB7A: - movs r2, 0 - adds r1, r0, 0x1 - adds r3, r0, 0 - muls r3, r6 -_0800BB82: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r5 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x31 - bls _0800BB82 - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _0800BB7A - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800BBA4: .4byte gLink -_0800BBA8: .4byte 0x00000339 -_0800BBAC: .4byte 0x0000efff - thumb_func_end ResetSendBuffer - - thumb_func_start ResetRecvBuffer -ResetRecvBuffer: @ 800BBB0 - push {r4-r7,lr} - ldr r1, _0800BC10 @ =gLink - ldr r2, _0800BC14 @ =0x00000fbd - adds r0, r1, r2 - movs r2, 0 - strb r2, [r0] - ldr r3, _0800BC18 @ =0x00000fbc - adds r0, r1, r3 - strb r2, [r0] - movs r0, 0x64 - mov r12, r0 - movs r3, 0xCF - lsls r3, 2 - adds r7, r1, r3 - ldr r6, _0800BC1C @ =0x0000efff -_0800BBCE: - movs r3, 0 - lsls r0, r2, 1 - adds r5, r2, 0x1 - adds r0, r2 - lsls r0, 3 - adds r0, r2 - lsls r4, r0, 5 -_0800BBDC: - movs r2, 0 - adds r1, r3, 0x1 - mov r0, r12 - muls r0, r3 - adds r3, r0, 0 -_0800BBE6: - lsls r0, r2, 1 - adds r0, r3 - adds r0, r4 - adds r0, r7 - strh r6, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x31 - bls _0800BBE6 - lsls r0, r1, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _0800BBDC - lsls r0, r5, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0800BBCE - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800BC10: .4byte gLink -_0800BC14: .4byte 0x00000fbd -_0800BC18: .4byte 0x00000fbc -_0800BC1C: .4byte 0x0000efff - thumb_func_end ResetRecvBuffer - - .align 2, 0 @ Don't pad with nop. -- cgit v1.2.3