diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-02-10 23:49:54 -0800 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-02-11 13:29:15 -0800 |
commit | 4fe6a8bd80ff947661aea391060207a53895338e (patch) | |
tree | 01b570b02b904eea2255beb2e402c0a944cb1c4a | |
parent | 9bf6448707a36bf7d530bf932347c1adb508192e (diff) |
Document battle anim things related to SWIFT and TWISTER
51 files changed, 427 insertions, 411 deletions
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s index 2aa2f911b..007d9f32b 100644 --- a/asm/battle_anim_812C144.s +++ b/asm/battle_anim_812C144.s @@ -795,7 +795,7 @@ sub_812C720: @ 812C720 sub sp, 0x4 adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _0812C784 @ =gAnimBankTarget ldrb r0, [r0] mov r5, sp @@ -803,7 +803,7 @@ sub_812C720: @ 812C720 movs r1, 0 mov r2, sp adds r3, r5, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldr r0, _0812C788 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -849,7 +849,7 @@ _0812C794: .4byte sub_812C798 sub_812C798: @ 812C798 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _0812C7BA @@ -2301,7 +2301,7 @@ sub_812D294: @ 812D294 bne _0812D2A8 adds r0, r5, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos _0812D2A8: ldrh r0, [r5, 0x2E] adds r0, 0x1 @@ -2915,7 +2915,7 @@ sub_812D724: @ 812D724 _0812D736: adds r0, r4, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos movs r0, 0x90 lsls r0, 4 strh r0, [r4, 0x30] @@ -4626,7 +4626,7 @@ sub_812E4F0: @ 812E4F0 bne _0812E50E adds r0, r4, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos ldrh r0, [r4, 0x2E] adds r0, 0x1 strh r0, [r4, 0x2E] @@ -9023,7 +9023,7 @@ _081306D6: lsls r0, 2 ldr r1, _08130708 @ =gSprites adds r0, r1 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine ldrh r0, [r4, 0xC] adds r0, 0x1 strh r0, [r4, 0xC] @@ -9042,7 +9042,7 @@ _0813070C: lsls r0, 2 ldr r1, _0813072C @ =gSprites adds r0, r1 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _081307AA @@ -10151,7 +10151,7 @@ sub_8130F5C: @ 8130F5C bne _08130F80 adds r0, r4, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _08130F7C @ =gAnimBankAttacker b _08130F82 .align 2, 0 @@ -10356,11 +10356,11 @@ _081310FA: strh r0, [r4, 0x34] strh r1, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas b _081311CA _08131110: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _081311DE diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s index 578704b60..d7172bde6 100644 --- a/asm/battle_anim_813F0F4.s +++ b/asm/battle_anim_813F0F4.s @@ -1588,7 +1588,7 @@ sub_813FDC0: @ 813FDC0 push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _0813FE5A @@ -5479,7 +5479,7 @@ sub_8141C30: @ 8141C30 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x1 @@ -5569,7 +5569,7 @@ _08141CF0: .4byte sub_8141CF4 sub_8141CF4: @ 8141CF4 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _08141D16 diff --git a/asm/current.s b/asm/current.s index 4ef537dc3..69927ea23 100644 --- a/asm/current.s +++ b/asm/current.s @@ -12,7 +12,7 @@ sub_80D648C: @ 80D648C push {r4-r6,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r5, _080D6500 @ =gBattleAnimArgs ldrh r0, [r5, 0x6] strh r0, [r4, 0x2E] @@ -34,7 +34,7 @@ sub_80D648C: @ 80D648C lsrs r0, 24 strh r0, [r4, 0x36] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldrh r0, [r5, 0x4] strh r0, [r4, 0x38] ldrh r0, [r5, 0xA] @@ -74,7 +74,7 @@ _080D6510: .4byte sub_80D6514 sub_80D6514: @ 80D6514 push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 bne _080D657E @@ -998,7 +998,7 @@ sub_80D6BB8: @ 80D6BB8 strh r0, [r4, 0x36] strh r6, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r1, _080D6CB0 @ =sub_80D6D00 adds r0, r4, 0 bl StoreSpriteCallbackInData @@ -1062,7 +1062,7 @@ _080D6CC6: sub_80D6CCC: @ 80D6CCC push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080D6CF4 diff --git a/asm/flying.s b/asm/flying.s index ce3fb050b..a99c5444c 100644 --- a/asm/flying.s +++ b/asm/flying.s @@ -174,7 +174,7 @@ sub_80DA16C: @ 80DA16C push {r4-r6,lr} adds r6, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080DA1D8 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -211,7 +211,7 @@ _080DA18C: adds r0, r4 strh r0, [r6, 0x36] adds r0, r6, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r0, _080DA1E4 @ =sub_80785E4 str r0, [r6, 0x1C] ldr r1, _080DA1E8 @ =sub_80DA1EC @@ -232,7 +232,7 @@ _080DA1E8: .4byte sub_80DA1EC sub_80DA1EC: @ 80DA1EC push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080DA200 @@ -331,7 +331,7 @@ _080DA2B0: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions _080DA2C2: ldr r4, _080DA2F4 @ =gBattleAnimArgs ldrh r0, [r4, 0x4] @@ -365,7 +365,7 @@ sub_80DA300: @ 80DA300 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r1, _080DA33C @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] @@ -483,7 +483,7 @@ _080DA3C2: lsrs r0, 24 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r0, _080DA40C @ =sub_80DA410 str r0, [r5, 0x1C] pop {r4,r5} @@ -503,7 +503,7 @@ sub_80DA410: @ 80DA410 movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas ldrh r1, [r4, 0x34] lsrs r0, r1, 8 cmp r0, 0xC8 @@ -2086,7 +2086,7 @@ sub_80DB000: @ 80DB000 bne _080DB01C adds r0, r5, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos b _080DB024 .align 2, 0 _080DB018: .4byte gBattleAnimArgs @@ -2291,7 +2291,7 @@ sub_80DB194: @ 80DB194 _080DB1A6: adds r0, r4, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos movs r0, 0 bl GetAnimBankSpriteId ldr r2, _080DB1D4 @ =gSprites @@ -2414,7 +2414,7 @@ sub_80DB288: @ 80DB288 push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r1, _080DB2C4 @ =gBattleAnimArgs ldrh r0, [r1, 0x4] strh r0, [r4, 0x2E] diff --git a/asm/ghost.s b/asm/ghost.s index 928d940b5..df20a7b20 100644 --- a/asm/ghost.s +++ b/asm/ghost.s @@ -12,7 +12,7 @@ sub_80DDB6C: @ 80DDB6C push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080DDBC8 @ =gBattleAnimArgs ldrh r0, [r0, 0x4] strh r0, [r4, 0x2E] @@ -63,7 +63,7 @@ sub_80DDBD8: @ 80DDBD8 adds r4, r0, 0 bl sub_80DDCC8 adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080DDBF8 @@ -123,7 +123,7 @@ sub_80DDC4C: @ 80DDC4C movs r0, 0x1 strh r0, [r4, 0x2E] adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas movs r1, 0x38 ldrsh r0, [r4, r1] movs r1, 0xA @@ -2539,7 +2539,7 @@ sub_80DEF3C: @ 80DEF3C push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080DEF68 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide diff --git a/asm/ground.s b/asm/ground.s index 3be7d74ac..9b55fea39 100644 --- a/asm/ground.s +++ b/asm/ground.s @@ -59,7 +59,7 @@ _080E0F80: .4byte sub_80E0F84 sub_80E0F84: @ 80E0F84 push {r4,r5,lr} adds r5, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080E0FD8 @@ -108,7 +108,7 @@ _080E0FE4: .4byte sub_80E0FE8 sub_80E0FE8: @ 80E0FE8 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080E0FFC @@ -180,7 +180,7 @@ sub_80E1078: @ 80E1078 push {r7} adds r6, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r4, _080E10F8 @ =gAnimBankTarget ldrb r0, [r4] movs r1, 0x2 @@ -1120,7 +1120,7 @@ _080E17AC: .4byte sub_80E17B0 sub_80E17B0: @ 80E17B0 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080E17C4 @@ -325,7 +325,7 @@ sub_80D792C: @ 80D792C push {r4,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r0, _080D7960 @ =gAnimBankTarget ldrb r0, [r0] movs r1, 0x2 @@ -406,7 +406,7 @@ _080D79D0: adds r3, r4, 0 adds r3, 0x22 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions ldr r0, _080D7A1C @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -480,7 +480,7 @@ sub_80D7A64: @ 80D7A64 sub sp, 0x10 adds r5, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r6, _080D7AAC @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] @@ -519,7 +519,7 @@ _080D7AB4: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions _080D7AC6: ldr r0, _080D7AE4 @ =gAnimBankAttacker ldrb r0, [r0] @@ -795,7 +795,7 @@ sub_80D7CD4: @ 80D7CD4 sub sp, 0x10 adds r5, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r1, _080D7D18 @ =gBattleAnimArgs ldrh r0, [r1, 0x8] strh r0, [r5, 0x2E] @@ -832,7 +832,7 @@ _080D7D20: adds r3, r5, 0 adds r3, 0x36 movs r1, 0x1 - bl sub_807A3FC + bl SetAverageBattlerPositions _080D7D32: ldr r0, _080D7D54 @ =gAnimBankAttacker ldrb r0, [r0] @@ -1036,7 +1036,7 @@ _080D7EAC: adds r3, r4, 0 adds r3, 0x22 movs r1, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldr r0, _080D7EF0 @ =gAnimBankAttacker ldrb r0, [r0] bl GetBankSide @@ -1094,7 +1094,7 @@ sub_80D7F10: @ 80D7F10 bne _080D7F34 adds r0, r5, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos b _080D7F72 .align 2, 0 _080D7F30: .4byte gBattleAnimArgs @@ -1106,7 +1106,7 @@ _080D7F34: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -1152,7 +1152,7 @@ _080D7F92: adds r3, r5, 0 adds r3, 0x22 movs r1, 0 - bl sub_807A3FC + bl SetAverageBattlerPositions ldrb r0, [r4] bl GetBankSide lsls r0, 24 @@ -1221,7 +1221,7 @@ _080D800C: adds r0, r1 strh r0, [r5, 0x36] adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas movs r0, 0x40 strh r0, [r5, 0x38] ldr r1, _080D8044 @ =sub_80D8048 @@ -1241,7 +1241,7 @@ _080D8044: .4byte sub_80D8048 sub_80D8048: @ 80D8048 push {r4,lr} adds r4, r0, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 bne _080D80D2 @@ -2227,7 +2227,7 @@ _080D8824: strb r0, [r1] _080D8858: adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas ldr r0, _080D8870 @ =sub_80D8874 str r0, [r5, 0x1C] pop {r3} @@ -2263,7 +2263,7 @@ _080D8894: b _080D8AD0 _080D8896: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas ldr r1, _080D88C0 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -2361,13 +2361,13 @@ _080D893A: ands r0, r1 strh r0, [r4, 0x38] adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 + bl InitAnimSpriteTranslationDeltas b _080D8AD0 .align 2, 0 _080D8964: .4byte gSineTable _080D8968: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas ldr r1, _080D89C8 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] @@ -2519,7 +2519,7 @@ _080D8A7A: _080D8A90: .4byte 0x0000fff0 _080D8A94: adds r0, r4, 0 - bl sub_8078B5C + bl TranslateAnimSpriteByDeltas lsls r0, 24 cmp r0, 0 beq _080D8AD0 @@ -3026,7 +3026,7 @@ _080D8E6A: bl StartSpriteAffineAnim adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r6, _080D8ED0 @ =gBattleAnimArgs ldrh r0, [r6, 0x8] strh r0, [r5, 0x2E] @@ -3078,7 +3078,7 @@ _080D8EDC: .4byte sub_80D8EE0 sub_80D8EE0: @ 80D8EE0 push {r4,lr} adds r4, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080D8F02 diff --git a/asm/normal.s b/asm/normal.s index f56ca6ec6..c92b4563c 100644 --- a/asm/normal.s +++ b/asm/normal.s @@ -1471,7 +1471,7 @@ sub_80E27A0: @ 80E27A0 bne _080E27C4 adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E27CC .align 2, 0 _080E27C0: .4byte gBattleAnimArgs @@ -1506,7 +1506,7 @@ sub_80E27E8: @ 80E27E8 bne _080E280C adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E2814 .align 2, 0 _080E2808: .4byte gBattleAnimArgs @@ -1586,7 +1586,7 @@ _080E288C: bne _080E28AC adds r0, r4, 0 movs r1, 0 - bl sub_80787B0 + bl InitAnimSpritePos b _080E28B4 .align 2, 0 _080E28A8: .4byte gBattleAnimArgs @@ -1694,7 +1694,7 @@ sub_80E2978: @ 80E2978 bne _080E2994 adds r0, r4, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E299C .align 2, 0 _080E2990: .4byte gBattleAnimArgs @@ -1733,7 +1733,7 @@ sub_80E29C0: @ 80E29C0 bne _080E29E4 adds r0, r5, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos b _080E29EC .align 2, 0 _080E29E0: .4byte gBattleAnimArgs diff --git a/asm/water.s b/asm/water.s index 45fb7f82a..0bbddd2ca 100644 --- a/asm/water.s +++ b/asm/water.s @@ -2075,7 +2075,7 @@ _080D4B38: .4byte sub_80D4B3C sub_80D4B3C: @ 80D4B3C push {r4-r6,lr} adds r6, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080D4B96 @@ -2126,7 +2126,7 @@ _080D4BA0: .4byte sub_80D4BA4 sub_80D4BA4: @ 80D4BA4 push {r4-r6,lr} adds r5, r0, 0 - bl sub_8078718 + bl TranslateAnimSpriteLinearAndSine lsls r0, 24 cmp r0, 0 beq _080D4BE0 @@ -2264,7 +2264,7 @@ sub_80D4CA4: @ 80D4CA4 push {r4,r5,lr} adds r4, r0, 0 movs r1, 0x1 - bl sub_80787B0 + bl InitAnimSpritePos ldr r5, _080D4CE0 @ =gAnimBankTarget ldrb r0, [r5] movs r1, 0x2 diff --git a/data/battle_anim_80CA710.s b/data/battle_anim_80CA710.s index c7c83e7bd..765d801f4 100644 --- a/data/battle_anim_80CA710.s +++ b/data/battle_anim_80CA710.s @@ -20,11 +20,11 @@ gSpriteAnimTable_83D6220:: @ 83D6220 .4byte gSpriteAnim_83D61FC .align 2 -gBattleAnimSpriteTemplate_83D6224:: @ 83D6224 +gSleepPowderParticleSpriteTemplate:: @ 83D6224 spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, AnimMovePowderParticle .align 2 -gBattleAnimSpriteTemplate_83D623C:: @ 83D623C +gStunSporeParticleSpriteTemplate:: @ 83D623C spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, AnimMovePowderParticle .align 2 @@ -243,7 +243,7 @@ gBattleAnimSpriteTemplate_83D649C:: @ 83D649C .align 2 gBattleAnimSpriteTemplate_83D64B4:: @ 83D64B4 - spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CB144 + spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, AnimMoveTwisterParticle .align 2 gSpriteAnim_83D64CC:: @ 83D64CC @@ -259,7 +259,7 @@ gSpriteAnimTable_83D64E0:: @ 83D64E0 .align 2 gBattleAnimSpriteTemplate_83D64E4:: @ 83D64E4 - spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, sub_80CAFD0 + spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, AnimTranslateLinearSingleSineWave .align 2 gSpriteAffineAnim_83D64FC:: @ 83D64FC @@ -271,8 +271,8 @@ gSpriteAffineAnimTable_83D650C:: @ 83D650C .4byte gSpriteAffineAnim_83D64FC .align 2 -gBattleAnimSpriteTemplate_83D6510:: @ 83D6510 - spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, sub_80CAFD0 +gSwiftStarSpriteTemplate:: @ 83D6510 + spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, AnimTranslateLinearSingleSineWave .align 2 gSpriteAnim_83D6528:: @ 83D6528 @@ -4151,7 +4151,7 @@ gBattleAnimSpriteTemplate_83DAE00:: @ 83DAE00 .align 2 gBattleAnimSpriteTemplate_83DAE18:: @ 83DAE18 - spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, sub_80CB144 + spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, AnimMoveTwisterParticle .align 2 gBattleAnimSpriteTemplate_83DAE30:: @ 83DAE30 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index ae28bc16a..be90e7fff 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -479,48 +479,48 @@ Move_POISON_POWDER: @ 81C7818 Move_STUN_SPORE: @ 81C7949 loadspritegfx 10068 loopsewithpan SE_W077, 63, 10, 6 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -30, -22, 117, 80, 5, 1 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, 10, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -25, -22, 117, 112, 5, 3 + createsprite gStunSporeParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3 delay 15 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -5, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, 5, -22, 117, 96, 5, 1 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, 0, -22, 117, 69, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -15, -22, 117, 112, 5, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 delay 30 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -15, -22, 117, 112, 5, 2 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, 15, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -10, -22, 117, 96, 7, 2 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -5, -22, 117, 90, -8, 0 + createsprite gStunSporeParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0 delay 20 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, -10, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, 0, -22, 117, 89, 5, 2 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, 20, -22, 117, 112, -8, 2 - createsprite gBattleAnimSpriteTemplate_83D623C, 130, 5, -22, 117, 80, 5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1 + createsprite gStunSporeParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2 + createsprite gStunSporeParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1 waitforvisualfinish end Move_SLEEP_POWDER: @ 81C7A77 loadspritegfx 10067 loopsewithpan SE_W077, 63, 10, 6 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -30, -22, 117, 80, 5, 1 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, 10, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -25, -22, 117, 112, 5, 3 + createsprite gSleepPowderParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3 delay 15 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -5, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, 5, -22, 117, 96, 5, 1 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, 0, -22, 117, 69, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -15, -22, 117, 112, 5, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 delay 30 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -15, -22, 117, 112, 5, 2 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, 15, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -10, -22, 117, 96, 7, 2 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -5, -22, 117, 90, -8, 0 + createsprite gSleepPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0 delay 20 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, -10, -22, 117, 80, -5, 1 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, 0, -22, 117, 89, 5, 2 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, 20, -22, 117, 112, -8, 2 - createsprite gBattleAnimSpriteTemplate_83D6224, 130, 5, -22, 117, 80, 5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1 + createsprite gSleepPowderParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2 + createsprite gSleepPowderParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1 waitforvisualfinish end @@ -530,21 +530,21 @@ Move_SWIFT: @ 81C7BA5 monbg ANIM_BANK_DEF_PARTNER setalpha 12, 8 playsewithpan SE_W129, 192 - createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, 20, 1 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 20, 1 delay 5 playsewithpan SE_W129, 192 - createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 5, 22, -18, 1 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 5, 22, -18, 1 delay 5 playsewithpan SE_W129, 192 - createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, -10, 22, 15, 1 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 18, 1 - createvisualtask sub_80A7FA0, 2, 3, 2, 0, 18, 1 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, -10, 22, 15, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 18, 1 delay 5 playsewithpan SE_W129, 192 - createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, -20, 1 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, -20, 1 delay 5 playsewithpan SE_W129, 192 - createsprite gBattleAnimSpriteTemplate_83D6510, 131, 20, -10, 20, 0, 22, 12, 1 + createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 12, 1 delay 5 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER @@ -571,7 +571,7 @@ Move_STRENGTH: @ 81C7C5E playsewithpan SE_W025B, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 3, 4, 1, 1 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER blendoff @@ -622,7 +622,7 @@ Move_SUPERSONIC: @ 81C7DBD monbg ANIM_BANK_ATK_PARTNER monbgprio_2A 0 setalpha 12, 8 - createvisualtask sub_80A7FA0, 2, 0, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 8, 1 call _81C7DFB call _81C7DFB call _81C7DFB @@ -641,7 +641,7 @@ _81C7DFB: Move_SCREECH: @ 81C7E15 loadspritegfx 10164 - createvisualtask sub_80A7FA0, 2, 0, 3, 0, 2, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 3, 0, 2, 1 call _81C7E48 call _81C7E48 delay 16 @@ -709,17 +709,17 @@ Move_PIN_MISSILE: @ 81C7F5C delay 4 playsewithpan SE_W030, 63 createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 delay 9 createsprite gBattleAnimSpriteTemplate_83DABA4, 2, 20, -8, 0, 0, 20, -32 delay 4 playsewithpan SE_W030, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 delay 14 playsewithpan SE_W030, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 waitforvisualfinish clearmonbg ANIM_BANK_TARGET blendoff @@ -738,17 +738,17 @@ Move_ICICLE_SPEAR: @ 81C8021 delay 4 playsewithpan SE_W030, 63 createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 delay 9 createsprite gBattleAnimSpriteTemplate_83DABBC, 2, 20, -8, 0, 0, 20, -32 delay 4 playsewithpan SE_W030, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 delay 14 playsewithpan SE_W030, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 2, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 2, 1 waitforvisualfinish clearmonbg ANIM_BANK_TARGET blendoff @@ -822,7 +822,7 @@ Move_POISON_STING: @ 81C828D createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 0, -8, 0, 20 waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 5, 1 playsewithpan SE_W030, 63 waitforvisualfinish call Unknown_81D5F87 @@ -841,7 +841,7 @@ Move_TWINEEDLE: @ 81C82E2 createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 10, -4, 0, -4, 20 createsprite gBattleAnimSpriteTemplate_83DAB8C, 130, 20, 12, 10, 12, 20 delay 20 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 5, 1 createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, -4, 1, 3 loopsewithpan SE_W030, 63, 5, 2 delay 1 @@ -946,7 +946,7 @@ Move_MEGA_PUNCH: @ 81C854D delay 50 call _81C85E9 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 22, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 22, 1 createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 playsewithpan SE_W233B, 63 @@ -990,7 +990,7 @@ Move_MEGA_KICK: @ 81C8627 playsewithpan SE_W025B, 63 call _81C85E9 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 22, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 22, 1 createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 waitforvisualfinish @@ -1311,7 +1311,7 @@ Move_SPIKE_CANNON: @ 81C8DF1 createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, -8, -8, 1, 2 createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 0, 0, 1, 2 createsprite gBattleAnimSpriteTemplate_83DB4C0, 3, 8, 8, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 7, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 7, 1 loopsewithpan SE_W030, 63, 5, 3 waitforvisualfinish clearmonbg ANIM_BANK_TARGET @@ -1386,7 +1386,7 @@ Move_DIZZY_PUNCH: @ 81C8F5C _81C9077: createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 delay 6 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 7, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 7, 1 return Move_FIRE_SPIN: @ 81C9096 @@ -1454,11 +1454,11 @@ _81C91FF: Move_SELF_DESTRUCT: @ 81C9219 loadspritegfx 10198 createvisualtask sub_80E2A38, 10, 2, 1, 0, 9, 31 - createvisualtask sub_80A7FA0, 5, 4, 6, 0, 38, 1 - createvisualtask sub_80A7FA0, 5, 5, 6, 0, 38, 1 - createvisualtask sub_80A7FA0, 5, 6, 6, 0, 38, 1 - createvisualtask sub_80A7FA0, 5, 7, 6, 0, 38, 1 - createvisualtask sub_80A7FA0, 5, 8, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 4, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 5, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 6, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 7, 6, 0, 38, 1 + createvisualtask AnimTask_ShakeMon2, 5, 8, 6, 0, 38, 1 call _81C929F call _81C929F waitforvisualfinish @@ -1514,7 +1514,7 @@ Move_VINE_WHIP: @ 81C9391 playsewithpan SE_W010, 63 createsprite gBattleAnimSpriteTemplate_83D69F4, 130, 0, 0 delay 6 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 6, 1 end Move_DRILL_PECK: @ 81C93C8 @@ -1528,7 +1528,7 @@ Move_DRILL_PECK: @ 81C93C8 delay 2 loopsewithpan SE_W030, 63, 4, 8 createvisualtask sub_80DB0E8, 5 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1 waitforvisualfinish createsprite gBattleAnimSpriteTemplate_83D6DE4, 2, 2 waitforvisualfinish @@ -1578,7 +1578,7 @@ Move_WATERFALL: @ 81C9421 end _81C9502: playsewithpan SE_W127, 63 - createvisualtask sub_80A7FA0, 5, 1, 4, 0, 17, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 17, 1 createsprite gBattleAnimSpriteTemplate_83DB4D8, 3, 0, 20, 1, 1 createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20 createsprite gBattleAnimSpriteTemplate_83D9360, 4, 0, 20 @@ -1619,11 +1619,11 @@ _81C9502: Move_EXPLOSION: @ 81C9675 loadspritegfx 10198 createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 1, 8, 9, 8474, 8, 0, 8 - createvisualtask sub_80A7FA0, 5, 4, 8, 0, 40, 1 - createvisualtask sub_80A7FA0, 5, 5, 8, 0, 40, 1 - createvisualtask sub_80A7FA0, 5, 6, 8, 0, 40, 1 - createvisualtask sub_80A7FA0, 5, 7, 8, 0, 40, 1 - createvisualtask sub_80A7FA0, 5, 8, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 4, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 5, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 6, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 7, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 8, 8, 0, 40, 1 call _81C9712 call _81C9712 waitforvisualfinish @@ -1703,7 +1703,7 @@ _81C985F: end _81C9864: playsewithpan SE_W082, 192 - createvisualtask sub_80A7FA0, 5, 0, 1, 0, 15, 1 + createvisualtask AnimTask_ShakeMon2, 5, 0, 1, 0, 15, 1 createvisualtask sub_80E2A38, 10, 2, 3, 0, 9, 31 waitforvisualfinish delay 20 @@ -1716,7 +1716,7 @@ _81C9864: delay 10 createvisualtask sub_80A8B88, 5, 0, 16, 6144, 8, 0 delay 5 - createvisualtask sub_80A7FA0, 5, 1, 4, 0, 30, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 30, 1 createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 playsewithpan SE_W004, 63 delay 5 @@ -1739,7 +1739,7 @@ _81C9864: goto _81C985F _81C996A: playsewithpan SE_W082, 192 - createvisualtask sub_80A7FA0, 5, 0, 1, 0, 15, 1 + createvisualtask AnimTask_ShakeMon2, 5, 0, 1, 0, 15, 1 createvisualtask sub_80E2A38, 10, 2, 3, 0, 9, 31 waitforvisualfinish delay 20 @@ -1751,15 +1751,15 @@ _81C996A: delay 7 playsewithpan SE_W004, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 0, 8, 1, 1 - createvisualtask sub_80A7FA0, 5, 1, 4, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1 delay 14 playsewithpan SE_W004, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 12, -6, 1, 1 - createvisualtask sub_80A7FA0, 5, 1, 4, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1 delay 14 playsewithpan SE_W004, 63 createsprite gBasicHitSplatSpriteTemplate, 3, -12, -6, 1, 1 - createvisualtask sub_80A7FA0, 5, 1, 4, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 6, 1 waitforvisualfinish createvisualtask sub_80E2A38, 10, 2, 3, 9, 0, 31 goto _81C985F @@ -1772,13 +1772,13 @@ _81C9A37: delay 6 playsewithpan SE_W004, 63 createsprite gBasicHitSplatSpriteTemplate, 2, 10, 4, 1, 1 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 waitforvisualfinish createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 4, 4 delay 6 playsewithpan SE_W004, 63 createsprite gBasicHitSplatSpriteTemplate, 2, -10, -4, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 goto _81C985F _81C9AB3: createsprite gBattleAnimSpriteTemplate_8402630, 2, 20, -28 @@ -1788,7 +1788,7 @@ _81C9AB3: delay 12 playsewithpan SE_W004, 63 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1 goto _81C985F Move_SAFEGUARD: @ 81C9AF7 @@ -1843,7 +1843,7 @@ Move_VICE_GRIP: @ 81C9BE1 createsprite gBattleAnimSpriteTemplate_83D769C, 2, 1 delay 9 createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2 - createvisualtask sub_80A7FA0, 5, 1, 2, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 5, 1 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER blendoff @@ -1861,9 +1861,9 @@ Move_GUILLOTINE: @ 81C9C29 createsprite gBattleAnimSpriteTemplate_83D76DC, 2, 1 createvisualtask sub_80E2A38, 10, 4, 2, 0, 16, 0 delay 9 - createvisualtask sub_80A7FA0, 5, 1, 2, 0, 23, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 23, 1 delay 46 - createvisualtask sub_80A7FA0, 5, 1, 4, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 4, 0, 8, 1 createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0 createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 playsewithpan SE_W013, 63 @@ -1886,7 +1886,7 @@ Move_PAY_DAY: @ 81C9CB5 playsewithpan SE_W006, 63 createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2 createsprite gBattleAnimSpriteTemplate_83D75FC, 2 - createvisualtask sub_80A7FA0, 2, 1, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_BANK_TARGET blendoff @@ -1906,7 +1906,7 @@ Move_OUTRAGE: @ 81C9D08 delay 0 createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 0, -1280, 3 delay 0 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 40, 1 createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, 1280, 768, 3 delay 0 createsprite gBattleAnimSpriteTemplate_83DAFCC, 130, 0, 0, 30, -1280, 768, 3 @@ -2034,7 +2034,7 @@ Move_WHIRLWIND: @ 81CA1E9 createsprite gBattleAnimSpriteTemplate_83DA51C, 2, 0, 32, 1, 60, 0 delay 5 loopsewithpan SE_W104, 63, 10, 4 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 15, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 15, 1 delay 29 createvisualtask sub_80A8500, 2, 1, 12, 6, 1, 5 delay 7 @@ -2172,7 +2172,7 @@ Move_THIEF: @ 81CA52C delay 6 playsewithpan SE_W233, 63 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 1, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 8, 1 waitforvisualfinish delay 20 clearmonbg ANIM_BANK_TARGET @@ -2959,7 +2959,7 @@ _81CB68E: createvisualtask sub_812B340, 5, 238, -64 createsprite gBattleAnimSpriteTemplate_83DA65C, 130 delay 14 - createvisualtask sub_80A7FA0, 2, 1, 10, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 10, 0, 18, 1 createvisualtask sub_812B30C, 5, 141, 63 delay 20 createvisualtask sub_80DFD24, 5, 1 @@ -3026,7 +3026,7 @@ Move_SLASH: @ 81CB7DB playsewithpan SE_W013, 63 delay 4 createsprite gBattleAnimSpriteTemplate_83D6E38, 130, 1, 8, 0 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1 playsewithpan SE_W013, 63 waitforvisualfinish end @@ -3188,7 +3188,7 @@ Move_ENDURE: @ 81CBA87 call EndureFlamesAnim delay 8 createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 call EndureFlamesAnim delay 8 call EndureFlamesAnim @@ -3534,7 +3534,7 @@ Move_SMELLING_SALT: @ 81CC156 loopsewithpan SE_W003, 63, 12, 2 waitforvisualfinish delay 4 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 6, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 6, 2 createsprite gBattleAnimSpriteTemplate_84029F4, 130, 1, 8, 3 loopsewithpan SE_W207B, 63, 16, 3 end @@ -3611,13 +3611,13 @@ Move_HELPING_HAND: @ 81CC2BF createsprite gBattleAnimSpriteTemplate_8402A0C, 40, 1 delay 19 playsewithpan SE_W227, 0 - createvisualtask sub_80A7FA0, 2, 2, 2, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 2, 0, 5, 1 delay 14 playsewithpan SE_W227, 0 - createvisualtask sub_80A7FA0, 2, 2, 2, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 2, 0, 5, 1 delay 20 playsewithpan SE_W227, 0 - createvisualtask sub_80A7FA0, 2, 2, 3, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATK_PARTNER, 3, 0, 10, 1 createvisualtask sub_8079790, 2, 2, 1023, 12, 1, 1 end @@ -3664,7 +3664,7 @@ Move_SUPERPOWER: @ 81CC3A3 createsprite gBattleAnimSpriteTemplate_83DA12C, 131, 0 playsewithpan SE_W207, 192 delay 16 - createvisualtask sub_80A7FA0, 2, 1, 8, 0, 16, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 8, 0, 16, 1 playsewithpan SE_W025B, 63 waitforvisualfinish clearmonbg ANIM_BANK_ATK_PARTNER @@ -4076,7 +4076,7 @@ Move_NEEDLE_ARM: @ 81CCD73 delay 2 createsprite gBattleAnimSpriteTemplate_83D6994, 130, 1, 0, 16, 16, 16 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 18, 1 createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 createsprite gBattleAnimSpriteTemplate_83D9FA8, 132, 0, 0, 8, 1, 0 playsewithpan SE_W233B, 63 @@ -4107,7 +4107,7 @@ Move_CRUSH_CLAW: @ 81CCF3B setalpha 12, 8 createsprite gBattleAnimSpriteTemplate_83C1FB0, 2, 6, 4 delay 4 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 18, 1 createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, -10, 0 createsprite gBattleAnimSpriteTemplate_83DB288, 130, -10, 10, 0 playsewithpan SE_W013, 63 @@ -4196,8 +4196,8 @@ Move_AIR_CUTTER: @ 81CD19D playsewithpan SE_W015, 63 createsprite gBattleAnimSpriteTemplate_83D6B40, 2, 40, -32, 0, 2 delay 5 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - createvisualtask sub_80A7FA0, 2, 3, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 8, 1 waitforvisualfinish blendoff clearmonbg ANIM_BANK_DEF_PARTNER @@ -4397,7 +4397,7 @@ Move_COVET: @ 81CD57C createsprite gBattleAnimSpriteTemplate_83D7A80, 3, 20, 20 playsewithpan SE_W204, 192 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 loopsewithpan SE_W146, 63, 4, 3 end @@ -4430,7 +4430,7 @@ Move_VOLT_TACKLE: @ 81CD5D9 createvisualtask sub_80D700C, 5, 4 playsewithpan SE_W085, 192 delay 8 - createvisualtask sub_80A7FA0, 2, 1, 10, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 10, 0, 18, 1 playsewithpan SE_W120, 63 createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 1, 16, 16 delay 2 @@ -4438,7 +4438,7 @@ Move_VOLT_TACKLE: @ 81CD5D9 delay 8 createvisualtask sub_80D6E9C, 5 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 0, 3, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 3, 0, 9, 1 playsewithpan SE_W085B, 192 createsprite gBattleAnimSpriteTemplate_83D9A9C, 2, 0, 16, 16 delay 2 @@ -4489,19 +4489,19 @@ Move_LEAF_BLADE: @ 81CD775 loadspritegfx 10285 createvisualtask sub_80CBDF4, 5 delay 2 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, 63 delay 50 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, 63 delay 50 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 playsewithpan SE_W015, 63 waitforvisualfinish monbg ANIM_BANK_TARGET setalpha 12, 8 delay 12 - createvisualtask sub_80A7FA0, 2, 1, 8, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 8, 0, 18, 1 createsprite gBattleAnimSpriteTemplate_83DB520, 130, 0, 0, 1, 36 playsewithpan SE_W043, 63 waitforvisualfinish @@ -4701,7 +4701,7 @@ Move_CONFUSION: @ 81CDC69 monbg ANIM_BANK_DEF_PARTNER call Unknown_81D61E7 setalpha 8, 8 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1 createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 32767 waitforvisualfinish playsewithpan SE_W048, 63 @@ -4718,7 +4718,7 @@ Move_PSYCHIC: @ 81CDCCA monbg ANIM_BANK_DEF_PARTNER call Unknown_81D61E7 setalpha 8, 8 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1 createvisualtask sub_80E1F8C, 2, 2, 0, 2, 0, 8, 767 waitforvisualfinish loopsewithpan SE_W048, 63, 10, 3 @@ -4940,7 +4940,7 @@ Move_DRAGON_BREATH: @ 81CE20A createvisualtask sub_80E2A38, 10, 4, 1, 0, 9, 31 createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 delay 2 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 21, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 21, 1 createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 delay 2 createsprite gBattleAnimSpriteTemplate_83DB044, 130, 0, 0, 0, 0, 20 @@ -4993,8 +4993,8 @@ Move_GROWL: @ 81CE3AF createvisualtask sub_812B18C, 2, 0, 255 call _81CE35E delay 10 - createvisualtask sub_80A7FA0, 2, 1, 1, 0, 9, 1 - createvisualtask sub_80A7FA0, 2, 3, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 9, 1 waitforvisualfinish delay 20 end @@ -5013,7 +5013,7 @@ Move_SNORE: @ 81CE3EA _81CE403: playsewithpan SE_W173, 192 createvisualtask sub_80A8D34, 5, -7, -7, 7, 0, 1 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 7, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 7, 1 createsprite gBattleAnimSpriteTemplate_83DB428, 2, 6, 1, 14, 0, 0 createsprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, -42, -38, 24, 0, 0 createsprite gBattleAnimSpriteTemplate_83D77F8, 2, 0, 0, 0, -42, 24, 0, 0 @@ -5139,7 +5139,7 @@ Move_SMOG: @ 81CE672 loopsewithpan SE_W092, 63, 18, 2 createvisualtask sub_80E1F8C, 2, 4, 2, 2, 0, 12, 26650 delay 10 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 15, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 15, 1 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER blendoff @@ -5168,7 +5168,7 @@ Move_FAINT_ATTACK: @ 81CE6ED delay 1 playsewithpan SE_W233B, 63 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_BANK_TARGET blendoff @@ -5359,7 +5359,7 @@ Move_ICE_BEAM: @ 81CEB4D call _81CEC4E call _81CEC4E createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 4, -31, 0, 7, 32384 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 25, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 25, 1 call _81CEC4E call _81CEC4E call _81CEC4E @@ -5402,13 +5402,13 @@ Move_AURORA_BEAM: @ 81CEC91 setarg 7, 0 createvisualtask sub_80D3490, 10, 130 call _81CED18 - createvisualtask sub_80A7FA0, 5, 1, 1, 0, 17, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 17, 1 call _81CED18 call _81CED18 call _81CED18 setarg 7, -1 createsoundtask sub_812B058, 183, -64, 63, 3, 6, 0, 10 - createvisualtask sub_80A7FA0, 5, 1, 2, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 40, 1 call _81CED18 call _81CED18 call _81CED18 @@ -5487,7 +5487,7 @@ _81CEE70: createvisualtask sub_80E2A38, 10, 4, 1, 0, 10, 1017 createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 2 delay 4 - createvisualtask sub_80A7FA0, 5, 1, 2, 0, 65, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 65, 1 createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 3 delay 4 createsprite gBattleAnimSpriteTemplate_83D6304, 131, 15, 0, 20, 4 @@ -5962,7 +5962,7 @@ Move_SLUDGE_BOMB: @ 81CFA34 call _81CFB44 call _81CFB44 call _81CFB44 - createvisualtask sub_80A7FA0, 5, 1, 3, 0, 15, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 3, 0, 15, 1 createvisualtask sub_80E1F8C, 2, 4, 1, 2, 0, 12, 31774 createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, 42, 27, 20 createsprite gBattleAnimSpriteTemplate_83DA2E8, 130, -27, 44, 20 @@ -6005,8 +6005,8 @@ Move_ACID: @ 81CFB5A createsprite gBattleAnimSpriteTemplate_83DA2D0, 130, 20, 0, 40, 1, -24, 0 playsewithpan SE_W145C, 192 delay 15 - createvisualtask sub_80A7FA0, 5, 1, 2, 0, 10, 1 - createvisualtask sub_80A7FA0, 5, 3, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 5, 3, 2, 0, 10, 1 createvisualtask sub_80E1F8C, 2, 20, 2, 2, 0, 12, 31774 createsprite gBattleAnimSpriteTemplate_83DA31C, 130, 0, -22, 0, 15, 55 playsewithpan SE_W145, 63 @@ -6151,7 +6151,7 @@ Move_GUST: @ 81CFE9A createsprite gBattleAnimSpriteTemplate_83DA380, 2, 0, -16 createvisualtask sub_80DA09C, 5, 1, 70 waitforvisualfinish - createvisualtask sub_80A7FA0, 5, 1, 1, 0, 7, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 7, 1 createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2 playsewithpan SE_W016B, 63 waitforvisualfinish @@ -6241,7 +6241,7 @@ Move_WATER_GUN: @ 81D00CC createsprite gBattleAnimSpriteTemplate_83D9318, 2, 20, 0, 0, 0, 40, -25 playsewithpan SE_W145, 192 waitforvisualfinish - createvisualtask sub_80A7FA0, 5, 1, 1, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 1, 0, 8, 1 createsprite gBattleAnimSpriteTemplate_83DB4D8, 4, 0, 0, 1, 2 createsprite gBattleAnimSpriteTemplate_83D9330, 2, 0, -15, 0, 15, 55 playsewithpan SE_W152, 63 @@ -6571,7 +6571,7 @@ Move_DYNAMIC_PUNCH: @ 81D07E4 delay 1 waitsound playsewithpan SE_W120, 63 - createvisualtask sub_80A7FA0, 5, 1, 5, 0, 28, 1 + createvisualtask AnimTask_ShakeMon2, 5, 1, 5, 0, 28, 1 createsprite gBattleAnimSpriteTemplate_83D7828, 3, 0, 0, 1, 1 delay 6 playsewithpan SE_W120, 63 @@ -6840,8 +6840,8 @@ Move_RAZOR_LEAF: @ 81D0DDE createsprite gBattleAnimSpriteTemplate_83D64E4, 131, 20, -10, 20, 0, 22, -20, 1 delay 20 playsewithpan SE_W013, 63 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 - createvisualtask sub_80A7FA0, 2, 3, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 8, 1 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER blendoff @@ -6859,7 +6859,7 @@ Move_ANCIENT_POWER: @ 81D0EE5 createsprite gBattleAnimSpriteTemplate_83DAD60, 2, -20, 32, -48, 50, 2 createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 20, 32, -28, 60, 1 createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 0, 32, -28, 30, 4 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 30, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 30, 1 playsewithpan SE_W082, 192 delay 10 createsprite gBattleAnimSpriteTemplate_83DAD60, 2, 15, 32, -48, 25, 5 @@ -6872,7 +6872,7 @@ Move_ANCIENT_POWER: @ 81D0EE5 delay 3 playsewithpan SE_W120, 63 createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 waitforvisualfinish createsprite gBattleAnimSpriteTemplate_83C1FE0, 2, 0, 0, 7 waitforvisualfinish @@ -6975,8 +6975,8 @@ Move_LEER: @ 81D121A createvisualtask sub_80A8D34, 5, -5, -5, 10, 0, 1 waitforvisualfinish delay 10 - createvisualtask sub_80A7FA0, 2, 1, 1, 0, 9, 1 - createvisualtask sub_80A7FA0, 2, 3, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_BANK_ATTACKER blendoff @@ -7186,7 +7186,7 @@ Move_ZAP_CANNON: @ 81D1722 createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 160, 40, 0 createsprite gBattleAnimSpriteTemplate_83D98A0, 132, 10, 0, 8, 30, 224, 40, 2 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1 delay 15 waitplaysewithpan SE_W085B, 63, 19 call Unknown_81D6100 @@ -7291,7 +7291,7 @@ Move_NIGHT_SHADE: @ 81D1A0D playsewithpan SE_W043, 192 createvisualtask sub_80DDDF0, 5, 85 delay 70 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 12, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 12, 1 createvisualtask sub_80E1F8C, 2, 4, 0, 2, 0, 13, 0 waitforvisualfinish clearmonbg ANIM_BANK_ATTACKER @@ -7306,7 +7306,7 @@ Move_EGG_BOMB: @ 81D1A55 playsewithpan SE_W039, 192 createsprite gBattleAnimSpriteTemplate_83D7594, 130, 10, 0, 0, 0, 25, -32 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 16, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 16, 1 createsprite gBattleAnimSpriteTemplate_83D7828, 132, 6, 5, 1, 0 playsewithpan SE_W120, 63 delay 3 @@ -7334,7 +7334,7 @@ Move_SHADOW_BALL: @ 81D1AEF createsprite gBattleAnimSpriteTemplate_83DAEA8, 130, 16, 16, 8 waitforvisualfinish playsewithpan SE_W028, 63 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 8, 1 waitforvisualfinish restorebg waitbgfadein @@ -7345,7 +7345,7 @@ Move_LICK: @ 81D1B32 delay 15 playsewithpan SE_W122, 63 createsprite gBattleAnimSpriteTemplate_83DAEDC, 130, 0, 0 - createvisualtask sub_80A7FA0, 2, 1, 1, 0, 16, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 16, 1 waitforvisualfinish end @@ -7355,7 +7355,7 @@ Move_FOCUS_ENERGY: @ 81D1B59 call EndureFlamesAnim delay 8 createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 32767 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 call EndureFlamesAnim delay 8 call EndureFlamesAnim @@ -7368,7 +7368,7 @@ Move_BIDE: @ 81D1B99 _81D1BA3: loopsewithpan SE_W036, 192, 9, 2 createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 waitforvisualfinish end _81D1BCF: @@ -7377,12 +7377,12 @@ _81D1BCF: setalpha 12, 8 loopsewithpan SE_W036, 192, 9, 2 createvisualtask sub_80E2A38, 10, 2, 2, 0, 11, 31 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 waitforvisualfinish createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 24, 0, 0, 4 waitforvisualfinish createvisualtask sub_80A8154, 2, 0, 2, 0, 12, 1 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 16, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 16, 1 playsewithpan SE_W004, 63 createsprite gBasicHitSplatSpriteTemplate, 1, 18, -8, 1, 1 delay 5 @@ -7510,8 +7510,8 @@ _81D1E66: createsprite gBattleAnimSpriteTemplate_83DA3E4, 2, 14, 12, -16, -14, 22, 0, 1 delay 17 playsewithpan SE_W013, 63 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 10, 1 - createvisualtask sub_80A7FA0, 2, 3, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 2, 0, 10, 1 waitforvisualfinish clearmonbg ANIM_BANK_TARGET blendoff @@ -7595,7 +7595,7 @@ Move_CONSTRICT: @ 81D2013 delay 7 createsprite gBattleAnimSpriteTemplate_83D65A0, 131, 0, -8, 1, 2 delay 8 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 6, 1 delay 20 playsewithpan SE_W020, 63 setarg 7, -1 @@ -7624,14 +7624,14 @@ _81D2084: monbg ANIM_BANK_DEF_PARTNER playsewithpan SE_W171, 63 createsprite gBattleAnimSpriteTemplate_83DAF38, 130 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 14, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1 waitforvisualfinish createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 1, 16, 0, 0 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER end _81D20EB: - createvisualtask sub_80A7FA0, 2, 0, 4, 0, 10, 0 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 4, 0, 10, 0 playsewithpan SE_W020, 192 return _81D2101: @@ -7722,7 +7722,7 @@ Move_FAKE_OUT: @ 81D23A8 createvisualtask sub_80D1CD0, 5 waitforvisualfinish playsewithpan SE_W166, 63 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1 createvisualtask sub_80D1E38, 3 waitforvisualfinish createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 1, 3, 16, 0, 32767 @@ -7784,13 +7784,13 @@ Move_FURY_SWIPES: @ 81D24F6 delay 4 playsewithpan SE_W010, 63 createsprite gBattleAnimSpriteTemplate_83D7C48, 130, 16, 0, 1 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 5, 1 delay 10 createsprite gBattleAnimSpriteTemplate_83C1FB0, 130, 5, 5 delay 4 playsewithpan SE_W010, 63 createsprite gBattleAnimSpriteTemplate_83D7C48, 130, -16, 0, 0 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 7, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 7, 1 end Move_INGRAIN: @ 81D255A @@ -8051,7 +8051,7 @@ Move_WILL_O_WISP: @ 81D2B83 waitforvisualfinish monbgprio_29 playsewithpan SE_W172B, 63 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 13, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 13, 1 createsprite gBattleAnimSpriteTemplate_83D977C, 2, 0 createsprite gBattleAnimSpriteTemplate_83D977C, 2, 42 createsprite gBattleAnimSpriteTemplate_83D977C, 2, 84 @@ -8160,7 +8160,7 @@ Move_SPIT_UP: @ 81D2E65 loadspritegfx 10135 playsewithpan SE_W036, 192 createvisualtask sub_812D6CC, 5 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 8, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 8, 2 delay 45 playsewithpan SE_W255, 192 delay 3 @@ -8207,10 +8207,10 @@ Move_SWALLOW: @ 81D2FA8 loadspritegfx 10031 playsewithpan SE_W036, 192 createvisualtask sub_812D790, 5 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 8, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 8, 2 delay 38 playsewithpan SE_W255, 192 - createvisualtask sub_80A7FA0, 2, 0, 2, 0, 12, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 12, 1 call _81D2FF9 jumpifmoveturn 2, _81D303B jumpifmoveturn 3, _81D3045 @@ -8323,7 +8323,7 @@ Move_HYPER_BEAM: @ 81D31EA waitforvisualfinish delay 10 playsewithpan SE_W063, 192 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 4, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 4, 1 waitforvisualfinish delay 30 createsoundtask sub_812B058, 247, -64, 63, 1, 15, 0, 5 @@ -8334,7 +8334,7 @@ Move_HYPER_BEAM: @ 81D31EA call _81D331B call _81D331B call _81D331B - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 50, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 50, 1 createvisualtask sub_80E2A38, 10, 4, 2, 0, 11, 26425 call _81D331B call _81D331B @@ -8453,7 +8453,7 @@ Move_BLAZE_KICK: @ 81D34C8 delay 30 playsewithpan SE_W007, 63 createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 14, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 14, 1 createvisualtask sub_80E2A38, 10, 4, 2, 0, 0, 32767 createsprite gBattleAnimSpriteTemplate_83DB3DC, 2, 31, 3, 1, 0, 8, 0, 0 call _81D11A2 @@ -8475,8 +8475,8 @@ _81D3562: createsprite gBattleAnimSpriteTemplate_83DB3C4, 2, 31, 3, 8, 0, 1023 createvisualtask sub_80A8D34, 5, -5, -5, 5, 0, 0 createsprite gBattleAnimSpriteTemplate_83D798C, 0, 45, 0, 0, 0, 0, 0, 1 - createvisualtask sub_80A7FA0, 2, 1, 1, 0, 6, 1 - createvisualtask sub_80A7FA0, 2, 3, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_DEF_PARTNER, 1, 0, 6, 1 createvisualtask sub_80E26BC, 2, 1, 0, 6, 1 return @@ -8566,7 +8566,7 @@ Move_BULLET_SEED: @ 81D3776 delay 5 createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 delay 5 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 30, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 30, 1 createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 delay 5 createsprite gBattleAnimSpriteTemplate_83D7628, 130, 20, 0 @@ -8694,7 +8694,7 @@ Move_METEOR_MASH: @ 81D3B12 delay 20 playsewithpan SE_W233B, 63 createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1 - createvisualtask sub_80A7FA0, 2, 1, 5, 0, 20, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 5, 0, 20, 1 waitforvisualfinish delay 10 restorebg @@ -8720,7 +8720,7 @@ Move_REVENGE: @ 81D3B99 waitforvisualfinish unloadspritegfx 10246 loadspritegfx 10135 - createvisualtask sub_80A7FA0, 2, 1, 3, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 3, 0, 10, 1 createsprite gBattleAnimSpriteTemplate_83DB550, 131, -10, -8, 1, 1, 8 playsewithpan SE_W233B, 63 delay 8 @@ -8813,7 +8813,7 @@ Move_METAL_SOUND: @ 81D3E1F loadspritegfx 10260 monbg ANIM_BANK_DEF_PARTNER monbgprio_2A 1 - createvisualtask sub_80A7FA0, 2, 0, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 2, 0, 8, 1 call _81D3E52 call _81D3E52 call _81D3E52 @@ -9368,7 +9368,7 @@ Move_ASTONISH: @ 81D4F10 createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 0, 1 playsewithpan SE_W166, 63 createsprite gBattleAnimSpriteTemplate_83DA62C, 133, 1, 1 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 5, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 5, 1 createvisualtask sub_80D1E38, 3 waitforvisualfinish end @@ -9500,7 +9500,7 @@ Move_PSYCHO_BOOST: @ 81D51C7 delay 110 loopsewithpan SE_W060B, 192, 7, 10 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 1, -8, 1, 24, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, -8, 1, 24, 1 playsewithpan SE_W043, 63 waitforvisualfinish clearmonbg ANIM_BANK_ATK_PARTNER @@ -9594,7 +9594,7 @@ Move_SKY_UPPERCUT: @ 81D53ED delay 38 createsprite gBattleAnimSpriteTemplate_83C1FF8, 2, 0, 28, 0, 0, 5 delay 4 - createvisualtask sub_80A7FA0, 2, 1, 4, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 4, 0, 6, 1 playsewithpan SE_W233B, 63 createsprite gBasicHitSplatSpriteTemplate, 131, -28, 28, 1, 1 delay 1 @@ -9720,7 +9720,7 @@ Move_MAGICAL_LEAF: @ 81D5699 playsewithpan SE_W013, 63 createsprite gBasicHitSplatSpriteTemplate, 132, -10, -4, 1, 2 createsprite gBasicHitSplatSpriteTemplate, 132, 10, 4, 1, 2 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 delay 20 setarg 7, -1 waitforvisualfinish @@ -9891,7 +9891,7 @@ _81D5AF9: createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 8, 28, 3, 4 createsprite gBattleAnimSpriteTemplate_83DAE00, 130, -4, 30, 2, 3 createsprite gBattleAnimSpriteTemplate_83DAE00, 130, 12, 25, 4, 4 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 waitforvisualfinish end _81D5B99: @@ -9906,7 +9906,7 @@ _81D5B99: createsprite gBattleAnimSpriteTemplate_83D9E54, 130, -30, -100, 25, 25, 0, 0 playsewithpan SE_W258, 63 waitforvisualfinish - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 playsewithpan SE_W196, 63 call Unknown_81D5C36 waitforvisualfinish @@ -10212,7 +10212,7 @@ Unknown_81D626D: @ 81D626D StatusCondition_Poison: @ 81D6270 loopsewithpan SE_W092, 63, 13, 6 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 18, 2 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 18, 2 createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 12, 31774 end @@ -10256,7 +10256,7 @@ StatusCondition_Sleep: @ 81D6309 StatusCondition_Paralysis: @ 81D6335 loadspritegfx 10011 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 10, 1 call Unknown_81D6100 end @@ -10276,7 +10276,7 @@ StatusCondition_Curse: @ 81D636A monbg ANIM_BANK_DEF_PARTNER playsewithpan SE_W171, 63 createsprite gBattleAnimSpriteTemplate_83DAF38, 130 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 14, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER end @@ -10286,7 +10286,7 @@ StatusCondition_Nightmare: @ 81D638F monbg ANIM_BANK_DEF_PARTNER playsewithpan SE_W171, 63 createsprite gBattleAnimSpriteTemplate_83DAF50, 130 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 14, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 14, 1 waitforvisualfinish clearmonbg ANIM_BANK_DEF_PARTNER end @@ -10361,7 +10361,7 @@ _81D64B5: delay 7 createsprite gBattleAnimSpriteTemplate_83D65A0, 130, 0, 8, 1, 1 delay 3 - createvisualtask sub_80A7FA0, 2, 1, 2, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_TARGET, 2, 0, 8, 1 delay 20 setarg 7, -1 playsewithpan SE_W020, 63 @@ -10624,7 +10624,7 @@ General_FocusPunchSetUp: @ 81D69F9 call EndureFlamesAnim delay 8 createvisualtask sub_80E1F8C, 2, 2, 2, 2, 0, 11, 31 - createvisualtask sub_80A7FA0, 2, 0, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_BANK_ATTACKER, 1, 0, 32, 1 call EndureFlamesAnim delay 8 call EndureFlamesAnim diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h index ff737135b..97e001635 100644 --- a/include/rom_8077ABC.h +++ b/include/rom_8077ABC.h @@ -36,8 +36,8 @@ void sub_8078914(); u8 sub_80789BC(); void sub_8078A5C(struct Sprite *sprite); void sub_8078A5C(struct Sprite *sprite); -void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite); -bool8 sub_8078B5C(struct Sprite *sprite); +void InitAnimSpriteTranslationDeltas(struct Sprite *sprite); +bool8 TranslateAnimSpriteByDeltas(struct Sprite *sprite); void sub_8078BB8(struct Sprite *sprite); void sub_8078D44(struct Sprite *sprite); void obj_id_set_rotscale(u8 sprite, s16, s16, u16); @@ -65,7 +65,7 @@ void sub_807A850(struct Task *task, u8 taskId); void sub_807A8D4(struct Sprite *sprite); void sub_807A960(struct Sprite *sprite); void sub_8078A34(struct Sprite *sprite); -void sub_80787B0(struct Sprite *sprite, u8); +void InitAnimSpritePos(struct Sprite *sprite, u8); void sub_8078764(struct Sprite *sprite, u8); void sub_8078B34(struct Sprite *sprite); void sub_8078D60(struct Sprite *sprite); @@ -83,7 +83,7 @@ void sub_8078C00(struct Sprite *sprite); void sub_8078114(struct Sprite *sprite); void sub_8078174(struct Sprite *sprite); void sub_80793C4(struct Sprite *sprite); -void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4); +void SetAverageBattlerPositions(u8 slot, u8 a2, s16 *a3, s16 *a4); u8 sub_8079ED4(u8 slot); s16 sub_807A100(u8 slot, u8 a2); u16 sub_80790F0(s16 a, s16 b); @@ -99,7 +99,7 @@ void sub_80798F4(struct Task *task, u8 a2, const void *a3); bool8 sub_807992C(struct Task *task); u8 sub_8077FC0(u8 slot); void move_anim_8074EE0(struct Sprite *sprite); -bool8 sub_8078718(struct Sprite *sprite); +bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *sprite); bool8 sub_8078CE8(struct Sprite *sprite); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); void sub_8078BD4(struct Sprite *sprite); diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c index 90fa5c879..b24809264 100644 --- a/src/battle/anim/aurora.c +++ b/src/battle/anim/aurora.c @@ -16,7 +16,7 @@ void sub_80D33B4(struct Sprite *sprite) { s16 r6; - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker) != 0) r6 = -gBattleAnimArgs[2]; else @@ -26,7 +26,7 @@ void sub_80D33B4(struct Sprite *sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r6; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D344C; sprite->affineAnimPaused = TRUE; sprite->callback(sprite); @@ -39,7 +39,7 @@ static void sub_80D344C(struct Sprite *sprite) StartSpriteAnim(sprite, 1); sprite->affineAnimPaused = FALSE; } - if (sub_8078B5C(sprite) != 0) + if (TranslateAnimSpriteByDeltas(sprite) != 0) DestroyAnimSprite(sprite); } diff --git a/src/battle/anim/blow_kiss.c b/src/battle/anim/blow_kiss.c index e7b49471d..f585b74bc 100644 --- a/src/battle/anim/blow_kiss.c +++ b/src/battle/anim/blow_kiss.c @@ -15,19 +15,19 @@ static void sub_80D1FA4(struct Sprite* sprite); void sub_80D1F58(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = 0x5F; sprite->data[1] = sprite->pos1.x; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D1FA4; } void sub_80D1FA4(struct Sprite* sprite) { - if (sub_8078B5C(sprite) == 0) + if (TranslateAnimSpriteByDeltas(sprite) == 0) { sprite->pos2.y += Sin(sprite->data[5], 14); sprite->data[5] = (sprite->data[5] + 4) & 0xFF; diff --git a/src/battle/anim/bubble.c b/src/battle/anim/bubble.c index 403003ce3..1252c1315 100644 --- a/src/battle/anim/bubble.c +++ b/src/battle/anim/bubble.c @@ -43,7 +43,7 @@ void sub_80D31C8(struct Sprite* sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy); sprite->data[5] = newSpriteId; @@ -69,7 +69,7 @@ static void sub_80D32E8(struct Sprite *sprite) u16 index = gSprites[spriteId].data[3]; sprite->data[0] = 1; - sub_8078B5C(sprite); + TranslateAnimSpriteByDeltas(sprite); sprite->pos2.x += Sin(index / 256, gSprites[spriteId].data[0]); sprite->pos2.y += Cos(index / 256, gSprites[spriteId].data[1]); diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index dbc0f75a5..b2726d8dd 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -76,7 +76,7 @@ void sub_80DC9A0(struct Sprite *sprite) if (IsContest()) gBattleAnimArgs[2] /= 2; - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; @@ -88,7 +88,7 @@ void sub_80DC9A0(struct Sprite *sprite) } else { - sub_807A3FC(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); } sub_8078BD4(sprite); @@ -98,7 +98,7 @@ void sub_80DC9A0(struct Sprite *sprite) static void sub_80DCA38(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { DestroyAnimSprite(sprite); return; @@ -111,7 +111,7 @@ static void sub_80DCA38(struct Sprite *sprite) // used in Move_STRING_SHOT void sub_80DCA70(struct Sprite *sprite) { - sub_807A3FC(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); if (GetBankSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; else @@ -212,7 +212,7 @@ void sub_80DCBCC(struct Sprite *sprite) } } - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); lVarX = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; lVarY = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; @@ -232,7 +232,7 @@ void sub_80DCBCC(struct Sprite *sprite) // Move_PIN_MISSILE, Move_ICICLE_SPEAR void sub_80DCCFC(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -251,7 +251,7 @@ void sub_80DCD78(struct Sprite *sprite) { sprite->invisible = FALSE; - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { DestroyAnimSprite(sprite); } @@ -271,7 +271,7 @@ void sub_80DCD78(struct Sprite *sprite) x2 += x1; y2 += y1; - if (!sub_8078718(sprite)) + if (!TranslateAnimSpriteLinearAndSine(sprite)) { u16 rot = sub_80790F0(sprite->pos1.x + sprite->pos2.x - x2, sprite->pos1.y + sprite->pos2.y - y2); diff --git a/src/battle/anim/bullet.c b/src/battle/anim/bullet.c index 90b2021f1..8fc581d47 100644 --- a/src/battle/anim/bullet.c +++ b/src/battle/anim/bullet.c @@ -17,7 +17,7 @@ static void sub_80D00B4(struct Sprite* sprite); void sub_80CFFD8(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = 20; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c index 2234ebacb..0f23fed82 100644 --- a/src/battle/anim/cutter.c +++ b/src/battle/anim/cutter.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle.h" #include "rom_8077ABC.h" #include "trig.h" #include "battle_anim.h" @@ -7,29 +8,36 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -static void sub_80CB09C(struct Sprite* sprite); -static void sub_80CB1A4(struct Sprite* sprite); +static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite); +static void AnimMoveTwisterParticleStep(struct Sprite* sprite); -// cutter (the cresent shaped leaf used in throwing projectiles for the listed moves.) +// Animates a sprite that moves linearly from one location to another, with a +// single-cycle sine wave added to the y position along the way. // Used by Razor Leaf and Magical Leaf. - -void sub_80CAFD0(struct Sprite* sprite) +// arg 0: initial x offset +// arg 1: initial y offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: translation duration +// arg 5: wave amplitude +// arg 6: target between double battle opponents (boolean) +void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) { - sub_80787B0(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + InitAnimSpritePos(sprite, 1); + if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } sprite->data[0] = gBattleAnimArgs[4]; - if (!(gBattleAnimArgs[6])) + if (!gBattleAnimArgs[6]) { sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; } else { - sub_807A3FC(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); sprite->data[2] += gBattleAnimArgs[2]; sprite->data[4] += gBattleAnimArgs[3]; } @@ -45,18 +53,18 @@ void sub_80CAFD0(struct Sprite* sprite) sprite->data[0] = 0; } - sprite->callback = sub_80CB09C; + sprite->callback = AnimTranslateLinearSingleSineWaveStep; } -void sub_80CB09C(struct Sprite* sprite) +static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite) { - bool8 c = FALSE; + bool8 destroy = FALSE; s16 a = sprite->data[0]; s16 b = sprite->data[7]; s16 r0; sprite->data[0] = 1; - sub_8078718(sprite); + TranslateAnimSpriteLinearAndSine(sprite); r0 = sprite->data[7]; sprite->data[0] = a; if (b > 0xC8 && r0 <= 0x37 && sprite->oam.affineParam == 0) @@ -67,24 +75,30 @@ void sub_80CB09C(struct Sprite* sprite) sprite->invisible ^= 1; sprite->oam.affineParam++; if (sprite->oam.affineParam == 0x1E) - c = TRUE; + destroy = TRUE; } - if (sprite->pos1.x + sprite->pos2.x > 0x100 + if (sprite->pos1.x + sprite->pos2.x > 256 || sprite->pos1.x + sprite->pos2.x < -16 - || sprite->pos1.y + sprite->pos2.y > 0xA0 + || sprite->pos1.y + sprite->pos2.y > 160 || sprite->pos1.y + sprite->pos2.y < -16) - c = TRUE; + destroy = TRUE; - if (c) + if (destroy) DestroyAnimSprite(sprite); } -void sub_80CB144(struct Sprite* sprite) +// Animates particles in the Twister move animation. +// arg 0: duration +// arg 1: total y delta (the particles rise upward) +// arg 2: wave period (higher means faster wave) +// arg 3: wave amplitude +// arg 4: speedup frame (particles move faster at the end of the animation) +void AnimMoveTwisterParticle(struct Sprite* sprite) { if (!IsContest() && IsDoubleBattle() == TRUE) { - sub_807A3FC(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y); } sprite->pos1.y += 32; @@ -93,10 +107,10 @@ void sub_80CB144(struct Sprite* sprite) sprite->data[2] = gBattleAnimArgs[2]; sprite->data[3] = gBattleAnimArgs[3]; sprite->data[4] = gBattleAnimArgs[4]; - sprite->callback = sub_80CB1A4; + sprite->callback = AnimMoveTwisterParticleStep; } -void sub_80CB1A4(struct Sprite* sprite) +static void AnimMoveTwisterParticleStep(struct Sprite* sprite) { if (sprite->data[1] == 0xFF) { diff --git a/src/battle/anim/cyclone.c b/src/battle/anim/cyclone.c index 0f83df211..b1210bc54 100644 --- a/src/battle/anim/cyclone.c +++ b/src/battle/anim/cyclone.c @@ -13,7 +13,7 @@ extern u8 gAnimBankTarget; void sub_80D0118(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); if (GetBankSide(gAnimBankAttacker) == 0) sprite->pos1.y += 16; diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 674ae5188..83a375495 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -244,7 +244,7 @@ void sub_80DFFD0(struct Sprite *sprite) static void sub_80E00D0(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) move_anim_8074EE0(sprite); } diff --git a/src/battle/anim/egg.c b/src/battle/anim/egg.c index 8004b3bf5..b3de1dbb1 100644 --- a/src/battle/anim/egg.c +++ b/src/battle/anim/egg.c @@ -22,7 +22,7 @@ static void sub_80D158C(struct Sprite* sprite); void sub_80D1368(struct Sprite* sprite) { s16 r1; - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); r1 = (GetBankSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; sprite->data[0] = 0x380; sprite->data[1] = r1; diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c index 15045f5bd..acab7bf80 100644 --- a/src/battle/anim/energy_wave.c +++ b/src/battle/anim/energy_wave.c @@ -20,7 +20,7 @@ static void sub_80D370C(struct Sprite *); void sub_80D3554(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = 30; sprite->data[1] = sprite->pos1.x; @@ -28,7 +28,7 @@ void sub_80D3554(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0xD200 / sprite->data[0]; sprite->data[7] = gBattleAnimArgs[3]; @@ -49,7 +49,7 @@ void sub_80D3554(struct Sprite *sprite) static void sub_80D35DC(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { DestroyAnimSprite(sprite); } @@ -147,7 +147,7 @@ void sub_80D3728(struct Sprite *sprite) else var2 = 1; - sub_80787B0(sprite, var1); + InitAnimSpritePos(sprite, var1); if (GetBankSide(gAnimBankAttacker) != 0) { diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 160b51274..f589622bd 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -77,7 +77,7 @@ void sub_80D90A4(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[4]); if (gBattleAnimArgs[3] == 0) - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); else sub_8078764(sprite, 1); @@ -203,7 +203,7 @@ void sub_80D9378(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = sprite->pos1.y; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[5]; sprite->data[6] = gBattleAnimArgs[4]; @@ -214,7 +214,7 @@ void sub_80D9378(struct Sprite *sprite) static void sub_80D9404(struct Sprite *sprite) { - if (!sub_8078B5C(sprite)) + if (!TranslateAnimSpriteByDeltas(sprite)) { sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]); sprite->data[7] += sprite->data[6]; @@ -435,7 +435,7 @@ static void sub_80D986C(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(sprite->data[7], 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); StoreSpriteCallbackInData(sprite, move_anim_8074EE0); sprite->callback = sub_8078BB8; } @@ -530,7 +530,7 @@ void sub_80D9A38(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(bank, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); StoreSpriteCallbackInData(sprite, DestroyAnimSprite); sprite->callback = sub_8078BB8; } @@ -573,7 +573,7 @@ void sub_80D9B48(struct Sprite *sprite) void sub_80D9BD4(struct Sprite *sprite) { if (gBattleAnimArgs[2] == 0) - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); else sub_8078764(sprite, 0); diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index 4d577a765..fe63fcff1 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -42,7 +42,7 @@ struct Sprite *sub_80D5210(struct Sprite *sprite) void sub_80D522C(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[7] = gBattleAnimArgs[2]; sprite->data[0] = 0; @@ -62,7 +62,7 @@ void sub_80D5254(struct Sprite *sprite) sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D52AC; } @@ -70,7 +70,7 @@ void sub_80D5254(struct Sprite *sprite) void sub_80D52AC(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { sprite->data[0] = 0; @@ -123,7 +123,7 @@ void sub_80D5374(struct Sprite *sprite) void sub_80D53B4(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[1] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[3]; diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c index 441ac0e6d..559f617c6 100644 --- a/src/battle/anim/flying_path.c +++ b/src/battle/anim/flying_path.c @@ -53,7 +53,7 @@ void sub_80CBF5C(u8 taskId) { case 4: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) { break; } @@ -65,7 +65,7 @@ void sub_80CBF5C(u8 taskId) break; case 8: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) { break; } @@ -77,7 +77,7 @@ void sub_80CBF5C(u8 taskId) break; case 0: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) break; task->data[15] = 1; @@ -103,7 +103,7 @@ void sub_80CBF5C(u8 taskId) break; case 2: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) break; task->data[15] = 3; @@ -146,7 +146,7 @@ void sub_80CBF5C(u8 taskId) break; case 6: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) break; task->data[15] = 7; @@ -189,7 +189,7 @@ void sub_80CBF5C(u8 taskId) break; case 10: sub_80CC358(task, taskId); - if (sub_8078718(sprite) == 0) + if (TranslateAnimSpriteLinearAndSine(sprite) == 0) { break; } @@ -221,7 +221,7 @@ void sub_80CBF5C(u8 taskId) } case 12: sub_80CC358(task, taskId); - if (sub_8078718(sprite) != 0) + if (TranslateAnimSpriteLinearAndSine(sprite) != 0) { DestroySprite(sprite); task->data[0]++; diff --git a/src/battle/anim/glitter.c b/src/battle/anim/glitter.c index e4577f1e1..e6c101de3 100644 --- a/src/battle/anim/glitter.c +++ b/src/battle/anim/glitter.c @@ -35,7 +35,7 @@ void sub_80CD190(struct Sprite* sprite) if (IsDoubleBattle() && IsAnimBankSpriteVisible(bank ^ 2)) { - sub_807A3FC(bank, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(bank, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y); sub_807867C(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; } diff --git a/src/battle/anim/guard.c b/src/battle/anim/guard.c index 254160109..9dcfa9f5d 100644 --- a/src/battle/anim/guard.c +++ b/src/battle/anim/guard.c @@ -15,7 +15,7 @@ void sub_80D3014(struct Sprite *sprite) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) { - sub_807A3FC(gAnimBankAttacker, 0, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankAttacker, 0, &sprite->pos1.x, &sprite->pos1.y); sprite->pos1.y += 40; StartSpriteAffineAnim(sprite, 1); diff --git a/src/battle/anim/guillotine.c b/src/battle/anim/guillotine.c index b3d842cdf..15279d5e2 100644 --- a/src/battle/anim/guillotine.c +++ b/src/battle/anim/guillotine.c @@ -37,7 +37,7 @@ void sub_80D0228(struct Sprite* sprite) sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r9; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[0]; sprite->data[6] = sprite->data[0]; sprite->callback = sub_80D02D0; @@ -45,7 +45,7 @@ void sub_80D0228(struct Sprite* sprite) void sub_80D02D0(struct Sprite* sprite) { - if (sub_8078B5C(sprite) && sprite->animEnded == 1) + if (TranslateAnimSpriteByDeltas(sprite) && sprite->animEnded == 1) { SeekSpriteAnim(sprite, 0); sprite->animPaused = 1; @@ -85,6 +85,6 @@ void sub_80D0344(struct Sprite* sprite) void sub_80D03A8(struct Sprite* sprite) { - if (sub_8078B5C(sprite) != 0) + if (TranslateAnimSpriteByDeltas(sprite) != 0) DestroyAnimSprite(sprite); } diff --git a/src/battle/anim/heart_1.c b/src/battle/anim/heart_1.c index 5df89f929..857169e62 100644 --- a/src/battle/anim/heart_1.c +++ b/src/battle/anim/heart_1.c @@ -14,7 +14,7 @@ extern u8 gAnimBankTarget; void sub_80D1C80(struct Sprite* sprite) { if (++sprite->data[0] == 1) - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->pos2.x = Sin(sprite->data[1], 8); sprite->pos2.y = sprite->data[2] >> 8; diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c index 4006e2d43..0697e83a0 100644 --- a/src/battle/anim/hop.c +++ b/src/battle/anim/hop.c @@ -91,7 +91,7 @@ void sub_80CB94C(struct Sprite* sprite) { s16 e1; s16 e2; - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); e1 = GetBankPosition(gAnimBankTarget, 0); e2 = GetBankPosition(gAnimBankTarget, 1); if ((gAnimBankAttacker ^ 2) == gAnimBankTarget) diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c index 8358d23db..0ee381e13 100644 --- a/src/battle/anim/money.c +++ b/src/battle/anim/money.c @@ -19,7 +19,7 @@ void sub_80CFE9C(struct Sprite* sprite) s16 r7; u16 var; - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); r6 = GetBankPosition(gAnimBankTarget, 2); r7 = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; if (GetBankSide(gAnimBankAttacker) != 0) diff --git a/src/battle/anim/note_rain.c b/src/battle/anim/note_rain.c index 715462d73..552329a57 100644 --- a/src/battle/anim/note_rain.c +++ b/src/battle/anim/note_rain.c @@ -24,7 +24,7 @@ void sub_80D1BA8(struct Sprite* sprite, u8 a, u8 b) void sub_80D1C08(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); if (GetBankSide(gAnimBankAttacker) != 0) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; diff --git a/src/battle/anim/note_scatter_2.c b/src/battle/anim/note_scatter_2.c index 524c51c08..262afb8bf 100644 --- a/src/battle/anim/note_scatter_2.c +++ b/src/battle/anim/note_scatter_2.c @@ -32,14 +32,14 @@ void sub_80CEE60(struct Sprite* sprite) sprite->data[2] = a + sprite->data[1]; sprite->data[3] = sprite->pos1.y; sprite->data[4] = sprite->data[3] - 40; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[3]; sprite->callback = sub_80CEEE8; } void sub_80CEEE8(struct Sprite* sprite) { - if (sub_8078B5C(sprite) == 0) + if (TranslateAnimSpriteByDeltas(sprite) == 0) { s16 a; a = Sin(sprite->data[5], 8); diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c index c8cf339d2..e7dd0df49 100644 --- a/src/battle/anim/orbit.c +++ b/src/battle/anim/orbit.c @@ -79,13 +79,13 @@ void sub_80CACEC(u8 taskId) void sub_80CAD54(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CADA8; sub_80CADA8(sprite); @@ -93,7 +93,7 @@ void sub_80CAD54(struct Sprite* sprite) void sub_80CADA8(struct Sprite* sprite) { - if (!sub_8078B5C(sprite)) + if (!TranslateAnimSpriteByDeltas(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 32); sprite->pos2.y += Cos(sprite->data[5], -5); @@ -116,13 +116,13 @@ void sub_80CADA8(struct Sprite* sprite) void sub_80CAE20(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CAE74; sub_80CAE74(sprite); @@ -130,7 +130,7 @@ void sub_80CAE20(struct Sprite* sprite) void sub_80CAE74(struct Sprite* sprite) { - if (!sub_8078B5C(sprite)) + if (!TranslateAnimSpriteByDeltas(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 8); if ((u16)(sprite->data[5] - 0x3B) < 5 || (u16)(sprite->data[5] - 0xBB) < 5) diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c index 6ca2fa71c..eede55695 100644 --- a/src/battle/anim/orbs.c +++ b/src/battle/anim/orbs.c @@ -19,7 +19,7 @@ extern struct SpriteTemplate gSpriteTemplate_83D631C; void sub_80CA7B0(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); @@ -29,7 +29,7 @@ void sub_80CA7B0(struct Sprite* sprite) void sub_80CA800(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); StartSpriteAnim(sprite, gBattleAnimArgs[3]); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); @@ -40,13 +40,13 @@ void sub_80CA800(struct Sprite* sprite) void sub_80CA858(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[3]; sprite->callback = sub_80CA8B4; sub_80CA8B4(sprite); @@ -54,7 +54,7 @@ void sub_80CA858(struct Sprite* sprite) void sub_80CA8B4(struct Sprite* sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { DestroySprite(sprite); } @@ -105,7 +105,7 @@ void sub_80CA9A8(struct Sprite* sprite) void sub_80CA9F8(struct Sprite* sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } diff --git a/src/battle/anim/perceive.c b/src/battle/anim/perceive.c index 3b3153428..14db096c6 100644 --- a/src/battle/anim/perceive.c +++ b/src/battle/anim/perceive.c @@ -19,6 +19,6 @@ void sub_80D2904(struct Sprite* sprite) void sub_80D2920(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->callback = sub_80D2904; } diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c index f31c441fb..656e923bc 100644 --- a/src/battle/anim/poison.c +++ b/src/battle/anim/poison.c @@ -17,7 +17,7 @@ void sub_80D9D70(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); @@ -31,7 +31,7 @@ void sub_80D9D70(struct Sprite *sprite) void sub_80D9DD4(struct Sprite *sprite) // same as sub_80D9E78 { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } @@ -41,8 +41,8 @@ void sub_80D9DF0(struct Sprite *sprite) if (!gBattleAnimArgs[3]) StartSpriteAnim(sprite, 2); - sub_80787B0(sprite, 1); - sub_807A3FC(gAnimBankTarget, 1, &l1, &l2); + InitAnimSpritePos(sprite, 1); + SetAverageBattlerPositions(gAnimBankTarget, 1, &l1, &l2); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[4] = -gBattleAnimArgs[4]; @@ -59,7 +59,7 @@ void sub_80D9DF0(struct Sprite *sprite) void sub_80D9E78(struct Sprite *sprite) // same as sub_80D9DD4 { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } @@ -92,7 +92,7 @@ void sub_80D9EE8(struct Sprite *sprite) void sub_80D9F14(struct Sprite *sprite) { - sub_807A3FC(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -116,7 +116,7 @@ void sub_80D9F88(struct Sprite *sprite) } else { - sub_807A3FC(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 37c527183..b108c496a 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -192,7 +192,7 @@ void sub_80DBA4C(struct Sprite *sprite) else { if (gBattleAnimArgs[2] == 0) - sub_80787B0(sprite, var0); + InitAnimSpritePos(sprite, var0); else sub_8078764(sprite, var0); } @@ -539,7 +539,7 @@ static void sub_80DC1FC(u8 taskId) void sub_80DC2B0(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { FreeOamMatrix(sprite->oam.matrixNum); DestroySprite(sprite); diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c index 759652f0c..86b2c4659 100644 --- a/src/battle/anim/ring.c +++ b/src/battle/anim/ring.c @@ -32,7 +32,7 @@ void sub_80D0FD8(struct Sprite* sprite) r4 = gBattleAnimArgs[3] ^ 1; if (IsDoubleBattle() && IsAnimBankSpriteVisible(bank ^ 2)) { - sub_807A3FC(bank, r4, &sp0, &sp1); + SetAverageBattlerPositions(bank, r4, &sp0, &sp1); if (r4 == 0) r4 = GetBankPosition(bank, 0); else @@ -50,7 +50,7 @@ void sub_80D0FD8(struct Sprite* sprite) void sub_80D1098(struct Sprite* sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) { FreeSpriteOamMatrix(sprite); DestroyAnimSprite(sprite); @@ -118,7 +118,7 @@ void sub_80D10B8(struct Sprite* sprite) r6 = GetBankPosition(bankr7, sp4) + gBattleAnimArgs[1]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr8 ^ 2)) { - sub_807A3FC(bankr8, gBattleAnimArgs[6], &sp0, &sp1); + SetAverageBattlerPositions(bankr8, gBattleAnimArgs[6], &sp0, &sp1); } else { @@ -137,7 +137,7 @@ void sub_80D10B8(struct Sprite* sprite) sprite->data[2] = sp0; sprite->data[4] = sp1; sprite->data[0] = gBattleAnimArgs[0]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D1098; sub_80D1098(sprite); } diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index b113ce040..2df7e6642 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -38,7 +38,7 @@ static void sub_80DD9FC(struct Sprite *sprite); void sub_80DCE9C(struct Sprite *sprite) { if (gBattleAnimArgs[3] != 0) - sub_807A3FC(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); + SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += 14; @@ -102,7 +102,7 @@ void sub_80DCF60(struct Sprite *sprite) void sub_80DCFE4(struct Sprite *sprite) { if (gBattleAnimArgs[6] == 0) - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); else sub_8078764(sprite, 0); @@ -275,7 +275,7 @@ void sub_80DD3AC(struct Sprite *sprite) void sub_80DD490(struct Sprite *sprite) { StartSpriteAnim(sprite, gBattleAnimArgs[4]); - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->data[0] = gBattleAnimArgs[3]; sprite->data[2] = sprite->pos1.x; @@ -455,7 +455,7 @@ static void sub_80DD774(struct Task *task) void sub_80DD87C(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { u8 taskId = FindTaskIdByFunc(sub_80DD604); if (taskId != 0xFF) diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c index be8613a74..e3d4bd3fb 100644 --- a/src/battle/anim/seed.c +++ b/src/battle/anim/seed.c @@ -15,7 +15,7 @@ static void sub_80CABC0(struct Sprite* sprite); void sub_80CAB18(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -31,7 +31,7 @@ void sub_80CAB18(struct Sprite* sprite) void sub_80CAB88(struct Sprite* sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { sprite->invisible = 1; sprite->data[0] = 10; diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c index 0897ec6e3..280943a67 100644 --- a/src/battle/anim/sonic.c +++ b/src/battle/anim/sonic.c @@ -29,7 +29,7 @@ void sub_80CF6DC(struct Sprite* sprite) gBattleAnimArgs[3] = -gBattleAnimArgs[3]; } - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); a = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; b = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; c = sub_80790F0(a - sprite->pos1.x, b - sprite->pos1.y); diff --git a/src/battle/anim/sonic_task.c b/src/battle/anim/sonic_task.c index 924b1b568..260ae544c 100644 --- a/src/battle/anim/sonic_task.c +++ b/src/battle/anim/sonic_task.c @@ -87,7 +87,7 @@ void sub_80CFB04(u8 taskId) if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { - sub_807A3FC(gAnimBankTarget, 0, &sp1, &sp2); + SetAverageBattlerPositions(gAnimBankTarget, 0, &sp1, &sp2); } else { diff --git a/src/battle/anim/sword.c b/src/battle/anim/sword.c index b46fe6759..ca74980ea 100644 --- a/src/battle/anim/sword.c +++ b/src/battle/anim/sword.c @@ -15,7 +15,7 @@ static void sub_80CF6B4(struct Sprite* sprite); void sub_80CF690(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->callback = sub_80785E4; StoreSpriteCallbackInData(sprite, sub_80CF6B4); } diff --git a/src/battle/anim/unused_8.c b/src/battle/anim/unused_8.c index 03772f951..0a06d3ac8 100644 --- a/src/battle/anim/unused_8.c +++ b/src/battle/anim/unused_8.c @@ -15,7 +15,7 @@ static void sub_80CF4B8(struct Sprite* sprite); void sub_80CF458(struct Sprite* sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/unused_9.c b/src/battle/anim/unused_9.c index 0efd40c02..6e0d0321b 100644 --- a/src/battle/anim/unused_9.c +++ b/src/battle/anim/unused_9.c @@ -18,7 +18,7 @@ static void sub_80CFE2C(struct Sprite* sprite); void sub_80CFDFC(struct Sprite* sprite) { - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(gSpriteTemplate_83D75AC.paletteTag) << 4); sprite->callback = sub_80CFE2C; } diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c index 4068cbe78..d1ed05747 100644 --- a/src/battle/anim/water.c +++ b/src/battle/anim/water.c @@ -30,7 +30,7 @@ void sub_80D3838(struct Sprite *sprite) } else { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); } sprite->data[7] = gBattleAnimArgs[2]; diff --git a/src/battle/anim/wisp_orb.c b/src/battle/anim/wisp_orb.c index 0cbe6eed7..7c22b7f13 100644 --- a/src/battle/anim/wisp_orb.c +++ b/src/battle/anim/wisp_orb.c @@ -21,7 +21,7 @@ void sub_80D5B0C(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - sub_80787B0(sprite, 0); + InitAnimSpritePos(sprite, 0); StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[7] = gBattleAnimArgs[2]; @@ -86,7 +86,7 @@ static void sub_80D5C5C(struct Sprite *sprite) s16 initialData5; s16 newData5; - if (!sub_8078B5C(sprite)) + if (!TranslateAnimSpriteByDeltas(sprite)) { sprite->pos2.x += Sin(sprite->data[5], 16); initialData5 = sprite->data[5]; diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index 2f10b07ae..aadeb71b0 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -16,7 +16,7 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; static void AnimTask_ShakeMonStep(u8 taskId); -static void sub_80A808C(u8 taskId); +static void AnimTask_ShakeMon2Step(u8 taskId); static void sub_80A81D8(u8 taskId); static void sub_80A8374(u8 taskId); static void sub_80A8488(u8 taskId); @@ -154,13 +154,19 @@ static void AnimTask_ShakeMonStep(u8 taskId) } } - -void sub_80A7FA0(u8 taskId) +// Task to facilitate simple shaking of a pokemon's picture in battle. +// The shaking alternates between the positive and negative versions of the specified pixel offsets. +// arg 0: anim battler +// arg 1: x pixel offset +// arg 2: y pixel offset +// arg 3: num times to shake +// arg 4: frame delay +void AnimTask_ShakeMon2(u8 taskId) { u8 sprite; - bool8 r6; + bool8 destroy; u8 side; - r6 = 0; + destroy = FALSE; if (gBattleAnimArgs[0] < 4) { sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); @@ -188,21 +194,23 @@ void sub_80A7FA0(u8 taskId) side = GetBankByIdentity(3); break; } + if (IsAnimBankSpriteVisible(side) == FALSE) - { - r6 = 1; - } + destroy = TRUE; + sprite = gBankSpriteIds[side]; } else { sprite = gBankSpriteIds[gAnimBankAttacker]; } - if (r6) + + if (destroy) { DestroyAnimVisualTask(taskId); return; } + gSprites[sprite].pos2.x = gBattleAnimArgs[1]; gSprites[sprite].pos2.y = gBattleAnimArgs[2]; TASK.data[0] = sprite; @@ -211,30 +219,24 @@ void sub_80A7FA0(u8 taskId) TASK.data[3] = gBattleAnimArgs[4]; TASK.data[4] = gBattleAnimArgs[1]; TASK.data[5] = gBattleAnimArgs[2]; - TASK.func = sub_80A808C; - sub_80A808C(taskId); + TASK.func = AnimTask_ShakeMon2Step; + TASK.func(taskId); } -static void sub_80A808C(u8 taskId) +static void AnimTask_ShakeMon2Step(u8 taskId) { if (TASK.data[3] == 0) { if (SPRITE.pos2.x == TASK.data[4]) - { SPRITE.pos2.x = -TASK.data[4]; - } else - { SPRITE.pos2.x = TASK.data[4]; - } + if (SPRITE.pos2.y == TASK.data[5]) - { SPRITE.pos2.y = -TASK.data[5]; - } else - { SPRITE.pos2.y = TASK.data[5]; - } + TASK.data[3] = TASK.data[2]; if (--TASK.data[1] == 0) { diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index f5b8e1c5d..3a47e0204 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -298,7 +298,7 @@ const struct SpriteTemplate gBallSpriteTemplates[] = extern u32 ball_number_to_ball_processing_index(u16); // not sure of return type extern void sub_80786EC(); -extern bool8 sub_8078718(struct Sprite *); +extern bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *); extern u8 sub_814086C(u8, u8, int, int, u8); extern u8 sub_8141314(u8, u8, int, u8); @@ -406,7 +406,7 @@ static void sub_8046464(u8 taskId) static void objc_0804ABD4(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { u8 taskId = sprite->oam.affineParam; u8 r5 = gTasks[taskId].data[4]; @@ -858,7 +858,7 @@ static void sub_80470C4(struct Sprite *sprite) StartSpriteAffineAnim(sprite, 4); } r4 = sprite->data[0]; - sub_8078B5C(sprite); + TranslateAnimSpriteByDeltas(sprite); sprite->data[7] += sprite->data[6] / 3; sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]); sprite->oam.affineParam += 0x100; @@ -876,7 +876,7 @@ static void sub_80470C4(struct Sprite *sprite) } else { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) { sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index a60fc1078..9119c74ef 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -766,14 +766,14 @@ void sub_80786EC(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->data[6] = 0x8000 / sprite->data[0]; sprite->data[7] = 0; } -bool8 sub_8078718(struct Sprite *sprite) +bool8 TranslateAnimSpriteLinearAndSine(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) return TRUE; sprite->data[7] += sprite->data[6]; sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); @@ -799,7 +799,7 @@ void sub_8078764(struct Sprite *sprite, bool8 a2) sprite->pos1.y += gBattleAnimArgs[1]; } -void sub_80787B0(struct Sprite *sprite, u8 a2) +void InitAnimSpritePos(struct Sprite *sprite, u8 a2) { if (!a2) { @@ -953,30 +953,30 @@ void sub_8078A5C(struct Sprite *sprite) sprite->data[3] = 0; } -void obj_translate_based_on_private_1_2_3_4(struct Sprite *sprite) +void InitAnimSpriteTranslationDeltas(struct Sprite *sprite) { int x = sprite->data[2] - sprite->data[1]; int y = sprite->data[4] - sprite->data[3]; - bool8 r8 = x < 0; - bool8 r9 = y < 0; - u16 x2 = abs(x) << 8; - u16 y2 = abs(y) << 8; + bool8 movingLeft = x < 0; + bool8 movingUp = y < 0; + u16 xDelta = abs(x) << 8; + u16 yDelta = abs(y) << 8; - x2 = x2 / sprite->data[0]; - y2 = y2 / sprite->data[0]; + xDelta = xDelta / sprite->data[0]; + yDelta = yDelta / sprite->data[0]; - if (r8) - x2 |= 1; + if (movingLeft) + xDelta |= 1; else - x2 &= ~1; + xDelta &= ~1; - if (r9) - y2 |= 1; + if (movingUp) + yDelta |= 1; else - y2 &= ~1; + yDelta &= ~1; - sprite->data[1] = x2; - sprite->data[2] = y2; + sprite->data[1] = xDelta; + sprite->data[2] = yDelta; sprite->data[4] = 0; sprite->data[3] = 0; } @@ -985,12 +985,12 @@ void sub_8078B34(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_8078BB8; sprite->callback(sprite); } -bool8 sub_8078B5C(struct Sprite *sprite) +bool8 TranslateAnimSpriteByDeltas(struct Sprite *sprite) { u16 v1, v2, x, y; @@ -1022,7 +1022,7 @@ bool8 sub_8078B5C(struct Sprite *sprite) void sub_8078BB8(struct Sprite *sprite) { - if (sub_8078B5C(sprite)) + if (TranslateAnimSpriteByDeltas(sprite)) SetCallbackToStoredInData(sprite); } @@ -1030,7 +1030,7 @@ void sub_8078BD4(struct Sprite *sprite) { int v1 = abs(sprite->data[2] - sprite->data[1]) << 8; sprite->data[0] = v1 / sprite->data[0]; - obj_translate_based_on_private_1_2_3_4(sprite); + InitAnimSpriteTranslationDeltas(sprite); } void sub_8078C00(struct Sprite *sprite) @@ -1380,7 +1380,7 @@ void sub_80793C4(struct Sprite *sprite) else var = FALSE; if (!gBattleAnimArgs[2]) - sub_80787B0(sprite, var); + InitAnimSpritePos(sprite, var); else sub_8078764(sprite, var); sprite->data[0]++; @@ -1407,7 +1407,7 @@ void sub_807941C(struct Sprite *sprite) else v2 = 1; - sub_80787B0(sprite, v1); + InitAnimSpritePos(sprite, v1); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; @@ -1419,7 +1419,7 @@ void sub_807941C(struct Sprite *sprite) void sub_80794A8(struct Sprite *sprite) { - sub_80787B0(sprite, 1); + InitAnimSpritePos(sprite, 1); if (GetBankSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; @@ -1432,7 +1432,7 @@ void sub_80794A8(struct Sprite *sprite) void sub_8079518(struct Sprite *sprite) { - if (sub_8078718(sprite)) + if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); } @@ -1452,7 +1452,7 @@ void sub_8079534(struct Sprite *sprite) } if (!gBattleAnimArgs[5]) { - sub_80787B0(sprite, r4); + InitAnimSpritePos(sprite, r4); slot = gAnimBankAttacker; } else @@ -2107,7 +2107,7 @@ s16 sub_807A100(u8 slot, u8 a2) } } -void sub_807A3FC(u8 slot, bool8 a2, s16 *a3, s16 *a4) +void SetAverageBattlerPositions(u8 slot, bool8 a2, s16 *x, s16 *y) { u8 v1, v2; s16 v3, v4; @@ -2135,8 +2135,8 @@ void sub_807A3FC(u8 slot, bool8 a2, s16 *a3, s16 *a4) v5 = v3; v6 = v4; } - *a3 = (v3 + v5) / 2; - *a4 = (v4 + v6) / 2; + *x = (v3 + v5) / 2; + *y = (v4 + v6) / 2; } u8 sub_807A4A0(int bank, u8 sprite, int species) |