Document a bit of anims

This commit is contained in:
DizzyEggg 2019-04-02 08:36:22 +02:00 committed by huderlem
parent 9f44ebc5cd
commit 1aa95a1821
6 changed files with 91 additions and 76 deletions

View File

@ -153,19 +153,19 @@
.byte \param4 .byte \param4
.endm .endm
.macro loopsewithpan se:req, param1:req, param2:req, param3:req .macro loopsewithpan se:req, pan:req, wait:req, times:req
.byte 0x1c .byte 0x1c
.2byte \se .2byte \se
.byte \param1 .byte \pan
.byte \param2 .byte \wait
.byte \param3 .byte \times
.endm .endm
.macro waitplaysewithpan se:req, param1:req, param2:req .macro waitplaysewithpan se:req, pan:req, wait:req
.byte 0x1d .byte 0x1d
.2byte \se .2byte \se
.byte \param1 .byte \pan
.byte \param2 .byte \wait
.endm .endm
.macro setbldcnt param0:req .macro setbldcnt param0:req

View File

@ -1515,7 +1515,7 @@ Move_VINE_WHIP:
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
delay 6 delay 6
playsewithpan SE_W010, SOUND_PAN_TARGET playsewithpan SE_W010, SOUND_PAN_TARGET
createsprite gUnknown_085928E8, ANIM_TARGET, 2, 0, 0 createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0
delay 6 delay 6
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1
end end
@ -1656,12 +1656,12 @@ Explosion1:
Move_DEFENSE_CURL: Move_DEFENSE_CURL:
loadspritegfx ANIM_TAG_ECLIPSING_ORB loadspritegfx ANIM_TAG_ECLIPSING_ORB
loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3 loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3
createvisualtask sub_811489C, 5, 0, 0 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 0
createvisualtask sub_815B338, 5 createvisualtask sub_815B338, 5
waitforvisualfinish waitforvisualfinish
createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1 createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1
waitforvisualfinish waitforvisualfinish
createvisualtask sub_811489C, 5, 0, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
waitforvisualfinish waitforvisualfinish
end end
@ -2003,7 +2003,7 @@ Move_ATTRACT:
createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31 createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31
waitforvisualfinish waitforvisualfinish
waitplaysewithpan SE_W213B, 0, 15 waitplaysewithpan SE_W213B, 0, 15
createvisualtask sub_81062E8, 5 createvisualtask AnimTask_HeartsBackground, 5
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30
@ -2012,7 +2012,7 @@ Move_ATTRACT:
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90 createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90
delay 0x4B delay 75
createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27) createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27)
end end
@ -3220,13 +3220,13 @@ EndureEffect:
Move_CHARM: Move_CHARM:
loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_MAGENTA_HEART
createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15 delay 15
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15 delay 15
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
waitforvisualfinish waitforvisualfinish
end end
@ -4358,7 +4358,7 @@ Move_AERIAL_ACE:
Move_IRON_DEFENSE: Move_IRON_DEFENSE:
loopsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER, 28, 2 loopsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0 createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0
waitforvisualfinish waitforvisualfinish
end end
@ -4393,13 +4393,13 @@ Move_COVET:
loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_MAGENTA_HEART
loadspritegfx ANIM_TAG_ITEM_BAG loadspritegfx ANIM_TAG_ITEM_BAG
createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15 delay 15
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15 delay 15
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
waitforvisualfinish waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
@ -4570,7 +4570,7 @@ Move_SHOCK_WAVE:
Move_HARDEN: Move_HARDEN:
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0 createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
waitforvisualfinish waitforvisualfinish
end end
@ -7213,7 +7213,7 @@ Move_STEEL_WING:
loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_GUST
loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_IMPACT
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0 createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
waitforvisualfinish waitforvisualfinish
monbg ANIM_DEF_PARTNER monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET monbgprio_28 ANIM_TARGET
@ -7239,7 +7239,7 @@ Move_STEEL_WING:
Move_IRON_TAIL: Move_IRON_TAIL:
loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_IMPACT
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 1, 0, 0 createvisualtask AnimTask_MetallicShine, 5, 1, 0, 0
waitforvisualfinish waitforvisualfinish
monbg ANIM_TARGET monbg ANIM_TARGET
setalpha 12, 8 setalpha 12, 8
@ -7249,7 +7249,7 @@ Move_IRON_TAIL:
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
playsewithpan SE_W233B, SOUND_PAN_TARGET playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish waitforvisualfinish
createvisualtask sub_811489C, 5, 0, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
clearmonbg ANIM_TARGET clearmonbg ANIM_TARGET
blendoff blendoff
waitforvisualfinish waitforvisualfinish
@ -7259,7 +7259,7 @@ Move_POISON_TAIL:
loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_POISON_BUBBLE
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 1, 1, RGB(24, 6, 23) createvisualtask AnimTask_MetallicShine, 5, 1, 1, RGB(24, 6, 23)
waitforvisualfinish waitforvisualfinish
monbg ANIM_TARGET monbg ANIM_TARGET
setalpha 12, 8 setalpha 12, 8
@ -7269,7 +7269,7 @@ Move_POISON_TAIL:
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
playsewithpan SE_W233B, SOUND_PAN_TARGET playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish waitforvisualfinish
createvisualtask sub_811489C, 5, 0, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
clearmonbg ANIM_TARGET clearmonbg ANIM_TARGET
blendoff blendoff
call PoisonBubblesEffect call PoisonBubblesEffect
@ -7279,7 +7279,7 @@ Move_POISON_TAIL:
Move_METAL_CLAW: Move_METAL_CLAW:
loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_CLAW_SLASH
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2 loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0 createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
waitforvisualfinish waitforvisualfinish
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 2 delay 2
@ -7459,7 +7459,7 @@ Move_STRING_SHOT:
end end
StringShot1: StringShot1:
createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 1 createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 1
delay 1 delay 1
return return
@ -7488,7 +7488,7 @@ Move_SPIDER_WEB:
call SpiderWeb1 call SpiderWeb1
waitforvisualfinish waitforvisualfinish
playsewithpan SE_W081B, SOUND_PAN_TARGET playsewithpan SE_W081B, SOUND_PAN_TARGET
createsprite gUnknown_08596A2C, ANIM_ATTACKER, 2 createsprite gSpiderWebSpriteTemplate, ANIM_ATTACKER, 2
waitforvisualfinish waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER clearmonbg ANIM_DEF_PARTNER
delay 1 delay 1
@ -7496,7 +7496,7 @@ Move_SPIDER_WEB:
end end
SpiderWeb1: SpiderWeb1:
createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 0 createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 0
delay 1 delay 1
return return
@ -7941,16 +7941,16 @@ Move_PERISH_SONG:
panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
delay 80 delay 80
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_BLACK createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_BLACK
createvisualtask sub_811489C, 5, 4, 0 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 0
createvisualtask sub_811489C, 5, 5, 0 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 0
createvisualtask sub_811489C, 5, 6, 0 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 0
createvisualtask sub_811489C, 5, 7, 0 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 0
delay 100 delay 100
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_BLACK createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_BLACK
createvisualtask sub_811489C, 5, 4, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 1
createvisualtask sub_811489C, 5, 5, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 1
createvisualtask sub_811489C, 5, 6, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 1
createvisualtask sub_811489C, 5, 7, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 1
waitforvisualfinish waitforvisualfinish
end end
@ -9570,7 +9570,7 @@ Move_DOOM_DESIRE:
createvisualtask sub_8114960, 2 createvisualtask sub_8114960, 2
delay 1 delay 1
monbg ANIM_ATK_PARTNER monbg ANIM_ATK_PARTNER
createvisualtask sub_811489C, 5, 1, 0 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 0
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB_BLACK createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB_BLACK
waitforvisualfinish waitforvisualfinish
setalpha 8, 8 setalpha 8, 8
@ -9578,7 +9578,7 @@ Move_DOOM_DESIRE:
createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1 createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1
waitforvisualfinish waitforvisualfinish
delay 20 delay 20
createvisualtask sub_811489C, 5, 1, 1 createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 1
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB_BLACK createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB_BLACK
waitforvisualfinish waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER clearmonbg ANIM_ATK_PARTNER
@ -10237,13 +10237,13 @@ Burn1:
Status_Infatuation: Status_Infatuation:
loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_MAGENTA_HEART
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
delay 15 delay 15
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
delay 15 delay 15
playsewithpan SE_W204, SOUND_PAN_ATTACKER playsewithpan SE_W204, SOUND_PAN_ATTACKER
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
end end
Status_Sleep: Status_Sleep:

View File

@ -1093,7 +1093,7 @@ const struct SpriteTemplate gUnknown_085928D0 =
.callback = sub_8100A50, .callback = sub_8100A50,
}; };
const struct SpriteTemplate gUnknown_085928E8 = const struct SpriteTemplate gVineWhipSpriteTemplate =
{ {
.tileTag = ANIM_TAG_WHIP_HIT, .tileTag = ANIM_TAG_WHIP_HIT,
.paletteTag = ANIM_TAG_WHIP_HIT, .paletteTag = ANIM_TAG_WHIP_HIT,
@ -3748,7 +3748,7 @@ void sub_81009F8(struct Sprite* sprite)
void sub_8100A50(struct Sprite* sprite) void sub_8100A50(struct Sprite* sprite)
{ {
if (GetBattlerSide(gBattleAnimAttacker) == 0) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
StartSpriteAnim(sprite, 1); StartSpriteAnim(sprite, 1);
sprite->callback = sub_81009DC; sprite->callback = sub_81009DC;

View File

@ -889,7 +889,7 @@ const struct SpriteTemplate gUnknown_08593958 =
.callback = sub_8105DE8, .callback = sub_8105DE8,
}; };
const struct SpriteTemplate gUnknown_08593970 = const struct SpriteTemplate gMagentaHeartSpriteTemplate =
{ {
.tileTag = ANIM_TAG_MAGENTA_HEART, .tileTag = ANIM_TAG_MAGENTA_HEART,
.paletteTag = ANIM_TAG_MAGENTA_HEART, .paletteTag = ANIM_TAG_MAGENTA_HEART,
@ -3286,7 +3286,7 @@ static void sub_810627C(struct Sprite *sprite)
} }
} }
void sub_81062E8(u8 taskId) void AnimTask_HeartsBackground(u8 taskId)
{ {
struct BattleAnimBgData animBg; struct BattleAnimBgData animBg;

View File

@ -6,7 +6,7 @@
void sub_8110368(struct Sprite *); void sub_8110368(struct Sprite *);
void sub_8110438(struct Sprite *); void sub_8110438(struct Sprite *);
void sub_81104E4(struct Sprite *); void AnimTranslateWebThread(struct Sprite *);
void sub_81105B4(struct Sprite *); void sub_81105B4(struct Sprite *);
void sub_811067C(struct Sprite *); void sub_811067C(struct Sprite *);
void AnimTranslateStinger(struct Sprite *); void AnimTranslateStinger(struct Sprite *);
@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_085969C8 =
.callback = sub_8110438, .callback = sub_8110438,
}; };
const struct SpriteTemplate gUnknown_085969E0 = const struct SpriteTemplate gWebThreadSpriteTemplate =
{ {
.tileTag = ANIM_TAG_WEB_THREAD, .tileTag = ANIM_TAG_WEB_THREAD,
.paletteTag = ANIM_TAG_WEB_THREAD, .paletteTag = ANIM_TAG_WEB_THREAD,
@ -98,7 +98,7 @@ const struct SpriteTemplate gUnknown_085969E0 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81104E4, .callback = AnimTranslateWebThread,
}; };
const struct SpriteTemplate gUnknown_085969F8 = const struct SpriteTemplate gUnknown_085969F8 =
@ -124,7 +124,7 @@ const union AffineAnimCmd *const gUnknown_08596A28[] =
gUnknown_08596A10, gUnknown_08596A10,
}; };
const struct SpriteTemplate gUnknown_08596A2C = const struct SpriteTemplate gSpiderWebSpriteTemplate =
{ {
.tileTag = ANIM_TAG_SPIDER_WEB, .tileTag = ANIM_TAG_SPIDER_WEB,
.paletteTag = ANIM_TAG_SPIDER_WEB, .paletteTag = ANIM_TAG_SPIDER_WEB,
@ -247,12 +247,19 @@ void sub_8110438(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
} }
void sub_81104E4(struct Sprite *sprite) // Creates a single web thread that travels from attacker to target.
// Used by MOVE_STRING_SHOT and MOVE_SPIDER_WEB in their first move phase.
// arg 0: x
// arg 1: y
// arg 2: controls the left-to-right movement
// arg 3: amplitude
// arg 4: if targets both opponents
void AnimTranslateWebThread(struct Sprite *sprite)
{ {
if (IsContest()) if (IsContest())
gBattleAnimArgs[2] /= 2; gBattleAnimArgs[2] /= 2;
InitSpritePosToAnimAttacker(sprite, 1); InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x; sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->data[3] = sprite->pos1.y;

View File

@ -803,17 +803,23 @@ void sub_81144BC(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
} }
void sub_81144F8(u8 taskId) // Makes the attacker metallic and shining.
// Used by MOVE_HARDEN and MOVE_IRON_DEFENSE.
// arg0: if true won't change battler's palette back
// arg1: if true, use custom color
// arg2: custom color
// Custom color argument is used in MOVE_POISON_TAIL to make the mon turn purplish/pinkish as if became cloaked in poison.
void AnimTask_MetallicShine(u8 taskId)
{ {
u16 species; u16 species;
u8 spriteId; u8 spriteId;
u8 newSpriteId; u8 newSpriteId;
u16 paletteNum; u16 paletteNum;
struct BattleAnimBgData animBg; struct BattleAnimBgData animBg;
int var0 = 0; bool32 priorityChanged = FALSE;
gBattle_WIN0H = var0; gBattle_WIN0H = 0;
gBattle_WIN0V = var0; gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
@ -832,7 +838,7 @@ void sub_81144F8(u8 taskId)
{ {
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority--; gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority--;
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
var0 = 1; priorityChanged = TRUE;
} }
} }
} }
@ -870,7 +876,7 @@ void sub_81144F8(u8 taskId)
gTasks[taskId].data[1] = gBattleAnimArgs[0]; gTasks[taskId].data[1] = gBattleAnimArgs[0];
gTasks[taskId].data[2] = gBattleAnimArgs[1]; gTasks[taskId].data[2] = gBattleAnimArgs[1];
gTasks[taskId].data[3] = gBattleAnimArgs[2]; gTasks[taskId].data[3] = gBattleAnimArgs[2];
gTasks[taskId].data[6] = var0; gTasks[taskId].data[6] = priorityChanged;
gTasks[taskId].func = sub_8114748; gTasks[taskId].func = sub_8114748;
} }
@ -879,29 +885,28 @@ static void sub_8114748(u8 taskId)
struct BattleAnimBgData animBg; struct BattleAnimBgData animBg;
u16 paletteNum; u16 paletteNum;
u8 spriteId; u8 spriteId;
u8 taskIdCopy = taskId;
gTasks[taskIdCopy].data[10] += 4; gTasks[taskId].data[10] += 4;
gBattle_BG1_X -= 4; gBattle_BG1_X -= 4;
if (gTasks[taskIdCopy].data[10] == 128) if (gTasks[taskId].data[10] == 128)
{ {
gTasks[taskIdCopy].data[10] = 0; gTasks[taskId].data[10] = 0;
gBattle_BG1_X += 128; gBattle_BG1_X += 128;
gTasks[taskIdCopy].data[11]++; gTasks[taskId].data[11]++;
if (gTasks[taskIdCopy].data[11] == 2) if (gTasks[taskId].data[11] == 2)
{ {
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
paletteNum = 16 + gSprites[spriteId].oam.paletteNum; paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
if (gTasks[taskIdCopy].data[1] == 0) if (gTasks[taskId].data[1] == 0)
SetGreyscaleOrOriginalPalette(paletteNum, 1); SetGreyscaleOrOriginalPalette(paletteNum, 1);
DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]); DestroySprite(&gSprites[gTasks[taskId].data[0]]);
sub_80A6B30(&animBg); sub_80A6B30(&animBg);
sub_80A6C68(animBg.bgId); sub_80A6C68(animBg.bgId);
if (gTasks[taskIdCopy].data[6] == 1) if (gTasks[taskId].data[6] == 1)
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++; gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
} }
else if (gTasks[taskIdCopy].data[11] == 3) else if (gTasks[taskId].data[11] == 3)
{ {
gBattle_WIN0H = 0; gBattle_WIN0H = 0;
gBattle_WIN0V = 0; gBattle_WIN0V = 0;
@ -918,7 +923,10 @@ static void sub_8114748(u8 taskId)
} }
} }
void sub_811489C(u8 taskId) // Changes battler's palette to either greyscale or original.
// arg0: which battler
// arg1: 0 grayscale, 1 original
void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId)
{ {
u8 spriteId; u8 spriteId;
u8 battler; u8 battler;