diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-10-05 03:06:45 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-10-08 02:38:47 +0800 |
commit | e9cdb63903143b98cb443007755222bdfbc2efec (patch) | |
tree | 717eea7d9e4b646f742310c1826ff26fb8d2b368 | |
parent | eef286808aad14f206d8899e8fe19295fa8e7a9f (diff) |
battle_anim_mons
44 files changed, 3147 insertions, 7178 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s index 4648c7e33..775cb1033 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -4145,16 +4145,16 @@ _08011F3C: lsls r0, 16 lsrs r0, 16 _08011F46: - ldr r1, _08011F4C @ =gUnknown_82349CC + ldr r1, _08011F4C @ =gMonFrontPicCoords lsls r0, 2 b _08011F88 .align 2, 0 -_08011F4C: .4byte gUnknown_82349CC +_08011F4C: .4byte gMonFrontPicCoords _08011F50: ldr r0, _08011F68 @ =0x00000181 cmp r4, r0 bne _08011F74 - ldr r0, _08011F6C @ =gUnknown_83AE03C + ldr r0, _08011F6C @ =gCastformFrontSpriteCoords ldr r1, _08011F70 @ =gBattleMonForms adds r1, r6, r1 ldrb r1, [r1] @@ -4164,19 +4164,19 @@ _08011F50: b _08011F8C .align 2, 0 _08011F68: .4byte 0x00000181 -_08011F6C: .4byte gUnknown_83AE03C +_08011F6C: .4byte gCastformFrontSpriteCoords _08011F70: .4byte gBattleMonForms _08011F74: movs r0, 0xCE lsls r0, 1 cmp r4, r0 bls _08011F84 - ldr r0, _08011F80 @ =gUnknown_82349CC + ldr r0, _08011F80 @ =gMonFrontPicCoords b _08011F8A .align 2, 0 -_08011F80: .4byte gUnknown_82349CC +_08011F80: .4byte gMonFrontPicCoords _08011F84: - ldr r1, _08011FAC @ =gUnknown_82349CC + ldr r1, _08011FAC @ =gMonFrontPicCoords lsls r0, r4, 2 _08011F88: adds r0, r1 @@ -4199,7 +4199,7 @@ _08011F8C: pop {r0} bx r0 .align 2, 0 -_08011FAC: .4byte gUnknown_82349CC +_08011FAC: .4byte gMonFrontPicCoords _08011FB0: .4byte sub_8011FB4 thumb_func_end SpriteCB_FaintOpponentMon diff --git a/asm/battle_anim.s b/asm/battle_anim.s index b6f26338a..2adbf9487 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -3960,7 +3960,7 @@ sub_8074320: @ 8074320 cmp r7, 0 bne _08074370 ldrb r0, [r6] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r4, r0, 24 movs r0, 0 @@ -3971,7 +3971,7 @@ _08074368: .4byte gBattleAnimAttacker _0807436C: .4byte gBattleAnimTarget _08074370: ldrb r0, [r5] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x1 @@ -4042,7 +4042,7 @@ sub_80743C8: @ 80743C8 cmp r7, 0 bne _08074418 ldrb r0, [r6] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r4, r0, 24 movs r0, 0 @@ -4053,7 +4053,7 @@ _08074410: .4byte gBattleAnimAttacker _08074414: .4byte gBattleAnimTarget _08074418: ldrb r0, [r5] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x1 diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s index 19f2c4480..b71600380 100644 --- a/asm/battle_anim_effects_1.s +++ b/asm/battle_anim_effects_1.s @@ -96,7 +96,7 @@ sub_80A2388: @ 80A2388 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080A23C8 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] @@ -115,7 +115,7 @@ sub_80A2388: @ 80A2388 strh r0, [r4, 0x36] ldr r0, _080A23D0 @ =StartAnimLinearTranslation str r0, [r4, 0x1C] - ldr r1, _080A23D4 @ =move_anim_8074EE0 + ldr r1, _080A23D4 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 pop {r4,r5} @@ -125,7 +125,7 @@ sub_80A2388: @ 80A2388 _080A23C8: .4byte gBattleAnimArgs _080A23CC: .4byte gBattleAnimAttacker _080A23D0: .4byte StartAnimLinearTranslation -_080A23D4: .4byte move_anim_8074EE0 +_080A23D4: .4byte DestroySpriteAndMatrix thumb_func_end sub_80A2388 thumb_func_start sub_80A23D8 @@ -133,7 +133,7 @@ sub_80A23D8: @ 80A23D8 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r5, _080A2420 @ =gBattleAnimArgs ldrb r1, [r5, 0x6] adds r0, r4, 0 @@ -173,7 +173,7 @@ sub_80A2430: @ 80A2430 push {r4-r6,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r6, _080A2480 @ =gBattleAnimArgs ldrh r0, [r6, 0x4] strh r0, [r4, 0x2E] @@ -195,7 +195,7 @@ sub_80A2430: @ 80A2430 lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r6, 0x6] strh r0, [r4, 0x38] ldr r1, _080A2488 @ =sub_80A248C @@ -215,7 +215,7 @@ _080A2488: .4byte sub_80A248C sub_80A248C: @ 80A248C push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080A24A2 @@ -338,7 +338,7 @@ sub_80A2580: @ 80A2580 push {r4-r6,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r6, _080A25C4 @ =gBattleAnimArgs ldrh r0, [r6, 0x6] strh r0, [r4, 0x2E] @@ -358,7 +358,7 @@ sub_80A2580: @ 80A2580 ldrh r0, [r6, 0x4] strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080A25CC @ =sub_80A25D0 str r0, [r4, 0x1C] pop {r4-r6} @@ -374,7 +374,7 @@ _080A25CC: .4byte sub_80A25D0 sub_80A25D0: @ 80A25D0 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080A25E4 @@ -451,7 +451,7 @@ _080A263C: lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl sub_8075804 + bl InitAnimFastLinearTranslationWithSpeed bl Random movs r1, 0xFF ands r1, r0 @@ -476,7 +476,7 @@ _080A26A0: .4byte sub_80A26A4 sub_80A26A4: @ 80A26A4 push {r4,lr} adds r4, r0, 0 - bl sub_807578C + bl AnimFastTranslateLinear lsls r0, 24 cmp r0, 0 beq _080A26BA @@ -520,7 +520,7 @@ sub_80A26F0: @ 80A26F0 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080A2750 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -555,7 +555,7 @@ _080A2710: ldrh r0, [r4, 0xA] strh r0, [r6, 0x38] adds r0, r6, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080A275C @ =sub_80A2760 str r0, [r6, 0x1C] pop {r4-r6} @@ -572,7 +572,7 @@ _080A275C: .4byte sub_80A2760 sub_80A2760: @ 80A2760 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080A278A @@ -584,7 +584,7 @@ sub_80A2760: @ 80A2760 strb r0, [r2] movs r0, 0xA strh r0, [r4, 0x2E] - ldr r0, _080A2790 @ =sub_8074C44 + ldr r0, _080A2790 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080A2794 @ =sub_80A2798 adds r0, r4, 0 @@ -594,7 +594,7 @@ _080A278A: pop {r0} bx r0 .align 2, 0 -_080A2790: .4byte sub_8074C44 +_080A2790: .4byte WaitAnimForDuration _080A2794: .4byte sub_80A2798 thumb_func_end sub_80A2760 @@ -614,7 +614,7 @@ sub_80A2798: @ 80A2798 bl StartSpriteAnim movs r0, 0x3C strh r0, [r4, 0x2E] - ldr r0, _080A27C8 @ =sub_8074C44 + ldr r0, _080A27C8 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080A27CC @ =DestroyAnimSprite adds r0, r4, 0 @@ -623,7 +623,7 @@ sub_80A2798: @ 80A2798 pop {r0} bx r0 .align 2, 0 -_080A27C8: .4byte sub_8074C44 +_080A27C8: .4byte WaitAnimForDuration _080A27CC: .4byte DestroyAnimSprite thumb_func_end sub_80A2798 @@ -632,7 +632,7 @@ sub_80A27D0: @ 80A27D0 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r5, _080A2814 @ =gBattleAnimArgs ldrb r1, [r5, 0x8] adds r0, r4, 0 @@ -694,7 +694,7 @@ sub_80A281C: @ 80A281C bhi _080A2870 ldr r0, _080A286C @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -709,7 +709,7 @@ _080A286C: .4byte gBattleAnimTarget _080A2870: ldr r0, _080A28C0 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority adds r0, 0x1 lsls r0, 24 lsrs r2, r0, 24 @@ -771,7 +771,7 @@ _080A28DE: _080A28E6: ldr r0, _080A2904 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -802,7 +802,7 @@ sub_80A2920: @ 80A2920 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r5, _080A2968 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] @@ -821,7 +821,7 @@ sub_80A2920: @ 80A2920 adds r0, r5 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x40 strh r0, [r4, 0x38] ldr r1, _080A2970 @ =sub_80A2974 @@ -841,7 +841,7 @@ _080A2970: .4byte sub_80A2974 sub_80A2974: @ 80A2974 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080A29E0 @@ -904,7 +904,7 @@ sub_80A29EC: @ 80A29EC push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r5, _080A2A34 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] @@ -923,7 +923,7 @@ sub_80A29EC: @ 80A29EC adds r0, r5 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x40 strh r0, [r4, 0x38] ldr r1, _080A2A3C @ =sub_80A2A40 @@ -943,7 +943,7 @@ _080A2A3C: .4byte sub_80A2A40 sub_80A2A40: @ 80A2A40 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080A2A98 @@ -1132,7 +1132,7 @@ sub_80A2B9C: @ 80A2B9C push {r4-r6,lr} adds r5, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080A2BF0 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -1180,7 +1180,7 @@ _080A2BFC: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions ldrh r0, [r6, 0x4] ldrh r1, [r5, 0x32] adds r0, r1 @@ -1194,7 +1194,7 @@ _080A2C1C: ldrh r0, [r0, 0xA] strh r0, [r5, 0x38] adds r0, r5, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080A2C50 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -1235,7 +1235,7 @@ sub_80A2C68: @ 80A2C68 movs r0, 0x1 strh r0, [r6, 0x2E] adds r0, r6, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc ldrh r0, [r6, 0x3C] strh r5, [r6, 0x2E] lsls r4, 16 @@ -1336,7 +1336,7 @@ sub_80A2D10: @ 80A2D10 adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions _080A2D3C: ldrh r0, [r4, 0x22] adds r0, 0x20 @@ -1419,7 +1419,7 @@ _080A2DAC: bgt _080A2DEC ldr r0, _080A2DE8 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 subs r0, 0x1 @@ -1429,7 +1429,7 @@ _080A2DE8: .4byte gBattleAnimTarget _080A2DEC: ldr r0, _080A2E24 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -1464,7 +1464,7 @@ sub_80A2E28: @ 80A2E28 push {r4,r5,lr} adds r5, r0, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget adds r2, r5, 0 adds r2, 0x2C ldrb r0, [r2] @@ -1682,7 +1682,7 @@ _080A2FBE: movs r3, 0 bl SetSpriteRotScale adds r0, r6, 0 - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale ldrh r0, [r4, 0xA] subs r0, 0x1 strh r0, [r4, 0xA] @@ -1866,7 +1866,7 @@ _080A3104: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x36] - ldr r0, _080A3160 @ =sub_8075764 + ldr r0, _080A3160 @ =InitAndRunAnimFastLinearTranslation str r0, [r5, 0x1C] ldr r1, _080A3164 @ =DestroyAnimSprite adds r0, r5, 0 @@ -1877,7 +1877,7 @@ _080A3156: bx r0 .align 2, 0 _080A315C: .4byte gBattleAnimAttacker -_080A3160: .4byte sub_8075764 +_080A3160: .4byte InitAndRunAnimFastLinearTranslation _080A3164: .4byte DestroyAnimSprite thumb_func_end sub_80A3098 @@ -2370,7 +2370,7 @@ sub_80A3518: @ 80A3518 push {r4-r6,lr} adds r5, r0, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r4, _080A3560 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0 @@ -2546,7 +2546,7 @@ sub_80A3670: @ 80A3670 bne _080A368A adds r0, r4, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r0, _080A36B0 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x30] @@ -2579,7 +2579,7 @@ sub_80A36B4: @ 80A36B4 push {r4-r6,lr} adds r5, r0, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r4, _080A36FC @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0 @@ -3014,11 +3014,11 @@ sub_80A39C0: @ 80A39C0 strh r0, [r5, 0x16] ldrb r0, [r4] movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr strh r0, [r5, 0x1C] ldrb r0, [r4] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr strh r0, [r5, 0x1E] ldrb r0, [r4] bl GetBattlerSide @@ -3139,7 +3139,7 @@ _080A3A60: adds r0, r1 lsls r0, 2 adds r0, r4 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080A3B24 @ =sub_80A3B28 str r0, [r5] pop {r4-r6} @@ -3207,7 +3207,7 @@ _080A3B80: adds r1, r2, 0 bl sub_80A3F24 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 bne _080A3B96 @@ -3236,7 +3236,7 @@ _080A3BB4: adds r1, r2, 0 bl sub_80A3F24 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 bne _080A3BCA @@ -3265,7 +3265,7 @@ _080A3BE6: adds r1, r2, 0 bl sub_80A3F24 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 bne _080A3BFC @@ -3309,7 +3309,7 @@ _080A3C04: adds r0, r4, 0 bl StartSpriteAnim adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldrh r0, [r6, 0x8] adds r0, 0x1 b _080A3EFA @@ -3318,7 +3318,7 @@ _080A3C54: adds r1, r2, 0 bl sub_80A3F24 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 bne _080A3C6A @@ -3381,7 +3381,7 @@ _080A3C72: adds r0, r4, 0 bl StartSpriteAnim adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldrh r0, [r6, 0x8] adds r0, 0x1 b _080A3EFA @@ -3440,7 +3440,7 @@ _080A3CE8: adds r0, r4, 0 bl StartSpriteAnim adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldrh r0, [r6, 0x8] adds r0, 0x1 b _080A3EFA @@ -3449,7 +3449,7 @@ _080A3D62: adds r1, r2, 0 bl sub_80A3F24 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 bne _080A3D78 @@ -3494,7 +3494,7 @@ _080A3D80: adds r0, r4, 0 bl StartSpriteAnim adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldrh r0, [r6, 0x8] adds r0, 0x1 b _080A3EFA @@ -3551,7 +3551,7 @@ _080A3DD2: adds r0, r4, 0 bl StartSpriteAnim adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldrh r0, [r6, 0x8] adds r0, 0x1 b _080A3EFA @@ -3560,7 +3560,7 @@ _080A3E48: adds r1, r2, 0 bl sub_80A3F24 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080A3EFC @@ -3603,7 +3603,7 @@ _080A3E64: adds r0, r4, 0 bl StartSpriteAnim adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldrh r0, [r6, 0x8] adds r0, 0x1 b _080A3EFA @@ -3612,7 +3612,7 @@ _080A3EB6: adds r1, r2, 0 bl sub_80A3F24 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080A3EFC @@ -3902,7 +3902,7 @@ _080A40D4: _080A40E4: strh r0, [r4, 0x22] adds r0, r6, 0 - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -3927,7 +3927,7 @@ _080A4100: bl GetAnimBattlerSpriteId _080A411A: adds r0, r6, 0 - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -4008,7 +4008,7 @@ _080A41A4: bgt _080A41BC _080A41B6: adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080A41BC: pop {r4,r5} pop {r0} @@ -4221,7 +4221,7 @@ _080A4318: subs r1, r5 lsls r1, 16 asrs r1, 16 - bl sub_8075B30 + bl ArcTan2Neg lsls r0, 16 lsrs r4, r0, 16 bl IsContest @@ -4239,7 +4239,7 @@ _080A437A: adds r0, r6, 0 movs r1, 0 adds r2, r3, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldr r0, _080A439C @ =sub_80A43A0 str r0, [r6, 0x1C] _080A438E: @@ -4280,7 +4280,7 @@ sub_80A43A0: @ 80A43A0 b _080A43D6 _080A43D0: adds r0, r2, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080A43D6: pop {r4} pop {r0} @@ -4335,7 +4335,7 @@ _080A442C: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, _080A4448 @ =sub_8074F6C + ldr r0, _080A4448 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] ldr r1, _080A444C @ =DestroyAnimSprite adds r0, r4, 0 @@ -4345,7 +4345,7 @@ _080A442C: bx r0 .align 2, 0 _080A4444: .4byte gBattleAnimArgs -_080A4448: .4byte sub_8074F6C +_080A4448: .4byte RunStoredCallbackWhenAnimEnds _080A444C: .4byte DestroyAnimSprite thumb_func_end sub_80A43F8 @@ -4369,7 +4369,7 @@ _080A446A: movs r0, 0 ldrsh r1, [r4, r0] adds r0, r5, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r4, 0x2] ldrh r1, [r5, 0x22] adds r0, r1 @@ -4407,18 +4407,18 @@ sub_80A4494: @ 80A4494 ldrb r1, [r1, 0xC] adds r0, r4, 0 bl StartSpriteAffineAnim - ldr r1, _080A44D8 @ =move_anim_8074EE0 + ldr r1, _080A44D8 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A44DC @ =sub_8074E70 + ldr r0, _080A44DC @ =TranslateSpriteLinearAndFlicker str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .align 2, 0 _080A44D4: .4byte gBattleAnimArgs -_080A44D8: .4byte move_anim_8074EE0 -_080A44DC: .4byte sub_8074E70 +_080A44D8: .4byte DestroySpriteAndMatrix +_080A44DC: .4byte TranslateSpriteLinearAndFlicker thumb_func_end sub_80A4494 thumb_func_start sub_80A44E0 @@ -4717,7 +4717,7 @@ _080A46F2: bl StoreSpriteCallbackInData6 movs r0, 0x3 strh r0, [r4, 0x2E] - ldr r0, _080A4734 @ =sub_8074C44 + ldr r0, _080A4734 @ =WaitAnimForDuration str r0, [r4, 0x1C] _080A4728: pop {r4} @@ -4725,7 +4725,7 @@ _080A4728: bx r0 .align 2, 0 _080A4730: .4byte DestroyAnimSprite -_080A4734: .4byte sub_8074C44 +_080A4734: .4byte WaitAnimForDuration thumb_func_end sub_80A46CC thumb_func_start sub_80A4738 @@ -4971,7 +4971,7 @@ _080A4906: ldr r6, _080A4968 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 ldr r4, _080A4964 @ =gBattleAnimArgs lsrs r0, 24 @@ -4980,7 +4980,7 @@ _080A4906: strh r0, [r5, 0x20] ldrb r0, [r6] movs r1, 0x1 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 ldrh r4, [r4, 0x2] @@ -4997,7 +4997,7 @@ _080A4906: beq _080A496C _080A4944: ldrb r0, [r6] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -5016,7 +5016,7 @@ _080A4964: .4byte gBattleAnimArgs _080A4968: .4byte gBattleAnimAttacker _080A496C: ldrb r0, [r6] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -5185,14 +5185,14 @@ _080A4A80: movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, _080A4AC8 @ =sub_8074F88 + ldr r0, _080A4AC8 @ =DestroyAnimSpriteAndDisableBlend str r0, [r4, 0x1C] _080A4AC2: pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080A4AC8: .4byte sub_8074F88 +_080A4AC8: .4byte DestroyAnimSpriteAndDisableBlend thumb_func_end sub_80A49D4 thumb_func_start sub_80A4ACC @@ -5503,12 +5503,12 @@ sub_80A4D0C: @ 80A4D0C cmp r0, 0 bne _080A4D20 adds r0, r4, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords _080A4D20: movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r5, 0x2] ldrh r1, [r4, 0x22] adds r0, r1 @@ -5522,7 +5522,7 @@ _080A4D20: ldr r1, _080A4D54 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A4D58 @ =sub_8074D00 + ldr r0, _080A4D58 @ =TranslateSpriteLinearFixedPoint str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -5530,7 +5530,7 @@ _080A4D20: .align 2, 0 _080A4D50: .4byte gBattleAnimArgs _080A4D54: .4byte DestroyAnimSprite -_080A4D58: .4byte sub_8074D00 +_080A4D58: .4byte TranslateSpriteLinearFixedPoint thumb_func_end sub_80A4D0C thumb_func_start sub_80A4D5C @@ -5569,11 +5569,11 @@ _080A4D7A: adds r3, r5, 0 adds r3, 0x22 adds r0, r6, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions movs r2, 0 ldrsh r1, [r4, r2] adds r0, r5, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r4, 0x2] ldrh r1, [r5, 0x22] adds r0, r1 @@ -5619,7 +5619,7 @@ _080A4DFA: movs r2, 0 ldrsh r1, [r0, r2] adds r0, r5, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset _080A4E14: ldr r1, _080A4E34 @ =gBattleAnimArgs ldrh r0, [r1, 0xA] @@ -5631,7 +5631,7 @@ _080A4E14: ldr r1, _080A4E38 @ =DestroyAnimSprite adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A4E3C @ =sub_8074D00 + ldr r0, _080A4E3C @ =TranslateSpriteLinearFixedPoint str r0, [r5, 0x1C] pop {r4-r6} pop {r0} @@ -5639,14 +5639,14 @@ _080A4E14: .align 2, 0 _080A4E34: .4byte gBattleAnimArgs _080A4E38: .4byte DestroyAnimSprite -_080A4E3C: .4byte sub_8074D00 +_080A4E3C: .4byte TranslateSpriteLinearFixedPoint thumb_func_end sub_80A4D5C thumb_func_start sub_80A4E40 sub_80A4E40: @ 80A4E40 push {r4,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r0, _080A4E6C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -5738,7 +5738,7 @@ _080A4EEC: sub_80A4EF4: @ 80A4EF4 push {r4,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r0, _080A4F24 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -5819,7 +5819,7 @@ sub_80A4F60: @ 80A4F60 cmp r0, 0x3C ble _080A4FA4 adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080A4FA4: pop {r4} pop {r0} @@ -5837,14 +5837,14 @@ sub_80A4FAC: @ 80A4FAC strh r1, [r0, 0x22] movs r1, 0x14 strh r1, [r0, 0x2E] - ldr r1, _080A4FCC @ =sub_8074C44 + ldr r1, _080A4FCC @ =WaitAnimForDuration str r1, [r0, 0x1C] ldr r1, _080A4FD0 @ =sub_80A4FD4 bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 -_080A4FCC: .4byte sub_8074C44 +_080A4FCC: .4byte WaitAnimForDuration _080A4FD0: .4byte sub_80A4FD4 thumb_func_end sub_80A4FAC @@ -5863,14 +5863,14 @@ sub_80A4FD4: @ 80A4FD4 b _080A506A _080A4FEA: strh r1, [r5, 0x2E] - ldr r0, _080A4FFC @ =sub_8074C44 + ldr r0, _080A4FFC @ =WaitAnimForDuration str r0, [r5, 0x1C] ldr r1, _080A5000 @ =sub_80A4FD4 adds r0, r5, 0 bl StoreSpriteCallbackInData6 b _080A506A .align 2, 0 -_080A4FFC: .4byte sub_8074C44 +_080A4FFC: .4byte WaitAnimForDuration _080A5000: .4byte sub_80A4FD4 _080A5004: ldrh r3, [r5, 0x24] @@ -5946,14 +5946,14 @@ sub_80A5084: @ 80A5084 bne _080A50AC movs r0, 0xA strh r0, [r2, 0x2E] - ldr r0, _080A50A4 @ =sub_8074C44 + ldr r0, _080A50A4 @ =WaitAnimForDuration str r0, [r2, 0x1C] ldr r1, _080A50A8 @ =sub_80A50B8 adds r0, r2, 0 bl StoreSpriteCallbackInData6 b _080A50B0 .align 2, 0 -_080A50A4: .4byte sub_8074C44 +_080A50A4: .4byte WaitAnimForDuration _080A50A8: .4byte sub_80A50B8 _080A50AC: ldr r0, _080A50B4 @ =sub_80A4FD4 @@ -5976,14 +5976,14 @@ sub_80A50B8: @ 80A50B8 strh r0, [r5, 0x2E] strh r1, [r5, 0x30] strh r1, [r5, 0x32] - ldr r0, _080A50D8 @ =sub_8074C44 + ldr r0, _080A50D8 @ =WaitAnimForDuration str r0, [r5, 0x1C] ldr r1, _080A50DC @ =sub_80A5174 adds r0, r5, 0 bl StoreSpriteCallbackInData6 b _080A5160 .align 2, 0 -_080A50D8: .4byte sub_8074C44 +_080A50D8: .4byte WaitAnimForDuration _080A50DC: .4byte sub_80A5174 _080A50E0: ldrh r0, [r5, 0x6] @@ -6447,7 +6447,7 @@ _080A5424: ldrh r0, [r5, 0x34] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r0, [r5, 0x2E] adds r0, 0x1 strh r0, [r5, 0x2E] @@ -6589,7 +6589,7 @@ _080A5538: ldrh r0, [r5, 0x34] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r0, [r5, 0x2E] adds r0, 0x1 strh r0, [r5, 0x2E] @@ -6694,7 +6694,7 @@ _080A55FA: ldrh r0, [r4, 0x32] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r0, [r4, 0x30] adds r0, 0x1 strh r0, [r4, 0x30] @@ -6732,7 +6732,7 @@ _080A564C: ldrh r0, [r4, 0x32] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r0, [r4, 0x30] adds r0, 0x1 strh r0, [r4, 0x30] @@ -6906,7 +6906,7 @@ _080A579E: adds r1, r2, 0 bl SetSpriteRotScale ldrb r0, [r4, 0x8] - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation b _080A58D4 _080A57C4: movs r0, 0x8 @@ -7097,7 +7097,7 @@ sub_80A58EC: @ 80A58EC adds r1, r2, 0 bl SetSpriteRotScale ldrb r0, [r4, 0x8] - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r0, [r4, 0xE] subs r0, 0x1 strh r0, [r4, 0xE] @@ -7154,7 +7154,7 @@ _080A595E: ldr r1, _080A59A0 @ =sub_80A5A8C adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A59A4 @ =sub_8074F6C + ldr r0, _080A59A4 @ =RunStoredCallbackWhenAnimEnds str r0, [r5, 0x1C] pop {r4-r6} pop {r0} @@ -7162,7 +7162,7 @@ _080A595E: .align 2, 0 _080A599C: .4byte gBattleAnimTarget _080A59A0: .4byte sub_80A5A8C -_080A59A4: .4byte sub_8074F6C +_080A59A4: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80A5940 thumb_func_start sub_80A59A8 @@ -7187,7 +7187,7 @@ sub_80A59A8: @ 80A59A8 ldr r1, _080A59E8 @ =sub_80A5A44 adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A59EC @ =sub_8074F6C + ldr r0, _080A59EC @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -7196,7 +7196,7 @@ sub_80A59A8: @ 80A59A8 _080A59E0: .4byte gBattleAnimTarget _080A59E4: .4byte 0x0000ffd0 _080A59E8: .4byte sub_80A5A44 -_080A59EC: .4byte sub_8074F6C +_080A59EC: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80A59A8 thumb_func_start sub_80A59F0 @@ -7259,7 +7259,7 @@ sub_80A5A44: @ 80A5A44 ldr r1, _080A5A74 @ =sub_80A5A7C adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A5A78 @ =sub_8074CD0 + ldr r0, _080A5A78 @ =TranslateSpriteLinear str r0, [r4, 0x1C] _080A5A6E: pop {r4} @@ -7267,7 +7267,7 @@ _080A5A6E: bx r0 .align 2, 0 _080A5A74: .4byte sub_80A5A7C -_080A5A78: .4byte sub_8074CD0 +_080A5A78: .4byte TranslateSpriteLinear thumb_func_end sub_80A5A44 thumb_func_start sub_80A5A7C @@ -7656,7 +7656,7 @@ sub_80A5D4C: @ 80A5D4C push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget adds r2, r4, 0 adds r2, 0x2C ldrb r0, [r2] @@ -8042,7 +8042,7 @@ sub_80A5FC0: @ 80A5FC0 adds r5, 0x1E adds r1, r5, 0 mov r2, r8 - bl sub_80765C0 + bl StorePointerInVars ldr r0, _080A6098 @ =0x000027d2 bl IndexOfSpritePaletteTag lsls r0, 24 @@ -8273,7 +8273,7 @@ _080A61EC: ldrsh r0, [r4, r1] movs r2, 0x26 ldrsh r1, [r4, r2] - bl sub_80765C8 + bl LoadPointerFromVars ldr r1, _080A621C @ =0x00007fbb str r1, [sp] movs r1, 0 @@ -8608,7 +8608,7 @@ _080A649A: str r0, [r6] ldr r0, _080A64C4 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8652,7 +8652,7 @@ sub_80A64E0: @ 80A64E0 bne _080A6532 ldr r0, _080A6518 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8764,14 +8764,14 @@ sub_80A65CC: @ 80A65CC adds r4, r0, 0 ldr r1, _080A65E0 @ =DestroyAnimSprite bl StoreSpriteCallbackInData6 - ldr r0, _080A65E4 @ =sub_8074F6C + ldr r0, _080A65E4 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] pop {r4} pop {r0} bx r0 .align 2, 0 _080A65E0: .4byte DestroyAnimSprite -_080A65E4: .4byte sub_8074F6C +_080A65E4: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80A65CC thumb_func_start sub_80A65E8 @@ -8903,7 +8903,7 @@ sub_80A66D4: @ 80A66D4 push {r4-r6,lr} sub sp, 0x4 adds r5, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r4, _080A672C @ =gBattleAnimArgs ldrb r1, [r4] adds r0, r5, 0 @@ -9091,7 +9091,7 @@ _080A6800: ble _080A6856 _080A684E: adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix b _080A68A6 _080A6856: movs r0, 0x34 @@ -9267,7 +9267,7 @@ _080A699E: cmp r0, 0x30 bne _080A69B2 adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080A69B2: pop {r4} pop {r0} @@ -9314,7 +9314,7 @@ _080A69DE: strh r0, [r5, 0x22] movs r0, 0x8 strh r0, [r5, 0x2E] - ldr r0, _080A6A20 @ =sub_8074C44 + ldr r0, _080A6A20 @ =WaitAnimForDuration str r0, [r5, 0x1C] ldr r1, _080A6A24 @ =DestroyAnimSprite adds r0, r5, 0 @@ -9325,7 +9325,7 @@ _080A69DE: .align 2, 0 _080A6A18: .4byte 0x0000fff0 _080A6A1C: .4byte gBattleAnimAttacker -_080A6A20: .4byte sub_8074C44 +_080A6A20: .4byte WaitAnimForDuration _080A6A24: .4byte DestroyAnimSprite thumb_func_end sub_80A69B8 @@ -9333,7 +9333,7 @@ _080A6A24: .4byte DestroyAnimSprite sub_80A6A28: @ 80A6A28 push {r4,r5,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldrh r0, [r4, 0x22] adds r0, 0x8 strh r0, [r4, 0x22] @@ -9381,7 +9381,7 @@ _080A6A74: subs r0, 0x28 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r5, 0x6] strh r0, [r4, 0x38] ldr r0, _080A6AAC @ =sub_80A6AB0 @@ -9400,7 +9400,7 @@ _080A6AAC: .4byte sub_80A6AB0 sub_80A6AB0: @ 80A6AB0 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080A6B00 @@ -9458,13 +9458,13 @@ sub_80A6B0C: @ 80A6B0C bne _080A6B2C adds r0, r5, 0 movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 b _080A6B36 _080A6B2C: adds r0, r5, 0 movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 _080A6B36: strh r0, [r6, 0x20] @@ -9474,7 +9474,7 @@ _080A6B36: adds r4, r0, 0 adds r0, r5, 0 movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r4, 24 lsrs r4, 24 lsls r0, 16 @@ -9529,7 +9529,7 @@ _080A6B82: ldr r1, _080A6BC8 @ =sub_80A6BD0 adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A6BCC @ =sub_8074F6C + ldr r0, _080A6BCC @ =RunStoredCallbackWhenAnimEnds str r0, [r5, 0x1C] pop {r4,r5} pop {r0} @@ -9538,7 +9538,7 @@ _080A6B82: _080A6BC0: .4byte gBattleAnimTarget _080A6BC4: .4byte gBattleAnimArgs _080A6BC8: .4byte sub_80A6BD0 -_080A6BCC: .4byte sub_8074F6C +_080A6BCC: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80A6B64 thumb_func_start sub_80A6BD0 @@ -9559,7 +9559,7 @@ sub_80A6BD0: @ 80A6BD0 lsrs r1, 24 adds r0, r4, 0 bl StartSpriteAnim - ldr r0, _080A6C04 @ =sub_8074F6C + ldr r0, _080A6C04 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] _080A6BF8: pop {r4} @@ -9567,7 +9567,7 @@ _080A6BF8: bx r0 .align 2, 0 _080A6C00: .4byte DestroyAnimSprite -_080A6C04: .4byte sub_8074F6C +_080A6C04: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80A6BD0 thumb_func_start sub_80A6C08 @@ -9595,7 +9595,7 @@ _080A6C26: ldr r1, _080A6C48 @ =sub_80A6C50 adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A6C4C @ =sub_8074F50 + ldr r0, _080A6C4C @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r4, 0x1C] pop {r4} pop {r0} @@ -9603,7 +9603,7 @@ _080A6C26: .align 2, 0 _080A6C44: .4byte gBattleAnimTarget _080A6C48: .4byte sub_80A6C50 -_080A6C4C: .4byte sub_8074F50 +_080A6C4C: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80A6C08 thumb_func_start sub_80A6C50 @@ -9620,18 +9620,18 @@ sub_80A6C50: @ 80A6C50 adds r0, r4, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r1, _080A6C7C @ =move_anim_8074EE0 + ldr r1, _080A6C7C @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A6C80 @ =sub_8074F50 + ldr r0, _080A6C80 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r4, 0x1C] _080A6C76: pop {r4} pop {r0} bx r0 .align 2, 0 -_080A6C7C: .4byte move_anim_8074EE0 -_080A6C80: .4byte sub_8074F50 +_080A6C7C: .4byte DestroySpriteAndMatrix +_080A6C80: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80A6C50 thumb_func_start sub_80A6C84 @@ -9661,7 +9661,7 @@ _080A6CA2: strh r0, [r4, 0x20] adds r0, r5, 0 movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr strh r0, [r4, 0x22] lsls r0, 16 asrs r0, 16 @@ -9684,7 +9684,7 @@ _080A6CCA: ldr r1, _080A6CF8 @ =sub_80A6D00 adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A6CFC @ =sub_8074F50 + ldr r0, _080A6CFC @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r4, 0x1C] pop {r4-r6} pop {r0} @@ -9692,7 +9692,7 @@ _080A6CCA: .align 2, 0 _080A6CF4: .4byte gBattleAnimTarget _080A6CF8: .4byte sub_80A6D00 -_080A6CFC: .4byte sub_8074F50 +_080A6CFC: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80A6C84 thumb_func_start sub_80A6D00 @@ -9850,7 +9850,7 @@ sub_80A6DF0: @ 80A6DF0 ldr r1, _080A6E24 @ =sub_80A6E2C adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A6E28 @ =sub_8074F6C + ldr r0, _080A6E28 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] _080A6E1E: pop {r4} @@ -9858,7 +9858,7 @@ _080A6E1E: bx r0 .align 2, 0 _080A6E24: .4byte sub_80A6E2C -_080A6E28: .4byte sub_8074F6C +_080A6E28: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80A6DF0 thumb_func_start sub_80A6E2C diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s index 34989dc0d..67ac6a13e 100644 --- a/asm/battle_anim_effects_2.s +++ b/asm/battle_anim_effects_2.s @@ -9,12 +9,12 @@ sub_80A6E48: @ 80A6E48 push {r4,r5,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r5, _080A6E8C @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r5, 0x2] ldrh r1, [r4, 0x22] adds r0, r1 @@ -27,10 +27,10 @@ sub_80A6E48: @ 80A6E48 strh r0, [r4, 0x34] ldrh r0, [r5, 0x6] strh r0, [r4, 0x36] - ldr r1, _080A6E90 @ =move_anim_8074EE0 + ldr r1, _080A6E90 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r1, _080A6E94 @ =sub_8074BE4 + ldr r1, _080A6E94 @ =TranslateSpriteInEllipseOverDuration str r1, [r4, 0x1C] adds r0, r4, 0 bl _call_via_r1 @@ -39,8 +39,8 @@ sub_80A6E48: @ 80A6E48 bx r0 .align 2, 0 _080A6E8C: .4byte gBattleAnimArgs -_080A6E90: .4byte move_anim_8074EE0 -_080A6E94: .4byte sub_8074BE4 +_080A6E90: .4byte DestroySpriteAndMatrix +_080A6E94: .4byte TranslateSpriteInEllipseOverDuration thumb_func_end sub_80A6E48 thumb_func_start sub_80A6E98 @@ -166,7 +166,7 @@ sub_80A6F3C: @ 80A6F3C adds r0, r3 strh r2, [r0, 0x24] adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080A6F7A: ldrh r0, [r4, 0x2E] subs r0, 0x1 @@ -254,7 +254,7 @@ sub_80A7020: @ 80A7020 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r1, _080A704C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] @@ -262,7 +262,7 @@ sub_80A7020: @ 80A7020 strh r0, [r4, 0x30] ldrh r0, [r1, 0x8] strh r0, [r4, 0x38] - ldr r0, _080A7050 @ =sub_8074C44 + ldr r0, _080A7050 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080A7054 @ =sub_80A7058 adds r0, r4, 0 @@ -272,7 +272,7 @@ sub_80A7020: @ 80A7020 bx r0 .align 2, 0 _080A704C: .4byte gBattleAnimArgs -_080A7050: .4byte sub_8074C44 +_080A7050: .4byte WaitAnimForDuration _080A7054: .4byte sub_80A7058 thumb_func_end sub_80A7020 @@ -438,7 +438,7 @@ _080A7176: _080A718A: strh r1, [r0, 0x26] adds r0, r4, 0 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldr r0, _080A71C8 @ =gTasks adds r1, r6, r5 lsls r1, 3 @@ -479,7 +479,7 @@ _080A71D0: sub_80A71D8: @ 80A71D8 push {r4,r5,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r0, _080A71FC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -544,7 +544,7 @@ _080A724C: orrs r0, r1 strb r0, [r2] _080A7260: - ldr r0, _080A7274 @ =sub_8074F6C + ldr r0, _080A7274 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] ldr r1, _080A7278 @ =DestroyAnimSprite adds r0, r4, 0 @@ -553,7 +553,7 @@ _080A7260: pop {r0} bx r0 .align 2, 0 -_080A7274: .4byte sub_8074F6C +_080A7274: .4byte RunStoredCallbackWhenAnimEnds _080A7278: .4byte DestroyAnimSprite thumb_func_end sub_80A71D8 @@ -562,8 +562,8 @@ sub_80A727C: @ 80A727C push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075160 - ldr r0, _080A7298 @ =sub_8074F50 + bl InitSpritePosToAnimAttacker + ldr r0, _080A7298 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r4, 0x1C] ldr r1, _080A729C @ =sub_80A72A0 adds r0, r4, 0 @@ -572,7 +572,7 @@ sub_80A727C: @ 80A727C pop {r0} bx r0 .align 2, 0 -_080A7298: .4byte sub_8074F50 +_080A7298: .4byte RunStoredCallbackWhenAffineAnimEnds _080A729C: .4byte sub_80A72A0 thumb_func_end sub_80A727C @@ -635,7 +635,7 @@ _080A72EC: _080A730E: adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r4, _080A73BC @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 @@ -671,7 +671,7 @@ _080A730E: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_8075B30 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xF0 lsls r1, 24 @@ -692,7 +692,7 @@ _080A7380: adds r0, r5, 0 movs r1, 0 adds r2, r3, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] mov r0, r8 @@ -1276,7 +1276,7 @@ _080A77B6: movs r1, 0 mov r2, sp mov r3, r10 - bl sub_8076D9C + bl SetAverageBattlerPositions b _080A7842 .align 2, 0 _080A7810: .4byte gBattleAnimAttacker @@ -1506,7 +1506,7 @@ sub_80A79E8: @ 80A79E8 push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080A7A10 @ =gUnknown_83E3D18 ldrh r0, [r0, 0x2] bl IndexOfSpritePaletteTag @@ -1592,7 +1592,7 @@ sub_80A7A88: @ 80A7A88 sub sp, 0x4 adds r5, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r4, _080A7B28 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 @@ -1636,7 +1636,7 @@ _080A7ACC: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_8075B30 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -1648,7 +1648,7 @@ _080A7ACC: adds r0, r5, 0 movs r1, 0 adds r2, r3, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldrh r0, [r4, 0x8] strh r0, [r5, 0x2E] strh r6, [r5, 0x32] @@ -1748,7 +1748,7 @@ sub_80A7BC4: @ 80A7BC4 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker movs r0, 0x14 strh r0, [r4, 0x2E] ldr r5, _080A7C10 @ =gBattleAnimTarget @@ -1907,7 +1907,7 @@ sub_80A7D04: @ 80A7D04 push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080A7D54 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -1929,7 +1929,7 @@ _080A7D22: strh r0, [r4, 0x34] ldrh r0, [r1, 0x6] strh r0, [r4, 0x36] - ldr r0, _080A7D5C @ =sub_8074A80 + ldr r0, _080A7D5C @ =TranslateSpriteInCircleOverDuration str r0, [r4, 0x1C] ldr r1, _080A7D60 @ =DestroyAnimSprite adds r0, r4, 0 @@ -1943,7 +1943,7 @@ _080A7D22: .align 2, 0 _080A7D54: .4byte gBattleAnimAttacker _080A7D58: .4byte gBattleAnimArgs -_080A7D5C: .4byte sub_8074A80 +_080A7D5C: .4byte TranslateSpriteInCircleOverDuration _080A7D60: .4byte DestroyAnimSprite thumb_func_end sub_80A7D04 @@ -2094,7 +2094,7 @@ _080A7E48: adds r0, r6 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r7] strh r0, [r5, 0x38] ldrh r0, [r5, 0x2E] @@ -2119,7 +2119,7 @@ _080A7EB8: .4byte sub_80A7EBC sub_80A7EBC: @ 80A7EBC push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080A7F20 @@ -2233,7 +2233,7 @@ _080A7F90: .4byte sub_80A7F94 sub_80A7F94: @ 80A7F94 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080A7FA8 @@ -2273,7 +2273,7 @@ sub_80A7FB0: @ 80A7FB0 lsrs r0, 4 adds r0, 0x10 movs r1, 0 - bl sub_8075B48 + bl SetGreyscaleOrOriginalPalette ldr r1, _080A800C @ =gTasks lsls r0, r5, 2 adds r0, r5 @@ -2327,7 +2327,7 @@ sub_80A8014: @ 80A8014 lsrs r0, 4 adds r0, 0x10 movs r1, 0x1 - bl sub_8075B48 + bl SetGreyscaleOrOriginalPalette adds r0, r5, 0 bl DestroyAnimVisualTask _080A8064: @@ -2441,7 +2441,7 @@ _080A8128: movs r3, 0 bl SetSpriteRotScale ldrb r0, [r4, 0x8] - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale movs r2, 0xC ldrsh r0, [r4, r2] cmp r0, 0x20 @@ -2473,7 +2473,7 @@ _080A816E: movs r3, 0 bl SetSpriteRotScale ldrb r0, [r4, 0x8] - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale movs r0, 0x2 strh r0, [r4, 0xA] b _080A81F6 @@ -2504,7 +2504,7 @@ _080A81A4: movs r3, 0 bl SetSpriteRotScale ldrb r0, [r4, 0x8] - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale movs r2, 0xC ldrsh r0, [r4, r2] cmp r0, 0x20 @@ -2733,7 +2733,7 @@ _080A8364: strh r2, [r4, 0x10] ldr r2, _080A8390 @ =gUnknown_83E3E60 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080A8394 @ =sub_80A8398 str r0, [r4] _080A838A: @@ -2774,7 +2774,7 @@ _080A83C0: b _080A84A8 _080A83CA: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData ldrh r2, [r4, 0x10] adds r2, 0x3 strh r2, [r4, 0x10] @@ -2801,7 +2801,7 @@ _080A83CA: _080A83FC: .4byte gSprites _080A8400: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData ldr r2, _080A8430 @ =gSprites movs r0, 0x8 ldrsh r1, [r4, r0] @@ -2853,7 +2853,7 @@ _080A845C: b _080A84A8 _080A8464: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -2881,7 +2881,7 @@ _080A849C: ldrb r1, [r4, 0x8] ldr r2, _080A84B0 @ =gUnknown_83E3E60 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData strh r5, [r4, 0xA] _080A84A8: pop {r4-r6} @@ -2908,7 +2908,7 @@ sub_80A84B4: @ 80A84B4 lsrs r1, 24 ldr r2, _080A84E8 @ =gUnknown_83E3E80 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080A84EC @ =sub_80A84F0 str r0, [r4] pop {r4} @@ -2930,7 +2930,7 @@ sub_80A84F0: @ 80A84F0 lsls r0, 3 ldr r1, _080A8518 @ =gTasks adds r0, r1 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080A8510 @@ -2998,7 +2998,7 @@ _080A856A: ldr r1, _080A85A4 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A85A8 @ =sub_8074D00 + ldr r0, _080A85A8 @ =TranslateSpriteLinearFixedPoint str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -3007,7 +3007,7 @@ _080A856A: _080A859C: .4byte 0x0000ffc0 _080A85A0: .4byte gBattleAnimAttacker _080A85A4: .4byte DestroyAnimSprite -_080A85A8: .4byte sub_8074D00 +_080A85A8: .4byte TranslateSpriteLinearFixedPoint thumb_func_end sub_80A851C thumb_func_start sub_80A85AC @@ -3064,10 +3064,10 @@ _080A85E4: movs r0, 0x8 strh r0, [r6, 0x22] _080A8616: - ldr r1, _080A8630 @ =move_anim_8074EE0 + ldr r1, _080A8630 @ =DestroySpriteAndMatrix adds r0, r6, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080A8634 @ =sub_8074F50 + ldr r0, _080A8634 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r6, 0x1C] pop {r4-r6} pop {r0} @@ -3075,8 +3075,8 @@ _080A8616: .align 2, 0 _080A8628: .4byte gBattleAnimTarget _080A862C: .4byte gBattleAnimArgs -_080A8630: .4byte move_anim_8074EE0 -_080A8634: .4byte sub_8074F50 +_080A8630: .4byte DestroySpriteAndMatrix +_080A8634: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80A85AC thumb_func_start sub_80A8638 @@ -3099,7 +3099,7 @@ sub_80A8638: @ 80A8638 strh r0, [r4, 0xA] ldr r2, _080A8670 @ =gUnknown_83E3F1C adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080A8674 @ =sub_80A8678 str r0, [r4] pop {r4} @@ -3121,7 +3121,7 @@ sub_80A8678: @ 80A8678 lsls r0, 3 ldr r1, _080A86A0 @ =gTasks adds r0, r1 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080A8698 @@ -3389,7 +3389,7 @@ sub_80A8874: @ 80A8874 adds r5, r1, r0 ldr r4, _080A88C8 @ =gBattleAnimTarget ldrb r0, [r4] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -3402,10 +3402,10 @@ sub_80A8874: @ 80A8874 strh r1, [r5, 0x10] strh r1, [r5, 0x12] ldrb r0, [r4] - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr strh r0, [r5, 0x26] ldrb r0, [r4] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3609,7 +3609,7 @@ sub_80A8A1C: @ 80A8A1C movs r5, 0 strh r0, [r4, 0x20] ldrb r0, [r6] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -3622,7 +3622,7 @@ sub_80A8A1C: @ 80A8A1C strh r5, [r4, 0x36] ldrb r0, [r6] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x2 strh r0, [r4, 0x38] movs r0, 0x3F @@ -3864,7 +3864,7 @@ _080A8BF2: adds r1, r4, 0 mov r2, sp adds r3, r7, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions cmp r4, 0 bne _080A8C30 adds r0, r5, 0 @@ -3919,7 +3919,7 @@ _080A8C80: .4byte sub_8075D9C sub_80A8C84: @ 80A8C84 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080A8C9E @@ -4128,7 +4128,7 @@ _080A8DFA: mov r2, sp mov r3, sp adds r3, 0x2 - bl sub_8076D9C + bl SetAverageBattlerPositions b _080A8E6C .align 2, 0 _080A8E40: .4byte gSprites @@ -4192,7 +4192,7 @@ _080A8E9E: ldrh r0, [r2] strh r0, [r5, 0x2E] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r1, _080A8EE4 @ =sub_80A8C84 str r1, [r5, 0x1C] adds r0, r5, 0 @@ -4252,7 +4252,7 @@ sub_80A8F38: @ 80A8F38 push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080A8F6C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -4572,7 +4572,7 @@ sub_80A917C: @ 80A917C strh r1, [r4, 0x8] ldr r2, _080A91B0 @ =gUnknown_83E4128 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080A91B4 @ =sub_80A91B8 str r0, [r4] pop {r4} @@ -4595,7 +4595,7 @@ sub_80A91B8: @ 80A91B8 ldr r1, _080A9208 @ =gTasks adds r4, r0, r1 adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0 @@ -5411,7 +5411,7 @@ sub_80A97E8: @ 80A97E8 push {r4-r6,lr} adds r5, r0, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r6, _080A9850 @ =gBattleAnimAttacker ldrb r0, [r6] bl GetBattlerSide @@ -5474,7 +5474,7 @@ sub_80A9860: @ 80A9860 bne _080A987A adds r0, r4, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker _080A987A: movs r1, 0x30 ldrsh r0, [r4, r1] @@ -5708,7 +5708,7 @@ sub_80A9A20: @ 80A9A20 lsrs r1, 24 ldr r2, _080A9A74 @ =gUnknown_83E4200 adds r0, r5, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r1, _080A9A78 @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -5731,7 +5731,7 @@ _080A9A7C: negs r0, r0 strh r0, [r4, 0x24] adds r0, r5, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -5777,7 +5777,7 @@ sub_80A9AB0: @ 80A9AB0 lsrs r1, 24 ldr r2, _080A9B04 @ =gUnknown_83E4200 adds r0, r5, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r1, _080A9B08 @ =gSprites lsls r0, r4, 4 adds r0, r4 @@ -5800,7 +5800,7 @@ _080A9B0C: negs r0, r0 strh r0, [r4, 0x24] adds r0, r5, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -5822,7 +5822,7 @@ sub_80A9B40: @ 80A9B40 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker movs r0, 0x5F strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] @@ -5843,7 +5843,7 @@ sub_80A9B40: @ 80A9B40 lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, _080A9B88 @ =sub_80A9B8C str r0, [r4, 0x1C] pop {r4,r5} @@ -5858,7 +5858,7 @@ _080A9B88: .4byte sub_80A9B8C sub_80A9B8C: @ 80A9B8C push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080A9BB6 @@ -5967,7 +5967,7 @@ sub_80A9C4C: @ 80A9C4C strh r1, [r0, 0x2E] ldrh r1, [r2, 0x2] strh r1, [r0, 0x30] - ldr r1, _080A9C74 @ =sub_8074C44 + ldr r1, _080A9C74 @ =WaitAnimForDuration str r1, [r0, 0x1C] ldr r1, _080A9C78 @ =sub_80A9C7C bl StoreSpriteCallbackInData6 @@ -5975,7 +5975,7 @@ sub_80A9C4C: @ 80A9C4C bx r0 .align 2, 0 _080A9C70: .4byte gBattleAnimArgs -_080A9C74: .4byte sub_8074C44 +_080A9C74: .4byte WaitAnimForDuration _080A9C78: .4byte sub_80A9C7C thumb_func_end sub_80A9C4C @@ -6082,7 +6082,7 @@ _080A9D2A: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080A9DAC @ =gFile_graphics_battle_anims_backgrounds_attract_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080A9DB0 @ =gFile_graphics_battle_anims_backgrounds_attract_sheet @@ -6360,7 +6360,7 @@ _080A9F98: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080A9FB8 @ =gFile_graphics_battle_anims_backgrounds_scary_face_player_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap b _080A9FC6 .align 2, 0 _080A9FB4: .4byte gBattleAnimTarget @@ -6369,7 +6369,7 @@ _080A9FBC: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080AA010 @ =gFile_graphics_battle_anims_backgrounds_scary_face_opponent_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap _080A9FC6: mov r0, sp ldrb r0, [r0, 0x9] @@ -6907,7 +6907,7 @@ sub_80AA3F0: @ 80AA3F0 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080AA404 @ =sub_80AA3D4 str r0, [r4, 0x1C] pop {r4} @@ -7439,7 +7439,7 @@ sub_80AA7C8: @ 80AA7C8 adds r4, r0 ldr r2, _080AA804 @ =gUnknown_83E4410 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080AA808 @ =sub_80AA80C str r0, [r4] pop {r4,r5} @@ -7462,7 +7462,7 @@ sub_80AA80C: @ 80AA80C lsls r0, 3 ldr r1, _080AA834 @ =gTasks adds r0, r1 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080AA82C @@ -7640,7 +7640,7 @@ _080AA95A: lsrs r0, 4 adds r0, 0x10 movs r1, 0 - bl sub_8075B48 + bl SetGreyscaleOrOriginalPalette _080AA978: movs r0, 0x2E ldrsh r1, [r4, r0] @@ -7857,7 +7857,7 @@ sub_80AAAE4: @ 80AAAE4 adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions ldrh r0, [r5, 0x22] adds r0, 0x28 strh r0, [r5, 0x22] diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s index 17a770d64..004ad8786 100644 --- a/asm/battle_anim_effects_3.s +++ b/asm/battle_anim_effects_3.s @@ -128,7 +128,7 @@ sub_80DE39C: @ 80DE39C adds r4, r0, 0 movs r0, 0x5A strh r0, [r4, 0x2E] - ldr r0, _080DE3D8 @ =sub_8074C44 + ldr r0, _080DE3D8 @ =WaitAnimForDuration str r0, [r4, 0x1C] movs r0, 0x7 strh r0, [r4, 0x30] @@ -152,7 +152,7 @@ sub_80DE39C: @ 80DE39C pop {r0} bx r0 .align 2, 0 -_080DE3D8: .4byte sub_8074C44 +_080DE3D8: .4byte WaitAnimForDuration _080DE3DC: .4byte sub_80DE3E0 thumb_func_end sub_80DE39C @@ -228,7 +228,7 @@ sub_80DE440: @ 80DE440 adds r6, r0, 0 adds r0, r5, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldrh r0, [r5, 0x20] subs r0, r7 lsls r0, 16 @@ -237,7 +237,7 @@ sub_80DE440: @ 80DE440 subs r1, r6 lsls r1, 16 asrs r1, 16 - bl sub_8075B30 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 23 @@ -259,7 +259,7 @@ _080DE49E: adds r0, r5, 0 movs r1, 0 adds r2, r3, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldr r0, _080DE4D0 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r5, 0x2E] @@ -799,7 +799,7 @@ sub_80DE8B0: @ 80DE8B0 sub sp, 0x4 adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080DE914 @ =gBattleAnimTarget ldrb r0, [r0] mov r5, sp @@ -807,7 +807,7 @@ sub_80DE8B0: @ 80DE8B0 movs r1, 0 mov r2, sp adds r3, r5, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions ldr r0, _080DE918 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -834,7 +834,7 @@ _080DE8E4: ldr r0, _080DE920 @ =0x0000ffce strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080DE924 @ =sub_80DE928 str r0, [r4, 0x1C] add sp, 0x4 @@ -853,7 +853,7 @@ _080DE924: .4byte sub_80DE928 sub_80DE928: @ 80DE928 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080DE94A @@ -861,7 +861,7 @@ sub_80DE928: @ 80DE928 movs r0, 0x1E strh r0, [r4, 0x2E] strh r1, [r4, 0x30] - ldr r0, _080DE950 @ =sub_8074C44 + ldr r0, _080DE950 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080DE954 @ =sub_80DE958 adds r0, r4, 0 @@ -871,7 +871,7 @@ _080DE94A: pop {r0} bx r0 .align 2, 0 -_080DE950: .4byte sub_8074C44 +_080DE950: .4byte WaitAnimForDuration _080DE954: .4byte sub_80DE958 thumb_func_end sub_80DE928 @@ -918,17 +918,17 @@ _080DE998: sub_80DE99C: @ 80DE99C push {r4,r5,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r5, _080DE9CC @ =gBattleAnimArgs movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r5, 0x2] ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r0, _080DE9D0 @ =sub_8074F6C + ldr r0, _080DE9D0 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] ldr r1, _080DE9D4 @ =DestroyAnimSprite adds r0, r4, 0 @@ -938,7 +938,7 @@ sub_80DE99C: @ 80DE99C bx r0 .align 2, 0 _080DE9CC: .4byte gBattleAnimArgs -_080DE9D0: .4byte sub_8074F6C +_080DE9D0: .4byte RunStoredCallbackWhenAnimEnds _080DE9D4: .4byte DestroyAnimSprite thumb_func_end sub_80DE99C @@ -951,12 +951,12 @@ sub_80DE9D8: @ 80DE9D8 cmp r0, 0 bne _080DEA38 adds r0, r4, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r5, _080DEA14 @ =gBattleAnimArgs movs r2, 0 ldrsh r1, [r5, r2] adds r0, r4, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset bl IsContest lsls r0, 24 cmp r0, 0 @@ -1140,7 +1140,7 @@ sub_80DEB20: @ 80DEB20 bl SetGpuReg adds r0, r5, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldrb r1, [r5, 0x1] movs r0, 0xD negs r0, r0 @@ -1712,11 +1712,11 @@ _080DEFC8: ldr r4, _080DF010 @ =gBattleAnimTarget _080DEFCA: ldrb r0, [r4] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r7, r0, 24 adds r0, r6, 0 @@ -2155,7 +2155,7 @@ _080DF324: lsrs r1, 24 ldr r2, _080DF348 @ =gUnknown_83FF080 adds r0, r6, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldrh r0, [r6, 0xA] adds r0, 0x1 strh r0, [r6, 0xA] @@ -2168,7 +2168,7 @@ _080DF344: .4byte SpriteCallbackDummy _080DF348: .4byte gUnknown_83FF080 _080DF34C: adds r0, r6, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -2329,7 +2329,7 @@ sub_80DF468: @ 80DF468 bne _080DF47C adds r0, r5, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker _080DF47C: ldrh r0, [r5, 0x2E] adds r0, 0x1 @@ -2443,7 +2443,7 @@ _080DF548: lsrs r1, 24 ldr r2, _080DF564 @ =gUnknown_83FF130 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -2452,7 +2452,7 @@ _080DF548: _080DF564: .4byte gUnknown_83FF130 _080DF568: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080DF57A @@ -2863,7 +2863,7 @@ sub_80DF848: @ 80DF848 lsrs r1, 24 ldr r2, _080DF884 @ =gUnknown_83FF198 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -2873,7 +2873,7 @@ _080DF880: .4byte gTasks _080DF884: .4byte gUnknown_83FF198 _080DF888: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080DF89A @@ -2907,7 +2907,7 @@ sub_80DF8A0: @ 80DF8A0 lsrs r1, 24 ldr r2, _080DF8DC @ =gUnknown_83FF1C0 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -2917,7 +2917,7 @@ _080DF8D8: .4byte gTasks _080DF8DC: .4byte gUnknown_83FF1C0 _080DF8E0: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080DF8F2 @@ -2943,7 +2943,7 @@ sub_80DF8F8: @ 80DF8F8 _080DF90A: adds r0, r4, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker movs r0, 0x90 lsls r0, 4 strh r0, [r4, 0x30] @@ -3008,7 +3008,7 @@ sub_80DF964: @ 80DF964 lsrs r1, 24 ldr r2, _080DF9A0 @ =gUnknown_83FF210 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -3018,7 +3018,7 @@ _080DF99C: .4byte gTasks _080DF9A0: .4byte gUnknown_83FF210 _080DF9A4: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080DF9B6 @@ -3069,7 +3069,7 @@ _080DFA00: bl SetGpuReg ldr r0, _080DFA24 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3234,7 +3234,7 @@ _080DFB58: bl SetGpuReg ldr r0, _080DFB7C @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3411,7 +3411,7 @@ _080DFCCE: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080DFD1C @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080DFD20 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet @@ -4053,7 +4053,7 @@ _080E01FC: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080E0250 @ =gFile_graphics_battle_anims_masks_morning_sun_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080E0254 @ =gFile_graphics_battle_anims_masks_morning_sun_sheet @@ -4377,7 +4377,7 @@ sub_80E0488: @ 80E0488 lsrs r1, 24 ldr r2, _080E04C4 @ =gUnknown_83FF290 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -4387,7 +4387,7 @@ _080E04C0: .4byte gTasks _080E04C4: .4byte gUnknown_83FF290 _080E04C8: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080E04DA @@ -4410,7 +4410,7 @@ sub_80E04E0: @ 80E04E0 bne _080E04FE adds r0, r4, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldrh r0, [r4, 0x2E] adds r0, 0x1 strh r0, [r4, 0x2E] @@ -4625,7 +4625,7 @@ _080E065C: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r0, [r4, 0xA] adds r0, 0x1 strh r0, [r4, 0xA] @@ -4666,7 +4666,7 @@ _080E06B0: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r1, [r4, 0xA] adds r1, 0x1 strh r1, [r4, 0xA] @@ -4710,7 +4710,7 @@ _080E0708: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldrh r0, [r4, 0xA] adds r0, 0x1 strh r0, [r4, 0xA] @@ -5044,7 +5044,7 @@ _080E09BA: ldrh r0, [r7, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_80759DC + bl SetBattlerSpriteYOffsetFromRotation ldr r2, _080E0A28 @ =gSprites movs r0, 0x26 ldrsh r1, [r7, r0] @@ -5276,7 +5276,7 @@ _080E0B88: movs r3, 0 bl SetSpriteRotScale adds r0, r5, 0 - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale lsls r2, r5, 4 b _080E0BE8 _080E0BA0: @@ -5295,7 +5295,7 @@ _080E0BB2: movs r1, 0xD0 bl SetSpriteRotScale adds r0, r5, 0 - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale bl IsContest lsls r0, 24 cmp r0, 0 @@ -5551,7 +5551,7 @@ sub_80E0D74: @ 80E0D74 strh r0, [r5, 0x2E] adds r0, r5, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldrb r1, [r5, 0x1] movs r0, 0xD negs r0, r0 @@ -5979,7 +5979,7 @@ _080E110E: _080E1112: ldr r0, _080E1200 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r7, r0, 24 ldr r5, _080E1200 @ =gBattleAnimAttacker @@ -6186,7 +6186,7 @@ sub_80E1274: @ 80E1274 str r4, [sp] adds r0, r6, 0 movs r1, 0x1 - bl sub_8075A1C + bl TrySetSpriteRotScale ldrh r0, [r5, 0x20] adds r0, 0x1 strh r0, [r5, 0x20] @@ -6197,8 +6197,8 @@ sub_80E1274: @ 80E1274 adds r0, r6, 0 bl sub_8075AD8 adds r0, r6, 0 - bl sub_8076B20 - ldr r0, _080E12F4 @ =sub_8074FA8 + bl DestroySpriteAndFreeResources_ + ldr r0, _080E12F4 @ =DestroyAnimVisualTaskAndDisableBlend str r0, [r5] _080E12E2: add sp, 0x4 @@ -6208,7 +6208,7 @@ _080E12E2: .align 2, 0 _080E12EC: .4byte gTasks _080E12F0: .4byte gSprites -_080E12F4: .4byte sub_8074FA8 +_080E12F4: .4byte DestroyAnimVisualTaskAndDisableBlend thumb_func_end sub_80E1274 thumb_func_start sub_80E12F8 @@ -6262,7 +6262,7 @@ _080E1326: strh r0, [r4, 0x18] _080E1358: adds r0, r5, 0 - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 subs r0, 0x22 @@ -6281,7 +6281,7 @@ _080E136C: lsrs r0, 24 strh r0, [r4, 0x26] adds r0, r5, 0 - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6389,7 +6389,7 @@ sub_80E1450: @ 80E1450 ldr r1, _080E1484 @ =gTasks adds r6, r0, r1 ldrb r0, [r6, 0x12] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6750,7 +6750,7 @@ sub_80E1704: @ 80E1704 strh r1, [r4, 0x26] ldr r2, _080E1744 @ =gUnknown_83FF3D0 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080E1748 @ =sub_80E174C str r0, [r4] pop {r4} @@ -6826,7 +6826,7 @@ _080E17C0: adds r0, r4 lsls r0, 3 adds r0, r6 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080E17D8 @@ -6920,7 +6920,7 @@ sub_80E186C: @ 80E186C adds r4, r0, 0 ldrh r6, [r4, 0x20] ldrh r5, [r4, 0x22] - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r0, _080E18B4 @ =gBattleAnimArgs ldrb r1, [r0] adds r0, r4, 0 @@ -7001,7 +7001,7 @@ sub_80E18BC: @ 80E18BC cmp r0, 0x3 ble _080E1922 adds r0, r5, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080E1922: pop {r4,r5} pop {r0} @@ -7626,7 +7626,7 @@ _080E1DA2: strh r1, [r5, 0x26] ldr r2, _080E1DF8 @ =gUnknown_83FF52C adds r0, r5, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080E1DFC @ =sub_80E1E00 str r0, [r5] pop {r4,r5} @@ -7679,7 +7679,7 @@ _080E1E3A: bl sub_80E1E98 _080E1E4A: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -7701,7 +7701,7 @@ _080E1E6C: lsrs r1, 24 ldr r2, _080E1E80 @ =gUnknown_83FF52C adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData b _080E1E92 .align 2, 0 _080E1E80: .4byte gUnknown_83FF52C @@ -8168,7 +8168,7 @@ sub_80E21CC: @ 80E21CC adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r4, 24 lsrs r4, 24 lsls r0, 16 @@ -8190,7 +8190,7 @@ _080E2224: adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r4, 24 lsrs r4, 24 lsls r0, 16 @@ -8210,7 +8210,7 @@ _080E2248: adds r4, r0, 0 ldrb r0, [r5] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r4, 24 lsrs r4, 24 lsls r0, 16 @@ -8565,7 +8565,7 @@ sub_80E24E0: @ 80E24E0 ldr r1, _080E2510 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080E2514 @ =sub_8075764 + ldr r0, _080E2514 @ =InitAndRunAnimFastLinearTranslation str r0, [r4, 0x1C] pop {r4} pop {r0} @@ -8573,7 +8573,7 @@ sub_80E24E0: @ 80E24E0 .align 2, 0 _080E250C: .4byte gBattleAnimArgs _080E2510: .4byte DestroyAnimSprite -_080E2514: .4byte sub_8075764 +_080E2514: .4byte InitAndRunAnimFastLinearTranslation thumb_func_end sub_80E24E0 thumb_func_start sub_80E2518 @@ -8622,7 +8622,7 @@ sub_80E2518: @ 80E2518 mov r1, r8 ldrb r0, [r1] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r4, 24 lsrs r4, 24 lsls r0, 16 @@ -8694,7 +8694,7 @@ _080E258A: adds r0, r1 lsls r0, 2 adds r0, r4 - bl sub_8075068 + bl InitAnimArcTranslation mov r1, r10 ldrb r0, [r1] bl GetBattlerSide @@ -8778,7 +8778,7 @@ _080E269A: lsls r0, 2 ldr r1, _080E26CC @ =gSprites adds r0, r1 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -8797,7 +8797,7 @@ _080E26D0: lsls r0, 2 ldr r1, _080E26F0 @ =gSprites adds r0, r1 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080E276E @@ -8938,7 +8938,7 @@ _080E27C0: strb r0, [r4, 0x3] adds r0, r5, 0 movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 b _080E280E .align 2, 0 @@ -8948,7 +8948,7 @@ _080E2800: .4byte 0xfffffc00 _080E2804: adds r0, r5, 0 movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 _080E280E: strh r0, [r4, 0x20] @@ -9098,7 +9098,7 @@ _080E28F8: strh r1, [r4, 0x26] ldr r2, _080E292C @ =gUnknown_83FF65C adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080E2930 @ =sub_80E2934 str r0, [r4] _080E2920: @@ -9160,7 +9160,7 @@ _080E298C: strh r1, [r0, 0x24] _080E298E: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -9188,7 +9188,7 @@ _080E298E: lsls r1, 24 lsrs r1, 24 ldr r2, _080E29E0 @ =gUnknown_83FF65C - bl sub_80762D0 + bl PrepareAffineAnimInTaskData strh r5, [r4, 0xA] strh r5, [r4, 0xC] b _080E29EA @@ -9231,7 +9231,7 @@ _080E2A0E: strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr strh r0, [r5, 0x22] movs r1, 0x22 ldrsh r0, [r5, r1] @@ -9902,7 +9902,7 @@ sub_80E2F14: @ 80E2F14 bne _080E2F38 adds r0, r4, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080E2F34 @ =gBattleAnimAttacker b _080E2F3A .align 2, 0 @@ -9932,7 +9932,7 @@ _080E2F5E: ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r2, 0x3 ands r2, r0 lsls r2, 2 @@ -10010,7 +10010,7 @@ _080E2FFC: lsls r0, 24 lsrs r0, 24 movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x4 lsls r0, 16 lsrs r5, r0, 16 @@ -10024,7 +10024,7 @@ _080E3018: lsls r0, 24 lsrs r0, 24 movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x4 lsls r0, 16 lsrs r5, r0, 16 @@ -10032,7 +10032,7 @@ _080E3018: lsls r0, 24 lsrs r0, 24 movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x4 b _080E3076 _080E303A: @@ -10040,7 +10040,7 @@ _080E303A: lsls r0, 24 lsrs r0, 24 movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x4 lsls r0, 16 lsrs r5, r0, 16 @@ -10054,7 +10054,7 @@ _080E3056: lsls r0, 24 lsrs r0, 24 movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x4 lsls r0, 16 lsrs r5, r0, 16 @@ -10063,7 +10063,7 @@ _080E3056: lsrs r0, 24 movs r1, 0x2 _080E3070: - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x4 _080E3076: lsls r0, 16 @@ -10107,11 +10107,11 @@ _080E30B2: strh r0, [r4, 0x34] strh r1, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation b _080E3188 _080E30C8: adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080E3196 @@ -11699,7 +11699,7 @@ _080E3D0C: lsls r0, 2 ldr r5, _080E3D5C @ =gSprites adds r0, r5 - bl sub_8076B20 + bl DestroySpriteAndFreeResources_ ldr r0, _080E3D60 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -12532,7 +12532,7 @@ sub_80E43A4: @ 80E43A4 strh r0, [r5, 0x20] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr strh r0, [r5, 0x22] lsls r0, 16 asrs r0, 16 @@ -12688,7 +12688,7 @@ _080E44D6: b _080E44E4 _080E44DE: adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080E44E4: pop {r4} pop {r0} @@ -12764,7 +12764,7 @@ sub_80E4540: @ 80E4540 strh r1, [r4, 0x26] ldr r2, _080E4580 @ =gUnknown_83FF7A8 adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080E4584 @ =sub_80E4588 str r0, [r4] pop {r4} @@ -12840,7 +12840,7 @@ _080E45FC: adds r0, r4 lsls r0, 3 adds r0, r6 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080E4614 diff --git a/asm/battle_anim_mons.s b/asm/battle_anim_mons.s deleted file mode 100644 index 0af94400b..000000000 --- a/asm/battle_anim_mons.s +++ /dev/null @@ -1,6343 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetBattlerSpriteCoord -GetBattlerSpriteCoord: @ 8074480 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r4, 0x4 - bhi _08074500 - lsls r0, r4, 2 - ldr r1, _08074498 @ =_0807449C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08074498: .4byte _0807449C - .align 2, 0 -_0807449C: - .4byte _080744B0 - .4byte _080744D8 - .4byte _080744B0 - .4byte _08074500 - .4byte _08074500 -_080744B0: - ldr r4, _080744D0 @ =gUnknown_83AE01C - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080744D4 @ =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0] - b _08074588 - .align 2, 0 -_080744D0: .4byte gUnknown_83AE01C -_080744D4: .4byte gBattleTypeFlags -_080744D8: - ldr r4, _080744F8 @ =gUnknown_83AE01C - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080744FC @ =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x1] - b _08074588 - .align 2, 0 -_080744F8: .4byte gUnknown_83AE01C -_080744FC: .4byte gBattleTypeFlags -_08074500: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08074538 - ldr r0, _0807452C @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08074570 - ldr r1, _08074530 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08074534 @ =gEnemyParty - b _08074556 - .align 2, 0 -_0807452C: .4byte gBattleSpritesDataPtr -_08074530: .4byte gBattlerPartyIndexes -_08074534: .4byte gEnemyParty -_08074538: - ldr r0, _08074564 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08074570 - ldr r1, _08074568 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0807456C @ =gPlayerParty -_08074556: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - b _08074572 - .align 2, 0 -_08074564: .4byte gBattleSpritesDataPtr -_08074568: .4byte gBattlerPartyIndexes -_0807456C: .4byte gPlayerParty -_08074570: - ldrh r1, [r1, 0x2] -_08074572: - cmp r4, 0x3 - bne _0807457C - adds r0, r5, 0 - movs r2, 0x1 - b _08074580 -_0807457C: - adds r0, r5, 0 - movs r2, 0 -_08074580: - bl sub_80747AC - lsls r0, 24 - lsrs r0, 24 -_08074588: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetBattlerSpriteCoord - - thumb_func_start sub_8074590 -sub_8074590: @ 8074590 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r7, r4, 0 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08074674 - cmp r4, 0xC9 - bne _08074638 - ldr r0, _080745D8 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _080745E4 - ldr r1, _080745DC @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080745E0 @ =gPlayerParty - adds r0, r1 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080745EA - .align 2, 0 -_080745D8: .4byte gBattleSpritesDataPtr -_080745DC: .4byte gBattlerPartyIndexes -_080745E0: .4byte gPlayerParty -_080745E4: - ldr r0, _08074620 @ =gTransformedPersonalities - adds r0, r1, r0 - ldr r2, [r0] -_080745EA: - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08074624 - adds r0, r7, 0 - b _0807462E - .align 2, 0 -_08074620: .4byte gTransformedPersonalities -_08074624: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_0807462E: - ldr r1, _08074634 @ =gUnknown_8235E6C - lsls r0, 2 - b _0807473C - .align 2, 0 -_08074634: .4byte gUnknown_8235E6C -_08074638: - ldr r0, _0807464C @ =0x00000181 - cmp r4, r0 - bne _08074658 - ldr r0, _08074650 @ =gUnknown_83AE050 - ldr r1, _08074654 @ =gBattleMonForms - adds r1, r5, r1 - ldrb r1, [r1] - adds r1, r0 - ldrb r0, [r1] - b _08074740 - .align 2, 0 -_0807464C: .4byte 0x00000181 -_08074650: .4byte gUnknown_83AE050 -_08074654: .4byte gBattleMonForms -_08074658: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08074668 - ldr r0, _08074664 @ =gUnknown_8235E6C - b _0807473E - .align 2, 0 -_08074664: .4byte gUnknown_8235E6C -_08074668: - ldr r1, _08074670 @ =gUnknown_8235E6C - lsls r0, r4, 2 - b _0807473C - .align 2, 0 -_08074670: .4byte gUnknown_8235E6C -_08074674: - cmp r4, 0xC9 - bne _08074704 - ldr r0, _080746A4 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r5, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - bne _080746B0 - ldr r1, _080746A8 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080746AC @ =gEnemyParty - adds r0, r1 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _080746B6 - .align 2, 0 -_080746A4: .4byte gBattleSpritesDataPtr -_080746A8: .4byte gBattlerPartyIndexes -_080746AC: .4byte gEnemyParty -_080746B0: - ldr r0, _080746EC @ =gTransformedPersonalities - adds r0, r1, r0 - ldr r2, [r0] -_080746B6: - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _080746F0 - adds r0, r7, 0 - b _080746FA - .align 2, 0 -_080746EC: .4byte gTransformedPersonalities -_080746F0: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_080746FA: - ldr r1, _08074700 @ =gUnknown_82349CC - lsls r0, 2 - b _0807473C - .align 2, 0 -_08074700: .4byte gUnknown_82349CC -_08074704: - ldr r0, _0807471C @ =0x00000181 - cmp r4, r0 - bne _08074728 - ldr r0, _08074720 @ =gUnknown_83AE03C - ldr r1, _08074724 @ =gBattleMonForms - adds r1, r6, r1 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _08074740 - .align 2, 0 -_0807471C: .4byte 0x00000181 -_08074720: .4byte gUnknown_83AE03C -_08074724: .4byte gBattleMonForms -_08074728: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08074738 - ldr r0, _08074734 @ =gUnknown_82349CC - b _0807473E - .align 2, 0 -_08074734: .4byte gUnknown_82349CC -_08074738: - ldr r1, _08074748 @ =gUnknown_82349CC - lsls r0, r7, 2 -_0807473C: - adds r0, r1 -_0807473E: - ldrb r0, [r0, 0x1] -_08074740: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08074748: .4byte gUnknown_82349CC - thumb_func_end sub_8074590 - - thumb_func_start sub_807474C -sub_807474C: @ 807474C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - adds r7, r4, 0 - movs r5, 0 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807479E - ldr r0, _0807477C @ =0x00000181 - cmp r4, r0 - bne _08074788 - ldr r0, _08074780 @ =gUnknown_83AE04C - ldr r1, _08074784 @ =gBattleMonForms - adds r1, r6, r1 - ldrb r1, [r1] - adds r1, r0 - ldrb r5, [r1] - b _0807479E - .align 2, 0 -_0807477C: .4byte 0x00000181 -_08074780: .4byte gUnknown_83AE04C -_08074784: .4byte gBattleMonForms -_08074788: - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08074798 - ldr r0, _08074794 @ =gEnemyMonElevation - b _0807479C - .align 2, 0 -_08074794: .4byte gEnemyMonElevation -_08074798: - ldr r0, _080747A8 @ =gEnemyMonElevation - adds r0, r7, r0 -_0807479C: - ldrb r5, [r0] -_0807479E: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080747A8: .4byte gEnemyMonElevation - thumb_func_end sub_807474C - - thumb_func_start sub_80747AC -sub_80747AC: @ 80747AC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r7, r2, 24 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080747D4 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8074590 - lsls r0, 24 - lsrs r5, r0, 24 - b _080747F2 -_080747D4: - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8074590 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_807474C - lsls r0, 24 - lsrs r0, 24 - subs r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 -_080747F2: - adds r0, r6, 0 - bl GetBattlerPosition - ldr r3, _0807483C @ =gUnknown_83AE01C - lsls r0, 24 - lsrs r0, 22 - ldr r1, _08074840 @ =gBattleTypeFlags - ldr r1, [r1] - movs r2, 0x1 - ands r1, r2 - lsls r1, 4 - adds r0, r1 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, r5 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r7, 0 - beq _08074832 - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0807482C - adds r0, r4, 0 - adds r0, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 -_0807482C: - cmp r4, 0x68 - bls _08074832 - movs r4, 0x68 -_08074832: - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0807483C: .4byte gUnknown_83AE01C -_08074840: .4byte gBattleTypeFlags - thumb_func_end sub_80747AC - - thumb_func_start sub_8074844 -sub_8074844: @ 8074844 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - movs r0, 0xFD - lsls r0, 24 - adds r1, r0 - lsrs r1, 24 - cmp r1, 0x1 - bhi _08074896 - ldr r0, _08074874 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0807487C - ldr r1, _08074878 @ =gAnimBattlerSpecies - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - b _0807487E - .align 2, 0 -_08074874: .4byte gBattleSpritesDataPtr -_08074878: .4byte gAnimBattlerSpecies -_0807487C: - ldrh r1, [r1, 0x2] -_0807487E: - cmp r3, 0x3 - bne _0807488C - adds r0, r2, 0 - movs r2, 0x1 - bl sub_80747AC - b _0807489E -_0807488C: - adds r0, r2, 0 - movs r2, 0 - bl sub_80747AC - b _0807489E -_08074896: - adds r0, r2, 0 - adds r1, r3, 0 - bl GetBattlerSpriteCoord -_0807489E: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8074844 - - thumb_func_start GetBattlerSpriteDefault_Y -GetBattlerSpriteDefault_Y: @ 80748A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x4 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetBattlerSpriteDefault_Y - - thumb_func_start GetSubstituteSpriteDefault_Y -GetSubstituteSpriteDefault_Y: @ 80748BC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080748E0 - adds r0, r4, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - movs r1, 0x80 - lsls r1, 13 - b _080748F0 -_080748E0: - adds r0, r4, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 8 - movs r1, 0x88 - lsls r1, 13 -_080748F0: - adds r0, r1 - lsrs r0, 16 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetSubstituteSpriteDefault_Y - - thumb_func_start GetGhostSpriteDefault_Y -GetGhostSpriteDefault_Y: @ 8074900 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807491A - adds r0, r4, 0 - movs r1, 0x1 - b _0807491E -_0807491A: - adds r0, r4, 0 - movs r1, 0x4 -_0807491E: - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetGhostSpriteDefault_Y - - thumb_func_start sub_807492C -sub_807492C: @ 807492C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08074978 - ldr r0, _0807496C @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080749B0 - ldr r1, _08074970 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08074974 @ =gEnemyParty - b _08074996 - .align 2, 0 -_0807496C: .4byte gBattleSpritesDataPtr -_08074970: .4byte gBattlerPartyIndexes -_08074974: .4byte gEnemyParty -_08074978: - ldr r0, _080749A4 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080749B0 - ldr r1, _080749A8 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080749AC @ =gPlayerParty -_08074996: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - b _080749B2 - .align 2, 0 -_080749A4: .4byte gBattleSpritesDataPtr -_080749A8: .4byte gBattlerPartyIndexes -_080749AC: .4byte gPlayerParty -_080749B0: - ldrh r4, [r1, 0x2] -_080749B2: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080749CC - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_807474C - subs r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 -_080749CC: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807492C - - thumb_func_start GetAnimBattlerSpriteId -GetAnimBattlerSpriteId: @ 80749D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - bne _080749FC - ldr r4, _080749F4 @ =gBattleAnimAttacker - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _08074A4A - ldr r1, _080749F8 @ =gBattlerSpriteIds - ldrb r0, [r4] - b _08074A5A - .align 2, 0 -_080749F4: .4byte gBattleAnimAttacker -_080749F8: .4byte gBattlerSpriteIds -_080749FC: - cmp r0, 0x1 - bne _08074A1C - ldr r4, _08074A14 @ =gBattleAnimTarget - ldrb r0, [r4] - bl IsBattlerSpritePresent - lsls r0, 24 - cmp r0, 0 - beq _08074A4A - ldr r1, _08074A18 @ =gBattlerSpriteIds - ldrb r0, [r4] - b _08074A5A - .align 2, 0 -_08074A14: .4byte gBattleAnimTarget -_08074A18: .4byte gBattlerSpriteIds -_08074A1C: - cmp r1, 0x2 - bne _08074A38 - ldr r5, _08074A34 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08074A4A - b _08074A54 - .align 2, 0 -_08074A34: .4byte gBattleAnimAttacker -_08074A38: - ldr r5, _08074A50 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - bne _08074A54 -_08074A4A: - movs r0, 0xFF - b _08074A5E - .align 2, 0 -_08074A50: .4byte gBattleAnimTarget -_08074A54: - ldr r1, _08074A64 @ =gBattlerSpriteIds - ldrb r0, [r5] - eors r0, r4 -_08074A5A: - adds r0, r1 - ldrb r0, [r0] -_08074A5E: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08074A64: .4byte gBattlerSpriteIds - thumb_func_end GetAnimBattlerSpriteId - - thumb_func_start StoreSpriteCallbackInData6 -StoreSpriteCallbackInData6: @ 8074A68 - strh r1, [r0, 0x3A] - lsrs r1, 16 - strh r1, [r0, 0x3C] - bx lr - thumb_func_end StoreSpriteCallbackInData6 - - thumb_func_start SetCallbackToStoredInData -SetCallbackToStoredInData: @ 8074A70 - ldrh r2, [r0, 0x3A] - movs r3, 0x3C - ldrsh r1, [r0, r3] - lsls r1, 16 - orrs r2, r1 - str r2, [r0, 0x1C] - bx lr - thumb_func_end SetCallbackToStoredInData - - thumb_func_start sub_8074A80 -sub_8074A80: @ 8074A80 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074AD4 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074AC0 - ldr r2, _08074ABC @ =0xffffff00 - b _08074AC8 - .align 2, 0 -_08074ABC: .4byte 0xffffff00 -_08074AC0: - cmp r0, 0 - bge _08074ACC - movs r2, 0x80 - lsls r2, 1 -_08074AC8: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074ACC: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074ADA -_08074AD4: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074ADA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074A80 - - thumb_func_start sub_8074AE0 -sub_8074AE0: @ 8074AE0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074B50 - movs r2, 0x2E - ldrsh r0, [r4, r2] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x38] - adds r0, r2 - strh r0, [r4, 0x38] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074B3C - ldr r2, _08074B38 @ =0xffffff00 - b _08074B44 - .align 2, 0 -_08074B38: .4byte 0xffffff00 -_08074B3C: - cmp r0, 0 - bge _08074B48 - movs r2, 0x80 - lsls r2, 1 -_08074B44: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074B48: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074B56 -_08074B50: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074B56: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074AE0 - - thumb_func_start sub_8074B5C -sub_8074B5C: @ 8074B5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074BD8 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x38] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074BA4 - ldr r2, _08074BA0 @ =0xffffff00 - b _08074BAC - .align 2, 0 -_08074BA0: .4byte 0xffffff00 -_08074BA4: - cmp r0, 0 - bge _08074BB0 - movs r2, 0x80 - lsls r2, 1 -_08074BAC: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074BB0: - ldrh r1, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0xFF - ble _08074BC4 - ldr r2, _08074BC0 @ =0xffffff00 - b _08074BCC - .align 2, 0 -_08074BC0: .4byte 0xffffff00 -_08074BC4: - cmp r0, 0 - bge _08074BD0 - movs r2, 0x80 - lsls r2, 1 -_08074BCC: - adds r0, r1, r2 - strh r0, [r4, 0x36] -_08074BD0: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074BDE -_08074BD8: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074BDE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074B5C - - thumb_func_start sub_8074BE4 -sub_8074BE4: @ 8074BE4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074C38 - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08074C24 - ldr r2, _08074C20 @ =0xffffff00 - b _08074C2C - .align 2, 0 -_08074C20: .4byte 0xffffff00 -_08074C24: - cmp r0, 0 - bge _08074C30 - movs r2, 0x80 - lsls r2, 1 -_08074C2C: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_08074C30: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _08074C3E -_08074C38: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074C3E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074BE4 - - thumb_func_start sub_8074C44 -sub_8074C44: @ 8074C44 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08074C58 - subs r0, r2, 0x1 - strh r0, [r1, 0x2E] - b _08074C5E -_08074C58: - adds r0, r1, 0 - bl SetCallbackToStoredInData -_08074C5E: - pop {r0} - bx r0 - thumb_func_end sub_8074C44 - - thumb_func_start sub_8074C64 -sub_8074C64: @ 8074C64 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074C80 - ldr r1, _08074C7C @ =sub_8074CD0 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08074C7C: .4byte sub_8074CD0 - thumb_func_end sub_8074C64 - - thumb_func_start sub_8074C80 -sub_8074C80: @ 8074C80 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x30 - ldrsh r1, [r4, r0] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _08074C96 - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] -_08074C96: - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - subs r0, r1 - ldrh r5, [r4, 0x2E] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - cmp r0, 0 - bge _08074CB0 - negs r0, r0 -_08074CB0: - strh r0, [r4, 0x2E] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - subs r0, r1 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x32] - strh r5, [r4, 0x30] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8074C80 - - thumb_func_start sub_8074CD0 -sub_8074CD0: @ 8074CD0 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _08074CF4 - subs r0, r2, 0x1 - strh r0, [r1, 0x2E] - ldrh r0, [r1, 0x30] - ldrh r2, [r1, 0x24] - adds r0, r2 - strh r0, [r1, 0x24] - ldrh r0, [r1, 0x32] - ldrh r3, [r1, 0x26] - adds r0, r3 - strh r0, [r1, 0x26] - b _08074CFA -_08074CF4: - adds r0, r1, 0 - bl SetCallbackToStoredInData -_08074CFA: - pop {r0} - bx r0 - thumb_func_end sub_8074CD0 - - thumb_func_start sub_8074D00 -sub_8074D00: @ 8074D00 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _08074D30 - subs r0, r1, 0x1 - strh r0, [r2, 0x2E] - 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 - strh r0, [r2, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r2, 0x26] - b _08074D36 -_08074D30: - adds r0, r2, 0 - bl SetCallbackToStoredInData -_08074D36: - pop {r0} - bx r0 - thumb_func_end sub_8074D00 - - thumb_func_start sub_8074D3C -sub_8074D3C: @ 8074D3C - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08074D6C - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - lsls r1, 16 - asrs r1, 24 - strh r1, [r4, 0x26] - b _08074D72 -_08074D6C: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074D72: - adds r0, r4, 0 - bl UpdateMonIconFrame - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074D3C - - thumb_func_start sub_8074D80 -sub_8074D80: @ 8074D80 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x34] - ldr r5, _08074DBC @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _08074DC0 @ =sub_8074C64 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08074DBC: .4byte gBattleAnimTarget -_08074DC0: .4byte sub_8074C64 - thumb_func_end sub_8074D80 - - thumb_func_start TranslateMonSpriteLinear -TranslateMonSpriteLinear: @ 8074DC4 - push {r4,lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0 - ble _08074E08 - subs r0, r1, 0x1 - strh r0, [r3, 0x2E] - ldr r2, _08074E04 @ =gSprites - movs r4, 0x34 - ldrsh r1, [r3, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x30] - ldrh r4, [r0, 0x24] - adds r1, r4 - strh r1, [r0, 0x24] - movs r0, 0x34 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x32] - ldrh r2, [r0, 0x26] - adds r1, r2 - strh r1, [r0, 0x26] - b _08074E0E - .align 2, 0 -_08074E04: .4byte gSprites -_08074E08: - adds r0, r3, 0 - bl SetCallbackToStoredInData -_08074E0E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end TranslateMonSpriteLinear - - thumb_func_start TranslateMonSpriteLinearFixedPoint -TranslateMonSpriteLinearFixedPoint: @ 8074E14 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08074E64 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - ldrh r0, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x34] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - ldr r3, _08074E60 @ =gSprites - movs r0, 0x38 - ldrsh r2, [r4, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - lsls r1, 16 - asrs r1, 24 - strh r1, [r0, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] - b _08074E6A - .align 2, 0 -_08074E60: .4byte gSprites -_08074E64: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074E6A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end TranslateMonSpriteLinearFixedPoint - - thumb_func_start sub_8074E70 -sub_8074E70: @ 8074E70 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _08074ED2 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r1, r0 - strh r1, [r4, 0x32] - ldrh r1, [r4, 0x36] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - adds r1, r0 - strh r1, [r4, 0x36] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _08074ED8 - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08074ED8 - 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] - b _08074ED8 -_08074ED2: - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08074ED8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074E70 - - thumb_func_start move_anim_8074EE0 -move_anim_8074EE0: @ 8074EE0 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end move_anim_8074EE0 - - thumb_func_start sub_8074EF4 -sub_8074EF4: @ 8074EF4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x34] - ldr r5, _08074F30 @ =gBattleAnimAttacker - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _08074F34 @ =sub_8074C64 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08074F30: .4byte gBattleAnimAttacker -_08074F34: .4byte sub_8074C64 - thumb_func_end sub_8074EF4 - - thumb_func_start sub_8074F38 -sub_8074F38: @ 8074F38 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - bl ResetPaletteStructByUid - adds r0, r4, 0 - bl move_anim_8074EE0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074F38 - - thumb_func_start sub_8074F50 -sub_8074F50: @ 8074F50 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08074F66 - adds r0, r2, 0 - bl SetCallbackToStoredInData -_08074F66: - pop {r0} - bx r0 - thumb_func_end sub_8074F50 - - thumb_func_start sub_8074F6C -sub_8074F6C: @ 8074F6C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08074F82 - adds r0, r2, 0 - bl SetCallbackToStoredInData -_08074F82: - pop {r0} - bx r0 - thumb_func_end sub_8074F6C - - thumb_func_start sub_8074F88 -sub_8074F88: @ 8074F88 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074F88 - - thumb_func_start sub_8074FA8 -sub_8074FA8: @ 8074FA8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8074FA8 - - thumb_func_start sub_8074FCC -sub_8074FCC: @ 8074FCC - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _08074FF4 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08074FF4: .4byte gBattleAnimAttacker - thumb_func_end sub_8074FCC - - thumb_func_start sub_8074FF8 -sub_8074FF8: @ 8074FF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - mov r8, r5 - ldr r7, _08075030 @ =gBattleAnimAttacker - ldrb r0, [r7] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08075034 @ =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bhi _08075044 - cmp r6, r0 - bcs _08075038 - lsls r0, r5, 16 - b _08075054 - .align 2, 0 -_08075030: .4byte gBattleAnimAttacker -_08075034: .4byte gBattleAnimTarget -_08075038: - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075050 -_08075044: - ldrh r1, [r4, 0x20] - lsls r0, r5, 16 - asrs r0, 16 - subs r1, r0 - strh r1, [r4, 0x20] - b _0807505C -_08075050: - mov r1, r8 - lsls r0, r1, 16 -_08075054: - asrs r0, 16 - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] -_0807505C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8074FF8 - - thumb_func_start sub_8075068 -sub_8075068: @ 8075068 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - movs r5, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - strh r0, [r4, 0x3A] - strh r5, [r4, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8075068 - - thumb_func_start AnimateBallThrow -AnimateBallThrow: @ 8075094 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080750C0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - lsls r0, 16 - lsrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r0, 0 - b _080750C2 -_080750C0: - movs r0, 0x1 -_080750C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end AnimateBallThrow - - thumb_func_start sub_80750C8 -sub_80750C8: @ 80750C8 - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - bne _080750F4 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r0, r1 - strh r0, [r4, 0x3C] - lsls r0, 16 - lsrs r0, 24 - movs r2, 0x38 - ldrsh r1, [r4, r2] - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r0, 0 - b _080750F6 -_080750F4: - movs r0, 0x1 -_080750F6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80750C8 - - thumb_func_start SetSpritePrimaryCoordsFromSecondaryCoords -SetSpritePrimaryCoordsFromSecondaryCoords: @ 80750FC - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - movs r2, 0 - strh r1, [r0, 0x20] - ldrh r1, [r0, 0x26] - ldrh r3, [r0, 0x22] - adds r1, r3 - strh r1, [r0, 0x22] - strh r2, [r0, 0x24] - strh r2, [r0, 0x26] - bx lr - thumb_func_end SetSpritePrimaryCoordsFromSecondaryCoords - - thumb_func_start sub_8075114 -sub_8075114: @ 8075114 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - bne _0807513C - ldr r4, _08075158 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_0807513C: - ldr r4, _0807515C @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8074FF8 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08075158: .4byte gBattleAnimTarget -_0807515C: .4byte gBattleAnimArgs - thumb_func_end sub_8075114 - - thumb_func_start sub_8075160 -sub_8075160: @ 8075160 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - bne _08075184 - ldr r4, _08075180 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - b _08075198 - .align 2, 0 -_08075180: .4byte gBattleAnimAttacker -_08075184: - ldr r4, _080751BC @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 -_08075198: - bl sub_8074844 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, _080751C0 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_8074FF8 - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080751BC: .4byte gBattleAnimAttacker -_080751C0: .4byte gBattleAnimArgs - thumb_func_end sub_8075160 - - thumb_func_start GetBattlerSide -GetBattlerSide: @ 80751C4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080751D4 @ =gBattlerPositions - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_080751D4: .4byte gBattlerPositions - thumb_func_end GetBattlerSide - - thumb_func_start GetBattlerPosition -GetBattlerPosition: @ 80751D8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080751E4 @ =gBattlerPositions - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080751E4: .4byte gBattlerPositions - thumb_func_end GetBattlerPosition - - thumb_func_start GetBattlerAtPosition -GetBattlerAtPosition: @ 80751E8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - movs r1, 0 - ldr r0, _0807521C @ =gBattlersCount - ldrb r2, [r0] - cmp r1, r2 - bcs _08075212 - ldr r4, _08075220 @ =gBattlerPositions - ldrb r0, [r4] - cmp r0, r3 - beq _08075212 -_08075200: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcs _08075212 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - bne _08075200 -_08075212: - adds r0, r1, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0807521C: .4byte gBattlersCount -_08075220: .4byte gBattlerPositions - thumb_func_end GetBattlerAtPosition - - thumb_func_start IsBattlerSpritePresent -IsBattlerSpritePresent: @ 8075224 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - ldr r0, _08075254 @ =gBattlerPositions - adds r0, r4, r0 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08075288 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075260 - ldr r1, _08075258 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0807525C @ =gEnemyParty - b _0807526E - .align 2, 0 -_08075254: .4byte gBattlerPositions -_08075258: .4byte gBattlerPartyIndexes -_0807525C: .4byte gEnemyParty -_08075260: - ldr r1, _08075280 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08075284 @ =gPlayerParty -_0807526E: - adds r0, r1 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08075288 - movs r0, 0x1 - b _0807528A - .align 2, 0 -_08075280: .4byte gBattlerPartyIndexes -_08075284: .4byte gPlayerParty -_08075288: - movs r0, 0 -_0807528A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsBattlerSpritePresent - - thumb_func_start IsDoubleBattle -IsDoubleBattle: @ 8075290 - ldr r0, _0807529C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0807529C: .4byte gBattleTypeFlags - thumb_func_end IsDoubleBattle - - thumb_func_start sub_80752A0 -sub_80752A0: @ 80752A0 - ldr r1, _080752C0 @ =gUnknown_2022BB8 - ldr r1, [r1] - str r1, [r0] - ldr r1, _080752C4 @ =gUnknown_2022BBC - ldr r1, [r1] - str r1, [r0, 0x4] - movs r2, 0 - movs r1, 0x8 - strb r1, [r0, 0x8] - movs r1, 0x1 - strb r1, [r0, 0x9] - movs r1, 0x80 - lsls r1, 2 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - bx lr - .align 2, 0 -_080752C0: .4byte gUnknown_2022BB8 -_080752C4: .4byte gUnknown_2022BBC - thumb_func_end sub_80752A0 - - thumb_func_start sub_80752C8 -sub_80752C8: @ 80752C8 - push {lr} - adds r2, r0, 0 - cmp r1, 0x1 - bne _080752D6 - bl sub_80752A0 - b _080752F4 -_080752D6: - ldr r0, _080752F8 @ =gUnknown_2022BB8 - ldr r0, [r0] - str r0, [r2] - ldr r0, _080752FC @ =gUnknown_2022BBC - ldr r0, [r0] - str r0, [r2, 0x4] - movs r1, 0 - movs r0, 0x9 - strb r0, [r2, 0x8] - movs r0, 0x2 - strb r0, [r2, 0x9] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r2, 0xA] - strh r1, [r2, 0xC] -_080752F4: - pop {r0} - bx r0 - .align 2, 0 -_080752F8: .4byte gUnknown_2022BB8 -_080752FC: .4byte gUnknown_2022BBC - thumb_func_end sub_80752C8 - - thumb_func_start sub_8075300 -sub_8075300: @ 8075300 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08075334 @ =gUnknown_2022BB8 - ldr r0, [r0] - str r0, [r4] - ldr r0, _08075338 @ =gUnknown_2022BBC - ldr r0, [r0] - str r0, [r4, 0x4] - ldr r0, _0807533C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl sub_80768B0 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1 - bne _08075340 - movs r0, 0 - movs r1, 0x8 - strb r1, [r4, 0x8] - strb r2, [r4, 0x9] - movs r1, 0x80 - lsls r1, 2 - strh r1, [r4, 0xA] - strh r0, [r4, 0xC] - b _08075352 - .align 2, 0 -_08075334: .4byte gUnknown_2022BB8 -_08075338: .4byte gUnknown_2022BBC -_0807533C: .4byte gBattleAnimAttacker -_08075340: - movs r1, 0 - movs r0, 0x9 - strb r0, [r4, 0x8] - movs r0, 0x2 - strb r0, [r4, 0x9] - movs r0, 0xC0 - lsls r0, 2 - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] -_08075352: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075300 - - thumb_func_start sub_8075358 -sub_8075358: @ 8075358 - push {r4,lr} - sub sp, 0x20 - adds r4, r0, 0 - add r0, sp, 0xC - adds r1, r4, 0 - bl sub_80752C8 - movs r0, 0 - str r0, [sp, 0x1C] - add r0, sp, 0x1C - ldr r1, [sp, 0xC] - ldr r2, _080753B0 @ =0x05000800 - bl CpuSet - lsls r4, 24 - lsrs r4, 24 - ldr r1, [sp, 0xC] - movs r2, 0x80 - lsls r2, 6 - add r0, sp, 0xC - ldrh r3, [r0, 0xA] - adds r0, r4, 0 - bl LoadBgTiles - movs r0, 0x20 - str r0, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - adds r0, r4, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080753B0: .4byte 0x05000800 - thumb_func_end sub_8075358 - - thumb_func_start AnimLoadCompressedBgGfx -AnimLoadCompressedBgGfx: @ 80753B4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r5, r0, 0 - mov r8, r1 - adds r6, r2, 0 - movs r0, 0 - str r0, [sp] - ldr r4, _080753FC @ =gUnknown_2022BB8 - ldr r1, [r4] - ldr r2, _08075400 @ =0x05000800 - mov r0, sp - bl CpuSet - ldr r1, [r4] - mov r0, r8 - bl LZDecompressWram - lsls r5, 24 - lsrs r5, 24 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 6 - lsls r6, 16 - lsrs r6, 16 - adds r0, r5, 0 - adds r3, r6, 0 - bl LoadBgTiles - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080753FC: .4byte gUnknown_2022BB8 -_08075400: .4byte 0x05000800 - thumb_func_end AnimLoadCompressedBgGfx - - thumb_func_start sub_8075404 -sub_8075404: @ 8075404 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x40 - str r0, [sp, 0x4] - movs r0, 0x11 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8075404 - - thumb_func_start sub_807543C -sub_807543C: @ 807543C - push {r4,lr} - adds r4, r0, 0 - bl sub_8075404 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl CopyBgTilemapBufferToVram - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807543C - - thumb_func_start sub_8075454 -sub_8075454: @ 8075454 - movs r0, 0x2 - bx lr - thumb_func_end sub_8075454 - - thumb_func_start sub_8075458 -sub_8075458: @ 8075458 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _08075476 - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl SetAnimBgAttribute - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0x1 - bl SetAnimBgAttribute - b _0807548A -_08075476: - movs r0, 0x3 - movs r1, 0 - movs r2, 0x1 - bl SetAnimBgAttribute - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0 - bl SetAnimBgAttribute -_0807548A: - pop {r0} - bx r0 - thumb_func_end sub_8075458 - - thumb_func_start sub_8075490 -sub_8075490: @ 8075490 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl InitSpriteDataForLinearTranslation - ldr r1, _080754B4 @ =sub_8074D3C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080754B4: .4byte sub_8074D3C - thumb_func_end sub_8075490 - - thumb_func_start InitSpriteDataForLinearTranslation -InitSpriteDataForLinearTranslation: @ 80754B8 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x32] - ldrh r1, [r5, 0x30] - subs r0, r1 - ldrh r4, [r5, 0x36] - ldrh r1, [r5, 0x34] - subs r4, r1 - lsls r4, 24 - lsrs r4, 16 - lsls r0, 24 - asrs r0, 16 - movs r2, 0x2E - ldrsh r1, [r5, r2] - bl __divsi3 - movs r6, 0 - strh r0, [r5, 0x30] - lsls r4, 16 - asrs r4, 16 - movs r0, 0x2E - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl __divsi3 - strh r0, [r5, 0x32] - strh r6, [r5, 0x36] - strh r6, [r5, 0x34] - pop {r4-r6} - pop {r0} - bx r0 - 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 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r2, 0x30 - ldrsh r0, [r7, r2] - subs r1, r0 - movs r3, 0x36 - ldrsh r2, [r7, r3] - movs r3, 0x34 - ldrsh r0, [r7, r3] - subs r2, r0 - lsrs r0, r1, 31 - mov r8, r0 - lsrs r3, r2, 31 - mov r9, r3 - cmp r1, 0 - bge _08075524 - negs r1, r1 -_08075524: - lsls r0, r1, 24 - lsrs r6, r0, 16 - adds r0, r2, 0 - cmp r0, 0 - bge _08075530 - negs r0, r0 -_08075530: - lsls r0, 24 - lsrs r5, r0, 16 - movs r0, 0x2E - ldrsh r4, [r7, r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r2, r8 - cmp r2, 0 - beq _0807555C - movs r0, 0x1 - orrs r6, r0 - b _08075560 -_0807555C: - ldr r0, _0807556C @ =0x0000fffe - ands r6, r0 -_08075560: - mov r3, r9 - cmp r3, 0 - beq _08075570 - movs r0, 0x1 - orrs r5, r0 - b _08075574 - .align 2, 0 -_0807556C: .4byte 0x0000fffe -_08075570: - ldr r0, _0807558C @ =0x0000fffe - ands r5, r0 -_08075574: - movs r0, 0 - strh r6, [r7, 0x30] - strh r5, [r7, 0x32] - strh r0, [r7, 0x36] - strh r0, [r7, 0x34] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807558C: .4byte 0x0000fffe - thumb_func_end obj_translate_based_on_private_1_2_3_4 - - thumb_func_start StartAnimLinearTranslation -StartAnimLinearTranslation: @ 8075590 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080755B4 @ =sub_807563C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080755B4: .4byte sub_807563C - thumb_func_end StartAnimLinearTranslation - - thumb_func_start sub_80755B8 -sub_80755B8: @ 80755B8 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080755DC @ =sub_8075658 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080755DC: .4byte sub_8075658 - thumb_func_end sub_80755B8 - - thumb_func_start sub_80755E0 -sub_80755E0: @ 80755E0 - push {r4-r6,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080755F0 - movs r0, 0x1 - b _08075634 -_080755F0: - ldrh r1, [r2, 0x30] - ldrh r4, [r2, 0x32] - ldrh r6, [r2, 0x34] - ldrh r5, [r2, 0x36] - adds r0, r6, r1 - lsls r3, r0, 16 - lsrs r6, r3, 16 - adds r0, r5, r4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08075612 - lsrs r0, r3, 24 - negs r0, r0 - b _08075614 -_08075612: - lsrs r0, r3, 24 -_08075614: - strh r0, [r2, 0x24] - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - beq _08075624 - lsrs r0, r5, 8 - negs r0, r0 - b _08075626 -_08075624: - lsrs r0, r5, 8 -_08075626: - strh r0, [r2, 0x26] - strh r6, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0 -_08075634: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80755E0 - - thumb_func_start sub_807563C -sub_807563C: @ 807563C - push {r4,lr} - adds r4, r0, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _08075650 - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08075650: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807563C - - thumb_func_start sub_8075658 -sub_8075658: @ 8075658 - push {r4,lr} - adds r4, r0, 0 - bl sub_801236C - adds r0, r4, 0 - bl sub_80755E0 - lsls r0, 24 - cmp r0, 0 - beq _08075672 - adds r0, r4, 0 - bl SetCallbackToStoredInData -_08075672: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075658 - - thumb_func_start sub_8075678 -sub_8075678: @ 8075678 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _0807568C - negs r0, r0 -_0807568C: - lsls r0, 8 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075678 - - thumb_func_start sub_80756A4 -sub_80756A4: @ 80756A4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_8075678 - ldr r1, _080756C8 @ =sub_807563C - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080756C8: .4byte sub_807563C - thumb_func_end sub_80756A4 - - thumb_func_start sub_80756CC -sub_80756CC: @ 80756CC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - movs r0, 0x32 - ldrsh r1, [r7, r0] - movs r2, 0x30 - ldrsh r0, [r7, r2] - subs r1, r0 - movs r3, 0x36 - ldrsh r2, [r7, r3] - movs r3, 0x34 - ldrsh r0, [r7, r3] - subs r2, r0 - lsrs r0, r1, 31 - mov r8, r0 - lsrs r3, r2, 31 - mov r9, r3 - cmp r1, 0 - bge _080756F8 - negs r1, r1 -_080756F8: - lsls r0, r1, 20 - lsrs r6, r0, 16 - adds r0, r2, 0 - cmp r0, 0 - bge _08075704 - negs r0, r0 -_08075704: - lsls r0, 20 - lsrs r5, r0, 16 - movs r0, 0x2E - ldrsh r4, [r7, r0] - adds r0, r6, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r2, r8 - cmp r2, 0 - beq _08075730 - movs r0, 0x1 - orrs r6, r0 - b _08075734 -_08075730: - ldr r0, _08075740 @ =0x0000fffe - ands r6, r0 -_08075734: - mov r3, r9 - cmp r3, 0 - beq _08075744 - movs r0, 0x1 - orrs r5, r0 - b _08075748 - .align 2, 0 -_08075740: .4byte 0x0000fffe -_08075744: - ldr r0, _08075760 @ =0x0000fffe - ands r5, r0 -_08075748: - movs r0, 0 - strh r6, [r7, 0x30] - strh r5, [r7, 0x32] - strh r0, [r7, 0x36] - strh r0, [r7, 0x34] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075760: .4byte 0x0000fffe - thumb_func_end sub_80756CC - - thumb_func_start sub_8075764 -sub_8075764: @ 8075764 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_80756CC - ldr r1, _08075788 @ =sub_80757E8 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075788: .4byte sub_80757E8 - thumb_func_end sub_8075764 - - thumb_func_start sub_807578C -sub_807578C: @ 807578C - push {r4-r6,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _0807579C - movs r0, 0x1 - b _080757E0 -_0807579C: - ldrh r1, [r2, 0x30] - ldrh r4, [r2, 0x32] - ldrh r6, [r2, 0x34] - ldrh r5, [r2, 0x36] - adds r0, r6, r1 - lsls r3, r0, 16 - lsrs r6, r3, 16 - adds r0, r5, r4 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080757BE - lsrs r0, r3, 20 - negs r0, r0 - b _080757C0 -_080757BE: - lsrs r0, r3, 20 -_080757C0: - strh r0, [r2, 0x24] - movs r0, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080757D0 - lsrs r0, r5, 4 - negs r0, r0 - b _080757D2 -_080757D0: - lsrs r0, r5, 4 -_080757D2: - strh r0, [r2, 0x26] - strh r6, [r2, 0x34] - strh r5, [r2, 0x36] - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - movs r0, 0 -_080757E0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807578C - - thumb_func_start sub_80757E8 -sub_80757E8: @ 80757E8 - push {r4,lr} - adds r4, r0, 0 - bl sub_807578C - lsls r0, 24 - cmp r0, 0 - beq _080757FC - adds r0, r4, 0 - bl SetCallbackToStoredInData -_080757FC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80757E8 - - thumb_func_start sub_8075804 -sub_8075804: @ 8075804 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - movs r2, 0x30 - ldrsh r0, [r4, r2] - subs r0, r1, r0 - cmp r0, 0 - bge _08075818 - negs r0, r0 -_08075818: - lsls r0, 4 - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl __divsi3 - strh r0, [r4, 0x2E] - adds r0, r4, 0 - bl sub_80756CC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075804 - - thumb_func_start sub_8075830 -sub_8075830: @ 8075830 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - adds r0, r4, 0 - bl sub_8075804 - ldr r1, _08075854 @ =sub_80757E8 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075854: .4byte sub_80757E8 - thumb_func_end sub_8075830 - - thumb_func_start SetSpriteRotScale -SetSpriteRotScale: @ 8075858 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsls r3, 16 - lsrs r3, 16 - ldr r5, _080758D0 @ =0xffff0000 - lsls r2, 16 - lsrs r1, 16 - orrs r1, r2 - str r1, [sp] - ldr r0, [sp, 0x4] - ands r0, r5 - orrs r0, r3 - str r0, [sp, 0x4] - bl sub_80758DC - lsls r0, 24 - cmp r0, 0 - beq _08075894 - mov r0, sp - ldrh r0, [r0] - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - ands r1, r5 - orrs r1, r0 - str r1, [sp] -_08075894: - ldr r1, _080758D4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r4, [r0, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, _080758D8 @ =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080758D0: .4byte 0xffff0000 -_080758D4: .4byte gSprites -_080758D8: .4byte gOamMatrices - thumb_func_end SetSpriteRotScale - - thumb_func_start sub_80758DC -sub_80758DC: @ 80758DC - movs r0, 0 - bx lr - thumb_func_end sub_80758DC - - thumb_func_start PrepareBattlerSpriteForRotScale -PrepareBattlerSpriteForRotScale: @ 80758E0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r2, _08075978 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r4, r1, r2 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08075914 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_08075914: - movs r7, 0x3 - ands r5, r7 - lsls r2, r5, 2 - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x1] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r4, 0x1] - lsls r0, 30 - cmp r0, 0 - bne _0807595C - ldr r0, _0807597C @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] -_0807595C: - ldrb r3, [r4, 0x1] - orrs r3, r7 - strb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075978: .4byte gSprites -_0807597C: .4byte gBattleSpritesDataPtr - thumb_func_end PrepareBattlerSpriteForRotScale - - thumb_func_start ResetSpriteRotScale -ResetSpriteRotScale: @ 8075980 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl SetSpriteRotScale - ldr r1, _080759D8 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - movs r2, 0xD - negs r2, r2 - ands r1, r2 - strb r1, [r0, 0x1] - adds r3, r0, 0 - adds r3, 0x2C - ldrb r2, [r3] - movs r1, 0x7F - ands r1, r2 - strb r1, [r3] - ldrb r3, [r0, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r0, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - bl CalcCenterToCornerVec - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080759D8: .4byte gSprites - thumb_func_end ResetSpriteRotScale - - thumb_func_start sub_80759DC -sub_80759DC: @ 80759DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08075A14 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r2 - ldrb r0, [r2, 0x3] - lsls r0, 26 - lsrs r0, 27 - ldr r1, _08075A18 @ =gOamMatrices - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x4] - movs r3, 0x4 - ldrsh r0, [r0, r3] - cmp r0, 0 - bge _08075A08 - negs r0, r0 - lsls r0, 16 - lsrs r1, r0, 16 -_08075A08: - lsls r0, r1, 16 - asrs r0, 19 - strh r0, [r2, 0x26] - pop {r0} - bx r0 - .align 2, 0 -_08075A14: .4byte gSprites -_08075A18: .4byte gOamMatrices - thumb_func_end sub_80759DC - - thumb_func_start sub_8075A1C -sub_8075A1C: @ 8075A1C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r4, r0, 0 - ldr r0, [sp, 0x28] - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r7, r3, 16 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldrb r0, [r4, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08075AC2 - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - cmp r6, 0 - beq _08075A6A - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec -_08075A6A: - ldr r6, _08075AD0 @ =0xffff0000 - lsls r0, r7, 16 - orrs r5, r0 - str r5, [sp] - ldr r0, [sp, 0x4] - ands r0, r6 - mov r1, r8 - orrs r0, r1 - str r0, [sp, 0x4] - bl sub_80758DC - lsls r0, 24 - cmp r0, 0 - beq _08075A98 - mov r0, sp - ldrh r0, [r0] - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - ands r1, r6 - orrs r1, r0 - str r1, [sp] -_08075A98: - ldrb r4, [r4, 0x3] - lsls r4, 26 - lsrs r4, 27 - add r5, sp, 0x8 - mov r0, sp - adds r1, r5, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ObjAffineSet - ldr r0, _08075AD4 @ =gOamMatrices - lsls r4, 3 - adds r4, r0 - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x2] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x4] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x6] -_08075AC2: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075AD0: .4byte 0xffff0000 -_08075AD4: .4byte gOamMatrices - thumb_func_end sub_8075A1C - - thumb_func_start sub_8075AD8 -sub_8075AD8: @ 8075AD8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x1 - adds r2, r3, 0 - bl sub_8075A1C - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075AD8 - - thumb_func_start ArcTan2_ -ArcTan2_: @ 8075B18 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end ArcTan2_ - - thumb_func_start sub_8075B30 -sub_8075B30: @ 8075B30 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl ArcTan2_ - lsls r0, 16 - negs r0, r0 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_8075B30 - - thumb_func_start sub_8075B48 -sub_8075B48: @ 8075B48 - push {r4-r7,lr} - lsls r1, 24 - lsls r0, 20 - lsrs r0, 16 - cmp r1, 0 - bne _08075BC4 - ldr r2, _08075BB8 @ =gPlttBufferUnfaded - ldr r1, _08075BBC @ =gPlttBufferFaded - lsls r0, 1 - adds r4, r0, r1 - adds r5, r0, r2 - movs r6, 0xF -_08075B60: - ldr r0, [r5] - lsls r2, r0, 27 - lsrs r2, 27 - lsls r1, r0, 22 - lsrs r1, 27 - adds r2, r1 - lsls r0, 17 - lsrs r0, 27 - adds r0, r2 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1F - ands r0, r1 - ldrb r1, [r4] - movs r3, 0x20 - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4] - lsls r3, r0, 5 - ldrh r1, [r4] - ldr r7, _08075BC0 @ =0xfffffc1f - adds r2, r7, 0 - ands r1, r2 - orrs r1, r3 - strh r1, [r4] - lsls r0, 2 - ldrb r1, [r4, 0x1] - movs r3, 0x7D - negs r3, r3 - adds r2, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x1] - adds r4, 0x2 - adds r5, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _08075B60 - b _08075BD4 - .align 2, 0 -_08075BB8: .4byte gPlttBufferUnfaded -_08075BBC: .4byte gPlttBufferFaded -_08075BC0: .4byte 0xfffffc1f -_08075BC4: - lsls r1, r0, 1 - ldr r0, _08075BDC @ =gPlttBufferUnfaded - adds r0, r1, r0 - ldr r2, _08075BE0 @ =gPlttBufferFaded - adds r1, r2 - ldr r2, _08075BE4 @ =0x04000008 - bl CpuSet -_08075BD4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075BDC: .4byte gPlttBufferUnfaded -_08075BE0: .4byte gPlttBufferFaded -_08075BE4: .4byte 0x04000008 - thumb_func_end sub_8075B48 - - thumb_func_start sub_8075BE8 -sub_8075BE8: @ 8075BE8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r4, [sp, 0x1C] - ldr r5, [sp, 0x20] - ldr r6, [sp, 0x24] - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r7, r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r8, r5 - lsls r6, 24 - lsrs r6, 24 - mov r9, r6 - movs r4, 0 - cmp r0, 0 - beq _08075C1C - movs r4, 0xE -_08075C1C: - cmp r1, 0 - beq _08075C2E - ldr r0, _08075CB0 @ =gBattleAnimAttacker - ldrb r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C2E: - cmp r2, 0 - beq _08075C40 - ldr r0, _08075CB4 @ =gBattleAnimTarget - ldrb r0, [r0] - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C40: - cmp r3, 0 - beq _08075C64 - ldr r6, _08075CB0 @ =gBattleAnimAttacker - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08075C64 - ldrb r0, [r6] - eors r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C64: - cmp r7, 0 - beq _08075C88 - ldr r6, _08075CB4 @ =gBattleAnimTarget - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08075C88 - ldrb r0, [r6] - eors r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075C88: - mov r0, r8 - cmp r0, 0 - beq _08075C94 - movs r0, 0x80 - lsls r0, 1 - orrs r4, r0 -_08075C94: - mov r0, r9 - cmp r0, 0 - beq _08075CA0 - movs r0, 0x80 - lsls r0, 2 - orrs r4, r0 -_08075CA0: - adds r0, r4, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08075CB0: .4byte gBattleAnimAttacker -_08075CB4: .4byte gBattleAnimTarget - thumb_func_end sub_8075BE8 - - thumb_func_start sub_8075CB8 -sub_8075CB8: @ 8075CB8 - push {r4-r7,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r7, r3, 24 - movs r4, 0 - cmp r0, 0 - beq _08075CF2 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08075CF2 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r4, 0x1 - lsls r4, r0 -_08075CF2: - cmp r5, 0 - beq _08075D1E - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08075D1E - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075D1E: - cmp r6, 0 - beq _08075D4A - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08075D4A - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075D4A: - cmp r7, 0 - beq _08075D76 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08075D76 - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - orrs r4, r0 -_08075D76: - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8075CB8 - - thumb_func_start sub_8075D80 -sub_8075D80: @ 8075D80 - lsls r0, 24 - lsrs r0, 24 - bx lr - thumb_func_end sub_8075D80 - - thumb_func_start sub_8075D88 -sub_8075D88: @ 8075D88 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8075D88 - - thumb_func_start sub_8075D9C -sub_8075D9C: @ 8075D9C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08075DDA - ldr r2, _08075DC8 @ =gBattleAnimArgs - movs r3, 0x6 - ldrsh r0, [r2, r3] - movs r1, 0 - cmp r0, 0 - bne _08075DB6 - movs r1, 0x1 -_08075DB6: - movs r3, 0x4 - ldrsh r0, [r2, r3] - cmp r0, 0 - bne _08075DCC - adds r0, r4, 0 - bl sub_8075160 - b _08075DD2 - .align 2, 0 -_08075DC8: .4byte gBattleAnimArgs -_08075DCC: - adds r0, r4, 0 - bl sub_8075114 -_08075DD2: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _08075DEE -_08075DDA: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _08075DEE - adds r0, r4, 0 - bl move_anim_8074EE0 -_08075DEE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075D9C - - thumb_func_start sub_8075DF4 -sub_8075DF4: @ 8075DF4 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r6, _08075E6C @ =gBattleAnimArgs - movs r1, 0xA - ldrsh r0, [r6, r1] - movs r1, 0xFF - lsls r1, 8 - ands r0, r1 - movs r1, 0 - cmp r0, 0 - bne _08075E0C - movs r1, 0x1 -_08075E0C: - ldrb r0, [r6, 0xA] - movs r7, 0x1 - cmp r0, 0 - bne _08075E16 - movs r7, 0x3 -_08075E16: - adds r0, r5, 0 - bl sub_8075160 - ldr r0, _08075E70 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075E30 - ldrh r0, [r6, 0x4] - negs r0, r0 - strh r0, [r6, 0x4] -_08075E30: - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - ldr r4, _08075E74 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - adds r1, r7, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, _08075E78 @ =StartAnimLinearTranslation - str r0, [r5, 0x1C] - ldr r1, _08075E7C @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075E6C: .4byte gBattleAnimArgs -_08075E70: .4byte gBattleAnimAttacker -_08075E74: .4byte gBattleAnimTarget -_08075E78: .4byte StartAnimLinearTranslation -_08075E7C: .4byte DestroyAnimSprite - thumb_func_end sub_8075DF4 - - thumb_func_start sub_8075E80 -sub_8075E80: @ 8075E80 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_8075160 - ldr r0, _08075EE0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075EA0 - ldr r1, _08075EE4 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_08075EA0: - ldr r4, _08075EE4 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, _08075EE8 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r6, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - adds r0, r6, 0 - bl sub_8075068 - ldr r0, _08075EEC @ =sub_8075EF0 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075EE0: .4byte gBattleAnimAttacker -_08075EE4: .4byte gBattleAnimArgs -_08075EE8: .4byte gBattleAnimTarget -_08075EEC: .4byte sub_8075EF0 - thumb_func_end sub_8075E80 - - thumb_func_start sub_8075EF0 -sub_8075EF0: @ 8075EF0 - push {r4,lr} - adds r4, r0, 0 - bl AnimateBallThrow - lsls r0, 24 - cmp r0, 0 - beq _08075F04 - adds r0, r4, 0 - bl DestroyAnimSprite -_08075F04: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075EF0 - - thumb_func_start sub_8075F0C -sub_8075F0C: @ 8075F0C - push {r4-r7,lr} - adds r5, r0, 0 - ldr r0, _08075F20 @ =gBattleAnimArgs - movs r2, 0xC - ldrsh r1, [r0, r2] - cmp r1, 0 - bne _08075F24 - movs r4, 0x1 - movs r7, 0x3 - b _08075F28 - .align 2, 0 -_08075F20: .4byte gBattleAnimArgs -_08075F24: - movs r4, 0 - movs r7, 0x1 -_08075F28: - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08075F40 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8075160 - ldr r0, _08075F3C @ =gBattleAnimAttacker - b _08075F4A - .align 2, 0 -_08075F3C: .4byte gBattleAnimAttacker -_08075F40: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8075114 - ldr r0, _08075FA8 @ =gBattleAnimTarget -_08075F4A: - ldrb r6, [r0] - ldr r0, _08075FAC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08075F62 - ldr r1, _08075FB0 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_08075F62: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8075114 - ldr r4, _08075FB0 @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x2E] - adds r0, r6, 0 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r5, 0x32] - adds r0, r6, 0 - adds r1, r7, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x6] - adds r0, r4 - strh r0, [r5, 0x36] - ldr r0, _08075FB4 @ =StartAnimLinearTranslation - str r0, [r5, 0x1C] - ldr r1, _08075FB8 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData6 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075FA8: .4byte gBattleAnimTarget -_08075FAC: .4byte gBattleAnimAttacker -_08075FB0: .4byte gBattleAnimArgs -_08075FB4: .4byte StartAnimLinearTranslation -_08075FB8: .4byte DestroyAnimSprite - thumb_func_end sub_8075F0C - - thumb_func_start CloneBattlerSpriteWithBlend -CloneBattlerSpriteWithBlend: @ 8075FBC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _08076026 - movs r6, 0 - ldr r2, _08076018 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r1, r0, 2 -_08075FD8: - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r4, r0, r2 - adds r5, r4, 0 - adds r5, 0x3E - ldrb r0, [r5] - lsls r0, 31 - cmp r0, 0 - bne _0807601C - adds r0, r4, 0 - adds r1, r2 - movs r2, 0x44 - bl memcpy - ldrb r1, [r4, 0x1] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] - ldrb r0, [r5] - adds r2, 0x8 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r5] - lsls r0, r6, 16 - asrs r0, 16 - b _0807602A - .align 2, 0 -_08076018: .4byte gSprites -_0807601C: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3F - bls _08075FD8 -_08076026: - movs r0, 0x1 - negs r0, r0 -_0807602A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CloneBattlerSpriteWithBlend - - thumb_func_start obj_delete_but_dont_free_vram -obj_delete_but_dont_free_vram: @ 8076030 - push {lr} - adds r3, r0, 0 - adds r3, 0x3F - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - bl DestroySprite - pop {r0} - bx r0 - thumb_func_end obj_delete_but_dont_free_vram - - thumb_func_start sub_8076048 -sub_8076048: @ 8076048 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - movs r3, 0 - ldr r2, _080760C0 @ =gBattleAnimArgs - movs r0, 0x4 - ldrsh r1, [r2, r0] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r1, r0 - ble _08076062 - movs r3, 0x1 -_08076062: - cmp r1, r0 - bge _08076068 - ldr r3, _080760C4 @ =0x0000ffff -_08076068: - movs r0, 0x6 - ldrsh r1, [r2, r0] - movs r4, 0x2 - ldrsh r0, [r2, r4] - cmp r1, r0 - ble _08076076 - movs r6, 0x1 -_08076076: - cmp r1, r0 - bge _0807607C - ldr r6, _080760C4 @ =0x0000ffff -_0807607C: - ldr r0, _080760C8 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r1, 0 - strh r1, [r4, 0x8] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0xA] - strh r1, [r4, 0xC] - ldrh r0, [r2] - strh r0, [r4, 0xE] - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x10] - strh r3, [r4, 0x12] - strh r6, [r4, 0x14] - ldrh r0, [r2, 0x4] - strh r0, [r4, 0x16] - ldrh r0, [r2, 0x6] - strh r0, [r4, 0x18] - ldrh r1, [r2, 0x2] - lsls r1, 8 - ldrh r0, [r2] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - ldr r0, _080760CC @ =sub_80760D0 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080760C0: .4byte gBattleAnimArgs -_080760C4: .4byte 0x0000ffff -_080760C8: .4byte gTasks -_080760CC: .4byte sub_80760D0 - thumb_func_end sub_8076048 - - thumb_func_start sub_80760D0 -sub_80760D0: @ 80760D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807611C @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0xA - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _08076164 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076120 - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r1, [r4, r3] - movs r3, 0x16 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _08076134 - ldrh r0, [r4, 0x12] - adds r0, r2, r0 - strh r0, [r4, 0xE] - b _08076134 - .align 2, 0 -_0807611C: .4byte gTasks -_08076120: - ldrh r2, [r4, 0x10] - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r3, 0x18 - ldrsh r0, [r4, r3] - cmp r1, r0 - beq _08076134 - ldrh r0, [r4, 0x14] - adds r0, r2, r0 - strh r0, [r4, 0x10] -_08076134: - ldrh r1, [r4, 0x10] - lsls r1, 8 - ldrh r0, [r4, 0xE] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0xE - ldrsh r1, [r4, r0] - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08076164 - movs r3, 0x10 - ldrsh r1, [r4, r3] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08076164 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08076164: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80760D0 - - thumb_func_start sub_807616C -sub_807616C: @ 807616C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0807618C @ =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - bne _08076190 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080761B6 - .align 2, 0 -_0807618C: .4byte gBattleAnimArgs -_08076190: - ldr r1, _080761BC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080761C0 @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - lsls r1, 4 - ldr r3, _080761C4 @ =0x00000101 - adds r2, r3, 0 - adds r1, r2 - strh r1, [r0, 0x8] - bl sub_80761C8 -_080761B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080761BC: .4byte gTasks -_080761C0: .4byte gSprites -_080761C4: .4byte 0x00000101 - thumb_func_end sub_807616C - - thumb_func_start sub_80761C8 -sub_80761C8: @ 80761C8 - ldr r3, _080761E8 @ =gBattleAnimArgs - ldrh r1, [r3, 0x2] - movs r2, 0 - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0xE] - strh r2, [r0, 0x10] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0x12] - strh r2, [r0, 0x14] - ldrh r1, [r3, 0x8] - strh r1, [r0, 0x16] - ldr r1, _080761EC @ =sub_80761F0 - str r1, [r0] - bx lr - .align 2, 0 -_080761E8: .4byte gBattleAnimArgs -_080761EC: .4byte sub_80761F0 - thumb_func_end sub_80761C8 - - thumb_func_start sub_80761F0 -sub_80761F0: @ 80761F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08076248 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x12 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _08076280 - movs r0, 0 - strh r0, [r4, 0x10] - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0807624C - ldrh r2, [r4, 0xC] - adds r2, 0x1 - strh r2, [r4, 0xC] - ldrh r0, [r4, 0x8] - lsls r2, 24 - lsrs r2, 24 - ldrh r3, [r4, 0xA] - movs r1, 0xF - bl BlendPalette - movs r2, 0xC - ldrsh r1, [r4, r2] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _08076280 - movs r0, 0x1 - strh r0, [r4, 0x14] - b _08076280 - .align 2, 0 -_08076248: .4byte gTasks -_0807624C: - ldrh r2, [r4, 0xC] - subs r2, 0x1 - strh r2, [r4, 0xC] - ldrh r0, [r4, 0x8] - lsls r2, 24 - lsrs r2, 24 - ldrh r3, [r4, 0xA] - movs r1, 0xF - bl BlendPalette - movs r0, 0xC - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _08076280 - ldrh r0, [r4, 0x16] - subs r0, 0x1 - strh r0, [r4, 0x16] - lsls r0, 16 - cmp r0, 0 - beq _0807627A - strh r1, [r4, 0x10] - strh r1, [r4, 0x14] - b _08076280 -_0807627A: - adds r0, r5, 0 - bl DestroyAnimVisualTask -_08076280: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80761F0 - - thumb_func_start sub_8076288 -sub_8076288: @ 8076288 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080762A8 @ =gBattleAnimArgs - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080762AC - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080762C2 - .align 2, 0 -_080762A8: .4byte gBattleAnimArgs -_080762AC: - ldr r1, _080762C8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - lsls r1, r2, 4 - ldr r2, _080762CC @ =0x00000101 - adds r1, r2 - strh r1, [r0, 0x8] - bl sub_80761C8 -_080762C2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080762C8: .4byte gTasks -_080762CC: .4byte 0x00000101 - thumb_func_end sub_8076288 - - thumb_func_start sub_80762D0 -sub_80762D0: @ 80762D0 - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - strh r1, [r3, 0x16] - strh r1, [r3, 0x18] - strh r1, [r3, 0x1A] - strh r4, [r3, 0x26] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r3, 0x1C] - strh r0, [r3, 0x1E] - strh r1, [r3, 0x20] - adds r0, r3, 0 - adds r0, 0x22 - adds r3, 0x24 - adds r1, r3, 0 - bl sub_80765C0 - adds r0, r4, 0 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80762D0 - - thumb_func_start sub_8076308 -sub_8076308: @ 8076308 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080763A8 @ =gUnknown_2037F28 - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - bl sub_80765C8 - movs r3, 0x16 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r1, r0, r1 - str r1, [r5] - movs r6, 0 - ldrsh r2, [r1, r6] - ldr r0, _080763AC @ =0x00007ffe - cmp r2, r0 - beq _080763B0 - cmp r2, r0 - bgt _08076410 - subs r0, 0x1 - cmp r2, r0 - beq _080763B6 - ldrb r0, [r1, 0x5] - cmp r0, 0 - bne _08076356 - ldrh r0, [r1] - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x1E] - ldrb r0, [r1, 0x4] - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - adds r0, r1, 0 - adds r0, 0x8 - str r0, [r5] -_08076356: - ldr r1, [r5] - ldrh r0, [r1] - ldrh r2, [r4, 0x1C] - adds r0, r2 - strh r0, [r4, 0x1C] - ldrh r0, [r1, 0x2] - ldrh r3, [r4, 0x1E] - adds r0, r3 - strh r0, [r4, 0x1E] - ldrh r0, [r4, 0x20] - ldrb r1, [r1, 0x4] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r6, 0x1C - ldrsh r1, [r4, r6] - movs r3, 0x1E - ldrsh r2, [r4, r3] - ldrh r3, [r4, 0x20] - bl SetSpriteRotScale - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076440 - ldrh r0, [r4, 0x18] - adds r0, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - asrs r0, 16 - ldr r1, [r5] - ldrb r1, [r1, 0x5] - cmp r0, r1 - blt _08076436 - movs r0, 0 - strh r0, [r4, 0x18] - b _08076408 - .align 2, 0 -_080763A8: .4byte gUnknown_2037F28 -_080763AC: .4byte 0x00007ffe -_080763B0: - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x16] - b _08076436 -_080763B6: - ldrh r2, [r1, 0x2] - movs r6, 0x2 - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _08076408 - ldrh r1, [r4, 0x1A] - movs r3, 0x1A - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080763D6 - subs r0, r1, 0x1 - strh r0, [r4, 0x1A] - lsls r0, 16 - cmp r0, 0 - bne _080763D8 - b _08076408 -_080763D6: - strh r2, [r4, 0x1A] -_080763D8: - movs r6, 0x16 - ldrsh r0, [r4, r6] - cmp r0, 0 - beq _08076436 - ldr r3, _08076400 @ =gUnknown_2037F28 - ldr r5, _08076404 @ =0x00007ffd -_080763E4: - ldrh r2, [r4, 0x16] - subs r1, r2, 0x1 - strh r1, [r4, 0x16] - ldr r0, [r3] - subs r0, 0x8 - str r0, [r3] - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r0, r5 - beq _08076434 - lsls r0, r1, 16 - cmp r0, 0 - bne _080763E4 - b _08076436 - .align 2, 0 -_08076400: .4byte gUnknown_2037F28 -_08076404: .4byte 0x00007ffd -_08076408: - ldrh r0, [r4, 0x16] - adds r0, 0x1 - strh r0, [r4, 0x16] - b _08076436 -_08076410: - ldr r2, _08076430 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl ResetSpriteRotScale - movs r0, 0 - b _08076438 - .align 2, 0 -_08076430: .4byte gSprites -_08076434: - strh r2, [r4, 0x16] -_08076436: - movs r0, 0x1 -_08076438: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8076308 - - thumb_func_start sub_8076440 -sub_8076440: @ 8076440 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80764EC - lsls r0, 16 - lsrs r0, 15 - movs r1, 0x40 - subs r5, r1, r0 - ldr r1, _0807648C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x3] - lsls r1, 26 - lsrs r1, 27 - lsls r0, r5, 8 - ldr r2, _08076490 @ =gOamMatrices - lsls r1, 3 - adds r1, r2 - movs r2, 0x6 - ldrsh r1, [r1, r2] - bl __divsi3 - cmp r0, 0x80 - ble _0807647C - movs r0, 0x80 -_0807647C: - subs r0, r5, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807648C: .4byte gSprites -_08076490: .4byte gOamMatrices - thumb_func_end sub_8076440 - - thumb_func_start sub_8076494 -sub_8076494: @ 8076494 - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - bl sub_80764EC - lsls r0, 16 - lsrs r0, 15 - movs r1, 0x40 - subs r5, r1, r0 - ldr r1, _080764E4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r4, r0, r1 - ldrb r1, [r4, 0x3] - lsls r1, 26 - lsrs r1, 27 - lsls r0, r5, 8 - ldr r2, _080764E8 @ =gOamMatrices - lsls r1, 3 - adds r1, r2 - movs r2, 0x6 - ldrsh r1, [r1, r2] - bl __divsi3 - cmp r0, 0x80 - ble _080764D4 - movs r0, 0x80 -_080764D4: - subs r0, r5, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x26] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080764E4: .4byte gSprites -_080764E8: .4byte gOamMatrices - thumb_func_end sub_8076494 - - thumb_func_start sub_80764EC -sub_80764EC: @ 80764EC - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08076548 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2E] - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r1, _0807654C @ =gBattlerSpriteIds - ldr r6, _08076550 @ =gBattlerPartyIndexes -_08076508: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, r2 - bne _080765AC - lsls r0, r4, 24 - lsrs r0, 24 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08076568 - ldr r0, _08076554 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0807655C - lsls r0, r4, 1 - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08076558 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - b _0807655E - .align 2, 0 -_08076548: .4byte gSprites -_0807654C: .4byte gBattlerSpriteIds -_08076550: .4byte gBattlerPartyIndexes -_08076554: .4byte gBattleSpritesDataPtr -_08076558: .4byte gPlayerParty -_0807655C: - ldrh r1, [r1, 0x2] -_0807655E: - ldr r0, _08076564 @ =gUnknown_8235E6C - b _080765A0 - .align 2, 0 -_08076564: .4byte gUnknown_8235E6C -_08076568: - ldr r0, _08076594 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - lsls r0, r5, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0807659C - lsls r0, r4, 1 - adds r0, r6 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08076598 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - b _0807659E - .align 2, 0 -_08076594: .4byte gBattleSpritesDataPtr -_08076598: .4byte gEnemyParty -_0807659C: - ldrh r1, [r1, 0x2] -_0807659E: - ldr r0, _080765A8 @ =gUnknown_82349CC -_080765A0: - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - b _080765B8 - .align 2, 0 -_080765A8: .4byte gUnknown_82349CC -_080765AC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08076508 - movs r0, 0x40 -_080765B8: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80764EC - - thumb_func_start sub_80765C0 -sub_80765C0: @ 80765C0 - strh r2, [r0] - asrs r2, 16 - strh r2, [r1] - bx lr - thumb_func_end sub_80765C0 - - thumb_func_start sub_80765C8 -sub_80765C8: @ 80765C8 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - orrs r0, r1 - bx lr - thumb_func_end sub_80765C8 - - thumb_func_start sub_80765D4 -sub_80765D4: @ 80765D4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r5, r3, 0 - ldr r0, [sp, 0x14] - ldr r4, [sp, 0x18] - ldr r6, [sp, 0x1C] - lsls r1, 24 - lsrs r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 16 - lsrs r6, 16 - mov r3, r8 - strh r6, [r3, 0x18] - strh r1, [r3, 0x26] - strh r2, [r3, 0x1A] - strh r5, [r3, 0x1C] - strh r0, [r3, 0x22] - strh r4, [r3, 0x24] - lsls r0, 16 - asrs r0, 16 - lsls r2, 16 - asrs r2, 16 - subs r0, r2 - adds r1, r6, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1, 0x1E] - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - subs r4, r5 - adds r0, r4, 0 - adds r1, r6, 0 - bl __divsi3 - mov r3, r8 - strh r0, [r3, 0x20] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80765D4 - - thumb_func_start sub_8076640 -sub_8076640: @ 8076640 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x18] - movs r2, 0x18 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08076652 - movs r0, 0 - b _080766AE -_08076652: - subs r0, r1, 0x1 - strh r0, [r4, 0x18] - lsls r0, 16 - cmp r0, 0 - beq _0807666C - ldrh r0, [r4, 0x1E] - ldrh r3, [r4, 0x1A] - adds r0, r3 - strh r0, [r4, 0x1A] - ldrh r0, [r4, 0x20] - ldrh r1, [r4, 0x1C] - adds r0, r1 - b _08076672 -_0807666C: - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x1A] - ldrh r0, [r4, 0x24] -_08076672: - strh r0, [r4, 0x1C] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1A - ldrsh r1, [r4, r2] - movs r3, 0x1C - ldrsh r2, [r4, r3] - movs r3, 0 - bl SetSpriteRotScale - movs r0, 0x18 - ldrsh r3, [r4, r0] - cmp r3, 0 - beq _0807669C - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl sub_8076440 - b _080766AC -_0807669C: - ldr r2, _080766B4 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r3, [r0, 0x26] -_080766AC: - ldrb r0, [r4, 0x18] -_080766AE: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080766B4: .4byte gSprites - thumb_func_end sub_8076640 - - thumb_func_start sub_80766B8 -sub_80766B8: @ 80766B8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080766E4 @ =gAnimFriendship - ldrb r0, [r0] - movs r1, 0 - cmp r0, 0x1E - bls _080766D6 - movs r1, 0x1 - cmp r0, 0x64 - bls _080766D6 - movs r1, 0x3 - cmp r0, 0xC8 - bhi _080766D6 - movs r1, 0x2 -_080766D6: - ldr r0, _080766E8 @ =gBattleAnimArgs - strh r1, [r0, 0xE] - adds r0, r2, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - .align 2, 0 -_080766E4: .4byte gAnimFriendship -_080766E8: .4byte gBattleAnimArgs - thumb_func_end sub_80766B8 - - thumb_func_start sub_80766EC -sub_80766EC: @ 80766EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldr r6, _080767E0 @ =gBattleAnimTarget - ldrb r0, [r6] - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0807672C - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - ldrb r0, [r6] - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_0807672C: - ldr r0, _080767EC @ =gBattleAnimAttacker - mov r8, r0 - ldrb r0, [r0] - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08076764 - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - mov r3, r8 - ldrb r0, [r3] - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_08076764: - ldrb r0, [r6] - movs r5, 0x2 - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _0807679C - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - ldrb r0, [r6] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - adds r2, r4, 0 - ands r2, r0 - lsls r2, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] -_0807679C: - mov r1, r8 - ldrb r0, [r1] - eors r0, r5 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _080767D4 - ldr r2, _080767E4 @ =gSprites - ldr r1, _080767E8 @ =gBattlerSpriteIds - mov r3, r8 - ldrb r0, [r3] - eors r0, r5 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x3 - ands r7, r0 - lsls r3, r7, 2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] -_080767D4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080767E0: .4byte gBattleAnimTarget -_080767E4: .4byte gSprites -_080767E8: .4byte gBattlerSpriteIds -_080767EC: .4byte gBattleAnimAttacker - thumb_func_end sub_80766EC - - thumb_func_start sub_80767F0 -sub_80767F0: @ 80767F0 - push {r4-r6,lr} - movs r5, 0 - ldr r0, _08076850 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _0807684A - ldr r6, _08076854 @ =gSprites -_080767FE: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl IsBattlerSpriteVisible - lsls r0, 24 - cmp r0, 0 - beq _08076840 - adds r0, r4, 0 - bl GetBattlerSpriteSubpriority - ldr r3, _08076858 @ =gBattlerSpriteIds - adds r3, r5, r3 - ldrb r2, [r3] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r2, [r0, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r2, r1 - movs r1, 0x8 - orrs r2, r1 - strb r2, [r0, 0x5] -_08076840: - adds r5, 0x1 - ldr r0, _08076850 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _080767FE -_0807684A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076850: .4byte gBattlersCount -_08076854: .4byte gSprites -_08076858: .4byte gBattlerSpriteIds - thumb_func_end sub_80767F0 - - thumb_func_start GetBattlerSpriteSubpriority -GetBattlerSpriteSubpriority: @ 807685C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1E - cmp r0, 0 - beq _0807687E - movs r1, 0x14 - cmp r0, 0x2 - beq _0807687E - movs r1, 0x32 - cmp r0, 0x1 - bne _0807687E - movs r1, 0x28 -_0807687E: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end GetBattlerSpriteSubpriority - - thumb_func_start sub_8076884 -sub_8076884: @ 8076884 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807689A - cmp r0, 0x3 - bne _0807689E -_0807689A: - movs r0, 0x2 - b _080768A0 -_0807689E: - movs r0, 0x1 -_080768A0: - movs r1, 0x4 - bl GetAnimBgAttribute - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8076884 - - thumb_func_start sub_80768B0 -sub_80768B0: @ 80768B0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080768C6 - cmp r0, 0x3 - bne _080768CA -_080768C6: - movs r0, 0x2 - b _080768CC -_080768CA: - movs r0, 0x1 -_080768CC: - pop {r1} - bx r1 - thumb_func_end sub_80768B0 - - thumb_func_start sub_80768D0 -sub_80768D0: @ 80768D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r4, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r6, [sp, 0x38] - mov r8, r6 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 16 - lsrs r3, 16 - mov r10, r3 - lsls r4, 16 - lsrs r4, 16 - str r4, [sp, 0x4] - lsls r5, 24 - lsrs r5, 24 - str r5, [sp, 0x8] - lsls r0, r7, 3 - ldr r1, _080769B0 @ =gUnknown_83AE084 - adds r0, r1 - bl LoadSpriteSheet - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - ldr r1, _080769B4 @ =gUnknown_83AE054 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x2] - bl AllocSpritePalette - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080769B8 @ =gMonSpritesGfxPtr - ldr r0, [r4] - cmp r0, 0 - beq _0807694E - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0807694E - movs r0, 0x80 - lsls r0, 6 - bl AllocZeroed - ldr r1, [r4] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - str r0, [r1] -_0807694E: - mov r3, r9 - cmp r3, 0 - bne _080769EC - adds r0, r6, 0 - ldr r1, [sp, 0x3C] - mov r2, r8 - bl GetMonSpritePalFromSpeciesAndPersonality - lsls r1, r5, 20 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r3, [sp, 0x44] - cmp r3, 0x1 - beq _0807699A - ldr r0, [sp, 0x40] - lsls r1, r0, 24 - lsrs r1, 24 - movs r0, 0x5 - bl sub_804455C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0807699A - ldr r0, _080769BC @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - ldr r2, [sp, 0x40] - lsls r0, r2, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _080769C4 -_0807699A: - lsls r0, r6, 3 - ldr r1, _080769C0 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _080769B8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - ldr r1, [r1] - movs r2, 0x1 - b _08076A46 - .align 2, 0 -_080769B0: .4byte gUnknown_83AE084 -_080769B4: .4byte gUnknown_83AE054 -_080769B8: .4byte gMonSpritesGfxPtr -_080769BC: .4byte gBattleSpritesDataPtr -_080769C0: .4byte gMonFrontPicTable -_080769C4: - lsls r0, r6, 3 - ldr r1, _080769E4 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _080769E8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - movs r2, 0x1 - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic - b _08076A7C - .align 2, 0 -_080769E4: .4byte gMonFrontPicTable -_080769E8: .4byte gMonSpritesGfxPtr -_080769EC: - adds r0, r6, 0 - ldr r1, [sp, 0x3C] - mov r2, r8 - bl GetMonSpritePalFromSpeciesAndPersonality - lsls r1, r5, 20 - movs r3, 0x80 - lsls r3, 17 - adds r1, r3 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, [sp, 0x44] - cmp r0, 0x1 - beq _08076A32 - ldr r2, [sp, 0x40] - lsls r1, r2, 24 - lsrs r1, 24 - movs r0, 0x5 - bl sub_804455C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08076A32 - ldr r0, _08076A54 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r1, [r0] - ldr r3, [sp, 0x40] - lsls r0, r3, 2 - adds r0, r1 - ldrh r2, [r0, 0x2] - cmp r2, 0 - beq _08076A60 -_08076A32: - lsls r0, r6, 3 - ldr r1, _08076A58 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08076A5C @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - movs r2, 0 -_08076A46: - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic_DontHandleDeoxys - b _08076A7C - .align 2, 0 -_08076A54: .4byte gBattleSpritesDataPtr -_08076A58: .4byte gMonBackPicTable -_08076A5C: .4byte gMonSpritesGfxPtr -_08076A60: - lsls r0, r6, 3 - ldr r1, _08076AC8 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08076ACC @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r3, 0xBE - lsls r3, 1 - adds r1, r3 - ldr r1, [r1] - str r2, [sp] - adds r2, r6, 0 - mov r3, r8 - bl LoadSpecialPokePic -_08076A7C: - ldr r5, _08076ACC @ =gMonSpritesGfxPtr - ldr r0, [r5] - movs r4, 0xBE - lsls r4, 1 - adds r0, r4 - ldr r0, [r0] - ldr r2, [sp, 0xC] - lsls r1, r2, 5 - ldr r3, _08076AD0 @ =0x06010000 - adds r1, r3 - movs r2, 0x80 - lsls r2, 4 - movs r3, 0x1 - bl RequestDma3Copy - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - bl Free - ldr r0, [r5] - adds r0, r4 - movs r1, 0 - str r1, [r0] - mov r0, r9 - cmp r0, 0 - bne _08076ADC - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - ldr r1, _08076AD4 @ =gUnknown_83AE054 - adds r0, r1 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, _08076AD8 @ =gUnknown_82349CC - b _08076AEE - .align 2, 0 -_08076AC8: .4byte gMonBackPicTable -_08076ACC: .4byte gMonSpritesGfxPtr -_08076AD0: .4byte 0x06010000 -_08076AD4: .4byte gUnknown_83AE054 -_08076AD8: .4byte gUnknown_82349CC -_08076ADC: - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 3 - ldr r1, _08076B18 @ =gUnknown_83AE054 - adds r0, r1 - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, _08076B1C @ =gUnknown_8235E6C -_08076AEE: - lsls r2, r6, 2 - adds r2, r3 - ldrb r2, [r2, 0x1] - ldr r3, [sp, 0x4] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - ldr r3, [sp, 0x8] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - 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 -_08076B18: .4byte gUnknown_83AE054 -_08076B1C: .4byte gUnknown_8235E6C - thumb_func_end sub_80768D0 - - thumb_func_start sub_8076B20 -sub_8076B20: @ 8076B20 - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end sub_8076B20 - - thumb_func_start sub_8076B2C -sub_8076B2C: @ 8076B2C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08076C08 - ldr r0, _08076B88 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r1, r8 - lsls r2, r1, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08076B94 - ldr r0, _08076B8C @ =gBattlerPartyIndexes - mov r1, r8 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08076B90 @ =gPlayerParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _08076B9C - .align 2, 0 -_08076B88: .4byte gBattleSpritesDataPtr -_08076B8C: .4byte gBattlerPartyIndexes -_08076B90: .4byte gPlayerParty -_08076B94: - ldrh r7, [r1, 0x2] - ldr r0, _08076BD4 @ =gTransformedPersonalities - adds r0, r2, r0 - ldr r2, [r0] -_08076B9C: - cmp r7, 0xC9 - bne _08076BEC - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08076BD8 - movs r0, 0xC9 - b _08076BE2 - .align 2, 0 -_08076BD4: .4byte gTransformedPersonalities -_08076BD8: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_08076BE2: - lsls r1, r0, 2 - ldr r0, _08076BE8 @ =gUnknown_8235E6C - b _08076CDC - .align 2, 0 -_08076BE8: .4byte gUnknown_8235E6C -_08076BEC: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bls _08076BFC - ldr r4, _08076BF8 @ =gUnknown_8235E6C - b _08076CDE - .align 2, 0 -_08076BF8: .4byte gUnknown_8235E6C -_08076BFC: - lsls r1, r7, 2 - ldr r0, _08076C04 @ =gUnknown_8235E6C - b _08076CDC - .align 2, 0 -_08076C04: .4byte gUnknown_8235E6C -_08076C08: - ldr r0, _08076C48 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0] - mov r1, r8 - lsls r2, r1, 2 - adds r1, r2, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _08076C54 - ldr r0, _08076C4C @ =gBattlerPartyIndexes - mov r1, r8 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r6, 0x64 - muls r0, r6 - ldr r5, _08076C50 @ =gEnemyParty - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r0, [r4] - muls r0, r6 - adds r0, r5 - movs r1, 0 - bl GetMonData - adds r2, r0, 0 - b _08076C5C - .align 2, 0 -_08076C48: .4byte gBattleSpritesDataPtr -_08076C4C: .4byte gBattlerPartyIndexes -_08076C50: .4byte gEnemyParty -_08076C54: - ldrh r7, [r1, 0x2] - ldr r0, _08076C94 @ =gTransformedPersonalities - adds r0, r2, r0 - ldr r2, [r0] -_08076C5C: - cmp r7, 0xC9 - bne _08076CA6 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r2 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r2 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r2 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r2 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08076C98 - movs r0, 0xC9 - b _08076CA2 - .align 2, 0 -_08076C94: .4byte gTransformedPersonalities -_08076C98: - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 -_08076CA2: - lsls r1, r0, 2 - b _08076CDA -_08076CA6: - ldr r0, _08076CBC @ =0x00000181 - cmp r7, r0 - bne _08076CC8 - ldr r0, _08076CC0 @ =gBattleMonForms - add r0, r8 - ldrb r0, [r0] - lsls r0, 2 - ldr r1, _08076CC4 @ =gUnknown_83AE03C - adds r4, r0, r1 - b _08076CDE - .align 2, 0 -_08076CBC: .4byte 0x00000181 -_08076CC0: .4byte gBattleMonForms -_08076CC4: .4byte gUnknown_83AE03C -_08076CC8: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bls _08076CD8 - ldr r4, _08076CD4 @ =gUnknown_82349CC - b _08076CDE - .align 2, 0 -_08076CD4: .4byte gUnknown_82349CC -_08076CD8: - lsls r1, r7, 2 -_08076CDA: - ldr r0, _08076CF0 @ =gUnknown_82349CC -_08076CDC: - adds r4, r1, r0 -_08076CDE: - mov r0, r9 - cmp r0, 0x6 - bhi _08076D8E - lsls r0, 2 - ldr r1, _08076CF4 @ =_08076CF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08076CF0: .4byte gUnknown_82349CC -_08076CF4: .4byte _08076CF8 - .align 2, 0 -_08076CF8: - .4byte _08076D14 - .4byte _08076D1E - .4byte _08076D4A - .4byte _08076D62 - .4byte _08076D26 - .4byte _08076D38 - .4byte _08076D7A -_08076D14: - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - lsls r0, 3 - b _08076D90 -_08076D1E: - ldrb r0, [r4] - lsrs r0, 4 - lsls r0, 3 - b _08076D90 -_08076D26: - mov r0, r8 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4] - lsrs r1, 4 - b _08076D5C -_08076D38: - mov r0, r8 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4] - lsrs r1, 4 - b _08076D74 -_08076D4A: - mov r0, r8 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 -_08076D5C: - lsls r1, 2 - subs r0, r1 - b _08076D90 -_08076D62: - mov r0, r8 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4] - movs r1, 0xF - ands r1, r2 -_08076D74: - lsls r1, 2 - adds r0, r1 - b _08076D90 -_08076D7A: - mov r0, r8 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1F - ldrb r1, [r4, 0x1] - subs r0, r1 - b _08076D90 -_08076D8E: - movs r0, 0 -_08076D90: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8076B2C - - thumb_func_start sub_8076D9C -sub_8076D9C: @ 8076D9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r2 - mov r10, r3 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - cmp r1, 0 - bne _08076DBA - movs r5, 0 - movs r6, 0x1 - b _08076DBE -_08076DBA: - movs r5, 0x2 - movs r6, 0x3 -_08076DBE: - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r7, r0, 24 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _08076E06 - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - adds r1, r6, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r3, r0, 24 - mov r0, r8 - lsls r1, r0, 16 - lsls r2, r7, 16 - b _08076E12 -_08076E06: - mov r0, r8 - lsls r1, r0, 16 - lsrs r5, r1, 16 - lsls r0, r7, 16 - lsrs r3, r0, 16 - adds r2, r0, 0 -_08076E12: - asrs r0, r1, 16 - adds r0, r5 - asrs r0, 1 - mov r1, r9 - strh r0, [r1] - asrs r0, r2, 16 - adds r0, r3 - asrs r0, 1 - mov r1, r10 - strh r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8076D9C - - thumb_func_start sub_8076E34 -sub_8076E34: @ 8076E34 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - lsls r6, r1, 24 - lsrs r6, 24 - ldr r0, _08076ECC @ =SpriteCallbackDummy - mov r10, r0 - bl CreateInvisibleSpriteWithCallback - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _08076ED0 @ =gSprites - mov r9, r0 - mov r0, r8 - lsls r3, r0, 4 - add r3, r8 - lsls r3, 2 - mov r0, r9 - adds r5, r3, r0 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - add r4, r9 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x44 - str r3, [sp] - bl memcpy - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrb r2, [r5, 0x5] - movs r1, 0xD - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r5, 0x5] - ldrb r0, [r5, 0x1] - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r5, 0x1] - ldrh r1, [r4, 0x4] - lsls r1, 22 - lsrs r1, 22 - ldrh r2, [r5, 0x4] - ldr r0, _08076ED4 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r0, 0x1C - add r9, r0 - ldr r3, [sp] - add r3, r9 - mov r0, r10 - str r0, [r3] - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08076ECC: .4byte SpriteCallbackDummy -_08076ED0: .4byte gSprites -_08076ED4: .4byte 0xfffffc00 - thumb_func_end sub_8076E34 - - thumb_func_start sub_8076ED8 -sub_8076ED8: @ 8076ED8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _08076F10 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08076F18 - ldr r2, _08076F14 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x6] - negs r0, r0 - strh r0, [r2, 0x6] - adds r3, r4, 0 - adds r3, 0x3F - ldrb r0, [r3] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, 0 - b _08076F22 - .align 2, 0 -_08076F10: .4byte gBattleAnimAttacker -_08076F14: .4byte gBattleAnimArgs -_08076F18: - ldr r1, _08076F4C @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] -_08076F22: - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldr r1, _08076F50 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _08076F54 @ =sub_8074E70 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076F4C: .4byte gBattleAnimArgs -_08076F50: .4byte move_anim_8074EE0 -_08076F54: .4byte sub_8074E70 - thumb_func_end sub_8076ED8 - - thumb_func_start sub_8076F58 -sub_8076F58: @ 8076F58 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08076F80 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08076F88 - ldr r2, _08076F84 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - movs r1, 0x6 - ldrsh r0, [r2, r1] - negs r0, r0 - strh r0, [r2, 0x6] - adds r1, r2, 0 - b _08076F92 - .align 2, 0 -_08076F80: .4byte gBattleAnimAttacker -_08076F84: .4byte gBattleAnimArgs -_08076F88: - ldr r1, _08076FC4 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] -_08076F92: - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldrb r1, [r1, 0xC] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, _08076FC8 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _08076FCC @ =sub_8074E70 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076FC4: .4byte gBattleAnimArgs -_08076FC8: .4byte move_anim_8074EE0 -_08076FCC: .4byte sub_8074E70 - thumb_func_end sub_8076F58 - - thumb_func_start sub_8076FD0 -sub_8076FD0: @ 8076FD0 - push {r4,lr} - adds r4, r0, 0 - bl sub_8074FCC - ldr r0, _08076FF4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08076FFC - ldr r0, _08076FF8 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _08077008 - .align 2, 0 -_08076FF4: .4byte gBattleAnimAttacker -_08076FF8: .4byte gBattleAnimArgs -_08076FFC: - ldr r1, _08077024 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, r1, 0 -_08077008: - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _08077028 @ =sub_8074F6C - str r0, [r4, 0x1C] - ldr r1, _0807702C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077024: .4byte gBattleAnimArgs -_08077028: .4byte sub_8074F6C -_0807702C: .4byte DestroyAnimSprite - thumb_func_end sub_8076FD0 - - thumb_func_start sub_8077030 -sub_8077030: @ 8077030 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080770C4 @ =gTasks - adds r5, r1, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r5, 0x8] - ldr r7, _080770C8 @ =gBattleAnimAttacker - ldrb r0, [r7] - bl GetBattlerSide - lsls r0, 24 - movs r1, 0x8 - cmp r0, 0 - beq _08077064 - movs r0, 0x8 - negs r0, r0 - adds r1, r0, 0 -_08077064: - strh r1, [r5, 0xA] - strh r6, [r5, 0xC] - strh r6, [r5, 0xE] - ldr r4, _080770CC @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x24] - ldrh r2, [r5, 0x8] - subs r1, r2 - strh r1, [r0, 0x24] - ldr r0, _080770D0 @ =0x00002771 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x10] - strh r6, [r5, 0x12] - movs r1, 0x10 - ldrsh r0, [r5, r1] - adds r0, 0x10 - lsls r0, 20 - lsrs r6, r0, 16 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r4, r0, 4 - ldrb r0, [r7] - bl GetBattlerSpriteSubpriority - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - cmp r0, 0x14 - beq _080770C0 - cmp r0, 0x28 - bne _080770D4 -_080770C0: - movs r0, 0x2 - b _080770D6 - .align 2, 0 -_080770C4: .4byte gTasks -_080770C8: .4byte gBattleAnimAttacker -_080770CC: .4byte gSprites -_080770D0: .4byte 0x00002771 -_080770D4: - movs r0, 0x3 -_080770D6: - strh r0, [r5, 0x14] - lsls r0, r4, 1 - ldr r1, _08077104 @ =gPlttBufferUnfaded - adds r0, r1 - lsls r1, r6, 1 - ldr r2, _08077108 @ =gPlttBufferFaded - adds r1, r2 - ldr r2, _0807710C @ =0x04000008 - bl CpuSet - ldr r0, _08077110 @ =gBattleAnimArgs - ldrb r2, [r0, 0x2] - ldrh r3, [r0] - adds r0, r6, 0 - movs r1, 0x10 - bl BlendPalette - ldr r0, _08077114 @ =sub_8077118 - str r0, [r5] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077104: .4byte gPlttBufferUnfaded -_08077108: .4byte gPlttBufferFaded -_0807710C: .4byte 0x04000008 -_08077110: .4byte gBattleAnimArgs -_08077114: .4byte sub_8077118 - thumb_func_end sub_8077030 - - thumb_func_start sub_8077118 -sub_8077118: @ 8077118 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807713C @ =gTasks - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807717C - cmp r0, 0x1 - bgt _08077140 - cmp r0, 0 - beq _08077146 - b _080771D8 - .align 2, 0 -_0807713C: .4byte gTasks -_08077140: - cmp r0, 0x2 - beq _080771C4 - b _080771D8 -_08077146: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80771E4 - ldr r2, _08077178 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0xA] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - ldrh r1, [r4, 0xE] - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _080771D8 - strh r1, [r4, 0xE] - b _080771B6 - .align 2, 0 -_08077178: .4byte gSprites -_0807717C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80771E4 - ldr r3, _080771C0 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x24] - ldrh r2, [r4, 0xA] - subs r1, r2 - strh r1, [r0, 0x24] - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bne _080771D8 - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - strh r2, [r1, 0x24] -_080771B6: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _080771D8 - .align 2, 0 -_080771C0: .4byte gSprites -_080771C4: - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080771D8 - ldr r0, _080771E0 @ =0x00002771 - bl FreeSpritePaletteByTag - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080771D8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080771E0: .4byte 0x00002771 - thumb_func_end sub_8077118 - - thumb_func_start sub_80771E4 -sub_80771E4: @ 80771E4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r0, 0 - bl CloneBattlerSpriteWithBlend - lsls r0, 16 - lsrs r7, r0, 16 - asrs r0, 16 - cmp r0, 0 - blt _08077254 - ldr r5, _08077260 @ =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r3, r4, r5 - movs r0, 0x3 - ldrb r1, [r6, 0x14] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldrb r1, [r6, 0x10] - lsls r1, 4 - movs r2, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - movs r0, 0x8 - strh r0, [r3, 0x2E] - mov r0, r8 - strh r0, [r3, 0x30] - strh r7, [r3, 0x32] - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x24] - strh r0, [r3, 0x24] - adds r5, 0x1C - adds r4, r5 - ldr r0, _08077264 @ =sub_8077268 - str r0, [r4] - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] -_08077254: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077260: .4byte gSprites -_08077264: .4byte sub_8077268 - thumb_func_end sub_80771E4 - - thumb_func_start sub_8077268 -sub_8077268: @ 8077268 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - subs r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _08077292 - ldr r2, _08077298 @ =gTasks - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x12] - subs r1, 0x1 - strh r1, [r0, 0x12] - adds r0, r3, 0 - bl obj_delete_but_dont_free_vram -_08077292: - pop {r0} - bx r0 - .align 2, 0 -_08077298: .4byte gTasks - thumb_func_end sub_8077268 - - thumb_func_start sub_807729C -sub_807729C: @ 807729C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080772D0 @ =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080772D4 - movs r0, 0x5 - b _080772D6 - .align 2, 0 -_080772D0: .4byte gBattleAnimAttacker -_080772D4: - ldr r0, _080772E8 @ =0x0000fff6 -_080772D6: - strh r0, [r5, 0x2E] - ldr r0, _080772EC @ =0x0000ffd8 - strh r0, [r5, 0x30] - ldr r0, _080772F0 @ =sub_80772F4 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080772E8: .4byte 0x0000fff6 -_080772EC: .4byte 0x0000ffd8 -_080772F0: .4byte sub_80772F4 - thumb_func_end sub_807729C - - thumb_func_start sub_80772F4 -sub_80772F4: @ 80772F4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r5, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r0, r5, r2 - strh r0, [r4, 0x34] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x24] - movs r2, 0x34 - ldrsh r0, [r4, r2] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x26] - lsls r0, r5, 16 - asrs r0, 16 - movs r1, 0x14 - negs r1, r1 - cmp r0, r1 - bge _08077330 - adds r0, r5, 0x1 - strh r0, [r4, 0x30] -_08077330: - movs r1, 0x22 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _08077348 - adds r0, r4, 0 - bl DestroyAnimSprite -_08077348: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80772F4 - - thumb_func_start sub_8077350 -sub_8077350: @ 8077350 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _08077388 @ =gBattleAnimArgs - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r5, 0xA] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x36] - ldr r0, _0807738C @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08077390 - ldrh r0, [r5, 0x8] - adds r0, 0x1E - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0xA] - subs r0, 0x14 - b _0807739E - .align 2, 0 -_08077388: .4byte gBattleAnimArgs -_0807738C: .4byte gBattleAnimTarget -_08077390: - ldrh r0, [r5, 0x8] - subs r0, 0x1E - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0xA] - subs r0, 0x50 -_0807739E: - strh r0, [r4, 0x22] - ldr r0, _080773B4 @ =StartAnimLinearTranslation - str r0, [r4, 0x1C] - ldr r1, _080773B8 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080773B4: .4byte StartAnimLinearTranslation -_080773B8: .4byte DestroyAnimSprite - thumb_func_end sub_8077350 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_special.s b/asm/battle_anim_special.s index 209d11ed3..e49ba538c 100644 --- a/asm/battle_anim_special.s +++ b/asm/battle_anim_special.s @@ -155,7 +155,7 @@ sub_80EEC0C: @ 80EEC0C mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080EEDD8 @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080EEDDC @ =gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet @@ -855,7 +855,7 @@ _080EF2E6: movs r3, 0 bl SetSpriteRotScale adds r0, r5, 0 - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale movs r0, 0x1C ldrsh r1, [r4, r0] ldr r0, _080EF314 @ =0x000002cf @@ -1585,7 +1585,7 @@ sub_80EF8C0: @ 80EF8C0 ldr r0, _080EF8E8 @ =0x0000ffd8 strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080EF8EC @ =sub_80EF8F0 str r0, [r4, 0x1C] pop {r4} @@ -1601,7 +1601,7 @@ sub_80EF8F0: @ 80EF8F0 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080EF99E @@ -2804,7 +2804,7 @@ _080F01F2: ldrsb r0, [r1, r0] strh r0, [r5, 0x38] adds r0, r5, 0 - bl sub_8075068 + bl InitAnimArcTranslation add r4, r10 ldr r0, _080F0270 @ =sub_80F0278 str r0, [r4] @@ -2849,7 +2849,7 @@ sub_80F0278: @ 80F0278 orrs r0, r1 strb r0, [r3] adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080F02A8 @@ -3204,9 +3204,9 @@ sub_80F052C: @ 80F052C movs r0, 0x20 strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation adds r0, r4, 0 - bl sub_80750C8 + bl TranslateAnimVerticalArc ldr r0, _080F0570 @ =sub_80F0574 str r0, [r4, 0x1C] pop {r4} @@ -3220,7 +3220,7 @@ _080F0570: .4byte sub_80F0574 sub_80F0574: @ 80F0574 push {r4,lr} adds r4, r0, 0 - bl sub_80750C8 + bl TranslateAnimVerticalArc lsls r0, 24 cmp r0, 0 bne _080F0590 @@ -5317,7 +5317,7 @@ _080F15F0: _080F15F6: ldr r0, _080F1610 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -5982,7 +5982,7 @@ sub_80F1B3C: @ 80F1B3C push {r4,r5,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x1 @@ -6011,7 +6011,7 @@ sub_80F1B3C: @ 80F1B3C ldr r0, _080F1BB4 @ =0x0000ffe0 strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r2, _080F1BB8 @ =gSprites ldr r1, _080F1BBC @ =gBattlerSpriteIds ldr r0, _080F1BC0 @ =gBattleAnimAttacker @@ -6074,7 +6074,7 @@ _080F1C00: .4byte sub_80F1C04 sub_80F1C04: @ 80F1C04 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080F1C26 @@ -53,7 +53,7 @@ _080B4008: ldr r5, _080B406C @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 ldr r4, _080B4070 @ =gBattleAnimArgs lsrs r0, 24 @@ -62,7 +62,7 @@ _080B4008: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -137,7 +137,7 @@ _080B40BC: ldr r5, _080B4118 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 ldr r4, _080B411C @ =gBattleAnimArgs lsrs r0, 24 @@ -146,7 +146,7 @@ _080B40BC: strh r0, [r6, 0x20] ldrb r0, [r5] movs r1, 0x3 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] @@ -199,7 +199,7 @@ sub_80B4128: @ 80B4128 _080B4144: adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r1, _080B4184 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r5, 0x2E] @@ -236,7 +236,7 @@ _080B418C: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions _080B419E: adds r0, r5, 0 bl sub_8075678 @@ -258,7 +258,7 @@ _080B41BC: .4byte sub_80B41C0 sub_80B41C0: @ 80B41C0 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080B41D6 @@ -296,7 +296,7 @@ sub_80B41F8: @ 80B41F8 adds r3, r4, 0 adds r3, 0x22 movs r1, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions ldr r0, _080B422C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -552,7 +552,7 @@ _080B43E4: _080B43F6: adds r0, r7, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r5, _080B4488 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 @@ -586,7 +586,7 @@ _080B43F6: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_8075B30 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -598,7 +598,7 @@ _080B43F6: adds r0, r7, 0 movs r1, 0 adds r2, r3, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldrh r0, [r6, 0x8] strh r0, [r7, 0x2E] strh r4, [r7, 0x32] @@ -625,7 +625,7 @@ sub_80B4494: @ 80B4494 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080B4500 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -660,7 +660,7 @@ _080B44B4: ldrh r0, [r4, 0xA] strh r0, [r6, 0x38] adds r0, r6, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B450C @ =sub_80B4510 str r0, [r6, 0x1C] adds r2, r6, 0 @@ -694,7 +694,7 @@ sub_80B4510: @ 80B4510 ands r1, r0 strb r1, [r2] adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B453C @@ -729,7 +729,7 @@ _080B4552: lsls r0, 16 lsrs r6, r0, 16 adds r0, r4, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 bne _080B45CC @@ -749,7 +749,7 @@ _080B4552: subs r1, r2 lsls r1, 16 asrs r1, 16 - bl sub_8075B30 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -761,7 +761,7 @@ _080B4552: adds r0, r4, 0 movs r1, 0 adds r2, r3, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale add r2, sp, 0x4 mov r1, r8 movs r3, 0x7 @@ -812,18 +812,18 @@ _080B45F6: lsrs r0, 24 adds r0, 0x12 strh r0, [r5, 0x22] - ldr r1, _080B462C @ =move_anim_8074EE0 + ldr r1, _080B462C @ =DestroySpriteAndMatrix adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080B4630 @ =sub_8074F50 + ldr r0, _080B4630 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080B4628: .4byte gBattleAnimTarget -_080B462C: .4byte move_anim_8074EE0 -_080B4630: .4byte sub_8074F50 +_080B462C: .4byte DestroySpriteAndMatrix +_080B4630: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80B45D8 .align 2, 0 @ Don't pad with nop. diff --git a/asm/dark.s b/asm/dark.s index 626ddc2be..afadcebae 100644 --- a/asm/dark.s +++ b/asm/dark.s @@ -25,7 +25,7 @@ sub_80B78E0: @ 80B78E0 movs r0, 0x52 bl SetGpuReg adds r0, r4, 0 - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -223,7 +223,7 @@ sub_80B7A80: @ 80B7A80 bl SetGpuReg ldr r0, _080B7AAC @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -472,7 +472,7 @@ sub_80B7C50: @ 80B7C50 cmp r0, 0 bne _080B7C82 adds r0, r3, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080B7C82: pop {r0} bx r0 @@ -531,47 +531,47 @@ _080B7CE0: _080B7CEA: adds r0, r5, 0 movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 strh r0, [r4, 0x20] adds r0, r5, 0 movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 strh r0, [r4, 0x22] b _080B7D58 _080B7D04: adds r0, r5, 0 movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0xE strh r0, [r4, 0x20] adds r0, r5, 0 movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x10 strh r0, [r4, 0x22] b _080B7D58 _080B7D1E: adds r0, r5, 0 movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 strh r0, [r4, 0x20] adds r0, r5, 0 movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 b _080B7D4C _080B7D36: adds r0, r5, 0 movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0xE strh r0, [r4, 0x20] adds r0, r5, 0 movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x10 _080B7D4C: strh r0, [r4, 0x22] @@ -593,7 +593,7 @@ _080B7D58: ldr r0, _080B7D80 @ =0x0000fff4 strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B7D84 @ =sub_80B7D88 str r0, [r4, 0x1C] pop {r4-r7} @@ -608,12 +608,12 @@ _080B7D84: .4byte sub_80B7D88 sub_80B7D88: @ 80B7D88 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B7D9C adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080B7D9C: pop {r4} pop {r0} @@ -642,7 +642,7 @@ sub_80B7DA4: @ 80B7DA4 strh r0, [r5, 0x16] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x7 strh r0, [r5, 0x14] ldrh r1, [r5, 0x16] @@ -678,7 +678,7 @@ _080B7E16: strh r0, [r5, 0x18] ldr r0, _080B7E64 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0xE] @@ -1022,7 +1022,7 @@ _080B80EC: .4byte 0x00003f3f _080B80F0: ldr r0, _080B8110 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0xE] @@ -1095,7 +1095,7 @@ _080B817C: strh r0, [r5, 0x16] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x7 strh r0, [r5, 0x14] ldrh r1, [r5, 0x16] @@ -1653,7 +1653,7 @@ sub_80B85B8: @ 80B85B8 mov r10, r0 ldr r6, _080B8658 @ =gBattleAnimAttacker ldrb r0, [r6] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -1731,7 +1731,7 @@ sub_80B8664: @ 80B8664 lsrs r6, r0, 24 ldr r4, _080B86AC @ =gBattleAnimAttacker ldrb r0, [r4] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -1778,7 +1778,7 @@ sub_80B86B0: @ 80B86B0 ldrb r1, [r1, 0x4] adds r0, r4, 0 bl StartSpriteAnim - ldr r0, _080B86E4 @ =sub_8074F6C + ldr r0, _080B86E4 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] ldr r1, _080B86E8 @ =DestroyAnimSprite adds r0, r4, 0 @@ -1788,7 +1788,7 @@ sub_80B86B0: @ 80B86B0 bx r0 .align 2, 0 _080B86E0: .4byte gBattleAnimArgs -_080B86E4: .4byte sub_8074F6C +_080B86E4: .4byte RunStoredCallbackWhenAnimEnds _080B86E8: .4byte DestroyAnimSprite thumb_func_end sub_80B86B0 @@ -1952,7 +1952,7 @@ _080B8828: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080B88C4 @ =gFile_graphics_battle_anims_masks_metal_shine_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080B88C8 @ =gFile_graphics_battle_anims_masks_metal_shine_sheet @@ -1991,7 +1991,7 @@ _080B8828: bne _080B88E0 adds r0, r1, 0 movs r1, 0 - bl sub_8075B48 + bl SetGreyscaleOrOriginalPalette b _080B88EC .align 2, 0 _080B88B8: .4byte gBattlerPartyIndexes @@ -2093,7 +2093,7 @@ _080B894E: bne _080B8990 adds r0, r1, 0 movs r1, 0x1 - bl sub_8075B48 + bl SetGreyscaleOrOriginalPalette _080B8990: movs r0, 0x8 ldrsh r1, [r4, r0] @@ -2279,7 +2279,7 @@ _080B8B06: adds r0, 0x10 ldr r1, _080B8B34 @ =gBattleAnimArgs ldrb r1, [r1, 0x2] - bl sub_8075B48 + bl SetGreyscaleOrOriginalPalette _080B8B22: adds r0, r5, 0 bl DestroyAnimVisualTask diff --git a/asm/dragon.s b/asm/dragon.s index bd01691f1..2e3684042 100644 --- a/asm/dragon.s +++ b/asm/dragon.s @@ -68,25 +68,25 @@ _080B72B6: movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r1, _080B72F0 @ =move_anim_8074EE0 + ldr r1, _080B72F0 @ =DestroySpriteAndMatrix adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080B72F4 @ =sub_8074E70 + ldr r0, _080B72F4 @ =TranslateSpriteLinearAndFlicker str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080B72EC: .4byte gBattleAnimArgs -_080B72F0: .4byte move_anim_8074EE0 -_080B72F4: .4byte sub_8074E70 +_080B72F0: .4byte DestroySpriteAndMatrix +_080B72F4: .4byte TranslateSpriteLinearAndFlicker thumb_func_end sub_80B725C thumb_func_start sub_80B72F8 sub_80B72F8: @ 80B72F8 push {r4,r5,lr} adds r5, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r4, _080B7350 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 @@ -154,7 +154,7 @@ _080B7386: strh r0, [r5, 0x2E] ldr r0, _080B73A4 @ =StartAnimLinearTranslation str r0, [r5, 0x1C] - ldr r1, _080B73A8 @ =move_anim_8074EE0 + ldr r1, _080B73A8 @ =DestroySpriteAndMatrix adds r0, r5, 0 bl StoreSpriteCallbackInData6 pop {r4,r5} @@ -163,7 +163,7 @@ _080B7386: .align 2, 0 _080B73A0: .4byte gBattleAnimArgs _080B73A4: .4byte StartAnimLinearTranslation -_080B73A8: .4byte move_anim_8074EE0 +_080B73A8: .4byte DestroySpriteAndMatrix thumb_func_end sub_80B72F8 thumb_func_start sub_80B73AC @@ -199,14 +199,14 @@ _080B73CA: movs r0, 0x2 ldrsh r1, [r4, r0] adds r0, r5, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r4, 0x4] ldrh r1, [r5, 0x22] adds r0, r1 strh r0, [r5, 0x22] - ldr r0, _080B7414 @ =sub_8074F6C + ldr r0, _080B7414 @ =RunStoredCallbackWhenAnimEnds str r0, [r5, 0x1C] - ldr r1, _080B7418 @ =move_anim_8074EE0 + ldr r1, _080B7418 @ =DestroySpriteAndMatrix adds r0, r5, 0 bl StoreSpriteCallbackInData6 pop {r4,r5} @@ -215,8 +215,8 @@ _080B73CA: .align 2, 0 _080B740C: .4byte gBattleAnimTarget _080B7410: .4byte gBattleAnimArgs -_080B7414: .4byte sub_8074F6C -_080B7418: .4byte move_anim_8074EE0 +_080B7414: .4byte RunStoredCallbackWhenAnimEnds +_080B7418: .4byte DestroySpriteAndMatrix thumb_func_end sub_80B73AC thumb_func_start sub_80B741C @@ -269,12 +269,12 @@ sub_80B7448: @ 80B7448 ldr r4, _080B74A4 @ =gBattlerAttacker ldrb r0, [r4] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r7, r0, 16 lsrs r5, r7, 16 ldrb r0, [r4] movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r1, r0, 16 lsrs r0, r1, 16 cmp r5, r0 @@ -460,7 +460,7 @@ sub_80B75E0: @ 80B75E0 adds r4, r1, r0 ldr r0, _080B7610 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -491,7 +491,7 @@ _080B7622: strb r5, [r0, 0x9] ldr r0, _080B76A4 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 diff --git a/asm/electric.s b/asm/electric.s index 7d39b287b..fa92c096a 100644 --- a/asm/electric.s +++ b/asm/electric.s @@ -110,7 +110,7 @@ sub_80ADC9C: @ 80ADC9C cmp r0, 0 beq _080ADCB2 adds r0, r2, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080ADCB2: pop {r0} bx r0 @@ -173,18 +173,18 @@ _080ADD1C: strh r0, [r5, 0x32] ldrh r0, [r2, 0x8] strh r0, [r5, 0x34] - ldr r1, _080ADD44 @ =move_anim_8074EE0 + ldr r1, _080ADD44 @ =DestroySpriteAndMatrix adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080ADD48 @ =sub_8074A80 + ldr r0, _080ADD48 @ =TranslateSpriteInCircleOverDuration str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080ADD40: .4byte gBattleAnimArgs -_080ADD44: .4byte move_anim_8074EE0 -_080ADD48: .4byte sub_8074A80 +_080ADD44: .4byte DestroySpriteAndMatrix +_080ADD48: .4byte TranslateSpriteInCircleOverDuration thumb_func_end sub_80ADCB8 thumb_func_start sub_80ADD4C @@ -315,7 +315,7 @@ _080ADE02: cmp r0, 0 beq _080ADE66 adds r0, r4, 0 - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -370,7 +370,7 @@ sub_80ADEB0: @ 80ADEB0 push {r4-r6,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r5, _080ADF24 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] @@ -392,7 +392,7 @@ sub_80ADEB0: @ 80ADEB0 lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r5, 0x4] strh r0, [r4, 0x38] ldrh r0, [r5, 0xA] @@ -432,7 +432,7 @@ _080ADF34: .4byte sub_80ADF38 sub_80ADF38: @ 80ADF38 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080ADFA2 @@ -743,7 +743,7 @@ sub_80AE1A0: @ 80AE1A0 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldrh r2, [r4, 0x4] lsls r1, r2, 22 lsrs r1, 22 @@ -788,7 +788,7 @@ _080AE1FA: ldr r0, _080AE214 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] - ldr r0, _080AE218 @ =sub_8074C44 + ldr r0, _080AE218 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080AE21C @ =DestroyAnimSprite adds r0, r4, 0 @@ -798,7 +798,7 @@ _080AE1FA: bx r0 .align 2, 0 _080AE214: .4byte gBattleAnimArgs -_080AE218: .4byte sub_8074C44 +_080AE218: .4byte WaitAnimForDuration _080AE21C: .4byte DestroyAnimSprite thumb_func_end sub_80AE1A0 @@ -1344,11 +1344,11 @@ sub_80AE5BC: @ 80AE5BC strh r0, [r4, 0x36] strh r6, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r1, _080AE6B4 @ =sub_80AE704 adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080AE6B8 @ =sub_8074F6C + ldr r0, _080AE6B8 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] ldrh r0, [r5, 0x1A] adds r0, 0x1 @@ -1390,7 +1390,7 @@ _080AE6A8: .4byte gUnknown_83E6120 _080AE6AC: .4byte gSprites _080AE6B0: .4byte gUnknown_83E60D0 _080AE6B4: .4byte sub_80AE704 -_080AE6B8: .4byte sub_8074F6C +_080AE6B8: .4byte RunStoredCallbackWhenAnimEnds _080AE6BC: movs r1, 0x16 ldrsh r0, [r5, r1] @@ -1408,7 +1408,7 @@ _080AE6CA: sub_80AE6D0: @ 80AE6D0 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080AE6F8 @@ -1476,18 +1476,18 @@ _080AE73A: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r1, _080AE76C @ =move_anim_8074EE0 + ldr r1, _080AE76C @ =DestroySpriteAndMatrix adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080AE770 @ =sub_8074F50 + ldr r0, _080AE770 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080AE768: .4byte gBattleAnimTarget -_080AE76C: .4byte move_anim_8074EE0 -_080AE770: .4byte sub_8074F50 +_080AE76C: .4byte DestroySpriteAndMatrix +_080AE770: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80AE71C thumb_func_start sub_80AE774 @@ -1527,7 +1527,7 @@ _080AE792: ldr r1, _080AE7D4 @ =DestroyAnimSprite adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080AE7D8 @ =sub_8074F6C + ldr r0, _080AE7D8 @ =RunStoredCallbackWhenAnimEnds str r0, [r5, 0x1C] pop {r4,r5} pop {r0} @@ -1536,7 +1536,7 @@ _080AE792: _080AE7CC: .4byte gBattleAnimTarget _080AE7D0: .4byte gBattleAnimArgs _080AE7D4: .4byte DestroyAnimSprite -_080AE7D8: .4byte sub_8074F6C +_080AE7D8: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80AE774 thumb_func_start sub_80AE7DC @@ -1632,7 +1632,7 @@ _080AE864: cmp r0, r1 bls _080AE894 adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080AE894: pop {r4} pop {r0} @@ -2203,7 +2203,7 @@ _080AECC4: cmp r0, 0 beq _080AECD8 adds r0, r5, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080AECD8: pop {r4,r5} pop {r0} diff --git a/asm/fighting.s b/asm/fighting.s index 81785b16b..e9bf5ece8 100644 --- a/asm/fighting.s +++ b/asm/fighting.s @@ -13,14 +13,14 @@ unc_080B08A0: @ 80B08A0 movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r5, 0x2] ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] movs r0, 0xF strh r0, [r4, 0x2E] - ldr r0, _080B08D4 @ =sub_8074C44 + ldr r0, _080B08D4 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080B08D8 @ =DestroyAnimSprite adds r0, r4, 0 @@ -30,7 +30,7 @@ unc_080B08A0: @ 80B08A0 bx r0 .align 2, 0 _080B08D0: .4byte gBattleAnimArgs -_080B08D4: .4byte sub_8074C44 +_080B08D4: .4byte WaitAnimForDuration _080B08D8: .4byte DestroyAnimSprite thumb_func_end unc_080B08A0 @@ -110,19 +110,19 @@ sub_80B0954: @ 80B0954 bne _080B0978 adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080B0980 .align 2, 0 _080B0974: .4byte gBattleAnimArgs _080B0978: adds r0, r5, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080B0980: ldr r0, _080B0998 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r5, 0x2E] - ldr r0, _080B099C @ =sub_8074C44 + ldr r0, _080B099C @ =WaitAnimForDuration str r0, [r5, 0x1C] ldr r1, _080B09A0 @ =DestroyAnimSprite adds r0, r5, 0 @@ -132,7 +132,7 @@ _080B0980: bx r0 .align 2, 0 _080B0998: .4byte gBattleAnimArgs -_080B099C: .4byte sub_8074C44 +_080B099C: .4byte WaitAnimForDuration _080B09A0: .4byte DestroyAnimSprite thumb_func_end sub_80B0954 @@ -188,7 +188,7 @@ _080B09E8: strh r0, [r5, 0x22] mov r0, r8 movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r1, r0, 16 lsrs r0, 31 @@ -197,7 +197,7 @@ _080B09E8: lsrs r6, r1, 16 mov r0, r8 movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r0, 16 cmp r0, 0 @@ -371,7 +371,7 @@ sub_80B0B80: @ 80B0B80 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget movs r0, 0x1E strh r0, [r4, 0x2E] ldr r0, _080B0BA0 @ =gBattleAnimArgs @@ -480,7 +480,7 @@ sub_80B0C28: @ 80B0C28 _080B0C54: adds r0, r6, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r0, _080B0CA4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -505,7 +505,7 @@ _080B0C72: strh r0, [r6, 0x34] strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldrh r0, [r4, 0xA] strh r0, [r6, 0x38] ldrh r0, [r4, 0x8] @@ -527,7 +527,7 @@ _080B0CB0: .4byte sub_80B0CB4 sub_80B0CB4: @ 80B0CB4 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080B0CE0 @@ -559,14 +559,14 @@ sub_80B0CEC: @ 80B0CEC push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r5, _080B0D18 @ =gBattleAnimArgs ldrb r1, [r5, 0x4] adds r0, r4, 0 bl StartSpriteAnim ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] - ldr r0, _080B0D1C @ =sub_8074C44 + ldr r0, _080B0D1C @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080B0D20 @ =sub_80B0D24 adds r0, r4, 0 @@ -576,7 +576,7 @@ sub_80B0CEC: @ 80B0CEC bx r0 .align 2, 0 _080B0D18: .4byte gBattleAnimArgs -_080B0D1C: .4byte sub_8074C44 +_080B0D1C: .4byte WaitAnimForDuration _080B0D20: .4byte sub_80B0D24 thumb_func_end sub_80B0CEC @@ -594,7 +594,7 @@ sub_80B0D24: @ 80B0D24 strb r0, [r2] movs r0, 0x14 strh r0, [r4, 0x2E] - ldr r0, _080B0D50 @ =sub_8074C44 + ldr r0, _080B0D50 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080B0D54 @ =DestroyAnimSprite adds r0, r4, 0 @@ -603,7 +603,7 @@ sub_80B0D24: @ 80B0D24 pop {r0} bx r0 .align 2, 0 -_080B0D50: .4byte sub_8074C44 +_080B0D50: .4byte WaitAnimForDuration _080B0D54: .4byte DestroyAnimSprite thumb_func_end sub_80B0D24 @@ -612,7 +612,7 @@ sub_80B0D58: @ 80B0D58 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r0, _080B0D74 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] @@ -674,14 +674,14 @@ sub_80B0DD4: @ 80B0DD4 push {lr} movs r1, 0xF strh r1, [r0, 0x2E] - ldr r1, _080B0DE8 @ =sub_8074C44 + ldr r1, _080B0DE8 @ =WaitAnimForDuration str r1, [r0, 0x1C] ldr r1, _080B0DEC @ =DestroyAnimSprite bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 -_080B0DE8: .4byte sub_8074C44 +_080B0DE8: .4byte WaitAnimForDuration _080B0DEC: .4byte DestroyAnimSprite thumb_func_end sub_80B0DD4 @@ -695,7 +695,7 @@ sub_80B0DF0: @ 80B0DF0 bne _080B0E1C adds r0, r4, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r1, _080B0E18 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x30] @@ -1052,7 +1052,7 @@ sub_80B107C: @ 80B107C strh r0, [r5, 0x22] ldr r0, _080B10D0 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1072,7 +1072,7 @@ _080B10D4: .4byte gBattleAnimTarget _080B10D8: ldr r0, _080B1110 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1140,8 +1140,8 @@ sub_80B111C: @ 80B111C lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080B1180 @ =move_anim_8074EE0 + bl InitAnimLinearTranslation + ldr r1, _080B1180 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 ldr r0, _080B1184 @ =sub_807563C @@ -1151,7 +1151,7 @@ _080B1178: pop {r0} bx r0 .align 2, 0 -_080B1180: .4byte move_anim_8074EE0 +_080B1180: .4byte DestroySpriteAndMatrix _080B1184: .4byte sub_807563C thumb_func_end sub_80B111C @@ -1171,7 +1171,7 @@ sub_80B1188: @ 80B1188 adds r1, r5, 0 adds r1, 0x38 lsls r2, 8 - bl sub_80765C0 + bl StorePointerInVars ldrh r0, [r4, 0x2] strh r0, [r5, 0x3A] ldrh r2, [r5, 0x4] @@ -1214,7 +1214,7 @@ sub_80B11E4: @ 80B11E4 ldrsh r0, [r7, r2] movs r2, 0x38 ldrsh r1, [r7, r2] - bl sub_80765C8 + bl LoadPointerFromVars adds r4, r0, 0 movs r1, 0x3A ldrsh r0, [r7, r1] @@ -1224,7 +1224,7 @@ sub_80B11E4: @ 80B11E4 adds r1, r7, 0 adds r1, 0x38 adds r2, r4, 0 - bl sub_80765C0 + bl StorePointerInVars asrs r4, 8 strh r4, [r7, 0x22] lsls r4, 16 @@ -1369,7 +1369,7 @@ _080B132C: ldr r0, _080B1368 @ =gBattleAnimTarget _080B1332: ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1431,7 +1431,7 @@ _080B138C: lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r1, _080B13CC @ =DestroyAnimSprite adds r0, r5, 0 bl StoreSpriteCallbackInData6 @@ -1546,14 +1546,14 @@ sub_80B1484: @ 80B1484 bne _080B14A0 adds r0, r4, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080B14A8 .align 2, 0 _080B149C: .4byte gBattleAnimArgs _080B14A0: adds r0, r4, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080B14A8: bl IsContest lsls r0, 24 @@ -1574,7 +1574,7 @@ _080B14BC: movs r1, 0x1 bl StartSpriteAnim _080B14D2: - ldr r0, _080B14E8 @ =sub_8074F6C + ldr r0, _080B14E8 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] ldr r1, _080B14EC @ =DestroyAnimSprite adds r0, r4, 0 @@ -1584,7 +1584,7 @@ _080B14D2: bx r0 .align 2, 0 _080B14E4: .4byte gBattleAnimAttacker -_080B14E8: .4byte sub_8074F6C +_080B14E8: .4byte RunStoredCallbackWhenAnimEnds _080B14EC: .4byte DestroyAnimSprite thumb_func_end sub_80B1484 diff --git a/asm/fire.s b/asm/fire.s index 47f4208b1..efdfc8315 100644 --- a/asm/fire.s +++ b/asm/fire.s @@ -24,7 +24,7 @@ sub_80AC90C: @ 80AC90C ldr r1, _080AC944 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r1, _080AC948 @ =sub_8074AE0 + ldr r1, _080AC948 @ =TranslateSpriteInGrowingCircleOverDuration str r1, [r4, 0x1C] adds r0, r4, 0 bl _call_via_r1 @@ -34,7 +34,7 @@ sub_80AC90C: @ 80AC90C .align 2, 0 _080AC940: .4byte gBattleAnimArgs _080AC944: .4byte DestroyAnimSprite -_080AC948: .4byte sub_8074AE0 +_080AC948: .4byte TranslateSpriteInGrowingCircleOverDuration thumb_func_end sub_80AC90C thumb_func_start sub_80AC94C @@ -45,7 +45,7 @@ sub_80AC94C: @ 80AC94C movs r0, 0 ldrsh r1, [r5, r0] adds r0, r4, 0 - bl sub_8074FF8 + bl SetAnimSpriteInitialXOffset ldrh r0, [r5, 0x2] ldrh r1, [r4, 0x22] adds r0, r1 @@ -56,7 +56,7 @@ sub_80AC94C: @ 80AC94C strh r0, [r4, 0x30] ldrh r0, [r5, 0x6] strh r0, [r4, 0x32] - ldr r0, _080AC988 @ =sub_8074D00 + ldr r0, _080AC988 @ =TranslateSpriteLinearFixedPoint str r0, [r4, 0x1C] ldr r1, _080AC98C @ =DestroyAnimSprite adds r0, r4, 0 @@ -66,7 +66,7 @@ sub_80AC94C: @ 80AC94C bx r0 .align 2, 0 _080AC984: .4byte gBattleAnimArgs -_080AC988: .4byte sub_8074D00 +_080AC988: .4byte TranslateSpriteLinearFixedPoint _080AC98C: .4byte DestroyAnimSprite thumb_func_end sub_80AC94C @@ -74,7 +74,7 @@ _080AC98C: .4byte DestroyAnimSprite sub_80AC990: @ 80AC990 push {r4,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r0, _080AC9C4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -212,7 +212,7 @@ _080ACA92: cmp r1, r0 bne _080ACAA4 adds r0, r2, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080ACAA4: pop {r0} bx r0 @@ -222,7 +222,7 @@ _080ACAA4: sub_80ACAA8: @ 80ACAA8 push {r4,lr} adds r4, r0, 0 - bl sub_8074FCC + bl SetSpriteCoordsToAnimAttackerCoords ldr r0, _080ACACC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -348,7 +348,7 @@ _080ACB9C: b _080ACBAA _080ACBA4: adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080ACBAA: pop {r4} pop {r0} @@ -449,7 +449,7 @@ sub_80ACC60: @ 80ACC60 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080ACC80 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] movs r1, 0 @@ -497,7 +497,7 @@ sub_80ACC88: @ 80ACC88 lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, _080ACCDC @ =sub_80ACCE0 str r0, [r5, 0x1C] _080ACCD2: @@ -513,7 +513,7 @@ _080ACCDC: .4byte sub_80ACCE0 sub_80ACCE0: @ 80ACCE0 push {r4-r6,lr} adds r6, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080ACD28 @@ -634,7 +634,7 @@ sub_80ACDA8: @ 80ACDA8 ldr r1, _080ACDE0 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080ACDE4 @ =sub_8074CD0 + ldr r0, _080ACDE4 @ =TranslateSpriteLinear str r0, [r4, 0x1C] pop {r4} pop {r0} @@ -642,7 +642,7 @@ sub_80ACDA8: @ 80ACDA8 .align 2, 0 _080ACDDC: .4byte gBattleAnimArgs _080ACDE0: .4byte DestroyAnimSprite -_080ACDE4: .4byte sub_8074CD0 +_080ACDE4: .4byte TranslateSpriteLinear thumb_func_end sub_80ACDA8 thumb_func_start sub_80ACDE8 @@ -650,7 +650,7 @@ sub_80ACDE8: @ 80ACDE8 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r1, _080ACE1C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x30] @@ -662,7 +662,7 @@ sub_80ACDE8: @ 80ACDE8 movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, _080ACE20 @ =sub_8074C44 + ldr r0, _080ACE20 @ =WaitAnimForDuration str r0, [r4, 0x1C] ldr r1, _080ACE24 @ =sub_80ACE28 adds r0, r4, 0 @@ -672,7 +672,7 @@ sub_80ACDE8: @ 80ACDE8 bx r0 .align 2, 0 _080ACE1C: .4byte gBattleAnimArgs -_080ACE20: .4byte sub_8074C44 +_080ACE20: .4byte WaitAnimForDuration _080ACE24: .4byte sub_80ACE28 thumb_func_end sub_80ACDE8 @@ -923,7 +923,7 @@ _080AD00C: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale ldr r2, _080AD030 @ =gSprites movs r0, 0x26 ldrsh r1, [r4, r0] @@ -1635,7 +1635,7 @@ _080AD556: _080AD55C: adds r0, r5, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r4, _080AD584 @ =gBattleAnimArgs ldrb r1, [r4, 0x4] adds r0, r5, 0 @@ -1659,7 +1659,7 @@ _080AD58E: strh r0, [r5, 0x36] ldr r0, _080AD5B0 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1787,7 +1787,7 @@ _080AD68C: .4byte sub_80AD690 sub_80AD690: @ 80AD690 push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080AD6E8 @@ -1889,7 +1889,7 @@ _080AD70C: bls _080AD780 ldr r0, _080AD77C @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1906,7 +1906,7 @@ _080AD77C: .4byte gBattleAnimTarget _080AD780: ldr r0, _080AD7A4 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 diff --git a/asm/flying.s b/asm/flying.s index bef6163ad..252a1a957 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -46,7 +46,7 @@ sub_80B18E4: @ 80B18E4 push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldrh r0, [r4, 0x22] adds r0, 0x14 strh r0, [r4, 0x22] @@ -208,7 +208,7 @@ sub_80B1A1C: @ 80B1A1C push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080B1A88 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -245,8 +245,8 @@ _080B1A3C: adds r0, r4 strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r0, _080B1A94 @ =sub_8074F50 + bl InitAnimLinearTranslation + ldr r0, _080B1A94 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r6, 0x1C] ldr r1, _080B1A98 @ =sub_80B1A9C adds r0, r6, 0 @@ -258,7 +258,7 @@ _080B1A3C: _080B1A88: .4byte gBattleAnimAttacker _080B1A8C: .4byte gBattleAnimArgs _080B1A90: .4byte gBattleAnimTarget -_080B1A94: .4byte sub_8074F50 +_080B1A94: .4byte RunStoredCallbackWhenAffineAnimEnds _080B1A98: .4byte sub_80B1A9C thumb_func_end sub_80B1A1C @@ -266,7 +266,7 @@ _080B1A98: .4byte sub_80B1A9C sub_80B1A9C: @ 80B1A9C push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080B1AB0 @@ -365,7 +365,7 @@ _080B1B60: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions _080B1B72: ldr r4, _080B1BA4 @ =gBattleAnimArgs ldrh r0, [r4, 0x4] @@ -399,7 +399,7 @@ sub_80B1BB0: @ 80B1BB0 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r1, _080B1BEC @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] @@ -517,7 +517,7 @@ _080B1C72: lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, _080B1CBC @ =sub_80B1CC0 str r0, [r5, 0x1C] pop {r4,r5} @@ -537,7 +537,7 @@ sub_80B1CC0: @ 80B1CC0 movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear ldrh r1, [r4, 0x34] lsrs r0, r1, 8 cmp r0, 0xC8 @@ -725,7 +725,7 @@ _080B1DC8: cmp r0, 0 bne _080B1E64 adds r0, r6, 0 - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -744,7 +744,7 @@ _080B1E5C: .4byte gBattleAnimTarget _080B1E60: .4byte gBattleAnimArgs _080B1E64: adds r0, r6, 0 - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -790,7 +790,7 @@ _080B1E7C: b _080B1F16 _080B1EBE: adds r0, r6, 0 - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1614,7 +1614,7 @@ sub_80B24C0: @ 80B24C0 adds r4, r0, 0 ldr r0, _080B2508 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1637,7 +1637,7 @@ sub_80B24C0: @ 80B24C0 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r0, _080B2510 @ =sub_8075DF4 + ldr r0, _080B2510 @ =TranslateAnimSpriteToTargetMonLocation str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -1645,7 +1645,7 @@ sub_80B24C0: @ 80B24C0 .align 2, 0 _080B2508: .4byte gBattleAnimTarget _080B250C: .4byte gBattleAnimAttacker -_080B2510: .4byte sub_8075DF4 +_080B2510: .4byte TranslateAnimSpriteToTargetMonLocation thumb_func_end sub_80B24C0 thumb_func_start sub_80B2514 @@ -1700,7 +1700,7 @@ _080B256E: beq _080B25A4 ldr r0, _080B25A0 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -1720,7 +1720,7 @@ _080B25A0: .4byte gBattleAnimTarget _080B25A4: ldr r0, _080B25C0 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1974,14 +1974,14 @@ sub_80B2780: @ 80B2780 bne _080B279C adds r0, r5, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080B27A4 .align 2, 0 _080B2798: .4byte gBattleAnimArgs _080B279C: adds r0, r5, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080B27A4: ldr r4, _080B280C @ =gBattleAnimArgs movs r2, 0x4 @@ -2179,7 +2179,7 @@ sub_80B2914: @ 80B2914 _080B2926: adds r0, r4, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker movs r0, 0 bl GetAnimBattlerSpriteId ldr r2, _080B2954 @ =gSprites @@ -2302,7 +2302,7 @@ sub_80B2A08: @ 80B2A08 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r1, _080B2A44 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] @@ -2473,7 +2473,7 @@ _080B2B22: str r0, [sp] adds r0, r5, 0 movs r1, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldrh r0, [r5, 0x2E] adds r0, 0x1 strh r0, [r5, 0x2E] @@ -2503,7 +2503,7 @@ _080B2B72: ldrsh r3, [r5, r0] str r1, [sp] adds r0, r5, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldrb r1, [r5, 0x3] lsls r1, 26 lsrs r1, 27 @@ -2822,7 +2822,7 @@ sub_80B2D64: @ 80B2D64 asrs r5, 16 adds r0, r4, 0 adds r1, r5, 0 - bl sub_8075B30 + bl ArcTan2Neg lsls r0, 16 movs r1, 0xC0 lsls r1, 24 @@ -2834,7 +2834,7 @@ sub_80B2D64: @ 80B2D64 mov r0, r8 movs r1, 0x1 adds r2, r3, 0 - bl sub_8075A1C + bl TrySetSpriteRotScale ldr r0, _080B2E1C @ =sub_80B2E20 mov r2, r8 str r0, [r2, 0x1C] @@ -2883,7 +2883,7 @@ sub_80B2E20: @ 80B2E20 bge _080B2E60 _080B2E5A: adds r0, r2, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080B2E60: pop {r0} bx r0 diff --git a/asm/ghost.s b/asm/ghost.s index 9d5d843ca..0e8796310 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -10,7 +10,7 @@ sub_80B5268: @ 80B5268 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080B52C4 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] @@ -59,7 +59,7 @@ sub_80B52D0: @ 80B52D0 adds r4, r0, 0 bl sub_80B53C0 adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080B52F0 @@ -119,7 +119,7 @@ sub_80B5344: @ 80B5344 movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear movs r1, 0x38 ldrsh r0, [r4, r1] movs r1, 0xA @@ -163,11 +163,11 @@ _080B5396: movs r1, 0x4 orrs r0, r1 strb r0, [r2] - ldr r0, _080B53B0 @ =sub_8074F88 + ldr r0, _080B53B0 @ =DestroyAnimSpriteAndDisableBlend str r0, [r4, 0x1C] b _080B53BA .align 2, 0 -_080B53B0: .4byte sub_8074F88 +_080B53B0: .4byte DestroyAnimSpriteAndDisableBlend _080B53B4: adds r0, r4, 0 bl sub_80B53C0 @@ -262,7 +262,7 @@ sub_80B5450: @ 80B5450 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r1, _080B546C @ =sub_80B5470 str r1, [r4, 0x1C] adds r0, r4, 0 @@ -719,7 +719,7 @@ _080B57DE: _080B57E8: .4byte gBattleAnimTarget _080B57EC: adds r0, r5, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080B57F2: pop {r4,r5} pop {r0} @@ -731,7 +731,7 @@ sub_80B57F8: @ 80B57F8 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r0, _080B580C @ =sub_80B5810 str r0, [r4, 0x1C] pop {r4} @@ -956,7 +956,7 @@ _080B596E: lsls r0, 2 adds r4, 0x1C adds r0, r4 - ldr r1, _080B59CC @ =sub_8074D00 + ldr r1, _080B59CC @ =TranslateSpriteLinearFixedPoint str r1, [r0] ldr r0, _080B59D0 @ =sub_80B59D4 str r0, [r5] @@ -968,7 +968,7 @@ _080B59B8: _080B59C0: .4byte 0x0000ff90 _080B59C4: .4byte gSprites _080B59C8: .4byte SpriteCallbackDummy -_080B59CC: .4byte sub_8074D00 +_080B59CC: .4byte TranslateSpriteLinearFixedPoint _080B59D0: .4byte sub_80B59D4 thumb_func_end sub_80B58AC @@ -1120,7 +1120,7 @@ sub_80B5AD4: @ 80B5AD4 adds r5, r0, r1 ldr r0, _080B5B10 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r6, r0, 24 movs r1, 0x26 @@ -1492,7 +1492,7 @@ sub_80B5DCC: @ 80B5DCC adds r4, r0, r1 ldr r0, _080B5E00 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r6, r0, 24 movs r1, 0x26 @@ -1814,7 +1814,7 @@ sub_80B6020: @ 80B6020 str r0, [sp, 0x4] ldrb r0, [r4] movs r1, 0x3 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] @@ -1866,7 +1866,7 @@ _080B6092: mov r10, r0 adds r0, r4, 0 movs r1, 0x3 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 lsrs r0, 16 mov r9, r0 @@ -2528,7 +2528,7 @@ sub_80B664C: @ 80B664C push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080B6678 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -2616,7 +2616,7 @@ _080B66BA: bne _080B671C movs r0, 0x1E strh r0, [r3, 0x2E] - ldr r0, _080B6714 @ =sub_8074C44 + ldr r0, _080B6714 @ =WaitAnimForDuration str r0, [r3, 0x1C] ldr r1, _080B6718 @ =sub_80B6728 adds r0, r3, 0 @@ -2625,7 +2625,7 @@ _080B66BA: .align 2, 0 _080B670C: .4byte 0x000003ff _080B6710: .4byte 0xfffffc00 -_080B6714: .4byte sub_8074C44 +_080B6714: .4byte WaitAnimForDuration _080B6718: .4byte sub_80B6728 _080B671C: movs r0, 0x28 @@ -2877,13 +2877,13 @@ sub_80B68C8: @ 80B68C8 lsrs r0, 24 strh r0, [r4, 0x1A] ldrb r0, [r5] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1C] ldrb r0, [r5] movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r1, r0, 16 lsrs r0, 31 @@ -2893,7 +2893,7 @@ sub_80B68C8: @ 80B68C8 strh r1, [r4, 0x1E] strh r6, [r4, 0x16] ldrb r0, [r5] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x12] @@ -3272,7 +3272,7 @@ sub_80B6BE4: @ 80B6BE4 adds r6, r1, r0 ldr r0, _080B6C1C @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r4, r0, 24 movs r1, 0x26 @@ -4040,7 +4040,7 @@ _080B7218: ldrh r1, [r0, 0x22] subs r1, 0x8 strh r1, [r0, 0x22] - ldr r0, _080B7258 @ =move_anim_8074EE0 + ldr r0, _080B7258 @ =DestroySpriteAndMatrix str r0, [r5, 0x1C] _080B724C: pop {r4,r5} @@ -4048,7 +4048,7 @@ _080B724C: bx r0 .align 2, 0 _080B7254: .4byte gSprites -_080B7258: .4byte move_anim_8074EE0 +_080B7258: .4byte DestroySpriteAndMatrix thumb_func_end sub_80B71B0 .align 2, 0 @ Don't pad with nop. diff --git a/asm/ground.s b/asm/ground.s index 585fb139a..eb655ccc8 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -40,7 +40,7 @@ sub_80B8B6C: @ 80B8B6C ldr r0, _080B8BCC @ =0x0000ffd8 strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B8BD0 @ =sub_80B8BD4 str r0, [r4, 0x1C] pop {r4,r5} @@ -57,7 +57,7 @@ _080B8BD0: .4byte sub_80B8BD4 sub_80B8BD4: @ 80B8BD4 push {r4,r5,lr} adds r5, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B8C28 @@ -90,7 +90,7 @@ sub_80B8BD4: @ 80B8BD4 movs r0, 0x28 strh r0, [r5, 0x38] adds r0, r5, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B8C34 @ =sub_80B8C38 str r0, [r5, 0x1C] _080B8C28: @@ -106,7 +106,7 @@ _080B8C34: .4byte sub_80B8C38 sub_80B8C38: @ 80B8C38 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B8C4C @@ -123,7 +123,7 @@ sub_80B8C54: @ 80B8C54 push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r0, _080B8CB4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -178,17 +178,17 @@ sub_80B8CC8: @ 80B8CC8 push {r7} adds r6, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r4, _080B8D48 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x2 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r0, 24 mov r8, r0 ldrb r0, [r4] movs r1, 0x3 - bl sub_8074844 + bl GetBattlerSpriteCoord2 lsls r0, 24 lsrs r7, r0, 24 bl Random @@ -224,7 +224,7 @@ _080B8D20: strh r0, [r6, 0x36] ldr r0, _080B8D50 @ =StartAnimLinearTranslation str r0, [r6, 0x1C] - ldr r1, _080B8D54 @ =move_anim_8074EE0 + ldr r1, _080B8D54 @ =DestroySpriteAndMatrix adds r0, r6, 0 bl StoreSpriteCallbackInData6 pop {r3} @@ -236,7 +236,7 @@ _080B8D20: _080B8D48: .4byte gBattleAnimTarget _080B8D4C: .4byte gBattleAnimArgs _080B8D50: .4byte StartAnimLinearTranslation -_080B8D54: .4byte move_anim_8074EE0 +_080B8D54: .4byte DestroySpriteAndMatrix thumb_func_end sub_80B8CC8 thumb_func_start sub_80B8D58 @@ -479,7 +479,7 @@ _080B8F14: strh r0, [r4, 0x1C] ldr r0, _080B8F3C @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1E] @@ -504,7 +504,7 @@ _080B8F50: strh r0, [r4, 0x22] ldr r0, _080B8F94 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -687,7 +687,7 @@ sub_80B908C: @ 80B908C strh r4, [r1, 0x26] ldr r0, _080B90D0 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -852,7 +852,7 @@ _080B91F0: strh r0, [r4, 0x1C] ldr r0, _080B9214 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x1E] @@ -870,7 +870,7 @@ _080B921E: strh r0, [r4, 0x20] ldr r0, _080B9240 @ =gBattleAnimAttacker ldrb r0, [r0] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -1086,7 +1086,7 @@ _080B93B2: adds r0, r6 strh r0, [r5, 0x20] adds r0, r4, 0 - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x1E @@ -1103,7 +1103,7 @@ _080B93B2: ldrh r0, [r7, 0x8] strh r0, [r5, 0x38] adds r0, r5, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B93FC @ =sub_80B9400 str r0, [r5, 0x1C] pop {r4-r7} @@ -1118,7 +1118,7 @@ _080B93FC: .4byte sub_80B9400 sub_80B9400: @ 80B9400 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B9414 @@ -1162,7 +1162,7 @@ _080B943A: adds r0, r1 strh r0, [r6, 0x20] adds r0, r5, 0 - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r0, 24 adds r0, 0x20 @@ -1186,7 +1186,7 @@ _080B943A: bl StoreSpriteCallbackInData6 ldrh r0, [r4, 0x4] strh r0, [r6, 0x2E] - ldr r0, _080B94B0 @ =sub_8074C44 + ldr r0, _080B94B0 @ =WaitAnimForDuration str r0, [r6, 0x1C] pop {r4-r6} pop {r0} @@ -1198,7 +1198,7 @@ _080B94A0: .4byte gBattleAnimArgs _080B94A4: .4byte 0x000003ff _080B94A8: .4byte 0xfffffc00 _080B94AC: .4byte DestroyAnimSprite -_080B94B0: .4byte sub_8074C44 +_080B94B0: .4byte WaitAnimForDuration thumb_func_end sub_80B941C thumb_func_start sub_80B94B4 @@ -365,7 +365,7 @@ sub_80AF2F0: @ 80AF2F0 ldr r1, _080AF328 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r1, _080AF32C @ =sub_8074AE0 + ldr r1, _080AF32C @ =TranslateSpriteInGrowingCircleOverDuration str r1, [r4, 0x1C] adds r0, r4, 0 bl _call_via_r1 @@ -375,7 +375,7 @@ sub_80AF2F0: @ 80AF2F0 .align 2, 0 _080AF324: .4byte gBattleAnimArgs _080AF328: .4byte DestroyAnimSprite -_080AF32C: .4byte sub_8074AE0 +_080AF32C: .4byte TranslateSpriteInGrowingCircleOverDuration thumb_func_end sub_80AF2F0 thumb_func_start sub_80AF330 @@ -383,7 +383,7 @@ sub_80AF330: @ 80AF330 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080AF364 @ =gBattleAnimTarget ldrb r0, [r0] movs r1, 0x2 @@ -452,7 +452,7 @@ sub_80AF3B8: @ 80AF3B8 bne _080AF3D4 adds r0, r4, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget b _080AF40A .align 2, 0 _080AF3D0: .4byte gBattleAnimArgs @@ -464,7 +464,7 @@ _080AF3D4: adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions ldr r0, _080AF420 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -487,7 +487,7 @@ _080AF40A: ldr r1, _080AF424 @ =sub_80AF42C adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080AF428 @ =sub_8074F50 + ldr r0, _080AF428 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -496,7 +496,7 @@ _080AF40A: _080AF41C: .4byte gBattleAnimTarget _080AF420: .4byte gBattleAnimAttacker _080AF424: .4byte sub_80AF42C -_080AF428: .4byte sub_8074F50 +_080AF428: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80AF3B8 thumb_func_start sub_80AF42C @@ -526,7 +526,7 @@ sub_80AF42C: @ 80AF42C cmp r0, 0x14 bne _080AF462 adds r0, r3, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080AF462: pop {r0} bx r0 @@ -538,7 +538,7 @@ sub_80AF468: @ 80AF468 sub sp, 0x10 adds r5, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r6, _080AF4B0 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] @@ -577,7 +577,7 @@ _080AF4B8: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions _080AF4CA: ldr r0, _080AF4E8 @ =gBattleAnimAttacker ldrb r0, [r0] @@ -616,7 +616,7 @@ _080AF504: cmp r4, 0 bge _080AF504 adds r0, r5, 0 - bl sub_8075804 + bl InitAnimFastLinearTranslationWithSpeed ldrh r0, [r5, 0x30] movs r1, 0x1 eors r0, r1 @@ -628,7 +628,7 @@ _080AF526: movs r0, 0x1 strh r0, [r5, 0x2E] adds r0, r5, 0 - bl sub_807578C + bl AnimFastTranslateLinear movs r0, 0x20 ldrsh r1, [r5, r0] movs r2, 0x24 @@ -814,7 +814,7 @@ sub_80AF690: @ 80AF690 movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_807578C + bl AnimFastTranslateLinear movs r1, 0x20 ldrsh r0, [r4, r1] movs r2, 0x24 @@ -853,7 +853,7 @@ sub_80AF6D8: @ 80AF6D8 sub sp, 0x10 adds r5, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r1, _080AF71C @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r5, 0x2E] @@ -890,7 +890,7 @@ _080AF724: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions _080AF736: ldr r0, _080AF758 @ =gBattleAnimAttacker ldrb r0, [r0] @@ -921,7 +921,7 @@ _080AF76A: adds r0, r1 strh r0, [r5, 0x36] adds r0, r5, 0 - bl sub_8075804 + bl InitAnimFastLinearTranslationWithSpeed adds r7, r5, 0 adds r7, 0x2E adds r2, r7, 0 @@ -946,7 +946,7 @@ _080AF79E: movs r0, 0x1 strh r0, [r5, 0x2E] adds r0, r5, 0 - bl sub_807578C + bl AnimFastTranslateLinear movs r2, 0x20 ldrsh r1, [r5, r2] movs r2, 0x24 @@ -1011,7 +1011,7 @@ _080AF818: .4byte sub_80AF81C sub_80AF81C: @ 80AF81C push {r4,lr} adds r4, r0, 0 - bl sub_807578C + bl AnimFastTranslateLinear movs r1, 0x2E ldrsh r0, [r4, r1] cmp r0, 0 @@ -1082,7 +1082,7 @@ sub_80AF88C: @ 80AF88C bne _080AF8B0 adds r0, r4, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget b _080AF8E6 .align 2, 0 _080AF8AC: .4byte gBattleAnimArgs @@ -1094,7 +1094,7 @@ _080AF8B0: adds r3, r4, 0 adds r3, 0x22 movs r1, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions ldr r0, _080AF8F4 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -1152,7 +1152,7 @@ sub_80AF914: @ 80AF914 bne _080AF938 adds r0, r5, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080AF976 .align 2, 0 _080AF934: .4byte gBattleAnimArgs @@ -1164,7 +1164,7 @@ _080AF938: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -1200,7 +1200,7 @@ _080AF984: bne _080AF996 adds r0, r5, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget b _080AF9D2 _080AF996: ldr r4, _080AF9BC @ =gBattleAnimTarget @@ -1210,7 +1210,7 @@ _080AF996: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBattlerSide lsls r0, 24 @@ -1279,7 +1279,7 @@ _080AFA10: adds r0, r1 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x40 strh r0, [r5, 0x38] ldr r1, _080AFA48 @ =sub_80AFA4C @@ -1299,7 +1299,7 @@ _080AFA48: .4byte sub_80AFA4C sub_80AFA4C: @ 80AFA4C push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 bne _080AFAD6 @@ -1328,7 +1328,7 @@ sub_80AFA4C: @ 80AFA4C ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 - bl sub_8076884 + bl GetBattlerSpriteBGPriority movs r1, 0x3 ands r1, r0 lsls r1, 2 @@ -1343,7 +1343,7 @@ _080AFAA8: ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 24 adds r0, 0x1 @@ -1426,7 +1426,7 @@ _080AFB26: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080AFBB0 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap ldr r0, _080AFBB4 @ =gUnknown_83C2CE0 mov r1, sp ldrb r1, [r1, 0x8] @@ -1673,14 +1673,14 @@ sub_80AFD4C: @ 80AFD4C lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r0, _080AFD7C @ =sub_8075DF4 + ldr r0, _080AFD7C @ =TranslateAnimSpriteToTargetMonLocation str r0, [r4, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080AFD78: .4byte gBattleAnimAttacker -_080AFD7C: .4byte sub_8075DF4 +_080AFD7C: .4byte TranslateAnimSpriteToTargetMonLocation thumb_func_end sub_80AFD4C thumb_func_start sub_80AFD80 @@ -1737,7 +1737,7 @@ _080AFDC2: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080AFE50 @ =gFile_graphics_battle_anims_backgrounds_fog_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap ldr r0, _080AFE54 @ =gUnknown_83C2CE0 mov r1, sp ldrb r1, [r1, 0x8] @@ -2105,7 +2105,7 @@ _080B00F8: adds r0, r6 strh r0, [r5, 0x36] ldrb r0, [r4] - bl sub_8076884 + bl GetBattlerSpriteBGPriority lsls r0, 24 lsrs r0, 16 ldrh r1, [r5, 0x3C] @@ -2123,7 +2123,7 @@ _080B00F8: strb r0, [r1] _080B012C: adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, _080B0144 @ =sub_80B0148 str r0, [r5, 0x1C] pop {r3} @@ -2159,7 +2159,7 @@ _080B0168: b _080B0380 _080B016A: adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear ldr r1, _080B0194 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -2251,13 +2251,13 @@ _080B0202: ands r0, r1 strh r0, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation b _080B0380 .align 2, 0 _080B022C: .4byte gSineTable _080B0230: adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear ldr r1, _080B028C @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -2397,7 +2397,7 @@ _080B032A: _080B0340: .4byte 0x0000fff0 _080B0344: adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080B0380 @@ -2610,7 +2610,7 @@ _080B04D0: .4byte gUnknown_83E652C _080B04D4: adds r0, r5, 0 movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r0, 16 movs r1, 0x6 @@ -2622,7 +2622,7 @@ _080B04D4: lsrs r7, r1, 16 adds r0, r5, 0 movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r0, 16 movs r1, 0x6 @@ -2634,7 +2634,7 @@ _080B04D4: _080B050A: adds r0, r5, 0 movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r0, 16 movs r1, 0x6 @@ -2646,7 +2646,7 @@ _080B050A: lsrs r7, r1, 16 adds r0, r5, 0 movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r0, 16 movs r1, 0x6 @@ -2904,7 +2904,7 @@ _080B071A: bl StartSpriteAffineAnim adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r6, _080B0780 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] @@ -2938,7 +2938,7 @@ _080B0742: ldrh r0, [r6, 0xA] strh r0, [r5, 0x38] adds r0, r5, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B078C @ =sub_80B0790 str r0, [r5, 0x1C] pop {r4-r6} @@ -2956,14 +2956,14 @@ _080B078C: .4byte sub_80B0790 sub_80B0790: @ 80B0790 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B07B2 adds r0, r4, 0 movs r1, 0x1 bl StartSpriteAnim - ldr r0, _080B07B8 @ =sub_8074F6C + ldr r0, _080B07B8 @ =RunStoredCallbackWhenAnimEnds str r0, [r4, 0x1C] ldr r1, _080B07BC @ =DestroyAnimSprite adds r0, r4, 0 @@ -2973,7 +2973,7 @@ _080B07B2: pop {r0} bx r0 .align 2, 0 -_080B07B8: .4byte sub_8074F6C +_080B07B8: .4byte RunStoredCallbackWhenAnimEnds _080B07BC: .4byte DestroyAnimSprite thumb_func_end sub_80B0790 @@ -2994,7 +2994,7 @@ sub_80B07C0: @ 80B07C0 strh r0, [r4, 0x4] adds r0, r4, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget bl Random movs r5, 0xFF ands r5, r0 diff --git a/asm/normal.s b/asm/normal.s index 1ddf400ba..418c32e1d 100644 --- a/asm/normal.s +++ b/asm/normal.s @@ -369,10 +369,10 @@ sub_80B9B8C: @ 80B9B8C movs r0, 0x70 strh r0, [r4, 0x36] strh r2, [r4, 0x38] - ldr r1, _080B9BD4 @ =move_anim_8074EE0 + ldr r1, _080B9BD4 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r1, _080B9BD8 @ =sub_8074AE0 + ldr r1, _080B9BD8 @ =TranslateSpriteInGrowingCircleOverDuration str r1, [r4, 0x1C] adds r0, r4, 0 bl _call_via_r1 @@ -381,8 +381,8 @@ sub_80B9B8C: @ 80B9B8C bx r0 .align 2, 0 _080B9BD0: .4byte gBattleAnimArgs -_080B9BD4: .4byte move_anim_8074EE0 -_080B9BD8: .4byte sub_8074AE0 +_080B9BD4: .4byte DestroySpriteAndMatrix +_080B9BD8: .4byte TranslateSpriteInGrowingCircleOverDuration thumb_func_end sub_80B9B8C thumb_func_start sub_80B9BDC @@ -1662,16 +1662,16 @@ sub_80BA560: @ 80BA560 bne _080BA584 adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080BA58C .align 2, 0 _080BA580: .4byte gBattleAnimArgs _080BA584: adds r0, r5, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080BA58C: - ldr r0, _080BA5A0 @ =sub_8074F50 + ldr r0, _080BA5A0 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r5, 0x1C] ldr r1, _080BA5A4 @ =DestroyAnimSprite adds r0, r5, 0 @@ -1680,7 +1680,7 @@ _080BA58C: pop {r0} bx r0 .align 2, 0 -_080BA5A0: .4byte sub_8074F50 +_080BA5A0: .4byte RunStoredCallbackWhenAffineAnimEnds _080BA5A4: .4byte DestroyAnimSprite thumb_func_end sub_80BA560 @@ -1697,19 +1697,19 @@ sub_80BA5A8: @ 80BA5A8 bne _080BA5CC adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080BA5D4 .align 2, 0 _080BA5C8: .4byte gBattleAnimArgs _080BA5CC: adds r0, r5, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080BA5D4: ldr r0, _080BA5EC @ =gBattleAnimArgs ldrh r0, [r0, 0x8] strh r0, [r5, 0x2E] - ldr r0, _080BA5F0 @ =sub_8074F50 + ldr r0, _080BA5F0 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r5, 0x1C] ldr r1, _080BA5F4 @ =sub_80B1D3C adds r0, r5, 0 @@ -1719,7 +1719,7 @@ _080BA5D4: bx r0 .align 2, 0 _080BA5EC: .4byte gBattleAnimArgs -_080BA5F0: .4byte sub_8074F50 +_080BA5F0: .4byte RunStoredCallbackWhenAffineAnimEnds _080BA5F4: .4byte sub_80B1D3C thumb_func_end sub_80BA5A8 @@ -1777,14 +1777,14 @@ _080BA64C: bne _080BA66C adds r0, r4, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080BA674 .align 2, 0 _080BA668: .4byte gBattleAnimArgs _080BA66C: adds r0, r4, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080BA674: bl Random lsls r0, 16 @@ -1806,10 +1806,10 @@ _080BA674: ldrh r1, [r4, 0x26] adds r0, r1 strh r0, [r4, 0x26] - ldr r1, _080BA6C0 @ =move_anim_8074EE0 + ldr r1, _080BA6C0 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080BA6C4 @ =sub_8074F50 + ldr r0, _080BA6C4 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -1817,8 +1817,8 @@ _080BA674: .align 2, 0 _080BA6B8: .4byte 0x0000ffe8 _080BA6BC: .4byte 0x0000fff4 -_080BA6C0: .4byte move_anim_8074EE0 -_080BA6C4: .4byte sub_8074F50 +_080BA6C0: .4byte DestroySpriteAndMatrix +_080BA6C4: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80BA630 thumb_func_start sub_80BA6C8 @@ -1859,10 +1859,10 @@ sub_80BA6C8: @ 80BA6C8 ldrb r1, [r5, 0x6] adds r0, r4, 0 bl StartSpriteAffineAnim - ldr r1, _080BA730 @ =move_anim_8074EE0 + ldr r1, _080BA730 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080BA734 @ =sub_8074F50 + ldr r0, _080BA734 @ =RunStoredCallbackWhenAffineAnimEnds str r0, [r4, 0x1C] pop {r4,r5} pop {r0} @@ -1870,8 +1870,8 @@ sub_80BA6C8: @ 80BA6C8 .align 2, 0 _080BA728: .4byte gBattleAnimArgs _080BA72C: .4byte gSprites -_080BA730: .4byte move_anim_8074EE0 -_080BA734: .4byte sub_8074F50 +_080BA730: .4byte DestroySpriteAndMatrix +_080BA734: .4byte RunStoredCallbackWhenAffineAnimEnds thumb_func_end sub_80BA6C8 thumb_func_start sub_80BA738 @@ -1885,14 +1885,14 @@ sub_80BA738: @ 80BA738 bne _080BA754 adds r0, r4, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080BA75C .align 2, 0 _080BA750: .4byte gBattleAnimArgs _080BA754: adds r0, r4, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080BA75C: ldr r0, _080BA774 @ =gBattleAnimArgs ldrh r0, [r0, 0x6] @@ -1900,7 +1900,7 @@ _080BA75C: ldr r1, _080BA778 @ =DestroyAnimSprite adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080BA77C @ =sub_8074C44 + ldr r0, _080BA77C @ =WaitAnimForDuration str r0, [r4, 0x1C] pop {r4} pop {r0} @@ -1908,7 +1908,7 @@ _080BA75C: .align 2, 0 _080BA774: .4byte gBattleAnimArgs _080BA778: .4byte DestroyAnimSprite -_080BA77C: .4byte sub_8074C44 +_080BA77C: .4byte WaitAnimForDuration thumb_func_end sub_80BA738 thumb_func_start sub_80BA780 @@ -1924,14 +1924,14 @@ sub_80BA780: @ 80BA780 bne _080BA7A4 adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080BA7AC .align 2, 0 _080BA7A0: .4byte gBattleAnimArgs _080BA7A4: adds r0, r5, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080BA7AC: ldr r0, _080BA7B8 @ =sub_80BA7BC str r0, [r5, 0x1C] diff --git a/asm/poison.s b/asm/poison.s index 770941be8..e80bd01af 100644 --- a/asm/poison.s +++ b/asm/poison.s @@ -20,7 +20,7 @@ sub_80B1620: @ 80B1620 _080B1636: adds r0, r5, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldrh r0, [r4, 0x4] strh r0, [r5, 0x2E] ldr r4, _080B1678 @ =gBattleAnimTarget @@ -39,7 +39,7 @@ _080B1636: ldr r0, _080B167C @ =0x0000ffe2 strh r0, [r5, 0x38] adds r0, r5, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B1680 @ =sub_80B1684 str r0, [r5, 0x1C] pop {r4,r5} @@ -56,7 +56,7 @@ _080B1680: .4byte sub_80B1684 sub_80B1684: @ 80B1684 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B1698 @@ -84,7 +84,7 @@ sub_80B16A0: @ 80B16A0 _080B16B8: adds r0, r4, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080B1718 @ =gBattleAnimTarget ldrb r0, [r0] mov r6, sp @@ -92,7 +92,7 @@ _080B16B8: movs r1, 0x1 mov r2, sp adds r3, r6, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions ldr r0, _080B171C @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -117,7 +117,7 @@ _080B16E6: ldr r0, _080B1720 @ =0x0000ffe2 strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080B1724 @ =sub_80B1728 str r0, [r4, 0x1C] add sp, 0x4 @@ -136,7 +136,7 @@ _080B1724: .4byte sub_80B1728 sub_80B1728: @ 80B1728 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B173C @@ -193,7 +193,7 @@ _080B1794: .4byte sub_80B1798 sub_80B1798: @ 80B1798 push {r4,lr} adds r4, r0, 0 - bl sub_8074D00 + bl TranslateSpriteLinearFixedPoint ldrh r0, [r4, 0x30] ldrh r1, [r4, 0x38] subs r0, r1 @@ -225,7 +225,7 @@ sub_80B17C4: @ 80B17C4 adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions ldr r0, _080B1828 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -280,7 +280,7 @@ sub_80B1838: @ 80B1838 bne _080B1854 adds r0, r4, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget b _080B188A .align 2, 0 _080B1850: .4byte gBattleAnimArgs @@ -292,7 +292,7 @@ _080B1854: adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_8076D9C + bl SetAverageBattlerPositions ldr r0, _080B1898 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide diff --git a/asm/pokeball.s b/asm/pokeball.s index 1d01b5c7e..fa1f4eee0 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -290,7 +290,7 @@ _0804AB6C: ldr r0, _0804ABC8 @ =0x0000ffd8 strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation mov r0, sp ldrh r0, [r0] strh r0, [r4, 0x6] @@ -328,7 +328,7 @@ SpriteCB_TestBallThrow: @ 804ABD4 push {r7} sub sp, 0x4 adds r7, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _0804AC74 @@ -1692,7 +1692,7 @@ SpriteCB_PlayerMonSendOut_1: @ 804B684 ldrh r0, [r4, 0x3A] strh r0, [r4, 0x6] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _0804B6D0 @ =SpriteCB_PlayerMonSendOut_2 str r0, [r4, 0x1C] pop {r4} @@ -1754,7 +1754,7 @@ SpriteCB_PlayerMonSendOut_2: @ 804B6D4 _0804B736: ldrh r4, [r5, 0x2E] adds r0, r5, 0 - bl sub_80755E0 + bl AnimTranslateLinear movs r1, 0x3A ldrsh r0, [r5, r1] movs r1, 0x3 @@ -1825,7 +1825,7 @@ _0804B78E: b _0804B834 _0804B7C8: adds r0, r5, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _0804B834 @@ -2580,13 +2580,13 @@ _0804BD80: _0804BD84: .4byte SpriteCallbackDummy thumb_func_end sub_804BD6C - thumb_func_start DestroySpriteAndFreeResources_ -DestroySpriteAndFreeResources_: @ 804BD88 + thumb_func_start DestroySpriteAndFreeResources2 +DestroySpriteAndFreeResources2: @ 804BD88 push {lr} bl DestroySpriteAndFreeResources pop {r0} bx r0 - thumb_func_end DestroySpriteAndFreeResources_ + thumb_func_end DestroySpriteAndFreeResources2 thumb_func_start sub_804BD94 sub_804BD94: @ 804BD94 diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index 66bb3dc52..44598a330 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -6157,7 +6157,7 @@ sub_814A8B8: @ 814A8B8 movs r6, 0 cmp r6, r10 bge _0814A922 - ldr r0, _0814A938 @ =gUnknown_82349CC + ldr r0, _0814A938 @ =gMonFrontPicCoords mov r9, r0 ldr r1, _0814A93C @ =gUnknown_203F3D8 mov r8, r1 @@ -6200,7 +6200,7 @@ _0814A922: bx r0 .align 2, 0 _0814A934: .4byte gUnknown_846D9D4 -_0814A938: .4byte gUnknown_82349CC +_0814A938: .4byte gMonFrontPicCoords _0814A93C: .4byte gUnknown_203F3D8 thumb_func_end sub_814A8B8 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 71e5cbfaf..f6f746313 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -10728,7 +10728,7 @@ sub_8139D90: @ 8139D90 lsls r0, 2 ldr r1, _08139DB8 @ =gSprites adds r0, r1 - bl DestroySpriteAndFreeResources_ + bl DestroySpriteAndFreeResources2 pop {r0} bx r0 .align 2, 0 diff --git a/asm/psychic.s b/asm/psychic.s index d2d82826d..2561a4805 100644 --- a/asm/psychic.s +++ b/asm/psychic.s @@ -42,7 +42,7 @@ _080B2EFE: lsrs r4, r0, 24 adds r7, r4, 0 adds r0, r4, 0 - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -354,7 +354,7 @@ sub_80B3168: @ 80B3168 lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -448,14 +448,14 @@ _080B3232: bne _080B324C adds r0, r4, 0 adds r1, r6, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080B3254 .align 2, 0 _080B3248: .4byte gBattleAnimArgs _080B324C: adds r0, r4, 0 adds r1, r6, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080B3254: ldrh r0, [r4, 0x2E] adds r0, 0x1 @@ -470,7 +470,7 @@ _080B325C: cmp r0, 0 beq _080B3270 adds r0, r4, 0 - bl move_anim_8074EE0 + bl DestroySpriteAndMatrix _080B3270: pop {r4-r6} pop {r0} @@ -526,14 +526,14 @@ _080B32D6: ldr r1, _080B32EC @ =DestroyAnimSprite adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080B32F0 @ =sub_8074F6C + ldr r0, _080B32F0 @ =RunStoredCallbackWhenAnimEnds str r0, [r5, 0x1C] pop {r4,r5} pop {r0} bx r0 .align 2, 0 _080B32EC: .4byte DestroyAnimSprite -_080B32F0: .4byte sub_8074F6C +_080B32F0: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80B3278 thumb_func_start sub_80B32F4 @@ -543,7 +543,7 @@ sub_80B32F4: @ 80B32F4 ldr r6, _080B3378 @ =gBattleAnimAttacker ldrb r0, [r6] movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r1, r0, 16 lsrs r0, 31 @@ -552,7 +552,7 @@ sub_80B32F4: @ 80B32F4 lsrs r4, r1, 16 ldrb r0, [r6] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r1, r0, 16 lsrs r0, 31 @@ -595,7 +595,7 @@ _080B3366: ldr r1, _080B337C @ =sub_80B3384 adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r0, _080B3380 @ =sub_8074F6C + ldr r0, _080B3380 @ =RunStoredCallbackWhenAnimEnds str r0, [r5, 0x1C] pop {r4-r7} pop {r0} @@ -603,7 +603,7 @@ _080B3366: .align 2, 0 _080B3378: .4byte gBattleAnimAttacker _080B337C: .4byte sub_80B3384 -_080B3380: .4byte sub_8074F6C +_080B3380: .4byte RunStoredCallbackWhenAnimEnds thumb_func_end sub_80B32F4 thumb_func_start sub_80B3384 @@ -703,7 +703,7 @@ sub_80B3418: @ 80B3418 strh r1, [r4, 0x8] ldr r2, _080B344C @ =gUnknown_83E700C adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080B3450 @ =sub_80B3454 str r0, [r4] pop {r4} @@ -725,7 +725,7 @@ sub_80B3454: @ 80B3454 lsls r0, 3 ldr r1, _080B347C @ =gTasks adds r0, r1 - bl sub_8076308 + bl RunAffineAnimFromTaskData lsls r0, 24 cmp r0, 0 bne _080B3474 @@ -770,7 +770,7 @@ _080B34B4: ldrb r1, [r4, 0x8] ldr r2, _080B34D4 @ =gUnknown_83E702C adds r0, r4, 0 - bl sub_80762D0 + bl PrepareAffineAnimInTaskData ldr r0, _080B34D8 @ =sub_80B34DC str r0, [r4] pop {r4} @@ -804,7 +804,7 @@ sub_80B34DC: @ 80B34DC _080B34FC: .4byte gTasks _080B3500: adds r0, r4, 0 - bl sub_8076308 + bl RunAffineAnimFromTaskData ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -900,7 +900,7 @@ sub_80B3584: @ 80B3584 strh r0, [r5, 0x24] ldrb r0, [r4] movs r1, 0x1 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r0, 16 movs r1, 0x3 @@ -909,7 +909,7 @@ sub_80B3584: @ 80B3584 lsrs r6, r0, 16 ldrb r0, [r4] movs r1, 0 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr lsls r0, 16 asrs r0, 16 movs r1, 0x3 @@ -1254,23 +1254,23 @@ sub_80B3834: @ 80B3834 ldr r4, _080B389C @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 strh r0, [r5, 0x1E] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 strh r0, [r5, 0x20] ldr r4, _080B38A0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 strh r0, [r5, 0x22] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 b _080B3962 .align 2, 0 @@ -1285,18 +1285,18 @@ _080B38A4: ldr r4, _080B38D0 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 strh r0, [r5, 0x1E] ldrb r0, [r4] movs r1, 0x3 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 strh r0, [r5, 0x20] ldr r4, _080B38D4 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 b _080B3956 .align 2, 0 @@ -1313,23 +1313,23 @@ _080B38D8: ldr r4, _080B3924 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 strh r0, [r5, 0x1E] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 strh r0, [r5, 0x20] ldr r4, _080B3928 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x4 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 strh r0, [r5, 0x22] ldrb r0, [r4] movs r1, 0x2 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr adds r0, 0x8 b _080B3962 .align 2, 0 @@ -1343,24 +1343,24 @@ _080B392C: ldr r4, _080B3974 @ =gBattleAnimAttacker ldrb r0, [r4] movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 strh r0, [r5, 0x1E] ldrb r0, [r4] movs r1, 0x3 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 strh r0, [r5, 0x20] ldr r4, _080B3978 @ =gBattleAnimTarget ldrb r0, [r4] movs r1, 0x5 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 _080B3956: strh r0, [r5, 0x22] ldrb r0, [r4] movs r1, 0x3 - bl sub_8076B2C + bl GetBattlerSpriteCoordAttr subs r0, 0x8 _080B3962: strh r0, [r5, 0x24] @@ -1430,7 +1430,7 @@ _080B39A4: ldrh r0, [r5, 0x1C] strh r0, [r4, 0x38] adds r0, r4, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldrb r0, [r5, 0xC] movs r1, 0x3 ands r1, r0 @@ -1471,7 +1471,7 @@ _080B3A2C: sub_80B3A34: @ 80B3A34 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B3A52 @@ -1500,7 +1500,7 @@ sub_80B3A58: @ 80B3A58 adds r4, r1, r0 ldr r0, _080B3A94 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_807492C + bl GetBattlerYCoordWithElevation lsls r0, 24 lsrs r1, r0, 24 adds r0, r1, 0 @@ -1558,7 +1558,7 @@ _080B3ACA: _080B3AD6: ldr r0, _080B3AF0 @ =gBattleAnimTarget ldrb r0, [r0] - bl sub_80768B0 + bl GetBattlerSpriteBGPriorityRank lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1954,7 +1954,7 @@ _080B3DAA: ldrh r1, [r4, 0x22] lsls r1, 24 lsrs r1, 24 - bl sub_8076494 + bl SetBattlerSpriteYOffsetFromOtherYScale movs r2, 0xA ldrsh r0, [r4, r2] cmp r0, 0x30 @@ -1993,7 +1993,7 @@ _080B3DFC: ldrh r1, [r4, 0x22] lsls r1, 24 lsrs r1, 24 - bl sub_8076494 + bl SetBattlerSpriteYOffsetFromOtherYScale movs r2, 0xA ldrsh r0, [r4, r2] cmp r0, 0 diff --git a/asm/rock.s b/asm/rock.s index 74712e5e5..7df02ecc3 100644 --- a/asm/rock.s +++ b/asm/rock.s @@ -21,7 +21,7 @@ sub_80B4634: @ 80B4634 adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_8076D9C + bl SetAverageBattlerPositions _080B4654: ldrh r0, [r6] ldrh r1, [r5, 0x20] @@ -49,7 +49,7 @@ _080B4654: ldr r1, _080B46AC @ =sub_80B46B4 adds r0, r5, 0 bl StoreSpriteCallbackInData6 - ldr r1, _080B46B0 @ =sub_8074BE4 + ldr r1, _080B46B0 @ =TranslateSpriteInEllipseOverDuration str r1, [r5, 0x1C] adds r0, r5, 0 bl _call_via_r1 @@ -61,7 +61,7 @@ _080B46A0: .4byte gBattleAnimArgs _080B46A4: .4byte gBattleAnimTarget _080B46A8: .4byte 0x0000ffba _080B46AC: .4byte sub_80B46B4 -_080B46B0: .4byte sub_8074BE4 +_080B46B0: .4byte TranslateSpriteInEllipseOverDuration thumb_func_end sub_80B4634 thumb_func_start sub_80B46B4 @@ -81,10 +81,10 @@ sub_80B46B4: @ 80B46B4 strh r0, [r4, 0x34] ldr r0, _080B46EC @ =0x0000ffe8 strh r0, [r4, 0x36] - ldr r1, _080B46F0 @ =move_anim_8074EE0 + ldr r1, _080B46F0 @ =DestroySpriteAndMatrix adds r0, r4, 0 bl StoreSpriteCallbackInData6 - ldr r1, _080B46F4 @ =sub_8074BE4 + ldr r1, _080B46F4 @ =TranslateSpriteInEllipseOverDuration str r1, [r4, 0x1C] adds r0, r4, 0 bl _call_via_r1 @@ -93,8 +93,8 @@ sub_80B46B4: @ 80B46B4 bx r0 .align 2, 0 _080B46EC: .4byte 0x0000ffe8 -_080B46F0: .4byte move_anim_8074EE0 -_080B46F4: .4byte sub_8074BE4 +_080B46F0: .4byte DestroySpriteAndMatrix +_080B46F4: .4byte TranslateSpriteInEllipseOverDuration thumb_func_end sub_80B46B4 thumb_func_start sub_80B46F8 @@ -146,9 +146,9 @@ _080B472E: bl InitSpriteDataForLinearTranslation strh r4, [r5, 0x34] strh r4, [r5, 0x36] - ldr r0, _080B4774 @ =sub_8074D00 + ldr r0, _080B4774 @ =TranslateSpriteLinearFixedPoint str r0, [r5, 0x1C] - ldr r1, _080B4778 @ =move_anim_8074EE0 + ldr r1, _080B4778 @ =DestroySpriteAndMatrix adds r0, r5, 0 bl StoreSpriteCallbackInData6 pop {r4,r5} @@ -156,8 +156,8 @@ _080B472E: bx r0 .align 2, 0 _080B4770: .4byte gBattleAnimArgs -_080B4774: .4byte sub_8074D00 -_080B4778: .4byte move_anim_8074EE0 +_080B4774: .4byte TranslateSpriteLinearFixedPoint +_080B4778: .4byte DestroySpriteAndMatrix thumb_func_end sub_80B46F8 thumb_func_start sub_80B477C @@ -171,14 +171,14 @@ sub_80B477C: @ 80B477C bne _080B4798 adds r0, r4, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker b _080B47A0 .align 2, 0 _080B4794: .4byte gBattleAnimArgs _080B4798: adds r0, r4, 0 movs r1, 0 - bl sub_8075114 + bl InitSpritePosToAnimTarget _080B47A0: ldr r1, _080B47BC @ =gBattleAnimArgs ldrh r0, [r1, 0x6] @@ -286,7 +286,7 @@ _080B4854: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080B48F0 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080B48F4 @ =gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet @@ -673,7 +673,7 @@ sub_80B4B8C: @ 80B4B8C bl StartSpriteAnim adds r0, r4, 0 movs r1, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] ldrh r0, [r4, 0x20] @@ -1141,7 +1141,7 @@ _080B4ECC: ands r1, r3 orrs r1, r2 strh r1, [r0, 0x4] - bl sub_8075068 + bl InitAnimArcTranslation ldrh r0, [r4, 0x1E] adds r0, 0x1 strh r0, [r4, 0x1E] @@ -1165,7 +1165,7 @@ _080B4F74: .4byte 0xfffffc00 sub_80B4F78: @ 80B4F78 push {r4,lr} adds r4, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080B4FAA @@ -1316,7 +1316,7 @@ sub_80B5074: @ 80B5074 bl StartSpriteAffineAnim _080B5090: adds r0, r4, 0 - bl sub_8075DF4 + bl TranslateAnimSpriteToTargetMonLocation pop {r4} pop {r0} bx r0 diff --git a/asm/trade.s b/asm/trade.s index 0c1c168cc..71d39e0bb 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -9300,7 +9300,7 @@ _0805139C: adds r1, r0 lsls r1, 2 adds r1, r3 - ldr r2, _08051410 @ =gUnknown_82349CC + ldr r2, _08051410 @ =gMonFrontPicCoords adds r0, r4, 0 adds r0, 0xF0 ldrh r0, [r0] @@ -9324,7 +9324,7 @@ _0805139C: .align 2, 0 _08051408: .4byte gSprites _0805140C: .4byte 0x0000ff4c -_08051410: .4byte gUnknown_82349CC +_08051410: .4byte gMonFrontPicCoords _08051414: ldr r5, [r7] adds r6, r5, 0 @@ -10839,7 +10839,7 @@ _08052070: adds r1, r0 lsls r1, 2 adds r1, r4 - ldr r3, _08052120 @ =gUnknown_82349CC + ldr r3, _08052120 @ =gMonFrontPicCoords adds r2, 0xF2 ldrh r0, [r2] lsls r0, 2 @@ -10906,7 +10906,7 @@ _08052070: b _080522AC .align 2, 0 _0805211C: .4byte gSprites -_08052120: .4byte gUnknown_82349CC +_08052120: .4byte gMonFrontPicCoords _08052124: .4byte 0x000fffff _08052128: movs r1, 0xAA @@ -11476,7 +11476,7 @@ _0805278C: adds r1, r0 lsls r1, 2 adds r1, r3 - ldr r2, _08052800 @ =gUnknown_82349CC + ldr r2, _08052800 @ =gMonFrontPicCoords adds r0, r4, 0 adds r0, 0xF0 ldrh r0, [r0] @@ -11500,7 +11500,7 @@ _0805278C: .align 2, 0 _080527F8: .4byte gSprites _080527FC: .4byte 0x0000ff4c -_08052800: .4byte gUnknown_82349CC +_08052800: .4byte gMonFrontPicCoords _08052804: ldr r5, [r7] adds r6, r5, 0 @@ -13064,7 +13064,7 @@ _080534CC: adds r1, r0 lsls r1, 2 adds r1, r4 - ldr r3, _0805357C @ =gUnknown_82349CC + ldr r3, _0805357C @ =gMonFrontPicCoords adds r2, 0xF2 ldrh r0, [r2] lsls r0, 2 @@ -13131,7 +13131,7 @@ _080534CC: b _08053708 .align 2, 0 _08053578: .4byte gSprites -_0805357C: .4byte gUnknown_82349CC +_0805357C: .4byte gMonFrontPicCoords _08053580: .4byte 0x000fffff _08053584: movs r1, 0xAA diff --git a/asm/water.s b/asm/water.s index 5c9096023..a2918ec33 100644 --- a/asm/water.s +++ b/asm/water.s @@ -197,7 +197,7 @@ _080AAD10: lsrs r0, 24 strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, _080AADAC @ =SpriteCallbackDummy bl CreateInvisibleSpriteWithCallback adds r4, r0, 0 @@ -273,7 +273,7 @@ sub_80AADB8: @ 80AADB8 movs r0, 0x1 strh r0, [r5, 0x2E] adds r0, r5, 0 - bl sub_80755E0 + bl AnimTranslateLinear mov r1, r8 lsrs r6, r1, 8 movs r0, 0x2E @@ -329,14 +329,14 @@ sub_80AAE40: @ 80AAE40 negs r1, r1 ands r1, r2 strb r1, [r3] - ldr r1, _080AAE60 @ =sub_8074F6C + ldr r1, _080AAE60 @ =RunStoredCallbackWhenAnimEnds str r1, [r0, 0x1C] ldr r1, _080AAE64 @ =sub_80AAE68 bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 -_080AAE60: .4byte sub_8074F6C +_080AAE60: .4byte RunStoredCallbackWhenAnimEnds _080AAE64: .4byte sub_80AAE68 thumb_func_end sub_80AAE40 @@ -345,15 +345,15 @@ sub_80AAE68: @ 80AAE68 push {lr} movs r1, 0xA strh r1, [r0, 0x2E] - ldr r1, _080AAE7C @ =sub_8074C44 + ldr r1, _080AAE7C @ =WaitAnimForDuration str r1, [r0, 0x1C] - ldr r1, _080AAE80 @ =move_anim_8074EE0 + ldr r1, _080AAE80 @ =DestroySpriteAndMatrix bl StoreSpriteCallbackInData6 pop {r0} bx r0 .align 2, 0 -_080AAE7C: .4byte sub_8074C44 -_080AAE80: .4byte move_anim_8074EE0 +_080AAE7C: .4byte WaitAnimForDuration +_080AAE80: .4byte DestroySpriteAndMatrix thumb_func_end sub_80AAE68 thumb_func_start sub_80AAE84 @@ -361,7 +361,7 @@ sub_80AAE84: @ 80AAE84 push {r4-r7,lr} adds r5, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080AAEAC @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -406,7 +406,7 @@ _080AAEBA: adds r0, r7 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation ldr r0, _080AAF18 @ =sub_80AAF1C str r0, [r5, 0x1C] adds r2, r5, 0 @@ -447,7 +447,7 @@ sub_80AAF1C: @ 80AAF1C strb r0, [r2] _080AAF3E: adds r0, r4, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080AAF50 @@ -569,7 +569,7 @@ sub_80AB024: @ 80AB024 push {r4,r5,lr} adds r5, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker movs r0, 0x1E strh r0, [r5, 0x2E] ldrh r0, [r5, 0x20] @@ -590,7 +590,7 @@ sub_80AB024: @ 80AB024 lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimLinearTranslation movs r0, 0x2E ldrsh r1, [r5, r0] movs r0, 0xD2 @@ -634,7 +634,7 @@ _080AB0A8: .4byte sub_80AB0AC sub_80AB0AC: @ 80AB0AC push {r4,lr} adds r4, r0, 0 - bl sub_80755E0 + bl AnimTranslateLinear lsls r0, 24 cmp r0, 0 beq _080AB0C0 @@ -861,7 +861,7 @@ _080AB256: movs r7, 0x3 _080AB260: adds r0, r6, 0 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r0, _080AB2B8 @ =gBattleAnimAttacker ldrb r0, [r0] bl GetBattlerSide @@ -912,7 +912,7 @@ sub_80AB2CC: @ 80AB2CC push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget ldr r0, _080AB2FC @ =gBattleAnimArgs ldrh r1, [r0, 0x8] strh r1, [r4, 0x2E] @@ -948,14 +948,14 @@ sub_80AB308: @ 80AB308 beq _080AB324 adds r0, r4, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget b _080AB32C .align 2, 0 _080AB320: .4byte gBattleAnimArgs _080AB324: adds r0, r4, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker _080AB32C: ldr r0, _080AB33C @ =gBattleAnimArgs ldrh r0, [r0, 0x4] @@ -1054,7 +1054,7 @@ sub_80AB38C: @ 80AB38C mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080AB404 @ =gFile_graphics_unknown_unknown_E81D14_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap b _080AB42E .align 2, 0 _080AB3FC: .4byte 0x00003f42 @@ -1064,7 +1064,7 @@ _080AB408: mov r0, sp ldrb r0, [r0, 0x9] ldr r1, _080AB414 @ =gFile_graphics_unknown_unknown_E81FE4_tilemap - bl sub_807543C + bl AnimLoadCompressedBgTilemap b _080AB42E .align 2, 0 _080AB414: .4byte gFile_graphics_unknown_unknown_E81FE4_tilemap @@ -1904,7 +1904,7 @@ sub_80ABA78: @ 80ABA78 strh r0, [r4, 0x4] adds r0, r4, 0 movs r1, 0x1 - bl sub_8075114 + bl InitSpritePosToAnimTarget bl Random movs r5, 0xFF ands r5, r0 @@ -2138,7 +2138,7 @@ _080ABC66: ldrh r0, [r4, 0x26] lsls r0, 24 lsrs r0, 24 - bl sub_8076440 + bl SetBattlerSpriteYOffsetFromYScale ldr r2, _080ABC84 @ =gSprites movs r0, 0x26 ldrsh r1, [r4, r0] @@ -3287,7 +3287,7 @@ sub_80AC504: @ 80AC504 strh r1, [r0, 0x36] ldrh r1, [r6, 0x1A] strh r1, [r0, 0x38] - bl sub_8075068 + bl InitAnimArcTranslation adds r5, 0x1C adds r4, r5 ldr r0, _080AC56C @ =sub_80AC570 @@ -3309,7 +3309,7 @@ _080AC56C: .4byte sub_80AC570 sub_80AC570: @ 80AC570 push {r4-r6,lr} adds r6, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080AC5CA @@ -3344,7 +3344,7 @@ sub_80AC570: @ 80AC570 mvns r1, r1 strh r1, [r6, 0x38] adds r0, r6, 0 - bl sub_8075068 + bl InitAnimArcTranslation ldr r0, _080AC5D4 @ =sub_80AC5D8 str r0, [r6, 0x1C] _080AC5CA: @@ -3360,7 +3360,7 @@ _080AC5D4: .4byte sub_80AC5D8 sub_80AC5D8: @ 80AC5D8 push {r4-r6,lr} adds r5, r0, 0 - bl AnimateBallThrow + bl TranslateAnimHorizontalArc lsls r0, 24 cmp r0, 0 beq _080AC614 @@ -3498,7 +3498,7 @@ sub_80AC6D8: @ 80AC6D8 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_8075160 + bl InitSpritePosToAnimAttacker ldr r5, _080AC714 @ =gBattleAnimTarget ldrb r0, [r5] movs r1, 0x2 diff --git a/data/battle_anim.s b/data/battle_anim.s index 3fae69431..c166708a2 100644 --- a/data/battle_anim.s +++ b/data/battle_anim.s @@ -242,21 +242,3 @@ gUnknown_83ADE18:: @ 83ADE18 gUnknown_83ADF5C:: @ 83ADF5C .incbin "baserom.gba", 0x3ADF5C, 0xC0 - -gUnknown_83AE01C:: @ 83AE01C - .incbin "baserom.gba", 0x3AE01C, 0x20 - -gUnknown_83AE03C:: @ 83AE03C - .incbin "baserom.gba", 0x3AE03C, 0x10 - -gUnknown_83AE04C:: @ 83AE04C - .incbin "baserom.gba", 0x3AE04C, 0x4 - -gUnknown_83AE050:: @ 83AE050 - .incbin "baserom.gba", 0x3AE050, 0x4 - -gUnknown_83AE054:: @ 83AE054 - .incbin "baserom.gba", 0x3AE054, 0x30 - -gUnknown_83AE084:: @ 0x83AE084 - .incbin "baserom.gba", 0x3AE084, 0x10 diff --git a/data/data.s b/data/data.s index d0bd198e1..06b06f043 100644 --- a/data/data.s +++ b/data/data.s @@ -89,7 +89,7 @@ gUnknown_823499C:: @ 823499C gUnknown_82349BC:: @ 82349BC .incbin "baserom.gba", 0x2349BC, 0x10 -gUnknown_82349CC:: @ 82349CC +gMonFrontPicCoords:: @ 82349CC .incbin "baserom.gba", 0x2349CC, 0x6E0 gMonFrontPicTable:: @ 82350AC @@ -98,7 +98,7 @@ gMonFrontPicTable:: @ 82350AC gUnknown_8235194:: @ 8235194 .incbin "baserom.gba", 0x235194, 0xCD8 -gUnknown_8235E6C:: @ 8235E6C +gMonBackPicCoords:: @ 8235E6C .incbin "baserom.gba", 0x235E6C, 0x6E0 gMonBackPicTable:: @ 823654C diff --git a/include/battle.h b/include/battle.h index 64283de20..754e92997 100644 --- a/include/battle.h +++ b/include/battle.h @@ -820,9 +820,6 @@ extern struct BattleSpriteData *gBattleSpritesDataPtr; extern u8 *gLinkBattleSendBuffer; extern u8 *gLinkBattleRecvBuffer; -extern u8 *gUnknown_0202305C; -extern u8 *gUnknown_02023060; - // Move this somewhere else #include "sprite.h" diff --git a/include/battle_anim.h b/include/battle_anim.h index 2c09037dc..7738ece11 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -1,11 +1,9 @@ #ifndef GUARD_BATTLE_ANIM_H #define GUARD_BATTLE_ANIM_H -#include "global.h" - -#ifndef BATTLE_BANKS_COUNT -#define BATTLE_BANKS_COUNT 4 -#endif // BATTLE_BANKS_COUNT +#include "battle.h" +#include "constants/battle_anim.h" +#include "task.h" enum { @@ -52,7 +50,6 @@ extern s16 gBattleAnimArgs[ANIM_ARGS_COUNT]; extern u8 gAnimMoveTurn; extern u8 gBattleAnimAttacker; extern u8 gBattleAnimTarget; -extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT]; extern u8 gUnknown_02038440; extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT]; extern u16 gAnimMovePower; @@ -60,6 +57,8 @@ extern s32 gAnimMoveDmg; extern u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT]; extern u8 gUnknown_2037F24; +extern struct OamData gOamData_83ACA40; + void ClearBattleAnimationVars(void); void DoMoveAnim(u16 move); void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim); @@ -140,32 +139,109 @@ u8 ItemIdToBallId(u16 itemId); u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); -// battle_anim_mons.s -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_mons.c +u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType); +u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType); +u8 GetBattlerSpriteDefault_Y(u8 battlerId); +u8 GetSubstituteSpriteDefault_Y(u8 battlerId); +u8 GetGhostSpriteDefault_Y(u8 battlerId); +u8 GetBattlerYCoordWithElevation(u8 battlerId); +u8 GetAnimBattlerSpriteId(u8 animBattler); +void StoreSpriteCallbackInData6(struct Sprite *sprite, SpriteCallback callback); +void TranslateSpriteInCircleOverDuration(struct Sprite *sprite); +void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite); +void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite); +void WaitAnimForDuration(struct Sprite *sprite); +void sub_8074C80(struct Sprite *sprite); +void TranslateSpriteLinear(struct Sprite *sprite); +void TranslateSpriteLinearFixedPoint(struct Sprite *sprite); +void TranslateMonSpriteLinear(struct Sprite *sprite); +void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite); +void TranslateSpriteLinearAndFlicker(struct Sprite *sprite); +void DestroySpriteAndMatrix(struct Sprite *sprite); +void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite); +void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); +void DestroyAnimSpriteAndDisableBlend(struct Sprite *sprite); +void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); +void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); +void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset); +void InitAnimArcTranslation(struct Sprite *sprite); +bool8 TranslateAnimHorizontalArc(struct Sprite *sprite); +bool8 TranslateAnimVerticalArc(struct Sprite *sprite); +void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite); +void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets); +void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets); +u8 GetBattlerSide(u8 battlerId); +u8 GetBattlerPosition(u8 battlerId); +u8 GetBattlerAtPosition(u8 position); bool8 IsBattlerSpritePresent(u8 battlerId); -u8 GetBattlerSpriteSubpriority(u8 battlerId); +bool8 IsDoubleBattle(void); +void sub_80752A0(struct BattleAnimBgData *animBgData); +void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1); +void sub_8075300(struct BattleAnimBgData *animBgData, u8 unused); +void sub_8075358(u32 bgId); +void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset); +void InitAnimBgTilemapBuffer(u32 bgId, const void *src); +void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src); +u8 sub_8075454(void); +void sub_8075458(bool8 arg0); +void sub_8075490(struct Sprite *sprite); +void InitSpriteDataForLinearTranslation(struct Sprite *sprite); +void InitAnimLinearTranslation(struct Sprite *sprite); void StartAnimLinearTranslation(struct Sprite *sprite); void sub_80755B8(struct Sprite *sprite); -u8 sub_80768B0(u8 battlerId); +bool8 AnimTranslateLinear(struct Sprite *sprite); +void sub_807563C(struct Sprite *sprite); +void sub_8075678(struct Sprite *sprite); +void sub_80756A4(struct Sprite *sprite); +void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite); +bool8 AnimFastTranslateLinear(struct Sprite *sprite); +void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite); +void sub_8075830(struct Sprite *sprite); +void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation); +void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode); +void ResetSpriteRotScale(u8 spriteId); +void SetBattlerSpriteYOffsetFromRotation(u8 spriteId); +void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation); +void sub_8075AD8(struct Sprite *sprite); +u16 ArcTan2Neg(s16 a, s16 b); +void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor); +u32 sub_8075BE8(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7); u32 sub_8075CB8(u8 a1, u8 a2, u8 a3, u8 a4); -u8 sub_8075D80(u8 battlerId); +u8 sub_8075D80(u8 a1); +void sub_8075D9C(struct Sprite *sprite); +void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite); +void sub_8075E80(struct Sprite *sprite); +void sub_8075F0C(struct Sprite *sprite); s16 CloneBattlerSpriteWithBlend(u8 animBattler); void obj_delete_but_dont_free_vram(struct Sprite *sprite); -void sub_807543C(u8 bgId, const u32 *); -void AnimLoadCompressedBgGfx(u32, const u32 *, u32); -void sub_80752A0(struct BattleAnimBgData *); -u8 sub_8076E34(s32, u8, s32); -void sub_8075358(u8 bgId); -u32 sub_8075BE8(u8, u8, u8, u8, u8, u8, u8); -void sub_8075458(bool8); -bool8 AnimateBallThrow(struct Sprite *sprite); +void sub_8076048(u8 taskId); +void AnimTask_BlendMonInAndOut(u8 task); +void sub_8076288(u8 taskId); +void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); +bool8 RunAffineAnimFromTaskData(struct Task *task); +void SetBattlerSpriteYOffsetFromYScale(u8 spriteId); +void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); +void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr); +void *LoadPointerFromVars(s16 lo, s16 hi); +void sub_80765D4(struct Task *task, u8 spriteId, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7); +u8 sub_8076640(struct Task *task); +void AnimTask_GetFrustrationPowerLevel(u8 taskId); +void sub_80767F0(void); +u8 GetBattlerSpriteSubpriority(u8 battlerId); +u8 GetBattlerSpriteBGPriority(u8 battlerId); +u8 GetBattlerSpriteBGPriorityRank(u8 battlerId); +u8 sub_80768D0(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); +void DestroySpriteAndFreeResources_(struct Sprite *sprite); +s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr); +void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y); +u8 sub_8076E34(s32 battlerId, u8 spriteId, s32 species); +void sub_8076ED8(struct Sprite *sprite); +void sub_8076F58(struct Sprite *sprite); +void sub_8076FD0(struct Sprite *sprite); +void sub_8077030(u8 taskId); +void sub_807729C(struct Sprite *sprite); +void sub_8077350(struct Sprite *sprite); // battle_anim_mon_movement.c void AnimTask_ShakeMon(u8 taskId); diff --git a/include/battle_main.h b/include/battle_main.h index cd602cd28..757ee3468 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -67,7 +67,7 @@ void EndBounceEffect(u8 bank, bool8 b); void sub_8039E44(struct Sprite *sprite); void sub_8039E60(struct Sprite *sprite); void sub_8039E84(struct Sprite *sprite); -void sub_8039E9C(struct Sprite *sprite); +void sub_801236C(struct Sprite *sprite); void BeginBattleIntro(void); void SwitchInClearSetData(void); void FaintClearSetData(void); diff --git a/include/data.h b/include/data.h index 6479237f2..d3bc77799 100644 --- a/include/data.h +++ b/include/data.h @@ -31,6 +31,8 @@ extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; +extern const struct MonCoords gMonFrontPicCoords[]; +extern const struct MonCoords gMonBackPicCoords[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; diff --git a/include/global.h b/include/global.h index 35f8de01b..5ddf9a0a8 100644 --- a/include/global.h +++ b/include/global.h @@ -76,6 +76,18 @@ extern u8 gStringVar2[]; extern u8 gStringVar3[]; extern u8 gStringVar4[]; +struct Coords8 +{ + s8 x; + s8 y; +}; + +struct UCoords8 +{ + u8 x; + u8 y; +}; + struct Coords16 { s16 x; @@ -88,6 +100,18 @@ struct UCoords16 u16 y; }; +struct Coords32 +{ + s32 x; + s32 y; +}; + +struct UCoords32 +{ + u32 x; + u32 y; +}; + struct Time { /*0x00*/ s16 days; diff --git a/include/overworld.h b/include/overworld.h index 77cacff94..0abbeee4b 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -18,11 +18,6 @@ struct LinkPlayerMapObject u8 mode; }; -struct UCoords32 -{ - u32 x, y; -}; - struct CreditsOverworldCmd { s16 unk_0; diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index cd8c798f9..60da74bcb 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -16,5 +16,6 @@ u16 sub_8096FD4(u16); u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32); void sub_8097070(struct Sprite *); u16 GetUnownLetterByPersonality(u32 personality); +u8 UpdateMonIconFrame(struct Sprite *sprite); #endif // GUARD_POKEMON_ICON_H diff --git a/include/rom6.h b/include/rom6.h deleted file mode 100644 index 753c07305..000000000 --- a/include/rom6.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef GUARD_ROM6_H -#define GUARD_ROM6_H - -#include "global.h" - -void sub_81357FC(u8, void(void)); -u8 GetLeadMonIndex(void); -u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); -void sub_813BADC(bool8); -bool8 sub_813B9C0(void); -void UpdateMirageRnd(u16 days); -void UpdateBirchState(u16 days); -void UpdateFrontierManiac(u16 days); -void UpdateFrontierGambler(u16 days); -void SetShoalItemFlag(u16 days); - -#endif //GUARD_ROM6_H diff --git a/include/sprite.h b/include/sprite.h index 27e5dc852..04c992dae 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -251,6 +251,7 @@ extern s16 gSpriteCoordOffsetX; extern s16 gSpriteCoordOffsetY; extern const struct SpriteTemplate gDummySpriteTemplate; extern struct Sprite gSprites[]; +extern struct OamMatrix gOamMatrices[]; void ResetSpriteData(void); void AnimateSprites(void); diff --git a/ld_script.txt b/ld_script.txt index 7c5625ab0..6202e5ace 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -111,7 +111,7 @@ SECTIONS { src/palette.o(.text); src/sound.o(.text); asm/battle_anim.o(.text); - asm/battle_anim_mons.o(.text); + src/battle_anim_mons.o(.text); src/task.o(.text); src/reshow_battle_screen.o(.text); asm/battle_anim_status_effects.o(.text); @@ -412,6 +412,7 @@ SECTIONS { src/palette.o(.rodata); src/sound.o(.rodata); data/battle_anim.o(.rodata); + src/battle_anim_mons.o(.rodata); data/map_events.o(.rodata); data/battle_anim_status_effects.o(.rodata); src/title_screen.o(.rodata); diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index e642f0dbd..21d07246f 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -844,7 +844,7 @@ static void sub_8099B54(u8 taskId) gTasks[taskId].data[3] += gTasks[taskId].data[4]; SetSpriteRotScale(gTasks[taskId].data[5], 0x100, 0x100, gTasks[taskId].data[3]); if (gTasks[taskId].data[7]) - sub_80759DC(gTasks[taskId].data[5]); + SetBattlerSpriteYOffsetFromRotation(gTasks[taskId].data[5]); if (++gTasks[taskId].data[1] >= gTasks[taskId].data[2]) { switch (gTasks[taskId].data[6]) diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c new file mode 100644 index 000000000..ed9c9bc2b --- /dev/null +++ b/src/battle_anim_mons.c @@ -0,0 +1,2253 @@ +#include "global.h" +#include "battle_anim.h" +#include "bg.h" +#include "data.h" +#include "decompress.h" +#include "dma3.h" +#include "gpu_regs.h" +#include "malloc.h" +#include "palette.h" +#include "pokemon_icon.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "util.h" +#include "constants/battle_anim.h" +#include "constants/species.h" + +#define GET_UNOWN_LETTER(personality) (( \ + (((personality & 0x03000000) >> 24) << 6) \ + | (((personality & 0x00030000) >> 16) << 4) \ + | (((personality & 0x00000300) >> 8) << 2) \ + | (((personality & 0x00000003) >> 0) << 0) \ +) % 28) + +#define IS_DOUBLE_BATTLE() (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + +static u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3); +static void sub_8075658(struct Sprite *sprite); +static void sub_80757E8(struct Sprite *sprite); +static bool8 sub_80758DC(void); +static void sub_8075EF0(struct Sprite *sprite); +static void sub_80760D0(u8 taskId); +static void AnimTask_BlendMonInAndOutSetup(struct Task *task); +static void AnimTask_BlendMonInAndOutStep(u8 taskId); +static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId); +static void sub_8077118(u8 taskId); +static void sub_80771E4(struct Task *task, u8 taskId); +static void sub_8077268(struct Sprite *sprite); +static void sub_80772F4(struct Sprite *sprite); + +static EWRAM_DATA union AffineAnimCmd *sAnimTaskAffineAnim = NULL; +static EWRAM_DATA u32 gUnknown_2037F2C = 0; // not used + +static const struct UCoords8 sBattlerCoords[][4] = +{ + { + { 72, 80 }, + { 176, 40 }, + { 48, 40 }, + { 112, 80 }, + }, + { + { 32, 80 }, + { 200, 40 }, + { 90, 88 }, + { 152, 32 }, + }, +}; + +// One entry for each of the four Castform forms. +const struct MonCoords gCastformFrontSpriteCoords[] = +{ + { .size = 0x44, .y_offset = 17 }, // NORMAL + { .size = 0x66, .y_offset = 9 }, // SUN + { .size = 0x46, .y_offset = 9 }, // RAIN + { .size = 0x86, .y_offset = 8 }, // HAIL +}; + +static const u8 sCastformElevations[] = +{ + 13, // NORMAL + 14, // SUN + 13, // RAIN + 13, // HAIL +}; + +// Y position of the backsprite for each of the four Castform forms. +static const u8 sCastformBackSpriteYCoords[] = +{ + 0, // NORMAL + 0, // SUN + 0, // RAIN + 0, // HAIL +}; + +static const struct SpriteTemplate gUnknown_83AE054[] = +{ + { + .tileTag = 0xD755, + .paletteTag = 0xD755, + .oam = &gOamData_83ACA40, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + { + .tileTag = 0xD756, + .paletteTag = 0xD756, + .oam = &gOamData_83ACA40, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + } +}; + +static const struct SpriteSheet gUnknown_83AE084[] = +{ + { gMiscBlank_Gfx, 0x800, 0xD755 }, + { gMiscBlank_Gfx, 0x800, 0xD756 }, +}; + +u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType) +{ + u8 retVal; + u16 species; + struct BattleSpriteInfo *spriteInfo; + + switch (coordType) + { + case BATTLER_COORD_X: + case BATTLER_COORD_X_2: + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].x; + break; + case BATTLER_COORD_Y: + retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + break; + case BATTLER_COORD_Y_PIC_OFFSET: + case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT: + default: + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + if (coordType == BATTLER_COORD_Y_PIC_OFFSET) + retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + else + retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + break; + } + return retVal; +} + +static u8 GetBattlerYDelta(u8 battlerId, u16 species) +{ + u16 letter; + u32 personality; + struct BattleSpriteInfo *spriteInfo; + u8 ret; + u16 coordSpecies; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + { + if (species == SPECIES_UNOWN) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + else + personality = gTransformedPersonalities[battlerId]; + letter = GET_UNOWN_LETTER(personality); + if (!letter) + coordSpecies = species; + else + coordSpecies = letter + SPECIES_UNOWN_B - 1; + ret = gMonBackPicCoords[coordSpecies].y_offset; + } + else if (species == SPECIES_CASTFORM) + { + ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; + } + else if (species > NUM_SPECIES) + { + ret = gMonBackPicCoords[0].y_offset; + } + else + { + ret = gMonBackPicCoords[species].y_offset; + } + } + else + { + if (species == SPECIES_UNOWN) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + else + personality = gTransformedPersonalities[battlerId]; + letter = GET_UNOWN_LETTER(personality); + if (!letter) + coordSpecies = species; + else + coordSpecies = letter + SPECIES_UNOWN_B - 1; + ret = gMonFrontPicCoords[coordSpecies].y_offset; + } + else if (species == SPECIES_CASTFORM) + { + ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset; + } + else if (species > NUM_SPECIES) + { + ret = gMonFrontPicCoords[0].y_offset; + } + else + { + ret = gMonFrontPicCoords[species].y_offset; + } + } + return ret; +} + +static u8 GetBattlerElevation(u8 battlerId, u16 species) +{ + u8 ret = 0; + + if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + { + if (species == SPECIES_CASTFORM) + ret = sCastformElevations[gBattleMonForms[battlerId]]; + else if (species > NUM_SPECIES) + ret = gEnemyMonElevation[0]; + else + ret = gEnemyMonElevation[species]; + } + return ret; +} + +static u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3) +{ + u16 offset; + u8 y; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + { + offset = GetBattlerYDelta(battlerId, species); + } + else + { + offset = GetBattlerYDelta(battlerId, species); + offset -= GetBattlerElevation(battlerId, species); + } + y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y; + if (a3) + { + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + y += 8; + if (y > 104) + y = 104; + } + return y; +} + +u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType) +{ + u16 species; + struct BattleSpriteInfo *spriteInfo; + + if (coordType == BATTLER_COORD_Y_PIC_OFFSET || coordType == BATTLER_COORD_Y_PIC_OFFSET_DEFAULT) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = gAnimBattlerSpecies[battlerId]; + else + species = spriteInfo[battlerId].transformSpecies; + if (coordType == BATTLER_COORD_Y_PIC_OFFSET) + return GetBattlerSpriteFinal_Y(battlerId, species, TRUE); + else + return GetBattlerSpriteFinal_Y(battlerId, species, FALSE); + } + else + { + return GetBattlerSpriteCoord(battlerId, coordType); + } +} + +u8 GetBattlerSpriteDefault_Y(u8 battlerId) +{ + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); +} + +u8 GetSubstituteSpriteDefault_Y(u8 battlerId) +{ + u16 y; + + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16; + else + y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17; + return y; +} + +u8 GetGhostSpriteDefault_Y(u8 battlerId) +{ + if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT); + else + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y); +} + +u8 GetBattlerYCoordWithElevation(u8 battlerId) +{ + u16 species; + u8 y; + struct BattleSpriteInfo *spriteInfo; + + y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y); + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + } + if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + y -= GetBattlerElevation(battlerId, species); + return y; +} + +u8 GetAnimBattlerSpriteId(u8 animBattler) +{ + u8 *sprites; + + if (animBattler == ANIM_ATTACKER) + { + if (IsBattlerSpritePresent(gBattleAnimAttacker)) + { + sprites = gBattlerSpriteIds; + return sprites[gBattleAnimAttacker]; + } + else + { + return 0xFF; + } + } + else if (animBattler == ANIM_TARGET) + { + if (IsBattlerSpritePresent(gBattleAnimTarget)) + { + sprites = gBattlerSpriteIds; + return sprites[gBattleAnimTarget]; + } + else + { + return 0xFF; + } + } + else if (animBattler == ANIM_ATK_PARTNER) + { + if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + return 0xFF; + else + return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]; + } + else + { + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) + return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]; + else + return 0xFF; + } +} + +void StoreSpriteCallbackInData6(struct Sprite *sprite, SpriteCallback callback) +{ + sprite->data[6] = (u32)(callback) & 0xFFFF; + sprite->data[7] = (u32)(callback) >> 16; +} + +static void SetCallbackToStoredInData6(struct Sprite *sprite) +{ + u32 callback = (u16)sprite->data[6] | (sprite->data[7] << 16); + + sprite->callback = (SpriteCallback)callback; +} + +void TranslateSpriteInCircleOverDuration(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]); + sprite->data[0] += sprite->data[2]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + --sprite->data[3]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]); + sprite->data[0] += sprite->data[2]; + sprite->data[5] += sprite->data[4]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + --sprite->data[3]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +// not used +static void sub_8074B5C(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[4], sprite->data[1]); + sprite->data[0] += sprite->data[2]; + sprite->data[4] += sprite->data[5]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + if (sprite->data[4] >= 0x100) + sprite->data[4] -= 0x100; + else if (sprite->data[4] < 0) + sprite->data[4] += 0x100; + --sprite->data[3]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite) +{ + if (sprite->data[3]) + { + sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]); + sprite->pos2.y = Cos(sprite->data[0], sprite->data[4]); + sprite->data[0] += sprite->data[2]; + if (sprite->data[0] >= 0x100) + sprite->data[0] -= 0x100; + else if (sprite->data[0] < 0) + sprite->data[0] += 0x100; + --sprite->data[3]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +// Simply waits until the sprite's data[0] hits zero. +// This is used to let sprite anims or affine anims to run for a designated +// duration. +void WaitAnimForDuration(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + --sprite->data[0]; + else + SetCallbackToStoredInData6(sprite); +} + +static void sub_8074C64(struct Sprite *sprite) +{ + sub_8074C80(sprite); + sprite->callback = TranslateSpriteLinear; + sprite->callback(sprite); +} + +void sub_8074C80(struct Sprite *sprite) +{ + s16 old; + s32 xDiff; + + if (sprite->data[1] > sprite->data[2]) + sprite->data[0] = -sprite->data[0]; + xDiff = sprite->data[2] - sprite->data[1]; + old = sprite->data[0]; + sprite->data[0] = abs(xDiff / sprite->data[0]); + sprite->data[2] = (sprite->data[4] - sprite->data[3]) / sprite->data[0]; + sprite->data[1] = old; +} + +void TranslateSpriteLinear(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + --sprite->data[0]; + sprite->pos2.x += sprite->data[1]; + sprite->pos2.y += sprite->data[2]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void TranslateSpriteLinearFixedPoint(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + --sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + --sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = sprite->data[3] >> 8; + sprite->pos2.y = sprite->data[4] >> 8; + } + else + { + SetCallbackToStoredInData6(sprite); + } + + UpdateMonIconFrame(sprite); +} + +// not used +static void sub_8074D80(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x + sprite->pos2.x; + sprite->data[3] = sprite->pos1.y + sprite->pos2.y; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + sprite->callback = sub_8074C64; +} + +void TranslateMonSpriteLinear(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + --sprite->data[0]; + gSprites[sprite->data[3]].pos2.x += sprite->data[1]; + gSprites[sprite->data[3]].pos2.y += sprite->data[2]; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + --sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + gSprites[sprite->data[5]].pos2.x = sprite->data[3] >> 8; + gSprites[sprite->data[5]].pos2.y = sprite->data[4] >> 8; + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void TranslateSpriteLinearAndFlicker(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + --sprite->data[0]; + sprite->pos2.x = sprite->data[2] >> 8; + sprite->data[2] += sprite->data[1]; + sprite->pos2.y = sprite->data[4] >> 8; + sprite->data[4] += sprite->data[3]; + if (sprite->data[0] % sprite->data[5] == 0) + { + if (sprite->data[5]) + sprite->invisible ^= 1; + } + } + else + { + SetCallbackToStoredInData6(sprite); + } +} + +void DestroySpriteAndMatrix(struct Sprite *sprite) +{ + FreeSpriteOamMatrix(sprite); + DestroyAnimSprite(sprite); +} + +// not used +static void sub_8074EF4(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x + sprite->pos2.x; + sprite->data[3] = sprite->pos1.y + sprite->pos2.y; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + sprite->callback = sub_8074C64; +} + +// not used +static void sub_8074F38(struct Sprite *sprite) +{ + ResetPaletteStructByUid(sprite->data[5]); + DestroySpriteAndMatrix(sprite); +} + +void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + SetCallbackToStoredInData6(sprite); +} + +void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite) +{ + if (sprite->animEnded) + SetCallbackToStoredInData6(sprite); +} + +void DestroyAnimSpriteAndDisableBlend(struct Sprite *sprite) +{ + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimSprite(sprite); +} + +void DestroyAnimVisualTaskAndDisableBlend(u8 taskId) +{ + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + DestroyAnimVisualTask(taskId); +} + +void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); +} + +// Sets the initial x offset of the anim sprite depending on the horizontal orientation +// of the two involved mons. +void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset) +{ + u16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); + u16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); + + if (attackerX > targetX) + { + sprite->pos1.x -= xOffset; + } + else if (attackerX < targetX) + { + sprite->pos1.x += xOffset; + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + sprite->pos1.x -= xOffset; + else + sprite->pos1.x += xOffset; + } +} + +void InitAnimArcTranslation(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimLinearTranslation(sprite); + sprite->data[6] = 0x8000 / sprite->data[0]; + sprite->data[7] = 0; +} + +bool8 TranslateAnimHorizontalArc(struct Sprite *sprite) +{ + if (AnimTranslateLinear(sprite)) + return TRUE; + sprite->data[7] += sprite->data[6]; + sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); + return FALSE; +} + +bool8 TranslateAnimVerticalArc(struct Sprite *sprite) +{ + if (AnimTranslateLinear(sprite)) + return TRUE; + sprite->data[7] += sprite->data[6]; + sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); + return FALSE; +} + +void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite) +{ + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; +} + +void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets) +{ + // Battle anim sprites are automatically created at the anim target's center, which + // is why there is no else clause for the "respectMonPicOffsets" check. + if (!respectMonPicOffsets) + { + sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X); + sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y); + } + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; +} + +void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets) +{ + if (!respectMonPicOffsets) + { + sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X); + sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y); + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + } + SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; +} + +u8 GetBattlerSide(u8 battlerId) +{ + return GET_BATTLER_SIDE2(battlerId); +} + +u8 GetBattlerPosition(u8 battlerId) +{ + return GET_BATTLER_POSITION(battlerId); +} + +u8 GetBattlerAtPosition(u8 position) +{ + u8 i; + + for (i = 0; i < gBattlersCount; ++i) + if (gBattlerPositions[i] == position) + break; + return i; +} + +bool8 IsBattlerSpritePresent(u8 battlerId) +{ + if (gBattlerPositions[battlerId] == 0xFF) + { + return FALSE; + } + else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + { + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + return TRUE; + } + else + { + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0) + return TRUE; + } + return FALSE; +} + +bool8 IsDoubleBattle(void) +{ + return IS_DOUBLE_BATTLE(); +} + +void sub_80752A0(struct BattleAnimBgData *animBgData) +{ + animBgData->bgTiles = gUnknown_2022BB8; + animBgData->bgTilemap = (u16 *)gUnknown_2022BBC; + animBgData->paletteId = 8; + animBgData->bgId = 1; + animBgData->tilesOffset = 0x200; + animBgData->unused = 0; +} + +void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1) +{ + if (arg1 == 1) + { + sub_80752A0(animBgData); + } + else + { + animBgData->bgTiles = gUnknown_2022BB8; + animBgData->bgTilemap = (u16 *)gUnknown_2022BBC; + animBgData->paletteId = 9; + animBgData->bgId = 2; + animBgData->tilesOffset = 0x300; + animBgData->unused = 0; + } +} + +void sub_8075300(struct BattleAnimBgData *animBgData, u8 unused) +{ + animBgData->bgTiles = gUnknown_2022BB8; + animBgData->bgTilemap = (u16 *)gUnknown_2022BBC; + if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1) + { + animBgData->paletteId = 8; + animBgData->bgId = 1; + animBgData->tilesOffset = 0x200; + animBgData->unused = 0; + } + else + { + animBgData->paletteId = 9; + animBgData->bgId = 2; + animBgData->tilesOffset = 0x300; + animBgData->unused = 0; + } +} + +void sub_8075358(u32 bgId) +{ + struct BattleAnimBgData animBgData; + + sub_80752C8(&animBgData, bgId); + CpuFill32(0, animBgData.bgTiles, 0x2000); + LoadBgTiles(bgId, animBgData.bgTiles, 0x2000, animBgData.tilesOffset); + FillBgTilemapBufferRect(bgId, 0, 0, 0, 32, 64, 17); + CopyBgTilemapBufferToVram(bgId); +} + +void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset) +{ + CpuFill32(0, gUnknown_2022BB8, 0x2000); + LZDecompressWram(src, gUnknown_2022BB8); + LoadBgTiles(bgId, gUnknown_2022BB8, 0x2000, tilesOffset); +} + +void InitAnimBgTilemapBuffer(u32 bgId, const void *src) +{ + FillBgTilemapBufferRect(bgId, 0, 0, 0, 32, 64, 17); + CopyToBgTilemapBuffer(bgId, src, 0, 0); +} + +void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src) +{ + InitAnimBgTilemapBuffer(bgId, src); + CopyBgTilemapBufferToVram(bgId); +} + +u8 sub_8075454(void) +{ + return 2; +} + +void sub_8075458(bool8 arg0) +{ + if (!arg0) + { + SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 0); + SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 1); + } + else + { + SetAnimBgAttribute(3, BG_ANIM_SCREEN_SIZE, 1); + SetAnimBgAttribute(3, BG_ANIM_AREA_OVERFLOW_MODE, 0); + } +} + +void sub_8075490(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitSpriteDataForLinearTranslation(sprite); + sprite->callback = TranslateSpriteLinearFixedPointIconFrame; + sprite->callback(sprite); +} + +void InitSpriteDataForLinearTranslation(struct Sprite *sprite) +{ + s16 x = (sprite->data[2] - sprite->data[1]) << 8; + s16 y = (sprite->data[4] - sprite->data[3]) << 8; + + sprite->data[1] = x / sprite->data[0]; + sprite->data[2] = y / sprite->data[0]; + sprite->data[4] = 0; + sprite->data[3] = 0; +} + +void InitAnimLinearTranslation(struct Sprite *sprite) +{ + s32 x = sprite->data[2] - sprite->data[1]; + s32 y = sprite->data[4] - sprite->data[3]; + bool8 movingLeft = x < 0; + bool8 movingUp = y < 0; + u16 xDelta = abs(x) << 8; + u16 yDelta = abs(y) << 8; + + xDelta = xDelta / sprite->data[0]; + yDelta = yDelta / sprite->data[0]; + + if (movingLeft) + xDelta |= 1; + else + xDelta &= ~1; + + if (movingUp) + yDelta |= 1; + else + yDelta &= ~1; + + sprite->data[1] = xDelta; + sprite->data[2] = yDelta; + sprite->data[4] = 0; + sprite->data[3] = 0; +} + +void StartAnimLinearTranslation(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimLinearTranslation(sprite); + sprite->callback = sub_807563C; + sprite->callback(sprite); +} + +void sub_80755B8(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimLinearTranslation(sprite); + sprite->callback = sub_8075658; + sprite->callback(sprite); +} + +bool8 AnimTranslateLinear(struct Sprite *sprite) +{ + u16 v1, v2, x, y; + + if (!sprite->data[0]) + return TRUE; + v1 = sprite->data[1]; + v2 = sprite->data[2]; + x = sprite->data[3]; + y = sprite->data[4]; + x += v1; + y += v2; + if (v1 & 1) + sprite->pos2.x = -(x >> 8); + else + sprite->pos2.x = x >> 8; + + if (v2 & 1) + sprite->pos2.y = -(y >> 8); + else + sprite->pos2.y = y >> 8; + sprite->data[3] = x; + sprite->data[4] = y; + --sprite->data[0]; + return FALSE; +} + +void sub_807563C(struct Sprite *sprite) +{ + if (AnimTranslateLinear(sprite)) + SetCallbackToStoredInData6(sprite); +} + +static void sub_8075658(struct Sprite *sprite) +{ + sub_801236C(sprite); + if (AnimTranslateLinear(sprite)) + SetCallbackToStoredInData6(sprite); +} + +void sub_8075678(struct Sprite *sprite) +{ + s32 v1 = abs(sprite->data[2] - sprite->data[1]) << 8; + + sprite->data[0] = v1 / sprite->data[0]; + InitAnimLinearTranslation(sprite); +} + +void sub_80756A4(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + sub_8075678(sprite); + sprite->callback = sub_807563C; + sprite->callback(sprite); +} + +static void InitAnimFastLinearTranslation(struct Sprite *sprite) +{ + s32 xDiff = sprite->data[2] - sprite->data[1]; + s32 yDiff = sprite->data[4] - sprite->data[3]; + bool8 xSign = xDiff < 0; + bool8 ySign = yDiff < 0; + u16 x2 = abs(xDiff) << 4; + u16 y2 = abs(yDiff) << 4; + + x2 /= sprite->data[0]; + y2 /= sprite->data[0]; + if (xSign) + x2 |= 1; + else + x2 &= ~1; + if (ySign) + y2 |= 1; + else + y2 &= ~1; + sprite->data[1] = x2; + sprite->data[2] = y2; + sprite->data[4] = 0; + sprite->data[3] = 0; +} + +void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimFastLinearTranslation(sprite); + sprite->callback = sub_80757E8; + sprite->callback(sprite); +} + +bool8 AnimFastTranslateLinear(struct Sprite *sprite) +{ + u16 v1, v2, x, y; + + if (!sprite->data[0]) + return TRUE; + v1 = sprite->data[1]; + v2 = sprite->data[2]; + x = sprite->data[3]; + y = sprite->data[4]; + x += v1; + y += v2; + if (v1 & 1) + sprite->pos2.x = -(x >> 4); + else + sprite->pos2.x = x >> 4; + if (v2 & 1) + sprite->pos2.y = -(y >> 4); + else + sprite->pos2.y = y >> 4; + sprite->data[3] = x; + sprite->data[4] = y; + --sprite->data[0]; + return FALSE; +} + +static void sub_80757E8(struct Sprite *sprite) +{ + if (AnimFastTranslateLinear(sprite)) + SetCallbackToStoredInData6(sprite); +} + +void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite) +{ + s32 xDiff = abs(sprite->data[2] - sprite->data[1]) << 4; + + sprite->data[0] = xDiff / sprite->data[0]; + InitAnimFastLinearTranslation(sprite); +} + +void sub_8075830(struct Sprite *sprite) +{ + sprite->data[1] = sprite->pos1.x; + sprite->data[3] = sprite->pos1.y; + InitAnimFastLinearTranslationWithSpeed(sprite); + sprite->callback = sub_80757E8; + sprite->callback(sprite); +} + +void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation) +{ + s32 i; + struct ObjAffineSrcData src; + struct OamMatrix matrix; + + src.xScale = xScale; + src.yScale = yScale; + src.rotation = rotation; + if (sub_80758DC()) + src.xScale = -src.xScale; + i = gSprites[spriteId].oam.matrixNum; + ObjAffineSet(&src, &matrix, 1, 2); + gOamMatrices[i].a = matrix.a; + gOamMatrices[i].b = matrix.b; + gOamMatrices[i].c = matrix.c; + gOamMatrices[i].d = matrix.d; +} + +static bool8 sub_80758DC(void) +{ + return FALSE; +} + +void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode) +{ + u8 battlerId = gSprites[spriteId].data[0]; + + if (IsBattlerSpriteVisible(battlerId)) + gSprites[spriteId].invisible = FALSE; + gSprites[spriteId].oam.objMode = objMode; + gSprites[spriteId].affineAnimPaused = TRUE; + if (!gSprites[spriteId].oam.affineMode) + gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum; + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE; + CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); +} + +void ResetSpriteRotScale(u8 spriteId) +{ + SetSpriteRotScale(spriteId, 0x100, 0x100, 0); + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.objMode = 0; + gSprites[spriteId].affineAnimPaused = FALSE; + CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); +} + +// Sets the sprite's y offset equal to the y displacement caused by the +// matrix's rotation. +void SetBattlerSpriteYOffsetFromRotation(u8 spriteId) +{ + u16 matrixNum = gSprites[spriteId].oam.matrixNum; + // The "c" component of the battler sprite matrix contains the sine of the rotation angle divided by some scale amount. + s16 c = gOamMatrices[matrixNum].c; + + if (c < 0) + c = -c; + gSprites[spriteId].pos2.y = c >> 3; +} + +void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation) +{ + s32 i; + struct ObjAffineSrcData src; + struct OamMatrix matrix; + + if (sprite->oam.affineMode & 1) + { + sprite->affineAnimPaused = TRUE; + if (recalcCenterVector) + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); + src.xScale = xScale; + src.yScale = yScale; + src.rotation = rotation; + if (sub_80758DC()) + src.xScale = -src.xScale; + i = sprite->oam.matrixNum; + ObjAffineSet(&src, &matrix, 1, 2); + gOamMatrices[i].a = matrix.a; + gOamMatrices[i].b = matrix.b; + gOamMatrices[i].c = matrix.c; + gOamMatrices[i].d = matrix.d; + } +} + +void sub_8075AD8(struct Sprite *sprite) +{ + TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, 0); + sprite->affineAnimPaused = FALSE; + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); +} + +static u16 ArcTan2_(s16 a, s16 b) +{ + return ArcTan2(a, b); +} + +u16 ArcTan2Neg(s16 a, s16 b) +{ + u16 var = ArcTan2_(a, b); + return -var; +} + +void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor) +{ + s32 i; + struct PlttData *originalColor; + struct PlttData *destColor; + u16 average; + + paletteNum *= 16; + + if (!restoreOriginalColor) + { + for (i = 0; i < 16; ++i) + { + originalColor = (struct PlttData *)&gPlttBufferUnfaded[paletteNum + i]; + average = originalColor->r + originalColor->g + originalColor->b; + average /= 3; + destColor = (struct PlttData *)&gPlttBufferFaded[paletteNum + i]; + destColor->r = average; + destColor->g = average; + destColor->b = average; + } + } + else + { + CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], 32); + } +} + +u32 sub_8075BE8(u8 battleBackground, u8 attacker, u8 target, u8 attackerPartner, u8 targetPartner, u8 a6, u8 a7) +{ + u32 selectedPalettes = 0; + u32 shift; + + if (battleBackground) + { + selectedPalettes = 0xe; + } + if (attacker) + { + shift = gBattleAnimAttacker + 16; + selectedPalettes |= 1 << shift; + } + if (target) + { + shift = gBattleAnimTarget + 16; + selectedPalettes |= 1 << shift; + } + if (attackerPartner) + { + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + { + shift = BATTLE_PARTNER(gBattleAnimAttacker) + 16; + selectedPalettes |= 1 << shift; + } + } + if (targetPartner) + { + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) + { + shift = BATTLE_PARTNER(gBattleAnimTarget) + 16; + selectedPalettes |= 1 << shift; + } + } + if (a6) + { + selectedPalettes |= 0x100; + } + if (a7) + { + selectedPalettes |= 0x200; + } + return selectedPalettes; +} + +u32 sub_8075CB8(u8 a1, u8 a2, u8 a3, u8 a4) +{ + u32 var = 0; + u32 shift; + + if (a1) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) + { + var |= 1 << (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) + 16); + } + } + if (a2) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT))) + { + shift = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) + 16; + var |= 1 << shift; + } + } + if (a3) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT))) + { + shift = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT) + 16; + var |= 1 << shift; + } + } + if (a4) + { + if (IsBattlerSpriteVisible(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) + { + shift = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT) + 16; + var |= 1 << shift; + } + } + return var; +} + +u8 sub_8075D80(u8 a1) +{ + return a1; +} + +// not used +static u8 GetBattlerAtPosition_(u8 position) +{ + return GetBattlerAtPosition(position); +} + +void sub_8075D9C(struct Sprite *sprite) +{ + bool8 var; + + if (!sprite->data[0]) + { + if (!gBattleAnimArgs[3]) + var = TRUE; + else + var = FALSE; + if (!gBattleAnimArgs[2]) + InitSpritePosToAnimAttacker(sprite, var); + else + InitSpritePosToAnimTarget(sprite, var); + ++sprite->data[0]; + + } + else if (sprite->animEnded || sprite->affineAnimEnded) + { + DestroySpriteAndMatrix(sprite); + } +} + +// Linearly translates a sprite to a target position on the +// other mon's sprite. +// arg 0: initial x offset +// arg 1: initial y offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: duration +// arg 5: lower 8 bits = location on attacking mon, upper 8 bits = location on target mon pick to target +void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) +{ + bool8 v1; + u8 coordType; + + if (!(gBattleAnimArgs[5] & 0xFF00)) + v1 = TRUE; + else + v1 = FALSE; + if (!(gBattleAnimArgs[5] & 0xFF)) + coordType = BATTLER_COORD_Y_PIC_OFFSET; + else + coordType = BATTLER_COORD_Y; + InitSpritePosToAnimAttacker(sprite, v1); + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_8075E80(struct Sprite *sprite) +{ + InitSpritePosToAnimAttacker(sprite, 1); + if (GetBattlerSide(gBattleAnimAttacker)) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; + sprite->data[5] = gBattleAnimArgs[5]; + InitAnimArcTranslation(sprite); + sprite->callback = sub_8075EF0; +} + +static void sub_8075EF0(struct Sprite *sprite) +{ + if (TranslateAnimHorizontalArc(sprite)) + DestroyAnimSprite(sprite); +} + +void sub_8075F0C(struct Sprite *sprite) +{ + bool8 r4; + u8 battlerId, coordType; + + if (!gBattleAnimArgs[6]) + { + r4 = TRUE; + coordType = BATTLER_COORD_Y_PIC_OFFSET; + } + else + { + r4 = FALSE; + coordType = BATTLER_COORD_Y; + } + if (!gBattleAnimArgs[5]) + { + InitSpritePosToAnimAttacker(sprite, r4); + battlerId = gBattleAnimAttacker; + } + else + { + InitSpritePosToAnimTarget(sprite, r4); + battlerId = gBattleAnimTarget; + } + if (GetBattlerSide(gBattleAnimAttacker)) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + InitSpritePosToAnimTarget(sprite, r4); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3]; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +s16 CloneBattlerSpriteWithBlend(u8 animBattler) +{ + u16 i; + u8 spriteId = GetAnimBattlerSpriteId(animBattler); + + if (spriteId != 0xFF) + { + for (i = 0; i < MAX_SPRITES; ++i) + { + if (!gSprites[i].inUse) + { + gSprites[i] = gSprites[spriteId]; + gSprites[i].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[i].invisible = FALSE; + return i; + } + } + } + return -1; +} + +void obj_delete_but_dont_free_vram(struct Sprite *sprite) +{ + sprite->usingSheet = TRUE; + DestroySprite(sprite); +} + +void sub_8076048(u8 taskId) +{ + s16 v1 = 0, v2 = 0; + + if (gBattleAnimArgs[2] > gBattleAnimArgs[0]) + v2 = 1; + if (gBattleAnimArgs[2] < gBattleAnimArgs[0]) + v2 = -1; + if (gBattleAnimArgs[3] > gBattleAnimArgs[1]) + v1 = 1; + if (gBattleAnimArgs[3] < gBattleAnimArgs[1]) + v1 = -1; + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = gBattleAnimArgs[4]; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = gBattleAnimArgs[0]; + gTasks[taskId].data[4] = gBattleAnimArgs[1]; + gTasks[taskId].data[5] = v2; + gTasks[taskId].data[6] = v1; + gTasks[taskId].data[7] = gBattleAnimArgs[2]; + gTasks[taskId].data[8] = gBattleAnimArgs[3]; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gBattleAnimArgs[0], gBattleAnimArgs[1])); + gTasks[taskId].func = sub_80760D0; +} + +static void sub_80760D0(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (++task->data[0] > task->data[1]) + { + task->data[0] = 0; + if (++task->data[2] & 1) + { + if (task->data[3] != task->data[7]) + task->data[3] += task->data[5]; + } + else + { + if (task->data[4] != task->data[8]) + task->data[4] += task->data[6]; + } + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4])); + if (task->data[3] == task->data[7] && task->data[4] == task->data[8]) + { + DestroyAnimVisualTask(taskId); + return; + } + } +} + +// Linearly blends a mon's sprite colors with a target color with increasing +// strength, and then blends out to the original color. +// arg 0: anim bank +// arg 1: blend color +// arg 2: target blend coefficient +// arg 3: initial delay +// arg 4: number of times to blend in and out +void AnimTask_BlendMonInAndOut(u8 task) +{ + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + + if (spriteId == 0xFF) + { + DestroyAnimVisualTask(task); + return; + } + gTasks[task].data[0] = (gSprites[spriteId].oam.paletteNum * 0x10) + 0x101; + AnimTask_BlendMonInAndOutSetup(&gTasks[task]); +} + +static void AnimTask_BlendMonInAndOutSetup(struct Task *task) +{ + task->data[1] = gBattleAnimArgs[1]; + task->data[2] = 0; + task->data[3] = gBattleAnimArgs[2]; + task->data[4] = 0; + task->data[5] = gBattleAnimArgs[3]; + task->data[6] = 0; + task->data[7] = gBattleAnimArgs[4]; + task->func = AnimTask_BlendMonInAndOutStep; +} + +static void AnimTask_BlendMonInAndOutStep(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (++task->data[4] >= task->data[5]) + { + task->data[4] = 0; + if (!task->data[6]) + { + ++task->data[2]; + BlendPalette(task->data[0], 15, task->data[2], task->data[1]); + if (task->data[2] == task->data[3]) + task->data[6] = 1; + } + else + { + --task->data[2]; + BlendPalette(task->data[0], 15, task->data[2], task->data[1]); + if (!task->data[2]) + { + if (--task->data[7]) + { + task->data[4] = 0; + task->data[6] = 0; + } + else + { + DestroyAnimVisualTask(taskId); + return; + } + } + } + } +} + +void sub_8076288(u8 taskId) +{ + u8 palette = IndexOfSpritePaletteTag(gBattleAnimArgs[0]); + + if (palette == 0xFF) + { + DestroyAnimVisualTask(taskId); + return; + } + gTasks[taskId].data[0] = (palette * 0x10) + 0x101; + AnimTask_BlendMonInAndOutSetup(&gTasks[taskId]); +} + +void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds) +{ + task->data[7] = 0; + task->data[8] = 0; + task->data[9] = 0; + task->data[15] = spriteId; + task->data[10] = 0x100; + task->data[11] = 0x100; + task->data[12] = 0; + StorePointerInVars(&task->data[13], &task->data[14], affineAnimCmds); + PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL); +} + +bool8 RunAffineAnimFromTaskData(struct Task *task) +{ + sAnimTaskAffineAnim = LoadPointerFromVars(task->data[13], task->data[14]) + (task->data[7] << 3); + switch (sAnimTaskAffineAnim->type) + { + default: + if (!sAnimTaskAffineAnim->frame.duration) + { + task->data[10] = sAnimTaskAffineAnim->frame.xScale; + task->data[11] = sAnimTaskAffineAnim->frame.yScale; + task->data[12] = sAnimTaskAffineAnim->frame.rotation; + ++task->data[7]; + ++sAnimTaskAffineAnim; + } + task->data[10] += sAnimTaskAffineAnim->frame.xScale; + task->data[11] += sAnimTaskAffineAnim->frame.yScale; + task->data[12] += sAnimTaskAffineAnim->frame.rotation; + SetSpriteRotScale(task->data[15], task->data[10], task->data[11], task->data[12]); + SetBattlerSpriteYOffsetFromYScale(task->data[15]); + if (++task->data[8] >= sAnimTaskAffineAnim->frame.duration) + { + task->data[8] = 0; + ++task->data[7]; + } + break; + case AFFINEANIMCMDTYPE_JUMP: + task->data[7] = sAnimTaskAffineAnim->jump.target; + break; + case AFFINEANIMCMDTYPE_LOOP: + if (sAnimTaskAffineAnim->loop.count) + { + if (task->data[9]) + { + if (!--task->data[9]) + { + ++task->data[7]; + break; + } + } + else + { + task->data[9] = sAnimTaskAffineAnim->loop.count; + } + if (!task->data[7]) + { + break; + } + while (TRUE) + { + --task->data[7]; + --sAnimTaskAffineAnim; + if (sAnimTaskAffineAnim->type == AFFINEANIMCMDTYPE_LOOP) + { + ++task->data[7]; + return TRUE; + } + if (!task->data[7]) + return TRUE; + } + } + ++task->data[7]; + break; + case AFFINEANIMCMDTYPE_END: + gSprites[task->data[15]].pos2.y = 0; + ResetSpriteRotScale(task->data[15]); + return FALSE; + } + return TRUE; +} + +// Sets the sprite's y offset equal to the y displacement caused by the +// matrix's scale in the y dimension. +void SetBattlerSpriteYOffsetFromYScale(u8 spriteId) +{ + s32 var = 64 - GetBattlerYDeltaFromSpriteId(spriteId) * 2; + u16 matrix = gSprites[spriteId].oam.matrixNum; + s32 var2 = (var << 8) / gOamMatrices[matrix].d; + + if (var2 > 128) + var2 = 128; + gSprites[spriteId].pos2.y = (var - var2) / 2; +} + +// Sets the sprite's y offset equal to the y displacement caused by another sprite +// matrix's scale in the y dimension. +void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId) +{ + s32 var = 64 - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2; + u16 matrix = gSprites[spriteId].oam.matrixNum; + s32 var2 = (var << 8) / gOamMatrices[matrix].d; + + if (var2 > 128) + var2 = 128; + gSprites[spriteId].pos2.y = (var - var2) / 2; +} + +static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) +{ + struct BattleSpriteInfo *spriteInfo; + u8 battlerId = gSprites[spriteId].data[0]; + u16 species; + u16 i; + + for (i = 0; i < MAX_BATTLERS_COUNT; ++i) + { + if (gBattlerSpriteIds[i] == spriteId) + { + if (GetBattlerSide(i) == B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + return gMonBackPicCoords[species].y_offset; + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); + else + species = spriteInfo[battlerId].transformSpecies; + return gMonFrontPicCoords[species].y_offset; + } + } + } + return 64; +} + +void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr) +{ + *lo = ((intptr_t)ptr) & 0xffff; + *hi = (((intptr_t)ptr) >> 16) & 0xffff; +} + +void *LoadPointerFromVars(s16 lo, s16 hi) +{ + return (void *)((u16)lo | ((u16)hi << 16)); +} + +void sub_80765D4(struct Task *task, u8 spriteId, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7) +{ + task->data[8] = a7; + task->data[15] = spriteId; + task->data[9] = a3; + task->data[10] = a4; + task->data[13] = a5; + task->data[14] = a6; + task->data[11] = (a5 - a3) / a7; + task->data[12] = (a6 - a4) / a7; +} + +u8 sub_8076640(struct Task *task) +{ + if (!task->data[8]) + return 0; + if (--task->data[8] != 0) + { + task->data[9] += task->data[11]; + task->data[10] += task->data[12]; + } + else + { + task->data[9] = task->data[13]; + task->data[10] = task->data[14]; + } + SetSpriteRotScale(task->data[15], task->data[9], task->data[10], 0); + if (task->data[8]) + SetBattlerSpriteYOffsetFromYScale(task->data[15]); + else + gSprites[task->data[15]].pos2.y = 0; + return task->data[8]; +} + +void AnimTask_GetFrustrationPowerLevel(u8 taskId) +{ + u16 powerLevel; + + if (gAnimFriendship <= 30) + powerLevel = 0; + else if (gAnimFriendship <= 100) + powerLevel = 1; + else if (gAnimFriendship <= 200) + powerLevel = 2; + else + powerLevel = 3; + gBattleAnimArgs[7] = powerLevel; + DestroyAnimVisualTask(taskId); +} + +// not used +static void sub_80766EC(u8 priority) +{ + if (IsBattlerSpriteVisible(gBattleAnimTarget)) + gSprites[gBattlerSpriteIds[gBattleAnimTarget]].oam.priority = priority; + if (IsBattlerSpriteVisible(gBattleAnimAttacker)) + gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].oam.priority = priority; + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)]].oam.priority = priority; + if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) + gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority = priority; +} + +void sub_80767F0(void) +{ + s32 i; + + for (i = 0; i < gBattlersCount; ++i) + { + if (IsBattlerSpriteVisible(i)) + { + gSprites[gBattlerSpriteIds[i]].subpriority = GetBattlerSpriteSubpriority(i); + gSprites[gBattlerSpriteIds[i]].oam.priority = 2; + } + } +} + +u8 GetBattlerSpriteSubpriority(u8 battlerId) +{ + u8 subpriority; + u8 position = GetBattlerPosition(battlerId); + + if (position == B_POSITION_PLAYER_LEFT) + subpriority = 30; + else if (position == B_POSITION_PLAYER_RIGHT) + subpriority = 20; + else if (position == B_POSITION_OPPONENT_LEFT) + subpriority = 40; + else + subpriority = 50; + return subpriority; +} + +u8 GetBattlerSpriteBGPriority(u8 battlerId) +{ + u8 position = GetBattlerPosition(battlerId); + + if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT) + return GetAnimBgAttribute(2, BG_ANIM_PRIORITY); + else + return GetAnimBgAttribute(1, BG_ANIM_PRIORITY); +} + +u8 GetBattlerSpriteBGPriorityRank(u8 battlerId) +{ + u8 position = GetBattlerPosition(battlerId); + + if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT) + return 2; + else + return 1; +} + +u8 sub_80768D0(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10) +{ + u8 spriteId; + u16 sheet = LoadSpriteSheet(&gUnknown_83AE084[a3]); + u16 palette = AllocSpritePalette(gUnknown_83AE054[a3].paletteTag); + + if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->field_17C == NULL) + gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000); + if (!isBackpic) + { + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + if (a10 == 1 || sub_804455C(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + TRUE); + else + LoadSpecialPokePic(&gMonFrontPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + TRUE); + } + else + { + LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20); + if (a10 == 1 || sub_804455C(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0) + LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + FALSE); + else + LoadSpecialPokePic(&gMonBackPicTable[species], + gMonSpritesGfxPtr->field_17C, + species, + personality, + FALSE); + } + RequestDma3Copy(gMonSpritesGfxPtr->field_17C, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1); + FREE_AND_SET_NULL(gMonSpritesGfxPtr->field_17C); + if (!isBackpic) + spriteId = CreateSprite(&gUnknown_83AE054[a3], x, y + gMonFrontPicCoords[species].y_offset, subpriority); + else + spriteId = CreateSprite(&gUnknown_83AE054[a3], x, y + gMonBackPicCoords[species].y_offset, subpriority); + return spriteId; +} + +void DestroySpriteAndFreeResources_(struct Sprite *sprite) +{ + DestroySpriteAndFreeResources(sprite); +} + +s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) +{ + u16 species; + u32 personality; + u16 letter; + u16 unownSpecies; + s32 ret; + const struct MonCoords *coords; + struct BattleSpriteInfo *spriteInfo; + + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + { + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + } + else + { + species = spriteInfo[battlerId].transformSpecies; + personality = gTransformedPersonalities[battlerId]; + } + if (species == SPECIES_UNOWN) + { + letter = GET_UNOWN_LETTER(personality); + if (!letter) + unownSpecies = SPECIES_UNOWN; + else + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonBackPicCoords[unownSpecies]; + } + else if (species > NUM_SPECIES) + { + coords = &gMonBackPicCoords[0]; + } + else + { + coords = &gMonBackPicCoords[species]; + } + } + else + { + spriteInfo = gBattleSpritesDataPtr->battlerData; + if (!spriteInfo[battlerId].transformSpecies) + { + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY); + } + else + { + species = spriteInfo[battlerId].transformSpecies; + personality = gTransformedPersonalities[battlerId]; + } + + if (species == SPECIES_UNOWN) + { + letter = GET_UNOWN_LETTER(personality); + if (!letter) + unownSpecies = SPECIES_UNOWN; + else + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonFrontPicCoords[unownSpecies]; + } + else if (species == SPECIES_CASTFORM) + { + coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; + } + else if (species > NUM_SPECIES) + { + coords = &gMonFrontPicCoords[0]; + } + else + { + coords = &gMonFrontPicCoords[species]; + } + } + switch (attr) + { + case BATTLER_COORD_ATTR_HEIGHT: + return (coords->size & 0xf) * 8; + case BATTLER_COORD_ATTR_WIDTH: + return (coords->size >> 4) * 8; + case BATTLER_COORD_ATTR_LEFT: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - ((coords->size >> 4) * 4); + case BATTLER_COORD_ATTR_RIGHT: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + ((coords->size >> 4) * 4); + case BATTLER_COORD_ATTR_TOP: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - ((coords->size & 0xf) * 4); + case BATTLER_COORD_ATTR_BOTTOM: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + ((coords->size & 0xf) * 4); + case BATTLER_COORD_ATTR_RAW_BOTTOM: + ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31; + return ret - coords->y_offset; + default: + return 0; + } +} + +void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y) +{ + u8 xCoordType, yCoordType; + s16 battlerX, battlerY; + s16 partnerX, partnerY; + + if (!respectMonPicOffsets) + { + xCoordType = BATTLER_COORD_X; + yCoordType = BATTLER_COORD_Y; + } + else + { + xCoordType = BATTLER_COORD_X_2; + yCoordType = BATTLER_COORD_Y_PIC_OFFSET; + } + battlerX = GetBattlerSpriteCoord(battlerId, xCoordType); + battlerY = GetBattlerSpriteCoord(battlerId, yCoordType); + if (IsDoubleBattle()) + { + partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType); + partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType); + } + else + { + partnerX = battlerX; + partnerY = battlerY; + } + *x = (battlerX + partnerX) / 2; + *y = (battlerY + partnerY) / 2; +} + +u8 sub_8076E34(s32 battlerId, u8 spriteId, s32 species) +{ + u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); + + gSprites[newSpriteId] = gSprites[spriteId]; + gSprites[newSpriteId].usingSheet = TRUE; + gSprites[newSpriteId].oam.priority = 0; + gSprites[newSpriteId].oam.objMode = 2; + gSprites[newSpriteId].oam.tileNum = gSprites[spriteId].oam.tileNum; + gSprites[newSpriteId].callback = SpriteCallbackDummy; + return newSpriteId; +} + +void sub_8076ED8(struct Sprite *sprite) +{ + SetSpriteCoordsToAnimAttackerCoords(sprite); + if (GetBattlerSide(gBattleAnimAttacker)) + { + sprite->pos1.x -= gBattleAnimArgs[0]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + sprite->hFlip = TRUE; + } + else + { + sprite->pos1.x += gBattleAnimArgs[0]; + } + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[3] = gBattleAnimArgs[4]; + sprite->data[5] = gBattleAnimArgs[5]; + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); + sprite->callback = TranslateSpriteLinearAndFlicker; +} + +void sub_8076F58(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + sprite->pos1.x -= gBattleAnimArgs[0]; + gBattleAnimArgs[3] *= -1; + } + else + { + sprite->pos1.x += gBattleAnimArgs[0]; + } + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[3] = gBattleAnimArgs[4]; + sprite->data[5] = gBattleAnimArgs[5]; + StartSpriteAnim(sprite, gBattleAnimArgs[6]); + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); + sprite->callback = TranslateSpriteLinearAndFlicker; +} + +void sub_8076FD0(struct Sprite *sprite) +{ + SetSpriteCoordsToAnimAttackerCoords(sprite); + if (GetBattlerSide(gBattleAnimAttacker)) + sprite->pos1.x -= gBattleAnimArgs[0]; + else + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->callback = RunStoredCallbackWhenAnimEnds; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} + +void sub_8077030(u8 taskId) +{ + u16 src; + u16 dest; + struct Task *task = &gTasks[taskId]; + + task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[1] = ((GetBattlerSide(gBattleAnimAttacker)) != B_SIDE_PLAYER) ? -8 : 8; + task->data[2] = 0; + task->data[3] = 0; + gSprites[task->data[0]].pos2.x -= task->data[0]; + task->data[4] = AllocSpritePalette(10097); + task->data[5] = 0; + dest = (task->data[4] + 0x10) * 0x10; + src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10; + task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker); + if (task->data[6] == 20 || task->data[6] == 40) + task->data[6] = 2; + else + task->data[6] = 3; + CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20); + BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]); + task->func = sub_8077118; +} + +static void sub_8077118(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[2]) + { + case 0: + sub_80771E4(task, taskId); + gSprites[task->data[0]].pos2.x += task->data[1]; + if (++task->data[3] == 5) + { + --task->data[3]; + ++task->data[2]; + } + break; + case 1: + sub_80771E4(task, taskId); + gSprites[task->data[0]].pos2.x -= task->data[1]; + if (--task->data[3] == 0) + { + gSprites[task->data[0]].pos2.x = 0; + ++task->data[2]; + } + break; + case 2: + if (!task->data[5]) + { + FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON); + DestroyAnimVisualTask(taskId); + } + break; + } +} + +static void sub_80771E4(struct Task *task, u8 taskId) +{ + s16 spriteId = CloneBattlerSpriteWithBlend(0); + if (spriteId >= 0) + { + gSprites[spriteId].oam.priority = task->data[6]; + gSprites[spriteId].oam.paletteNum = task->data[4]; + gSprites[spriteId].data[0] = 8; + gSprites[spriteId].data[1] = taskId; + gSprites[spriteId].data[2] = spriteId; + gSprites[spriteId].pos2.x = gSprites[task->data[0]].pos2.x; + gSprites[spriteId].callback = sub_8077268; + ++task->data[5]; + } +} + +static void sub_8077268(struct Sprite *sprite) +{ + if (--sprite->data[0] == 0) + { + --gTasks[sprite->data[1]].data[5]; + obj_delete_but_dont_free_vram(sprite); + } +} + +void sub_807729C(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + if (!GetBattlerSide(gBattleAnimAttacker)) + sprite->data[0] = 5; + else + sprite->data[0] = -10; + sprite->data[1] = -40; + sprite->callback = sub_80772F4; +} + +static void sub_80772F4(struct Sprite *sprite) +{ + sprite->data[2] += sprite->data[0]; + sprite->data[3] += sprite->data[1]; + sprite->pos2.x = sprite->data[2] / 10; + sprite->pos2.y = sprite->data[3] / 10; + if (sprite->data[1] < -20) + ++sprite->data[1]; + if (sprite->pos1.y + sprite->pos2.y < -32) + DestroyAnimSprite(sprite); +} + +void sub_8077350(struct Sprite *sprite) +{ + s32 x; + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4]; + sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5]; + if (!GetBattlerSide(gBattleAnimTarget)) + { + x = (u16)gBattleAnimArgs[4] + 30; + sprite->pos1.x += x; + sprite->pos1.y = gBattleAnimArgs[5] - 20; + } + else + { + x = (u16)gBattleAnimArgs[4] - 30; + sprite->pos1.x += x; + sprite->pos1.y = gBattleAnimArgs[5] - 80; + } + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); +} diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 795458ab9..5708785c0 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -312,7 +312,7 @@ void sub_80BACEC(u8 taskId) spriteId = GetAnimBattlerSpriteId(0); newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species); sub_80752A0(&animBgData); - sub_807543C(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap); + AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap); if (IsContest()) sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0); AnimLoadCompressedBgGfx(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_sheet, animBgData.tilesOffset); @@ -434,9 +434,9 @@ static void sub_80BB2A0(u8 taskId) } sub_80752A0(&animBgData); if (sAnimStatsChangeData->data[0] == 0) - sub_807543C(animBgData.bgId, gBattleStatMask1_Tilemap); + AnimLoadCompressedBgTilemap(animBgData.bgId, gBattleStatMask1_Tilemap); else - sub_807543C(animBgData.bgId, gBattleStatMask2_Tilemap); + AnimLoadCompressedBgTilemap(animBgData.bgId, gBattleStatMask2_Tilemap); if (IsContest()) sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0); AnimLoadCompressedBgGfx(animBgData.bgId, gBattleStatMask_Gfx, animBgData.tilesOffset); @@ -736,7 +736,7 @@ void sub_80BBA20(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, if (arg4) newSpriteId = sub_8076E34(battler2, gBattlerSpriteIds[battler2], species); sub_80752A0(&animBgData); - sub_807543C(animBgData.bgId, tilemap); + AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap); if (IsContest()) sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0); AnimLoadCompressedBgGfx(animBgData.bgId, gfx, animBgData.tilesOffset); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b0cd92c2e..3ab5bc1c8 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1191,7 +1191,7 @@ static void sub_80303A8(u8 taskId) { s16 *data = gTasks[taskId].data; u8 battlerId = tExpTask_battler; - u16 v5 = sub_80768B0(battlerId); + u16 v5 = GetBattlerSpriteBGPriorityRank(battlerId); bool32 v6 = ((v5 ^ BIT_SIDE)) != B_SIDE_PLAYER; struct Sprite *sprite = &gSprites[gBattlerSpriteIds[battlerId]]; diff --git a/src/daycare.c b/src/daycare.c index c082b4298..45ca303ee 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -2087,7 +2087,7 @@ struct UnkStruct_82349CC u8 field_3; }; -extern const struct UnkStruct_82349CC gUnknown_82349CC[NUM_SPECIES]; +extern const struct UnkStruct_82349CC gMonFrontPicCoords[NUM_SPECIES]; static void SpriteCB_Egg_2(struct Sprite* sprite) { @@ -2101,7 +2101,7 @@ static void SpriteCB_Egg_2(struct Sprite* sprite) sprite->data[0] = 0; species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES); gSprites[sEggHatchData->pokeSpriteID].pos2.x = 0; - gSprites[sEggHatchData->pokeSpriteID].pos2.y = gUnknown_82349CC[species].field_1; + gSprites[sEggHatchData->pokeSpriteID].pos2.y = gMonFrontPicCoords[species].field_1; } else { diff --git a/sym_ewram.txt b/sym_ewram.txt index c503ab553..71b832e87 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -675,10 +675,7 @@ gAnimBattlerSpecies: @ 2037F1C gUnknown_2037F24: @ 2037F24 .space 0x4 -gUnknown_2037F28: @ 2037F28 - .space 0x8 - - .align 2 + .include "src/battle_anim_mons.o" .include "src/title_screen.o" .align 2 |