diff options
32 files changed, 608 insertions, 452 deletions
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 @@ -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 @@ -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 diff --git a/include/battle_anim.h b/include/battle_anim.h index 5929a318e..0406c78a0 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -19,28 +19,28 @@ enum { BG_ANIM_SCREEN_SIZE, BG_ANIM_AREA_OVERFLOW_MODE, - BG_ANIM2, - BG_ANIM3, + BG_ANIM_MOSAIC, + BG_ANIM_CHAR_BASE_BLOCK, BG_ANIM_PRIORITY, - BG_ANIM_5, - BG_ANIM_6 + BG_ANIM_PALETTES_MODE, + BG_ANIM_SCREEN_BASE_BLOCK }; -struct UnknownAnimStruct2 +struct BattleAnimBgData { - void *unk0; - u16 *unk4; - u8 unk8; - u8 unk9; - u16 unkA; - u16 unkC; + u8 *bgTiles; + u16 *bgTilemap; + u8 paletteId; + u8 bgId; + u16 tilesOffset; + u16 unused; }; struct BattleAnimBackground { - void *image; - void *palette; - void *tilemap; + const u32 *image; + const u32 *palette; + const u32 *tilemap; }; #define ANIM_ARGS_COUNT 8 @@ -53,7 +53,6 @@ extern bool8 gAnimScriptActive; extern u8 gAnimVisualTaskCount; extern u8 gAnimSoundTaskCount; extern struct DisableStruct *gAnimDisableStructPtr; -extern u32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; @@ -64,8 +63,8 @@ extern u8 gBattleAnimTarget; extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT]; extern u8 gUnknown_02038440; extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT]; -extern u16 gUnknown_2037EEC; -extern s32 gUnknown_2037EE8; +extern u16 gAnimMovePower; +extern s32 gAnimMoveDmg; void ClearBattleAnimationVars(void); void DoMoveAnim(u16 move); @@ -80,7 +79,7 @@ s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); s16 sub_80A52EC(s16 a); s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); -bool8 sub_8072DF0(u8 battlerId); +bool8 IsBattlerSpriteVisible(u8 battlerId); // battle_anim_80FE840.s void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); @@ -92,18 +91,32 @@ void sub_80A6EEC(struct Sprite *sprite); void sub_80A68D4(struct Sprite *sprite); void sub_80A6F3C(struct Sprite *sprite); void sub_80A8278(void); -void sub_80A6B30(struct UnknownAnimStruct2*); -void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); +void sub_80A6B30(struct BattleAnimBgData *); +void sub_80A6B90(struct BattleAnimBgData *, u32 arg1); u8 sub_80A82E4(u8 bank); bool8 AnimateBallThrow(struct Sprite *sprite); enum { - BANK_X_POS, - BANK_Y_POS, + BATTLER_COORD_X, + BATTLER_COORD_Y, + BATTLER_COORD_X_2, + BATTLER_COORD_Y_PIC_OFFSET, + BATTLER_COORD_Y_PIC_OFFSET_DEFAULT, }; -u8 GetBankPosition(u8 bank, u8 attributeId); +enum +{ + BATTLER_COORD_ATTR_HEIGHT, + BATTLER_COORD_ATTR_WIDTH, + BATTLER_COORD_ATTR_TOP, + BATTLER_COORD_ATTR_BOTTOM, + BATTLER_COORD_ATTR_LEFT, + BATTLER_COORD_ATTR_RIGHT, + BATTLER_COORD_ATTR_RAW_BOTTOM, +}; + +u8 GetBattlerSpriteCoord(u8 bank, u8 attributeId); bool8 IsBankSpritePresent(u8 bank); void sub_80A6C68(u8 arg0); @@ -126,13 +139,28 @@ u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 bank, u32 arg2, u8 ballId); // battle_anim_mons.s -void sub_8074DC4(struct Sprite * sprite); -void sub_8074E14(struct Sprite * sprite); -void sub_80754B8(struct Sprite * sprite); -void sub_80758E0(u8 spriteId, u8 b); -void sub_8075980(u8 spriteId); -void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation); -bool8 sub_8073788(void); +void TranslateMonSpriteLinear(struct Sprite * sprite); +void TranslateMonSpriteLinearFixedPoint(struct Sprite * sprite); +void InitSpriteDataForLinearTranslation(struct Sprite * sprite); +void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 b); +void ResetSpriteRotScale(u8 spriteId); +void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation); +bool8 IsContest(void); void sub_80759DC(u8 spriteId); +// battle_anim_mon_movement.c +void AnimTask_ShakeMon(u8 taskId); +void AnimTask_ShakeMon2(u8 taskId); +void AnimTask_ShakeMonInPlace(u8 taskId); +void AnimTask_ShakeAndSinkMon(u8 taskId); +void AnimTask_TranslateMonElliptical(u8 taskId); +void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId); +void AnimTask_WindUpLunge(u8 taskId); +void sub_80995FC(u8 taskId); +void AnimTask_SwayMon(u8 taskId); +void AnimTask_ScaleMonAndRestore(u8 taskId); +void sub_8099980(u8 taskId); +void sub_8099A78(u8 taskId); +void sub_8099BD4(u8 taskId); + #endif // GUARD_BATTLE_ANIM_H diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index 27e6ef28c..88fbce6da 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -6,43 +6,91 @@ #define abs(x) ((x) < 0 ? -(x) : (x)) -void sub_8098A6C(u8 taskId); -void sub_8098C08(u8 taskId); -void sub_8098D54(u8 taskId); -void sub_8098EF0(u8 taskId); -void sub_8099004(u8 taskId); -void sub_80990AC(struct Sprite * sprite); -void sub_8099120(struct Sprite * sprite); -void sub_8099144(struct Sprite * sprite); -void sub_8099190(struct Sprite * sprite); -void sub_80991B4(struct Sprite * sprite); -void sub_8099270(struct Sprite * sprite); -void sub_80992E0(struct Sprite * sprite); -void sub_8099394(struct Sprite * sprite); -void sub_809946C(struct Sprite * sprite); -void sub_8099530(u8 taskId); -void sub_8099594(u8 taskId); -void sub_80996B8(u8 taskId); -void sub_8099788(u8 taskId); -void sub_8099908(u8 taskId); -void sub_8099B54(u8 taskId); -void sub_8099CB8(u8 taskId); - -const struct SpriteTemplate gUnknown_83D4E4C[] = { - { - 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80990AC - }, { - 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8099144 - }, { - 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80991B4 - }, { - 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80992E0 - }, { - 0, 0, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8099394 - } +static void AnimTask_ShakeMonStep(u8 taskId); +static void AnimTask_ShakeMon2Step(u8 taskId); +static void AnimTask_ShakeMonInPlaceStep(u8 taskId); +static void AnimTask_ShakeAndSinkMonStep(u8 taskId); +static void AnimTask_TranslateMonEllipticalStep(u8 taskId); +static void DoHorizontalLunge(struct Sprite * sprite); +static void ReverseHorizontalLungeDirection(struct Sprite * sprite); +static void DoVerticalDip(struct Sprite * sprite); +static void ReverseVerticalDipDirection(struct Sprite * sprite); +static void SlideMonToOriginalPos(struct Sprite * sprite); +static void SlideMonToOriginalPosStep(struct Sprite * sprite); +static void SlideMonToOffset(struct Sprite * sprite); +static void sub_8099394(struct Sprite * sprite); +static void sub_809946C(struct Sprite * sprite); +static void AnimTask_WindUpLungePart1(u8 taskId); +static void AnimTask_WindUpLungePart2(u8 taskId); +static void sub_80996B8(u8 taskId); +static void AnimTask_SwayMonStep(u8 taskId); +static void AnimTask_ScaleMonAndRestoreStep(u8 taskId); +static void sub_8099B54(u8 taskId); +static void sub_8099CB8(u8 taskId); + +const struct SpriteTemplate gHorizontalLungeSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = DoHorizontalLunge, +}; + +const struct SpriteTemplate gVerticalDipSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = DoVerticalDip, +}; + +const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SlideMonToOriginalPos, +}; + +const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SlideMonToOffset, +}; + +const struct SpriteTemplate gUnknown_83D4EB4 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8099394, }; -void sub_80989F8(u8 taskId) +// Task to facilitate simple shaking of a pokemon's picture in battle. +// The shaking alternates between the original position and the target position. +// arg 0: anim battler +// arg 1: x pixel offset +// arg 2: y pixel offset +// arg 3: num times to shake +// arg 4: frame delay +void AnimTask_ShakeMon(u8 taskId) { u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); @@ -58,12 +106,12 @@ void sub_80989F8(u8 taskId) gTasks[taskId].data[3] = gBattleAnimArgs[4]; gTasks[taskId].data[4] = gBattleAnimArgs[1]; gTasks[taskId].data[5] = gBattleAnimArgs[2]; - gTasks[taskId].func = sub_8098A6C; + gTasks[taskId].func = AnimTask_ShakeMonStep; gTasks[taskId].func(taskId); } } -void sub_8098A6C(u8 taskId) +static void AnimTask_ShakeMonStep(u8 taskId) { if (gTasks[taskId].data[3] == 0) { @@ -87,7 +135,14 @@ void sub_8098A6C(u8 taskId) gTasks[taskId].data[3]--; } -void sub_8098B1C(u8 taskId) +// Task to facilitate simple shaking of a pokemon's picture in battle. +// The shaking alternates between the positive and negative versions of the specified pixel offsets. +// arg 0: anim battler +// arg 1: x pixel offset +// arg 2: y pixel offset +// arg 3: num times to shake +// arg 4: frame delay +void AnimTask_ShakeMon2(u8 taskId) { bool8 abort = FALSE; u8 spriteId; @@ -116,7 +171,7 @@ void sub_8098B1C(u8 taskId) battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); break; } - if (!sub_8072DF0(battlerId)) + if (!IsBattlerSpriteVisible(battlerId)) abort = TRUE; spriteId = gBattlerSpriteIds[battlerId]; } @@ -134,12 +189,12 @@ void sub_8098B1C(u8 taskId) gTasks[taskId].data[3] = gBattleAnimArgs[4]; gTasks[taskId].data[4] = gBattleAnimArgs[1]; gTasks[taskId].data[5] = gBattleAnimArgs[2]; - gTasks[taskId].func = sub_8098C08; + gTasks[taskId].func = AnimTask_ShakeMon2Step; gTasks[taskId].func(taskId); } } -void sub_8098C08(u8 taskId) +static void AnimTask_ShakeMon2Step(u8 taskId) { if (gTasks[taskId].data[3] == 0) { @@ -163,7 +218,15 @@ void sub_8098C08(u8 taskId) gTasks[taskId].data[3]--; } -void sub_8098CD0(u8 taskId) +// Task to facilitate simple shaking of a pokemon's picture in battle. +// The shaking alternates between the positive and negative versions of the specified pixel offsets +// with respect to the current location of the mon's picture. +// arg 0: battler +// arg 1: x offset +// arg 2: y offset +// arg 3: num shakes +// arg 4: delay +void AnimTask_ShakeMonInPlace(u8 taskId) { u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); @@ -180,12 +243,12 @@ void sub_8098CD0(u8 taskId) gTasks[taskId].data[4] = gBattleAnimArgs[4]; gTasks[taskId].data[5] = gBattleAnimArgs[1] * 2; gTasks[taskId].data[6] = gBattleAnimArgs[2] * 2; - gTasks[taskId].func = sub_8098D54; + gTasks[taskId].func = AnimTask_ShakeMonInPlaceStep; gTasks[taskId].func(taskId); } } -void sub_8098D54(u8 taskId) +static void AnimTask_ShakeMonInPlaceStep(u8 taskId) { if (gTasks[taskId].data[3] == 0) { @@ -219,7 +282,13 @@ void sub_8098D54(u8 taskId) gTasks[taskId].data[3]--; } -void sub_8098E90(u8 taskId) +// Shakes a mon bg horizontally and moves it downward linearly. +// arg 0: battler +// arg 1: x offset +// arg 2: frame delay between each movement +// arg 3: downward speed (subpixel) +// arg 4: duration +void AnimTask_ShakeAndSinkMon(u8 taskId) { u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); @@ -229,11 +298,11 @@ void sub_8098E90(u8 taskId) gTasks[taskId].data[2] = gBattleAnimArgs[2]; gTasks[taskId].data[3] = gBattleAnimArgs[3]; gTasks[taskId].data[4] = gBattleAnimArgs[4]; - gTasks[taskId].func = sub_8098EF0; + gTasks[taskId].func = AnimTask_ShakeAndSinkMonStep; gTasks[taskId].func(taskId); } -void sub_8098EF0(u8 taskId) +static void AnimTask_ShakeAndSinkMonStep(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; s16 data1 = gTasks[taskId].data[1]; @@ -251,25 +320,32 @@ void sub_8098EF0(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8098F84(u8 taskId) +// Moves a mon bg picture along an elliptical path that begins +// and ends at the mon's origin location. +// arg 0: battler +// arg 1: ellipse width +// arg 2: ellipse height +// arg 3: num loops +// arg 4: speed (valid values are 0-5) +void AnimTask_TranslateMonElliptical(u8 taskId) { - u8 r6 = 1; + u8 wavePeriod = 1; u8 i; u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); if (gBattleAnimArgs[4] > 5) gBattleAnimArgs[4] = 5; for (i = 0; i < gBattleAnimArgs[4]; i++) - r6 *= 2; + wavePeriod *= 2; gTasks[taskId].data[0] = spriteId; gTasks[taskId].data[1] = gBattleAnimArgs[1]; gTasks[taskId].data[2] = gBattleAnimArgs[2]; gTasks[taskId].data[3] = gBattleAnimArgs[3]; - gTasks[taskId].data[4] = r6; - gTasks[taskId].func = sub_8099004; + gTasks[taskId].data[4] = wavePeriod; + gTasks[taskId].func = AnimTask_TranslateMonEllipticalStep; gTasks[taskId].func(taskId); } -void sub_8099004(u8 taskId) +static void AnimTask_TranslateMonEllipticalStep(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gSprites[spriteId].pos2.x = Sin(gTasks[taskId].data[5], gTasks[taskId].data[1]); @@ -287,14 +363,26 @@ void sub_8099004(u8 taskId) } } -void sub_809907C(u8 taskId) +// Moves a mon bg picture along an elliptical path that begins +// and ends at the mon's origin location. Reverses the direction +// of the path if it's not on the player's side of the battle. +// arg 0: battler +// arg 1: ellipse width +// arg 2: ellipse height +// arg 3: num loops +// arg 4: speed (valid values are 0-5) +void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) { if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sub_8098F84(taskId); + AnimTask_TranslateMonElliptical(taskId); } -void sub_80990AC(struct Sprite * sprite) +// Performs a simple horizontal lunge, where the mon moves +// horizontally, and then moves back in the opposite direction. +// arg 0: duration of single lunge direction +// arg 1: x pixel delta that is applied each frame +static void DoHorizontalLunge(struct Sprite * sprite) { sprite->invisible = TRUE; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -305,19 +393,24 @@ void sub_80990AC(struct Sprite * sprite) sprite->data[2] = 0; sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker]; sprite->data[4] = gBattleAnimArgs[0]; - StoreSpriteCallbackInData6(sprite, sub_8099120); - sprite->callback = sub_8074DC4; + StoreSpriteCallbackInData6(sprite, ReverseHorizontalLungeDirection); + sprite->callback = TranslateMonSpriteLinear; } -void sub_8099120(struct Sprite * sprite) +static void ReverseHorizontalLungeDirection(struct Sprite * sprite) { sprite->data[0] = sprite->data[4]; sprite->data[1] = -sprite->data[1]; - sprite->callback = sub_8074DC4; + sprite->callback = TranslateMonSpriteLinear; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_8099144(struct Sprite * sprite) +// Performs a simple vertical dipping motion, where moves vertically, and then +// moves back in the opposite direction. +// arg 0: duration of single dip direction +// arg 1: y pixel delta that is applied each frame +// arg 2: battler +static void DoVerticalDip(struct Sprite * sprite) { u8 spriteId; sprite->invisible = TRUE; @@ -327,19 +420,24 @@ void sub_8099144(struct Sprite * sprite) sprite->data[2] = gBattleAnimArgs[1]; sprite->data[3] = spriteId; sprite->data[4] = gBattleAnimArgs[0]; - StoreSpriteCallbackInData6(sprite, sub_8099190); - sprite->callback = sub_8074DC4; + StoreSpriteCallbackInData6(sprite, ReverseVerticalDipDirection); + sprite->callback = TranslateMonSpriteLinear; } -void sub_8099190(struct Sprite * sprite) +static void ReverseVerticalDipDirection(struct Sprite * sprite) { sprite->data[0] = sprite->data[4]; sprite->data[2] = -sprite->data[2]; - sprite->callback = sub_8074DC4; + sprite->callback = TranslateMonSpriteLinear; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -void sub_80991B4(struct Sprite * sprite) +// Linearly slides a mon's bg picture back to its original sprite position. +// The sprite parameter is a dummy sprite used for facilitating the movement with its callback. +// arg 0: 1 = target or 0 = attacker +// arg 1: direction (0 = horizontal and vertical, 1 = horizontal only, 2 = vertical only) +// arg 2: duration +static void SlideMonToOriginalPos(struct Sprite * sprite) { u8 spriteId; if (gBattleAnimArgs[0] == 0) @@ -351,7 +449,7 @@ void sub_80991B4(struct Sprite * sprite) sprite->data[2] = gSprites[spriteId].pos1.x; sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y; sprite->data[4] = gSprites[spriteId].pos1.y; - sub_80754B8(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = 0; sprite->data[4] = 0; sprite->data[5] = gSprites[spriteId].pos2.x; @@ -363,10 +461,10 @@ void sub_80991B4(struct Sprite * sprite) sprite->data[1] = 0; sprite->data[7] = gBattleAnimArgs[1]; sprite->data[7] |= spriteId << 8; - sprite->callback = sub_8099270; + sprite->callback = SlideMonToOriginalPosStep; } -void sub_8099270(struct Sprite * sprite) +static void SlideMonToOriginalPosStep(struct Sprite * sprite) { u8 data7 = sprite->data[7]; struct Sprite *otherSprite = &gSprites[sprite->data[7] >> 8]; @@ -388,7 +486,15 @@ void sub_8099270(struct Sprite * sprite) } } -void sub_80992E0(struct Sprite * sprite) +// Linearly translates a mon to a target offset. The horizontal offset +// is mirrored for the opponent's pokemon, and the vertical offset +// is only mirrored if arg 3 is set to 1. +// arg 0: 0 = attacker, 1 = target +// arg 1: target x pixel offset +// arg 2: target y pixel offset +// arg 3: mirror vertical translation for opposite battle side +// arg 4: duration +static void SlideMonToOffset(struct Sprite * sprite) { u8 battlerId; u8 spriteId; @@ -408,16 +514,16 @@ void sub_80992E0(struct Sprite * sprite) sprite->data[2] = gSprites[spriteId].pos1.x + gBattleAnimArgs[1]; sprite->data[3] = gSprites[spriteId].pos1.y; sprite->data[4] = gSprites[spriteId].pos1.y + gBattleAnimArgs[2]; - sub_80754B8(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = 0; sprite->data[4] = 0; sprite->data[5] = spriteId; sprite->invisible = TRUE; StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); - sprite->callback = sub_8074E14; + sprite->callback = TranslateMonSpriteLinearFixedPoint; } -void sub_8099394(struct Sprite * sprite) +static void sub_8099394(struct Sprite * sprite) { u8 battlerId; u8 spriteId; @@ -438,7 +544,7 @@ void sub_8099394(struct Sprite * sprite) sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1]; sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y; sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2]; - sub_80754B8(sprite); + InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = gSprites[spriteId].pos2.x << 8; sprite->data[4] = gSprites[spriteId].pos2.y << 8; sprite->data[5] = spriteId; @@ -447,19 +553,29 @@ void sub_8099394(struct Sprite * sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); else StoreSpriteCallbackInData6(sprite, sub_809946C); - sprite->callback = sub_8074E14; + sprite->callback = TranslateMonSpriteLinearFixedPoint; } -void sub_809946C(struct Sprite * sprite) +static void sub_809946C(struct Sprite * sprite) { gSprites[sprite->data[5]].pos2.x = 0; gSprites[sprite->data[5]].pos2.y = 0; DestroyAnimSprite(sprite); } -void sub_809949C(u8 taskId) +// Task to facilitate a two-part translation animation, in which the sprite +// is first translated in an arc to one position. Then, it "lunges" to a target +// x offset. Used in TAKE_DOWN, for example. +// arg 0: anim bank +// arg 1: horizontal speed (subpixel) +// arg 2: wave amplitude +// arg 3: first duration +// arg 4: delay before starting lunge +// arg 5: target x offset for lunge +// arg 6: lunge duration +void AnimTask_WindUpLunge(u8 taskId) { - u16 r7 = 0x8000 / gBattleAnimArgs[3]; + u16 wavePeriod = 0x8000 / gBattleAnimArgs[3]; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -472,11 +588,11 @@ void sub_809949C(u8 taskId) gTasks[taskId].data[4] = gBattleAnimArgs[4]; gTasks[taskId].data[5] = gBattleAnimArgs[5] * 256 / gBattleAnimArgs[6]; gTasks[taskId].data[6] = gBattleAnimArgs[6]; - gTasks[taskId].data[7] = r7; - gTasks[taskId].func = sub_8099530; + gTasks[taskId].data[7] = wavePeriod; + gTasks[taskId].func = AnimTask_WindUpLungePart1; } -void sub_8099530(u8 taskId) +static void AnimTask_WindUpLungePart1(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gTasks[taskId].data[11] += gTasks[taskId].data[1]; @@ -484,10 +600,10 @@ void sub_8099530(u8 taskId) gSprites[spriteId].pos2.y = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]); gTasks[taskId].data[10] += gTasks[taskId].data[7]; if (--gTasks[taskId].data[3] == 0) - gTasks[taskId].func = sub_8099594; + gTasks[taskId].func = AnimTask_WindUpLungePart2; } -void sub_8099594(u8 taskId) +static void AnimTask_WindUpLungePart2(u8 taskId) { u8 spriteId; @@ -514,7 +630,7 @@ void sub_80995FC(u8 taskId) spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); break; case 2: - if (!sub_8072DF0(gBattleAnimAttacker ^ BIT_FLANK)) + if (!IsBattlerSpriteVisible(gBattleAnimAttacker ^ BIT_FLANK)) { DestroyAnimVisualTask(taskId); return; @@ -522,7 +638,7 @@ void sub_80995FC(u8 taskId) spriteId = gBattlerSpriteIds[gBattleAnimAttacker ^ BIT_FLANK]; break; case 3: - if (!sub_8072DF0(gBattleAnimTarget ^ BIT_FLANK)) + if (!IsBattlerSpriteVisible(gBattleAnimTarget ^ BIT_FLANK)) { DestroyAnimVisualTask(taskId); return; @@ -541,7 +657,7 @@ void sub_80995FC(u8 taskId) gTasks[taskId].func = sub_80996B8; } -void sub_80996B8(u8 taskId) +static void sub_80996B8(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gSprites[spriteId].pos2.x += gTasks[taskId].data[1]; @@ -549,7 +665,15 @@ void sub_80996B8(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8099704(u8 taskId) +// Task that facilitates translating the mon bg picture back and forth +// in a swaying motion (uses Sine wave). It can sway either horizontally +// or vertically, but not both. +// arg 0: direction (0 = horizontal, 1 = vertical) +// arg 1: wave amplitude +// arg 2: wave period +// arg 3: num sways +// arg 4: which mon (0 = attacker, 1 = target) +void AnimTask_SwayMon(u8 taskId) { u8 spriteId; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -565,32 +689,32 @@ void sub_8099704(u8 taskId) else gTasks[taskId].data[5] = gBattleAnimTarget; gTasks[taskId].data[12] = 1; - gTasks[taskId].func = sub_8099788; + gTasks[taskId].func = AnimTask_SwayMonStep; } -void sub_8099788(u8 taskId) +static void AnimTask_SwayMonStep(u8 taskId) { u8 spriteId; - u32 r8; - s16 r5; - u16 tmp; + u32 waveIndex; + s16 sineValue; + u16 sineIndex; spriteId = gTasks[taskId].data[4]; - tmp = gTasks[taskId].data[10] + gTasks[taskId].data[2]; - gTasks[taskId].data[10] = tmp; - r8 = tmp >> 8; - r5 = Sin(r8, gTasks[taskId].data[1]); + sineIndex = gTasks[taskId].data[10] + gTasks[taskId].data[2]; + gTasks[taskId].data[10] = sineIndex; + waveIndex = sineIndex >> 8; + sineValue = Sin(waveIndex, gTasks[taskId].data[1]); if (gTasks[taskId].data[0] == 0) { - gSprites[spriteId].pos2.x = r5; + gSprites[spriteId].pos2.x = sineValue; } else if (GetBattlerSide(gTasks[taskId].data[5]) == B_SIDE_PLAYER) { - gSprites[spriteId].pos2.y = abs(r5); + gSprites[spriteId].pos2.y = abs(sineValue); } else - gSprites[spriteId].pos2.y = -abs(r5); - if ((r8 > 0x7F && gTasks[taskId].data[11] == 0 && gTasks[taskId].data[12] == 1) || (r8 < 0x7F && gTasks[taskId].data[11] == 1 && gTasks[taskId].data[12] == 0)) + gSprites[spriteId].pos2.y = -abs(sineValue); + if ((waveIndex > 0x7F && gTasks[taskId].data[11] == 0 && gTasks[taskId].data[12] == 1) || (waveIndex < 0x7F && gTasks[taskId].data[11] == 1 && gTasks[taskId].data[12] == 0)) { gTasks[taskId].data[11] ^= 1; gTasks[taskId].data[12] ^= 1; @@ -603,10 +727,16 @@ void sub_8099788(u8 taskId) } } -void sub_80998B0(u8 taskId) +// Scales a mon's sprite, and then scales back to its original dimensions. +// arg 0: x scale delta +// arg 1: y scale delta +// arg 2: duration +// arg 3: anim bank +// arg 4: sprite object mode +void AnimTask_ScaleMonAndRestore(u8 taskId) { u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[3]); - sub_80758E0(spriteId, gBattleAnimArgs[4]); + PrepareBattlerSpriteForRotScale(spriteId, gBattleAnimArgs[4]); gTasks[taskId].data[0] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[1]; gTasks[taskId].data[2] = gBattleAnimArgs[2]; @@ -614,16 +744,16 @@ void sub_80998B0(u8 taskId) gTasks[taskId].data[4] = spriteId; gTasks[taskId].data[10] = 0x100; gTasks[taskId].data[11] = 0x100; - gTasks[taskId].func = sub_8099908; + gTasks[taskId].func = AnimTask_ScaleMonAndRestoreStep; } -void sub_8099908(u8 taskId) +static void AnimTask_ScaleMonAndRestoreStep(u8 taskId) { u8 spriteId; gTasks[taskId].data[10] += gTasks[taskId].data[0]; gTasks[taskId].data[11] += gTasks[taskId].data[1]; spriteId = gTasks[taskId].data[4]; - obj_id_set_rotscale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[11], 0); + SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[11], 0); if (--gTasks[taskId].data[2] == 0) { if (gTasks[taskId].data[3] > 0) @@ -635,7 +765,7 @@ void sub_8099908(u8 taskId) } else { - sub_8075980(spriteId); + ResetSpriteRotScale(spriteId); DestroyAnimVisualTask(taskId); } } @@ -644,7 +774,7 @@ void sub_8099908(u8 taskId) void sub_8099980(u8 taskId) { u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); - sub_80758E0(spriteId, 0); + PrepareBattlerSpriteForRotScale(spriteId, 0); gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = gBattleAnimArgs[0]; if (gBattleAnimArgs[3] != 1) @@ -654,7 +784,7 @@ void sub_8099980(u8 taskId) gTasks[taskId].data[4] = gBattleAnimArgs[1]; gTasks[taskId].data[5] = spriteId; gTasks[taskId].data[6] = gBattleAnimArgs[3]; - if (sub_8073788()) + if (IsContest()) gTasks[taskId].data[7] = 1; else { @@ -663,7 +793,7 @@ void sub_8099980(u8 taskId) else gTasks[taskId].data[7] = GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER ? 1 : 0; } - if (gTasks[taskId].data[7] && !sub_8073788()) + if (gTasks[taskId].data[7] && !IsContest()) { s16 tmp; tmp = gTasks[taskId].data[3]; @@ -677,7 +807,7 @@ void sub_8099980(u8 taskId) void sub_8099A78(u8 taskId) { u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); - sub_80758E0(spriteId, 0); + PrepareBattlerSpriteForRotScale(spriteId, 0); gTasks[taskId].data[1] = 0; gTasks[taskId].data[2] = gBattleAnimArgs[0]; if (gBattleAnimArgs[2] == 0) @@ -709,11 +839,10 @@ void sub_8099A78(u8 taskId) gTasks[taskId].func = sub_8099B54; } -void sub_8099B54(u8 taskId) +static void sub_8099B54(u8 taskId) { - s16 tmp; gTasks[taskId].data[3] += gTasks[taskId].data[4]; - obj_id_set_rotscale(gTasks[taskId].data[5], 0x100, 0x100, gTasks[taskId].data[3]); + SetSpriteRotScale(gTasks[taskId].data[5], 0x100, 0x100, gTasks[taskId].data[3]); if (gTasks[taskId].data[7]) sub_80759DC(gTasks[taskId].data[5]); if (++gTasks[taskId].data[1] >= gTasks[taskId].data[2]) @@ -721,7 +850,7 @@ void sub_8099B54(u8 taskId) switch (gTasks[taskId].data[6]) { case 1: - sub_8075980(gTasks[taskId].data[5]); + ResetSpriteRotScale(gTasks[taskId].data[5]); // fallthrough case 0: default: @@ -729,8 +858,7 @@ void sub_8099B54(u8 taskId) break; case 2: gTasks[taskId].data[1] = 0; - tmp = gTasks[taskId].data[4]; - gTasks[taskId].data[4] = -tmp; + gTasks[taskId].data[4] *= -1; gTasks[taskId].data[6] = 1; break; } @@ -741,7 +869,7 @@ void sub_8099BD4(u8 taskId) { if (gBattleAnimArgs[0] == 0) { - gTasks[taskId].data[15] = gUnknown_2037EEC / 12; + gTasks[taskId].data[15] = gAnimMovePower / 12; if (gTasks[taskId].data[15] < 1) gTasks[taskId].data[15] = 1; if (gTasks[taskId].data[15] > 16) @@ -749,7 +877,7 @@ void sub_8099BD4(u8 taskId) } else { - gTasks[taskId].data[15] = gUnknown_2037EE8 / 12; + gTasks[taskId].data[15] = gAnimMoveDmg / 12; if (gTasks[taskId].data[15] < 1) gTasks[taskId].data[15] = 1; if (gTasks[taskId].data[15] > 16) @@ -769,7 +897,7 @@ void sub_8099BD4(u8 taskId) gTasks[taskId].func = sub_8099CB8; } -void sub_8099CB8(u8 taskId) +static void sub_8099CB8(u8 taskId) { struct Task *task = &gTasks[taskId]; if (++task->data[0] > task->data[1]) diff --git a/sym_ewram.txt b/sym_ewram.txt index 3797720d5..a32ae4268 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -721,10 +721,10 @@ gUnknown_2037EE3: @ 2037EE3 gAnimDisableStructPtr: @ 2037EE4 .space 0x4 -gUnknown_2037EE8: @ 2037EE8 +gAnimMoveDmg: @ 2037EE8 .space 0x4 -gUnknown_2037EEC: @ 2037EEC +gAnimMovePower: @ 2037EEC .space 0x2 gUnknown_2037EEE: @ 2037EEE |